Microcontroladores

para proyectos de Radio y otros

 

 

Por ahora solo micros PICs de


              Esto es un resumen de cómo comencé en la programación de microcontroladores. No pretende ser un curso, ya que se necesitaría un libro para ello, solo la reseña de cómo definí las cuestiones que supongo se le presentarán a la mayoría de quienes quieran hacer algo similar, y una pequeña ayuda para los que choquen con problemas similares.

             Desde siempre me atrajo la programación, actividad que desarrollé bastante para luego abandonar circunstancialmente la misma por otras, como la radio y la electrónica, hasta hace poco, cuando los microcontroladores conjugaron las tres actividades y prácticamente me impulsaron a incursionar en ellos para poder aprovechar sus ventajas y desarrollar algunos proyectos propios; modestos en principio, pero útiles para aprender.

              Paradójicamente, Las dificultades para iniciar en el tema de programación y desarrollo fueron para mí, las numerosas opciones que se disponen actualmente tanto en microcontroladores, programadores, lenguajes y entornos de desarrollo, cuestiones que un neófito en el tema debe decidir, a veces con poco criterio. En mi caso, la decisión respecto al microcontrolador se orientó por los de la firma Microchip, basado en la gran cantidad de usos y proyectos desarrollados en el ámbito radioamateur. Respecto al lenguaje, inicialmente opté por el Pic Basic, lenguaje que manejo con fluidez y dejé para una segunda etapa la opción del assembler, con la cual  solo había trabajado el legendario microprocesador Z80 de la década del 70. No obstante haber definido esos temas, igualmente tuve que probar algunos entornos y sus sutiles diferencias en el set de instrucciones Basic para finalmente comenzar a trabajar en el Pic Simulator IDE de Oshonsoft, el cual ofrece un entorno de desarrollo muy completo y simple de comprender.

                Un tema que habría que definir, llegó impuesto por el regalo de un aficionado amigo : Héctor "Pet" Torregiani, LU4EZT, que también interesado por la programación de micros, consiguió un programador del tipo JDM de la firma Adom, del cual hay bastante información disponible en la web y que cumple con los requisitos básicos para empezar.  El último eslabón era el programa cargador, que recayó en el soft de otro radioaficionado, DL4YHF, el WinPic Programmer.


Primeras pruebas

                El primer proyecto que tenía en mente, era el identificador y control para un beacon, en modo telegrafía. En el mismo, preví la posibilidad de escuchar la modulación en modo CW, cambiar velocidades, periodicidad, y otros parámetros, la visualización de estados por medio de leds y el accionamiento del PTT de uno o más equipos.

               El microcontrolador elegido fue el 16F628A, dado que actualmente se encuentra reemplazando al legendario 16F84 con bastantes ventajas, como la incorporación de comparadores AD, modulación por ancho de pulso y oscilador interno, que elimina la necesidad de agregar un cristal externo.

 

         Debía preparar el circuito electrónico para el proyecto y surgió algo similar al mostrado a la izquierda (éste es el definitivo).

         Como prototipo, el circuito era bastante mas complejo que la gran mayoría de los desarrollos reales hechos con microcontroladores, ya que en estos solo se incluye lo necesario para la tarea que realiza efectivamente el micro y en mi caso, deseaba un circuito que me permitiera realizar variantes y cambios en la programación del micro y las funciones que cada salida tendría asignadas.
           En la práctica, debí agregar y modificar pocos elementos al circuito originalmente planteado, resultando muy práctico para hacer estos ensayos.

           En el circuito incluí un regulador de 5 Volts para la alimentación del micro, un set de 5 jumpers para seteos y configuraciones de trabajo seleccionables, un pulsador de reset, tres diodos led para visualizar estados de algunas salidas, una salida de audiofrecuencia, con una red R-C para suavizar un poco la onda cuadrada, un piezoeléctrico para escuchar dicha señal y finalmente una salida asistida por un transistor, destinada a accionar el PTT de un HT o una base de HF o similar

Algunas imagenes del la preparación del circuito

              El primer programa debía encender un led verde, indicando que el sistema estaba en espera, sin activar salidas de PTT; un led rojo, que indicaría cuando se tenía la salida de PTT activa y un led naranja que seguiría la acción de un keyer para telegrafìa (en CW), transmitiendo un mensaje corto (VVV LU9DPD LU9DPD LU9DPD K). Junto a la acción del keyer de CW, debía emitir los tonos audibles como para modular una portadora de FM, y accionar simultáneamente el transistor para activar el PTT de un equipo.

               La acción de los jumpers inicialmente se basaba en determinar la frecuencia con la que se repetía el mensaje y la velocidad del keyer. El pulsador de reset, obviaba cualquier proceso en curso y reiniciaba todo el ciclo desde cero. 

               Desarrollé el primer programa en el Pic Basic IDE , simulando las funciones, y todo salio a pedir de boca, por lo que grabé el primer micro con el código y lo instalé en el zócalo de la plaqueta prototipo. Para mi sorpresa, salió funcionando al primer intento emitiendo el mensaje !

               El éxito con la primera prueba me animo para seguir avanzando y testeando funciones para los jumpers. Debí  también modificar un poco la salida de audio y el acoplamiento a los posibles micrófonos, logrando que transmitiera aceptablemente desde un HT y un HF, tal como lo había previsto.

Videos de las primeras pruebas del controlador funcionando

              Para que una transmisión en CW como en cualquier otro modo se pueda decodificar, deberá respetar la correspondiente modulación aplicada al transmisor, y la codificación de caracteres propia del modo. De acuerdo a cada caso, deberán respetarse tiempos, frecuencias, espacios y otros parámetros que generalmente son definidos en las normas respectivas. A continuación los parámetros del código Morse y su alfabeto codificado.

La codificación en Morse y CW

          La codificación en Morse se realiza por medio de puntos y rayas.  Esta visualización es solo posible en las cintas de papel donde se imprimía originalmente el código cuando era recibido por máquinas automáticas. Posteriormente los operadores notaron la posibilidad de decodificar dicho código por los sonidos producidos en la recepcion, lo que dió lugar al modo actualmente conocido como CW ( de Continuous Wave u onda contínua ) en el cual se representa al punto y la raya como unas breves emisiones de una frecuencia de radio que en los receptores se escuchan como un tono corto o largo.  La combinación de puntos y rayas en un grupo se traduce como una letra, número o símbolo :

 

 A .-  B -...  C -.-.  D -..  E .  F ..-.  G --.  H ....  I ..  J .---  K -.-  L .-..  M --  N -.  O ---  P .--.  Q --.-  R .-.  S ...  T -  U ..-  V ...-  W .--  X -..-  Y -.--  Z --..
1 .----  2 ..---  3 ...--  4 ....-  5 .....  6 -....  7 --...  8 ---..  9 ----.  0 -----

? ..--..     ; -.-.-.     = -...-     . .-.-.-     , --..--     - -....-     : ---...     ( -.--.      ) -.--.-     / -..-.      _ ..--.-     " .-..-.     ERROR ........

 

           La velocidad de una transmisión en CW depende de la duración del punto, que es la unidad básica y mínima posible. Una raya tiene una duración de  tres veces la del punto. Entre cada letra la separación se marca por la ausencia de señal con duración aproximada a la de tres puntos y para la separación de palabras de conco puntos.

           Estas normalizaciones permiten a los operadores recibir correctamente los mensajes transmitidos, auque en ocasiones, facilita la comprensión el hecho de separar un poco más las letras y palabras, sobre todo a quienes no están acostumbrados a recibir mensajes a velocidades más rápidas.

 

           En la programación del microcontrolador se usó un puerto que en su estado "1"  representa a la onda contínua y en estado "0" a la ausencia de la misma. Un segundo puerto emite una onda de 800  Hz durante los tiempos correspondientes a puntos y rayas, pudiendo así escucharse el código transmitido.

 

Agregado de modo RTTY   

           

           Poco después de haber terminado mi primer desarrollo, el amigo Ricardo LU9DA, no me dejó disfrutar del éxito obtenido, imponiéndome la tarea de realizar el programa para que modulara el texto del beacon en modo RTTY.  Luego de buscar información acerca de los códigos utilizados y el formato del modo, pude agregar sin demasiados problemas el mismo, incluyéndolo junto al de telegrafía en mismo programa y utilizando el mismo circuito. El sonido emitido por el piezoeléctrico era reconocible a oído como la típica modulación del RTTY...( eso desde yá, fue alentador), pero debía transmitirlo en HF y por supuesto, que lo decodifique otro aficionado con una PC y un programa de Digimodos. 

            Hasta ese momento, la placa tenía indicadores visibles y audibles, pero no había incluído aún el transistor para activar un PTT ni el acoplamiento de audio para un micrófono, por lo que incluí entonces los mismos, y dos chicotes, con las fichas de micrófono para un handy Yaesu y un HF Kenwood.

 

 

            Llamé a algunos amigos para probarlo, y les pedí que hicieran escucha en una frecuencia de 80 metros, modo RTTY, sin más detalles. Conecté el circuito al equipo y tras dos o tres ciclos, dos aficionados me confirmaban que se decodificaba con claridad mi señal distintiva en las pantallas !

            Mientras hacíamos los comentarios por VHF, ellos no entendían el porqué de mi alegría, pero luego se sorprendieron al saber que no estaba modulando esa transmisión con una PC, sino con la pequeña plaqueta que había mostrado a algunos de ellos.

             Por mi parte,  realmente quedé sorprendido de haber logrado codificar un mensaje en RTTY al primer intento y sin errores y al ver las capturas de las pantallas, solo restó enviarle a Rick la tarea cumplida 

 

La codificación en RTTY

 

          El modo RTTY o Radioteletipo emplea el código Baudot , basado en sólo 5 bits, los cuales por cantidad de combinaciones no podrían representar la totalidad de letras , números, símbolos y signos gramaticales, por lo que se recurre a dos juegos de caracteres y un código de "control" que precede a cada serie, indicando si son letras o números o símbolos, el cual no se emite hasta que se necesita cambiar el juego de caracteres.

           En la transmisión los bits "0" o "1" son representados con con dos señales que difieren en frecuencia, también llamado Shift, que varía de acuerdo a la banda utilizada; en HF se utiliza un shift de !70 Hhz  con las frecuencias 1275 y 1455 Hz.  Cada caracter es precedido por bit bajo que indica el inicio y precedido por dos bits altos. La velocidad típica en HF es de 75 baudios, lo que equivale a 22 milisegundos por cada bit.

 

Código BAUDOT

Binary

Decimal

Hex

Octal

Letra

Cifra

00000

0

0

0

N/A

N/A

00001

1

1

1

E

3

00010

2

2

2

LF

LF

00011

3

3

3

A

-

00100

4

4

4

espacio

espacio

00101

5

5

5

S

´

00110

6

6

6

I

8

00111

7

7

7

U

7

01000

8

8

10

interlinea

interlinea

01001

9

9

11

D

$

01010

10

A

12

R

4

01011

11

B

13

J

'

01100

12

C

14

N

,

01101

13

D

15

F

!

01110

14

E

16

C

:

01111

15

F

17

K

(

10000

16

10

20

T

5

10001

17

11

21

Z

"

10010

18

12

22

L

)

10011

19

13

23

W

2

10100

20

14

24

H

#

10101

21

15

25

Y

6

10110

22

16

26

P

0

10111

23

17

27

Q

1

11000

24

18

30

O

9

11001

25

19

31

B

?

11010

26

1A

32

G

&

11011

27

1B

33

Cambio a cifras

Cambio a cifras

11100

28

1C

34

M

.

11101

29

1D

35

X

/

11110

30

1E

36

V

;

11111

31

1F

37

Cambio a letras

Cambio a letras

 

           En la programación del microcontrolador se usó un puerto que en su estado "1"  representa al bit alto y en estado "0"  al bit bajo . Un segundo puerto emite los tonos de  1455 y 1275 Hz correspondientes a cada estado de los bits, que se utilizan para modular la frecuencia de HF, a la velocodad de 75 baudios.

 

Agregado de modo Hellschreiber   

 

              Lograda la modulación en RTTY, busqué otros modos y me llamó la atención el Hellschreiber, generado antiguamente por medios electromecánicos, se trasladó su código a los programas de digimodos, continuando así aún vigente y con gran cantidad de adeptos, dada la particularidad de su fácil lectura.

              Programando en Pic Basic, observé, era que la base de tiempo del modo no puede generarse con precisión. Aún así, sospeché que la pequeña variación podría pasar desapercibida, y generé un código con el mensaje en ese modo y volví a incluirlo en el mismo programa y para trabajar con el mismo circuito.

               Instalé el micro con el nuevo código, y pude escuchar el sonido (que se parece a un grillo) por lo que volví a probarlo en HF de la misma forma que con el modo RTTY, siendo recibido por LW3DJC y LW6DZP en forma legible. El desfasaje de tiempo (1/2 Baudio) no era perceptible, o quizá los retardos del micro y el programa compilado habían modificado en algo dichos tiempos previsto; recordemos que además no usé cristal y la base de tiempo puede variar ( muy poco, claro está..)

 

 

             Finalmente, ví una página dedicada al modo, en la cual se mostraba lo que denominaban el modo CW compatible, que se trataba de la generación de barras que formaban los caracteres visibles del código Morse. Como la generación de patrones es simple, incluí esos caracteres, logrando no solo que se vean en pantalla sino que además, son reconocibles auditivamente como telegrafía.

Capturas de pantallas de la transmisión de prueba y el agregado de CW compatible

Captura de Juan Carlos LW3DJC

Captura de Jorge LW8DZP

Captura con el CW compatible

 

La codificación en Hellschreiber

 

           El Hellschreiber se basa en un antiguo modo electromecánico de transmisión y recepción que representa los caracteres mediante patrones en una matriz de puntos. Una máquina imprimía, por medio de rodillos y otros elementos de presión, los caracteres  en una cinta de papel, con la particularidad de imprimir dos líneas con el mismo texto recibido, dado que el modo es asincrónico, se compensaba con eso la desviación en la alineación por el efecto de las diferencias de tiempos entre el transmisor y el receptor. El mensaje se ldebe leer directamente desde ese papel, o en nuestro casos en la pantalla de la PC. 

          Existen variantes dentro del modo, desde la cantidad de puntos de la matriz, hasta la forma de transmitir los datos; incluso los patrones de las letras puedes diferir o hacer patrones propios. Entre los Radioaficionados se suele usar el Hell Feld que utiliza una matriz de 7 x 7 píxels, transmitidos columna por columna, de abajo hacia arriba , a la velocidad de 122,5 baudios con la modadlidad  "on-off keyed", equivalente a la presencia o no de la portadora de acuerdo a los pixels "pintados" del patrón transmitido. Dado que los patrones se forman con sólo un 21% de los pixels, es ese el porcentaje de tiempo que el transmisor trabaja efectivamente, sin recargarlo.  

Tabla de patrones típica

         La definición de patrones permite otras posibilidades, como la de dibujar líneas o barras, y es la que se usa para realizar el formato "CW-compatible", que imprime barras siguiendo el código Morse, y a su vez hace posible decodificar audiblemente el código.

 

           En la programación del microcontrolador se usó un puerto que en su estado "1"  representando al bit alto y en estado "0"  al bit bajo . Un segundo puerto emite un tono de 980 Hz  durante los períodos correspondientes a los estados altos y se mantiene en silencio en los correspondientes al estado bajo, haciendo posible la emisión del digimodo, en SSB.

 

Código del beacon , Versión con los con los tres modos: 

 beacon_lu9dpd_cw_rtty_hell.hex  

 


El PIC 12F629

              Después de la experiencia de haber programado exitosamente y casi sin problemas el 16F628A, y merced a los comentarios de Rick LU9DA, respecto a que ese micro era un desperdicio para ese proyecto, me aboqué a preparar un prototipo para un 12F629, micro de 8 patas, que efectivamente cuenta con las salidas y capacidad suficiente como para un control de baliza, el costo es menor y permite reducir el circuito sensiblemente.

 

               Algo importante de los 12F629 : Estos microcontroladores vienen con un valor grabado por el fabricante que indica el valor de calibración del oscilador interno, usualmente llamado OSCAL;  éste se encuentra  en la última posición de memoria y es importante leerlo antes de grabar nada en el micro; ya que una vez realizada la grabación sin haber leído ese valor es muy difícil (sino imposible) recuperarlo, y no todos los grabadores actúan de la misma forma al encontrar un valor que no corresponde con lo esperado para el "oscal".

 

El ICSP y el adaptador para micros de 8 patas

               El programador JDM no preveía un zócalo para dicho micro, por lo que debí realizar un adaptador. La práctica habitual es utilizar los terminales previstos para la programación serial "in circuit" (ICSP). Yo decidí realizar una plaqueta enchufable al conector de ICSP, que funcionó perfectamente. El esquema de conexionado, se muestra en las figuras a continuación.

         A la derecha, el conexionado para usar el conector de ICSP del Pic ADOM Junior, adaptandolo a un zócalo. El mismo conexionado sirve para programar el chip sobre una plaqueta ya armada, usando cocodrilos o soldando chicotes a los respectivos terminales del micro.

       A la izquierda, los terminales que se deben usar para realizar el adaptador, referidos a un zócalo para micros del tipo 16F84, 16F628 y similares (el caso más habitual)  en el caso que el programador no posea salida para el ICSP.

             A continuación, las fotos del adaptador realizado. Si bien se puede colocar un chicote con los cables hasta el zócalo 8-DIL, preferí montar el mismo sobre una pequeña plaqueta, solidaria al conector, con el cableado a la vista.


El primer proyecto con el 12F629

             EL primer circuito preveía solamente lo más básico : la regulación de 5 Volts para la alimentación, un reset, las salidas de señales para controlar un PTT y un Keyer (ambas conectadas a LEDs para poder visualizarlas) y una salida de audio, conectada a un piezoeléctrico para comprobar la modulación. Salvo un error de conexionado que ocasionó algunos dolores de cabeza, el circuito funcionó perfecto.

 

 

 

             Arriba, algunas fotos del prototipo, listo para las pruebas y ajustes. El programa que cargué incluye un mensaje para el beacon en telegrafía y RTTY, con la salida para el Key de CW y la salida de audio para modular en FM o SSB.

 

              A la izquierda, un video del control para beacon durante las pruebas. Obviamente, en las mismas debemos poder observar fácilmente si el circuito y programa trabajan como lo esperamos y para ello hay elementos específicos que en la práctica no serán de utilidad; por ejemplo, los leds cumplen la función de poder visualizar el estado de las salidas, que en la práctica solo necesitan un transistor para accionar un PTT. De igual forma, el piezoeléctrico permite escuchar la modulación que deberá aplicarse a un micrófono. Sin los  elementos mencionados, el controlador se resume a unos pocos componentes y al propio microprocesador, que siendo de por sí tan reducido, es óptimo para incorporarlo dentro de cualquier equipo que se desee utilizar como baliza.

 

Código del beacon , Versión con los con los dos modos: 

 beacon_lu9dpd_12F629.hex  

 


Control para Beacon LU2CRM

con capacidad de controlar 4 equipos

 

             Si bien tenía algunos proyectos referentes a beacons en mente, los mismos estaban demorados por diversos motivos; fue entonces cuando recibí la propuesta de hacer un controlador para aprovechar algunos equipos en desuso de Carlos, LU2CRM y de paso poner en uso efectivo un controlador de los desarrollados.

              Estimamos la posibilidad de poner hasta 4 equipos de diferentes bandas y modos, para ser controlados con el mismo micro, activando secuencialmente tres salidas asistidas por transistores para controlar el PTT de cada equipo, un keyer para CW y una salida extra para un Handy.

              El mensaje seria modulado en telegrafía, con el mencionado Keyer y  la señal de audio para modular en FM. Se repite secuencialmente tres veces, accionando en cada oportunidad una salida distinta para el PTT y en la última, se agrega el mismo mensaje, pero modulado en modo RTTY.

              Dado que los puertos de salida disponibles en el micro 12F629 son cinco, alcanzan para realizar las tareas propuestas, así que definí el proyecto utilizando este micro, inicialmente con el circuito que figura a la derecha, hasta probar su funcionamiento y después ver las modificaciones, de ser necesarias.              

 
 

            Arriba y a la izquierda, ,el circuito, armado en una plaqueta experimental (pero en este caso será la definitiva), con todos los componentes previstos en el proyecto.        

 

            El programa no tenía mayor dificultad, ya que de hecho solo debía cambiar el texto, y puertos usados, y podría usar el programa anteriormente desarrollado, por lo que quedó listo para grabarlo aún antes de tener la plaqueta con el circuito,

             Si bien el circuito es algo mas complejo que el primer prototipo realizado con el 12F629, éste puede realizar muchas más funciones. Aún así es muy compacto y seguramente solo el cableado ocupará mas espacio que la plaqueta completa.

              Una vez con todo listo para probar, fue necesario colocar provisoriamente un piezoeléctrico para poder escuchar la modulación, y agregar un led como para visualizar cómo se accionaría el keyer.

               Esto demuestra que cuando se trata de solo un circuito,  es preferible preveer estos testigos de antemano, ya que de otra forma se necesitara otra plaqueta que los posea, para realizar allí las pruebas de cada micro.

   
 A la izquierda , un video del controlador funcionando

Código del beacon :

 beacon_lu2crm_12F629.hex  

 


Otro programador...

               Sin haber hecho nada distinto a lo habitual, el programador JDM comenzó a enviarme mensajes de error en las lecturas y escrituras de los micros. Al principio presumí de algún error en el código de mi programa, por lo que intenté grabar el código de programas ya utilizados, y el resultado fué el mismo.

               Con poca información al respecto, volví a consultar a Rick, que me informó de haber sufrido el mismo problema, razón por la cual había adquirido un programador mas avanzado, compatible con el programa MPLAB de Microchip y que además se puede conectar en los puertos USB, algo ya casi imprescindible para quienes trabajamos con notebooks. El consejo fue de que me compre uno, dado que ya habiendo hecho las primeras armas con los micros, era deseable no sufrir demoras o problemas con programadores básicos como el JDM.

               Después de haber consultado con otros amigos, concluímos en que el problema radica en que el programador JDM no es capaz de leer ciertos micros una vez grabados, incluso con el propio programador; mientras que los micros que aún no fueron grabados generalmente no ofrecen problemas. Desgraciadamente, para el uso de los experimentadores, que solemos cambiar y/o ajustar los códigos frecuentemente, reutilizar y regrabar los microcontroladores, es casi imprescindible contar con un programador más elaborado, que sea capaz de leer y grabar micros en cualquier condición.    

               Con los datos aportados por Rick, compré un programador clon del MPLAB  ICD2, con zócalo ZIF (Zero Insertion Force, algo útil para colocar y retirar los micros del zócalo, sin la necesidad hacerlo con cuidado ni herramientas para no doblar patas).   

             El programador son dos plaquetas diseñadas para montarlas una sobre otra, pero por cuestiones de costo se entregan sueltas, interconectadas por una cinta de cables. Obviamente no es lógico trabajar con las pistas del impreso expuestas, por lo que al igual que con el programador JDM, le adicioné un acrílico para evitar la exposición de contactos, y realicé el montaje de las dos plaquetas una sobre otra, mediante torretas  

                 El uso del nuevo programador, más avanzado, supone el uso del soft MPLAB de Microchip, que tiene, además de las diferencias entre uno y otro entorno, algunas características que debí superar. Por suerte Rick volvió a darme una mano, y finalmente, los micros volvieron a responder a las órdenes escritas, tal como lo esperaba.

 

Nota aclaratoria : por un accidente en el cual el programador se mojó y quedó expuesto a tensión de 220 Volts, sus dos microcontroladores se dañaron. Como hubiera hecho cualquiera, lo llevé al fabricante (?) donde luego de retenerlo mas de 20 días me dijeron que no se podía reparar. Cualquiera que sepa algo de electrónica, puede adivinar que una plaqueta con solo tres integrados montados en zócalos, es muy simple y fácil de reparar teniendo los integrados, (en este caso los micros grabados) por lo que era evidente que el "fabricante" no es más que un armador de placas o importador de las mismas y no puede dar un respaldo técnico del producto que vende. 

Consejo y recomendación : No compren el programador a esta gente (la marca se puede ver en las fotos) en Internet o bien por www.Ebay.com se consiguen a precios mucho más bajos con las mismas prestaciones.

       Mientras esperaba la reparación del ICD2 por alguien que sabe... pedí un K150 por Ebay, a un precio muy conveniente. El programador viene con zócalo ZIF, salida ICSP y trabaja por USB.

       Un inconveniente de la compra es que el programador no trae documentación, y hay que buscar un poco por Internet. Asi fué que dí con el soft  DIYprogrammer y el driver correspondiente al conversor USB-serial que están disponibles al final de la página, junto con los utilitarios, o aquí : Soft DIY y Drivers para programador K-150

                 Este programador tiene un buen desempeño, y su tamaño reducido lo hace cómodo y práctico. El software se integra al mismo mostrando en pantalla la posición en que debe insertarse el microcontrolador, según se trate una u otra serie. Es necesario prestar atención al número de puerto que le asigna el sistema al emulador USB-Serial.

                 Hasta ahora, no tuve inconvenientes en el uso, y espero que así continúe.


Control para Beacon LW1ET

               Este controlador, fué preparado para controlar solamente un handy de VHF, más precisamente para un Icom 02AT.

              El handy que transmitiría el beacon debía ser alimentado de forma permanente, por lo cual decidimos reemplazar el pack de baterías por un falso pack; el mismo, sería a su vez alimentado por una fuente de 12 Volts 2 amperes, y entregaría 9 volts regulados para el handy, y los 5 volts para la plaqueta con el microcontrolador.

                 El microcontrolador entrega la señal para poner el handy en transmisión (PTT) y el audio para modular en FM una señal telegráfica.

            Para evitar elementos o gabinetes adicionales, la plaqueta con el microcontrolador debería ser incluída en el interior del falso pack, por lo que su disposición quedó en parte definida por el espacio disponible en él. 

            Se incluyó un LED que destellaría monitoreando el código morse durante la transmisión, enchufable para poder retirar la plaqueta mientras que el LED quedaría fijo en el frente del falso pack. En esta oportunidad, omití incluir el led indicador de portadora, ya que el propio handy tiene un testigo de transmisión.

               En el falso pack se inluyeron tres capacitores electrolíticos para mejorar la estabilidad de la fuente, el y a mencionado LED en el frente, la plaqueta y un interruptor que además de detener la función de baliza y permitir el uso del handy normalmente, sirve para resetear el microcontrolador, forzando la emisión del beacon, un segundo después de volver a darle alimentación. 

               Finalmente, un cable blindado terminado en un plug de micrófono sirve para activar el handy, sale lateralmente de la carcaza del falso pack, para ser conectado al jack correspondiente del handy.

   

Código del beacon :

 beacon_12F629_lw1et.hex  


Identificador por telegrafía para el repetidor de VHF de LU5JTF Radio Club Crespo    

C.ID 2.5

 

              Este microcontrolador, fue realizado por solicitud de los amigos del Radio Club Crespo LU5JTF, que necesitaban reemplazar el viejo identificador por telegrafía, realizado en una plaqueta programable por diodos que estaba causando problemas.

               El controlador proporciona la señal para el PTT y el audio para ser ingresado por micrófono, y además incorpora un par de LEDs destinados a poder visualizar el correcto funcionamiento del identificador.

 

Video de la prueba del identificador  y  el link subido a  www.youtube.com

RADIO CLUB CRESPO

[email protected]
Av.Belgrano y Falucho (3116) Crespo, Entre Ríos

Repetidora: 146.655 Mhz -600Khz

www.facebook.com/Radio-Club-Crespo

Código del identificador :

Identificador_12F629_lu5jtf.hex

 

Control para Repetidor LU7EO

               Este circuito y su correspondiente programación de microcontrolador, está destinado a controlar la función de repetidor entre dos equipos de radio de banda de aficionado.

               Del equipo que cumple la función de receptor, se toman el audio proveniente del parlante o bien directamente del discriminador, la señal de bussy, que también puede obtenerse desde el led indicador, la masa del equipo y finalmente los +5 Volts para alimentar el micro, aprovechando su disponibilidad en la ficha de micrófono.

               Al equipo destinado a la función de transmisor, se aplica el audio proveniente del receptor, el del microprocesador, la señal de PTT y obviamente la masa

               Las funciones del micro, en este caso un 12F629, además de la poner en transmisión el equipo correspondiente cuando el receptor le entrega señal de Busy, son las de agregar la "cola" del sistema repetidor, con la posibilidad de agregarle un "Rogger Beep", tono de fin de transmisión o la letra "K", el control de tiempo de transmisión, también conocido como "TOT"(Time out transmit) o más familiarmente como "antiponcho", y el agregado de la identificación del titular del sistema repetidor por telegrafía, con la particularidad de que no se superpongan los eventuales comunicados de aficionados, con la baliza y viceversa.

               Se preveen además, un par de indicadores de las funciones repetidor y baliza, el control de encendido de un cooler o turbina de ventilación para refrigerar el módulo mientras se encuentra en transmisión y un par de pines conectores, jumpeables, destinados a habilitar o nó la función repetidor, dejando solamente habilitada la función del identificador. La función del identificador, se mantiene también aún en el caso que el sistema entre en "TOT" o antiponcho por un tiempo prolongado, víctima de un fallo o una señal o portadora constante en el receptor.

Circuito básico, que puede variar  de acuerdo al/los equipos utilizados.

 

Código del controlador :

Control_Repetidor_&_Beacon_lu7eo.hex

Funciones del controlador:

_ Control repetidor : Pone a masa el terminal de PTT cuando hay presente señal de "busy" en el equipo receptor.
Mantiene el equipo transmisor en estado activo 0,5 segundos después de que desaparece la señal de busy en el receptor.
Los breves cortes de señal en el receptor son omitidos, manteniendo el transmisor activo.
_ Cola del repetidor : Se incorpora la señal telegráfica de la letra "K",antes de desactivar el transmisor.(esta función puede omitirse). Cuando se activa el repetidor por lapsos muy breves, (menos de 0,5 segundos), la "K" no es emitida.
_ TOT (Time out Timer) límite de tiempo de período de transmisión. (se puede establecer el tiempo que se desee) Una vez completado el tiempo establecido, se desactiva el transmisor, hasta que desaparece la señal de busy en el receptor.
Antes de desactivar el transmisor, emite la señal telegráfica "QRT" 
_ Identificación del repetidor : Cada 10 minutos, (este período puede cambiarse) se emite la señal telegráfica del titular del sistema reptidor y la localidad donde está ubicado ("LU7EO Avellaneda")
El identificador no emite cuando se está usando el repetidor (o sea, cuando hay señal en el receptor) y el control no toma en cuenta señales de busy del receptor mientras el identifocador está emitiendo ( no hay sobreposición de audio del identificador a los usuarios y viceversa)
Si después de una transmisión, no se vuelve a presentar señal en el receptor durante 20 segundos, se emite una identificación "corta" (solo la señal distintiva del titular:"LU7EO") y a partir de ese momento comienza el conteo de los minutos establecidos para la identificación completa (Titular y localidad)
_ Identificación superado el período de TOT : Si se mantiene la señal de busy en el receptor por cualquier causa, y el sistema permanece inhabilitado por el TOT, la señal telegráfica del identificador se emite, en los períodos establecidos, dejando escuchar además el audio del receptor; esto se ha dejado para permitir escuchar la posible causa en caso de fallos o la presencia de señales, portadoras, etc.
_ Activación o desactivación del sistema por sistemas remotos o manuales : Se incluye un jumper que permite activar o desactivar el sistema repetidor, el cual también puede utilizarse en caso de tener un control remoto. Al activar el sistema, se emite la señal telegráfica "QRV", y la señal "QRT" al desactivar el sistema. 
En estado "QRT", el microcontrolador solo realiza la función de identificación del sistema, con la señal distintiva y localidad de emplazamiento.
_ El circuito prevee un transistor para controlar el encendido de un cooler para ventilar el/los equipos, a fin de mantener la temperatura controlada durante el uso del repetidor, y evitar el desgaste del/los coolers por el uso contínuo.
_ Se incluyen dos LEDs, uno rojo para indicar que se ha activado el transmisor, y uno ámbar que parpadea mostrando el código Morse cuando el identificador está activo.
 

Nota 10/2019 :  Algunos cuestiones se notan solo cuando el sistema se pone realmente en uso, y unas de las cosas que se notaron fueron que los interesados en comprobar si el repetidor funciona, emitiendo ( peteteando) rápidamente para escuchar la respuesta del mismo, por lo que se incorporó un retraso o delay que sólo considera a las emisiones que superen los 0.5 Seg. , y no realiza el Rogger Beep, ni  la baliza post-QSO.

Adicionalmente, ese mismo retraso fué incrementado el el controlador, para el repetidor de 220 MHz., el cual se activaba con algunos picos de señal espúrea, de corta duración 
 

Requerimientos del sistema :
_ Del equipo receptor se necesita la señal de busy; en nuestro caso, el equipo (Yaesu FT212H) tiene esta señal presente  en la ficha del micrófono; de no tenerla, que es lo más común, se deberá acceder al circuito del equipo, y tomarla en el lugar más oportuno, por lo general, lo más sencillo es buscar el led que enciende en presencia de señales, o cuando se abre el scuelch. El microcontrolador está programado para accionar el repetidor ante un flanco de potencial positivo, de aproximadamente 5 Volts. (0 Volts en condiciones de no recepción de señales que pasan a +5Vols cuando se recibe señal) Si la señal de busy proveniente del equipo receptor es negativa (se pasa de un potencial positivo a 0 Volts), supera o no llega a los aproximadamente 5 volts necesarios, se debe recurrir a un transistor auxiliar, para elevar, bajar o invertir esa señal.
_ Obviamente del equipo receptor también se necesita el audio recibido, el que en nuestro caso también está presente en la ficha de micrófono, aunque lo más común es tomarlo directamente de la ficha para parlante externo, o también puede obtener desde la salida del discriminador, para lo cual será necesario acceder a circuito del equipo. El nivel del audio debe ajustarse para no saturar el equipo transmisor, usando para ello el control de volumen del recetor y/o el preset del circuito del controlador
_ El controlador necesita alimentación, para lo cual puede usarse la que proveen algunos equipos desde el jack del micrófono, que usualmente es de 8 o 5 Volts. Si la tensión es cercana a los 5 Volts (como es el caso del FT212H), se puede alimentar directamente, y si es mayor, o no se dispone en la ficha del micrófono y se alimenta desde la fuente de 13,8 Volts, el circuito del controlador prevee un regulador atraves del cual se regulará a los 5 Volts necesarios.
_ En el momento de alimentar el controlador, éste pone en transmisión el equipo correspondiente, emitiendo la identificación.

 

Plaqueta terminada y cables

Pruebas en taller

Equipos y sistema instalados en la sala


         Variante del controlador, cuando se utilizan handys en lugar de equipos de base


Amigos que probaron este controlador

Control para repetidor de PU5RPB

 

              Algunos amigos han consultado por el funcionamiento y el código de este controlador ; entre ellos, varios colegas de Brasil, de los cuales he recibido la confirmación de que han podido recrear el proyecto, con el cambio de la señal distintiva de la identificación.

               El video muestra el circuito, aún en etapa de pruebas, de PU5RPB

 

 

Código del controlador :

 Control_Repetidor_&_Identificador_PU5RPB.hex 

 


Parámetros definibles para identificadores

              Hasta ahora los parámetros de velocidad, tono y período de los diferentes identificadores que realicé eran definidos en el programa y no se podían modificar una vez programado el micro. Así es que empecé a trabajar para hacer un prototipo y un programa que permitiera cambiar algunos parámetros, con solo algunos pulsadores.

               La primera versión del prototipo no ofreció problemas, por lo que avancé otro paso en algo que aún no había probado : utilizar la memoria EEPROM incorporada. Estas memorias son particularmente útiles para conservar los datos definidos por el usuario, ya que allí se graban y se mantienen, aún cuando el micro queda sin alimentación.                 

 

                Para este proyecto, se puede utilizar el Micro 12F629, 12F675, o el 12F683, éste último, con 2Kbyte de memoria permite incorporar la tabla completa de caracteres incluso de varios modos de modulación.

                El primer programa quedó funcionando con la capacidad de seleccionar el tono de audio, la velocidad de transmisión y el período de espera entre cada identificación.

                 Los  parámetros se seleccionan accionando el pulsador respectivo, el programa selecciona un valor superior a cada pulso. de una tabla ya definida. Así por ejemplo ante cada acción del pulsador, el tono se incrementa de 600, a 700, 800, 900 y 1000 Hz, después del cual vuelve a 600 Hz., repitiendo el ciclo. Inmediatamente después de realizar el cambio, el valor seleccionado se graba en la memoria EEPROM y se escucha una señal de aproximadamente un segundo, con el tono seleccionado, permitiendo así saber cuál es. 

                 Para la velocidad de transmisión de CW, seleccionable entre 6, 10, 15, 20 y 30 palabras por minuto, el micro emite el mensaje "QRV" a la velocidad seleccionada, y para el período, seleccionable entre 3, 6, 9, 12 y 15 minutos, se emiten los caracteres "3", "6", etc, en modo telegrafía.

                Los tres pulsadores, más las indicaciones audibles de los parámetros seleccionados, permiten ajustar un identificador a las preferencias de un usuario determinado, y el empleo de la EEPROM, mantener dicho ajuste por un tiempo prácticamente ilimitado (el fabricante lo garantiza por más de 50 años). El trasductor piezoeléctrico es necesario para saber que parámetros seleccionamos, pero podría evitarse si se monitorea la frecuencia del equipo y éste transmite los señales mencionadas.

 


Tutor y trainer de telegrafía, en el mismo circuito

 

               La segunda parte de este proyecto, es la de Tutor y Trainer de telegrafía. El programa dispone de los códigos de todas las letras, números y símbolos y emite, en forma aleatoria, una serie en la velocidad y tono seleccionado. Usa el mismo circuito, modificando la función de uno de los pulsadores, para seleccionar el grupo de letras hasta el cuál se desea practicar. La memoria retiene el grupo hasta el cual se desea practicar, aun cuando se retire la alimentación. Una vez aprendido cada grupo, se puede agregar el siguiente hasta completar todos los grupos, y luego, incrementar la velocidad para el uso como trainer.        

              Por la cantidad de patrones a incorporar, en este caso es necesario el uso de un Micro 12F683 con 2Kbytes de memoria de programa.

             Para esta función, se prevee que el circuito solo emita auditivamente los caracteres en telegrafía, y no necesariamente transmitirlos, por lo que el circuito de PTT puede omitirse. Si el volumen generado sobre el piezoeléctrico es insuficiente, puede agregarse un transistor o integrado amplificador de audio, o simplemente usar auriculares o audífonos.

Código del Tutor & Trainer :

Teacher_&_Trainer_12F683.hex
 


Más colaboraciones con aficionados

Identificador para el repetidor de UHF de Blanes, Girona;  ED3YAS

 

              En este caso, quienes necesitaban reemplazar un viejo identificador del repetidor de Blanes , Girona, Cataluña,  eran Xavier EA3DGZ y Rafael EA3BLI.

              Los amigos de la Sección Comarcal de la Selva, tenían un programador del tipo JDM TE-20 y sabían usarlo con el programa IcProg , ventajas que aprovechamos para realizar el trabajo en conjunto; yo les programé el código con la señal distintiva ED3YAS,  y ellos  cargaron el código en un PIC 12F629 y prepararon el circuito, idéntico al utilizado para el identificador del RC Crespo.

               La señal distintiva ED3YAS, fué recientemente asignada al repetidor de UHF U-82, cuyo anterior indicativo era EC3C.

              Solo se necesitaron unos días para concretar el proyecto, del cual me han enviado algunas fotos y video como grato recuerdo de esta colaboración.

 

Dos videos del identificador.

 

a la izquierda, el prototipo mientras probaba el código.

a la derecha, la plaqueta armada por EA3BLI, funcionando

 

 Video de la prueba  subido a  www.youtube.com

 

 

 

 

Detalles de la plaqueta terminada, y la comparativa con la del identificador reemplazado

 

 

Código del identificador :

Identificador_12F629_ed3yas.hex
 

EA3URB  "Unión de Radioaficionados de La Selva"

 Delegación Comarcal URE "La Selva", Girona, Catalunya

Sede Social : C/ La Vela Nº 15, Blanes, Girona, Spain   

Página web: http://ea3urb.ure.es/

 

 

 Repetidor de UHF ED3YAS U-82 (Blanes)  Frecuencia 438.950 (-7600) 

Grid locator JN11JQ


Identificador para el repetidor VHF del Estado de Vargas, Venezuela  YV5CSL

              A pedido del amigo Carlos Boschian YY5CBO, programe el código para el repetidor de VHF (147,150 MHz) que ha armado artesanalmente, instalado y manteniendo el mismo en el Estado de Vargas, y que lleva la señal distintiva de otro colega YV5CSL, por cuestiones reglamentarias. Se utilizó el circuito indicado como C.ID 2.5 en esta página.

 

Blog de los amigos de la Casa Regional Estado de Vargas

http://casaregionalvargas.blogspot.com/

 

 

Dos videos del identificador.

 

a la izquierda, el prototipo mientras probaba el código.

a la derecha, la plaqueta armada por Carlos YY5CBO, funcionando

 

 Video de la prueba  subido a 

www.youtube.com

 

              Fué gratificante trabajar en el proyecto de Carlos, que realizó una muy prolija placa de PCB especialmente para el circuito y muy pronto quedará incorporada al sistema repetidor. Carlos utilizó un programador Velleman K8048 con el software del mismo fabricante para grabar el Microcontrolador..

Fotos a la derecha : 

Carlos Boschian YY5CBO

Equipos del sistema repetidor

Torre y suma de dipolos del mismo

Código del controlador

Identificador YV5CSL/R.hex 

 

Identificador "inteligente", sin QRM          

           Luego de realizar el identificador para YV5CLS, Carlos sugirió la posibilidad de evitar que la identificación se emita mientras hay un QSO en curso sobre el repetidor.

 

       Si bien ya había implementado esta función en el controlador e identificador para repetidora, no había preparado una versión para los identificadores destinados a sistemas repetidores cuyo control no se realiza por el mismo microcontrolador.          

        Para lograr que la identificación no se emita mientras un sistema repetidor está siendo utilizado, es necesario que el microcontrolador tenga una señal que le indique dicho estado; ésta puede ser la señal de busy del receptor, o bien la tensión de PTT o activación del transmisor.

         Dado que dependiendo del equipo o sistema de control del repetidor, se pueden utilizar niveles positivos o de 0 Volts (niveles 1 o 0 lógicos), preví dos entradas, una para cada tipo de señal disponible, cubriendo entonces ambas posibilidades, que pueden ser utilizadas independiente o simultáneamente.

          El código del programa incluye la rutina de verificar el estado de ambas entradas, y si cualquiera de ellas indica que el sistema se encuentra en uso, pospone la emisión durante un lapso de tiempo, tras el cual reitera la consulta, tantas veces sea necesario, hasta que el sistema se libera y solo entonces emite la identificación.


 

Un poco más elaborado :

           El circuito anterior evita que se emita la identificación sobre la modulación de los corresponsales que pudieran estar utilizando el sistema repetidor; sin embargo, no puede evitar suceda el caso inverso: que un corresponsal module mientras la identificación se está emitiendo.

            Para que no se produzca sobremodulación de identificador y corresponsales, cualquiera sea el que se encuentre modulando el sistema, se puede utilizar el circuito que se muestra a la izquierda, donde se han agregado unos pocos componentes, para que un relé con contactos inversores defina cuál de las señales de audio se envía al equipo transmisor.

             El código del programa para el microcontrolador pude usarse indistintamente con cualquiera de los circuitos, ya que en éste último, la selección de la señal de audio por medio del relé inversor se activa con la misma señal de PTT del identificador.


Identificadores para Pedro EA4KM

              Pedro Serrano, EA4KM, es titular de dos sistemas repetidores y proyecta instalar un beacon en la banda de 50 MHz, para los cuales preparamos los identificadores. Para él modifiqué los parámetros de velocidad según los requerimientos de cada uno de los identificadores. Los Identificadores se programaron para ser utilizados en el circuito C.ID 2.5

Identificador del repetidor R5 de Toledo

               Este identificador fué el primero en ponerse en marcha, ya que estaba funcionando con el indicativo EA4K. Cuando Pedro cuando me indicó los datos a incluir, pensé en un error de omisión de la última letra de su señal distintiva, pero no era así, sino que el sistema repetidor tiene un indicativo propio, similar en este caso al de su titular.

 

Dos videos del identificador

EA4K  R5 de Toledo

a la izquierda, el prototipo mientras probaba el código.

a la derecha, la plaqueta armada por Pedro EA4KM, funcionando

 

 Videos de las pruebas subidos a 

www.youtube.com (por LU9DPD)

www.youtube.com (por EA4KM)

 

 


Identificador del repetidor R71 de Sagra

          El segundo identificador estaba destinado al repetidor R71 UR de Sagra, el cual aún no tiene asignado el indicativo definitivo y por ello deberemos cambiar el código cuando ello suceda. No obstante ello, y como podrán observar, el sistema ya está listo y funcionando.

A la derecha, las fotos del circuito y el gabinete terninado.

 

 

Dos videos del identificador

R71 UR de Sagra.

a la izquierda, el prototipo mientras probaba el código.

a la derecha, el identificador armado y conectado al sistema repetidor.

 

 Videos de las pruebas subidos a 

 www.youtube.com (por LU9DPD)

www.youtube.com (por EA4KM)

 

 


 

Identificador beacon de 50 MHz

               El último identificador , para el beacon de 50 MHz, solo cambia el texto y el período de emisión.

 Video de la prueba subido a 

www.youtube.com (por LU9DPD)

 


Control de velocidad de motor de CC por Modulación de Ancho de Pulso ( PWM)  

           Cuando se necesita controlar la velocidad de un motor de Corriente contínua, como un cooler, se pueden obtener resultados mediocres intercalando resistencias en serie, pero aún así, el rango de ajuste está limitado ya que cuando la tensión sobre el motor no es la suficiente para provocar el giro, éste se detiene; por lo que lograr bajas revoluciones es casi imposible con ese método por ese motivo.

           Otro método de control, es aplicar la tensión nominal del motor, en pulsos mas o menos largos de acuerdo a la velocidad deseada; es básicamente PWM, pero no serviría utilizar esa técnica en su forma habitual para generar una tensión menor sobre la carga (en este caso el cooler), ya que se tendría el mismo problema que con los resistores, sino que los períodos de conexión y desconexión de la tensión deben ser más largos. En la práctica, también hay un límite de la velocidad mínima a la que se puede tener girando el motor, pero el rango es mucho mayor. Como contrapartida, hay que tener en cuenta que se advierten , sobre todo en las más bajas velocidades, los pulsos de arranque del motor; esto se puede minimizar, acortando los períodos, si es que el efecto provoca alguna complicación.

         Decidí encarar el proyecto sin utilizar la función PWM ya prevista en algunos microcontroladores, para experimentar la forma de generar por software el efecto y  decidir la frecuencia y duración de los pulsos a voluntad; en este caso en particular, aproximadamente un pulso cada 100 milisegundos (0,1 seg).

        Para este proyecto, el microcontrolador entregaría pulsos con el 99%, 69%, 39% y 9% del ciclo de trabajo, y el estado de apagado, seleccionables secuencialmente por medio de un pulsador. Un transistor 2SC3987, (NPN 3 Amp.) hace el trabajo de conmutación y un par de LEDs indican el estado encendido o apagado, y monitorean el ciclo de trabajo.

 

          El prototipo fué armado con un micro de la línea 12F683, solo por la disponibilidad del mismo en el momento de realizar la prueba; el mismo programa y circuito deberían funcionar de igual forma con un 12F629.
 

 

          Las primeras pruebas necesitaron algunos ajustes, pero con resultados aceptables, por lo que directamente coloqué el circuito sobre el lateral de un fan cooler, donde incluso el microcontrolador, colocado en un zócalo, puede retirarse para probar otras programaciones, ciclos de trabajo, secuencias, etc.

          El proyecto terminó como un ventilador personal de velocidad seleccionable, y se alimenta de una fuente o cargador de pared, de 12V 500mA, por medio de una ficha del tipo concéntrica.

            Las posibles aplicaciones de un control de velocidad como éste, son las de controlar la ventilación de equipos a válvulas, amplificadores lineales y otros, en los que se necesita aumentar o disminuir el flujo de aire de acuerdo al régimen de operación del equipo.  

   

Falta el video !


Identificador para identificación mixta en fonía o telegrafía

para repetidor ED1YBG de la seccion URE de Baixo Miño

          Otra nueva posibilidad o variante en la identificación de repetidores o beacons llegó por sugerencia de Victor Ucha EA1GAR, que inicialmente solo necesitaba reemplazar el identificador dañado del repetidor ED1YBG, y tras algunos intercambios de mensajes, terminamos definiendo un identificador que alterna las identificaciones en morse y fónía, con la asistencia de una placa grabadora de voz, provista de un integrado IDS1820.

         El circuito no difiere demasiado de los anteriores, ya que solo es necesario agregar una salida que controle la placa grabadora, que cumplirá con la función de reproductor de audio grabado previamente.

          La programación del micro activa en luego del encendido inicial las dos identificaciones; en primer lugar la salida prevista para la activación de la placa reproductora de audio, durante el lapso previsto, en este caso 10 segundos; luego se interrumpe ésa para activarse la salida de audio propia del micro, que emite la identificación en morse. A partir de ese momento, las identificaciones son emitidas alternativamente en fonía y morse, cada 10 minutos.

 

 

A la derecha, el circuito del controlador.

A la izquierda, el video de EA1GAR de la prueba del identificador  y el mismo subido a :

www.youtube.com

 


Control e Identificador de Baliza LU2DIM, con mensaje en Display LCD

               Este proyecto incluye, funciones particulares, ya que no solo se necesitaba que el equipo transmita un mensaje, sino que  además debería poder ser escuchado auditivamente, y visto en una pantalla, para quienes desconocen el código entiendan de qué se trata, dado que el beacon en cuestión sería instalado en el Museo Naval de la Nación.

                Las funciones del microcontrolador 16F628 incluyen el encendido y apagado del backligth del display LCD, control de una etapa de amplificación del audio, algunos LEDs de ayuda en el monitoreo del funcionamiento, control de las diferentes alimentaciones, y obviamente, la emisión del mensaje en morse y su texto en la pantalla del display LCD.   

Mas detalles, fotos y comentarios en la nota completa dedicada a  Balizas en este link: ..\Beacons\Beacons.htm


Identificador Dual-Out para modular CW en

positivo o negativo          

             En los casos de transmisores o beacons que modulan en CW es común que un transistor conmute la alimentación de la etapa final o de potencia. Según el caso, es necesario emplear un transistor PNP o NPN, los cuales conducen con tensiones o flancos, Negativos o Positivos respectivamente. Hasta ahora, en todos los controladores había utilizado el criterio de generar flancos o pulsos positivos para excitar transistores NPN que sirven para conmutar la alimentación negativa de los circuitos controlados; en el caso de necesitar controlar la alimentación positiva, debía agregarse otro transistor, obviamente PNP. 

             Para ofrecer mayor flexibilidad, y de paso ahorrar un transistor en los circuitos sencillos, agregué un par de líneas al código ya probado, generando pulsos positivos y negativos los que pueden ser utilizados según la necesidad e incluso simultáneamente.

 
 

              El "conejillo de Indias" fué el controlador para el beacon de 50 MHz. de LU8DCH, que buscaba reducir los componentes de otros controladores, uno realizado con compuertas, contadores, timers y diodos y otro con el ya obsoleto 16F84

              El nuevo circuito propuesto, respeta las salidas utilizadas en los proyectos anteriores, y agrega la nueva opción de pulsos invertidos. El circuito muestra ambas salidas para el control, de las cuales se optará por la que más convenga; incluso los componentes mostrados en líneas de otros colores son opcionales, con lo que el circuito indispensable se resume a 5 componentes, incluído el microcontrolador.

              Carlos LU8DCH, ya tenía experiencia en grabar PICs, por lo que inicialmente solo le envié el archivo, pero al igual que a muchos, el programador JDM le dió problemas con el 12F629, (algo bastante habitual) lo que motivó un encuentro personal  para que se lleve un micro ya grabado. La visita fué muy grata y también productiva, ya que intercambiamos experiencias y charlamos de otros proyectos.

                Aprovechando la ocasión también grabamos un 12F629 con la identificación del repetidor instalado en San Luis.


Una placa para pruebas reiteradas

          Luego de un tiempo de realizar prototipos y varios proyectos similares, uno recurre a utilizar prácticamente los mismos puertos para tareas similares, tales como una salida de audio, un testigo de actividad o una entrada de datos o pulsador; así es posible usar la misma placa para probar microcontroladores similares con diferentes programas.

           Para tener la posibilidad de probar la mayor cantidad de proyectos diferentes, dentro de mi propia convención adoptada  para entradas y salidas, realicé una placa destinada solamente a pruebas, con los testigos de led, jumpers, transistores, etc, y con la posibilidad de variar y/o adicionar alguna otra función.

               Arriba, la plaqueta armada en una placa PBC experimental. Debajo, el circuito y las referencias de testigos y jumpers incluidos. Se incluyeron dos jumpers adcionales para soportar los que no se utilizan, y otro zócalo DIL8 para algún micro extra.

Referencias

 

1   : Led Tensión 5 V.

2   : Led Puerto GP5

3   : Led Puerto GP4

4   : Led Puerto GP2

5   : Led Puerto GP0

J1  : Jumper + GP3

J2  : Jumper -  GP3

J3  : Jumper Puerto GP5

J4  : Jumper Puerto GP4

J5  : Jumper Puerto GP2

TP1: Test Transistor GP0

TP2: Test Transistor GP2

TP3: Test Audio GP1

 


         Tras el uso intensivo para varios proyectos, se hizo notoria la necesidad de algunos agregados, que se incorporaron en la misma placa, (acomodando como se pudo) : algunos resistores para polarizar puertos en Pull-Up y Pull-Down, conectores de masa, y un optoacoplador con sus polarizaciones. Actualmente la placa está con este nuevo esquema .


Identificador para el repetidor de LU1DB Radio Club Campana

            A pedido de Miguel LU5DHH, y dado que su entorno carecía de los elementos necesarios para grabar el microcontrolador, armé un identificador para el repetidor de Campana, para reemplazar uno de vieja tecnología, que ya no funcionaba.

            Si bien la idea inicial era que funcionara directamente activando la transmisión en el equipo Kenwood de la repetidora, los amigos del RC Campana advirtieron durante unas pruebas que podían hacer emitir la identificación a un handy, cuya transmisión activa el repetidor poniendo en el aire la misma. No necesitaron, de esta forma, conectar nada al equipo y la identificación se emite sin problema.

             El circuito utilizado tiene como única diferencia un filtro realizado con inductancias, a fin de lograr un sonido mas agradable que la señal cuadrada que genera el microcontrolador y un preset para ajustar el volumen de la mencionada señal de audio. 

 

 

 

A la derecha, el encuentro con 

Miguel LU5DHH, en Campana 

 

Código del identificador

Identificador_LU1DB.hex

 


Identificador multimodo CW RTTY Hellschreiber para el beacon de Francesco IZ0CWW

            Uno de los primeros proyectos con los microcontroladores fue codificar en CW, RTTY y Helschreiber, como para modular los tres modos en un solo transmisor. Esto llamó la atención de Francesco, IZ0CWW, quien ya tiene su beacon funcionando hace bastante, y le interesó incorporar los modos de RTTY y Hellschreiber con los datos de la página web y correo electrónico.

             El circuito a utilizar fue el originalmente hecho para las primeras experiencias

            A primera vista todo el texto parecía demasiado extenso, pero una vez codificado no era demasiado el tiempo que insume al transmitirlo. Las primeras pruebas las decodifiqué con el programa MixW, y quedaron plasmadas en las capturas de pantalla. 

 

              Los textos son los tentativos, solicitados por Francesco, y aún faltan acomodar algunos detalles, pero se puede observar la información incluída en ellos.

              Lamentablemente en el código Baudott, originario de 1875, no incluía el @, por lo que fué necesario usar una "a" entre paréntesis (a) para codificar el correo electrónico, pero que se entiende bien de todas formas.

   
    Seguimos trabajando en este proyecto....................  

Rogger Beep para equipos de Banda Ciudadana u otros

 

             Ya había recibido consultas para programar un Rogger Beep para equipos de banda ciudadana; proyecto sobre el que no me puse a trabajar sino hasta la consulta de un colega de Chile, Marcelo CA6UGT, con el que pusimos en práctica el circuito propuesto y un programa tentativo, básicamente orientado a controlar la función del PTT por medio del microcontrolador, y que puede incorporar no solo el clásico Rooger Beep al final de la transmisión, sino también sonidos previos, subtonos, tonos DTMF, etc, lo cual hace interesante el proyecto.

             Una de las pocas complicaciones de este proyecto, es que se debe acceder al micrófono, para interceptar el cable de PTT instalado y reasignar la funcion al microcontrolador.

                El microcontrolador 12F629 toma la señal del pulsador de PTT, que casi universalmente pone a masa la conección del PTT del equipo, y replica esta función poniendo en saturación al transistor, que pone a masa el cable correspondiente. Hasta que se libera el pulsador del micrófono, se mantiene esta condición, pero al ser liberado, el microcontrolador mantiene el  equipo en transmisión, y emite el sonido preestablecido para el Rogger Beep.

 
Código del controlador

Rogger_Beep.hex


Controlador para baliza de LEDs de 2 elementos

               El recambio de la torre del Avellaneda Radio Club incluyó entre otros elementos, de unas nuevas balizas lumínicas de LEDs. Estas balizas se alimentan con 24 VCA y son de alta lunimosidad con muy bajo consumo : unos 100 mA aprox.

             Si bien la baliza puede trabajar a 24 Volts de tensión alterna, la prueba inicial se hizo ccon un transformador de 12 volts, rectificadopor onda completa, que otorga cerca de 18 volts contínuos.

          El circuito utiliza dos puertos para excitar dos transistores que controla cada uno de los elementos individualmente y otros dos puertos se usan para encender sendos leds en la plaqueta, que replica lo que hace la baliza.

 

 

             El control para la baliza se pensó con la idea de no fatigar los LEDs al estar encendidos permanentemente y por sobre todo, agregar algunos efectos visuales.                 Para reducir el tiempo encendido, se recurrió a hacer funcionar los elementos de manera intermitente, de varias formas: Encendiendo y apagando ambos elementos a la vez, o alternadamente,  con ritmo ascendente y fijo, que le dá un efecto bastante llamativo.

Una de las maneras utilizadas para encender intermitentemente la baliza fue "modular" un mensaje en código Morse. El mensaje, similar a la identificación del repetidor, es "VVV LU7EO AVELLANEDA".

            Para mejorar la lectura visual del mensaje, fué necesario cambiar algunos tiempos como el espacio entre letras y el largo de la raya, ya que la remanencia de luz confundía un poco la decodificación.

Código del controlador

Baliza_luminica.hex


Variantes con aislación  por optoacoplador o relé

             Esta variante, sugerida por Patricio LU6YCB;  que prefería aislar galvánicamente el controlador del equipo, es útil para ser usada con equipos valvulares, o incluso para manejar tensiones peligrosas o potencias elevadas.

             Hay dos opciones válidas : un transistor accionando un relé, que posibilita controlar cualquier potencia o tensión con solo dimensionarlo a lo requerido, o reemplazar el transistor por un optoacoplador, con menos posibilidades en cuanto a control de potencia, pero más simple y reducido en tamaño respecto del rele. 

 


Controlador de Repetidor de Banda Cruzada ( aka "La Multicom" )

             El amigo Jorge LU4EFC, me escribió comentándome del proyecto que impulsaba en el Círculo de radioaficionados de Dolores (CIRADOL) : Un repetidor de banda cruzada en las bandas de 144 y 50 MHz, con el objetivo de promover y acercar a otros aficionados en la actividad de la banda de 6 metros. Las pruebas de la experiencia resultaron alentadoras y muchos colegas comenzaron a disfrutar de la posibilidad de acceder a la "Banda Mágica", pero ante la falta de un control automático, Jorge debía operar manualmente las funciones de transmisión y acoplamiento acústico de cada equipo en el momento adecuado, lo que además de trabajoso, requería de su presencia.

              

              Me gustó el proyecto y de inmediato ofrecí encargarme de hacer el controlador, pero aún quedaba otro problema : Es necesario abrir los equipos para ubicar las tensiones que indican la presencia de señales en los receptores, lo que habitualmente llamamos Busy y enciende algún led o indicador en el equipo cuando recibe una señal que supera el umbral del "Squelch".

              Hablamos del tema con Jorge, ya que yo no disponía del tiempo como para ir a Dolores y tampoco quería que enviaran los equipos a Avellaneda; así que con algunas indicaciones, cuidado y mucho coraje Jorge puso manos a la obra y pudo encontrar dos tensiones indicadoras de busy, que cambiaban de 0 a 12 Volts en presencia de señales. Ahora si... el tema era hacer el controlador.

              Ya había hecho un controlador para el repetidor de VHF del Avellaneda Radio Club, que como todos los repetidores monobanda, solo se activa un equipo transmisor ante la presencia de señales en el equipo receptor. A diferencia de éstos, los repetidores de banda cruzada deben controlar la recepción en las dos bandas y de acuerdo a la banda que presente señales activar el transmisor de la otra banda y viceversa.

               El circuito planteado necesitaba de 2 puertos para sensar las señales de busy, otros 2 para activar cada uno de los transmisores y un quinto puerto para generar el tono de audio del identificador, rogger beep de fin de transmisión y alguna señal de indicación extra. Cualquier microcontrolador de la línea 12F cuenta con 6 puertos, por lo que una vez más centré el proyecto en un 12F629, usando el último puerto disponible para activar un testigo luminoso de la actividad del identificador y los demás tonos de audio.

               Las señales de busy provenientes de cada equipo, con tensiones cercanas a los 12V, se ajustan con sendos presets para que en los puertos no se superen los 5 volts y adicionalmente se mantenga el potencial a masa en ausencia de señal.

               El volumen de audio proveniente de cada equipo se ajusta para no saturar los micrófonos y se suma la señal de audio del identificador y rogger beep generadas por el micro, la cual también se puede ajustar por medio de otro preset.

      Tras las pruebas de rigor, documenté el uso y función de cada preset y cada terminal y envié la placa terminada a Dolores, donde Jorge prontamente conectó los equipos y comprobó que todo funcionaba según lo previsto.

  La repetidora, ádemás de las bandas de 144 y 50 Mhz, sería enlazada as sistema echo-link, por lo que la bautizaron como "La Multicom".

           Se colocaron los 2 equipos y el controlador en un gabinete de una videograbadora y provisoriamente quedó funcionando con una ringo de 144 MHz y una "tomatera" para los 50 Mhz. hasta tanto se coloquen las antenas definitivas.

 

Identificador en CW y Fonía, inteligente, para Repetidor CE2RVI

             Una variante ya probada, pero con algunos retoques, dado que encontré ciertos puntos que podían mejorarse, y otros que responden a diferentes modos de activar módulos pre-armados de grabación de audio.

              El identificador es básicamente el mismo que vengo utilizando, sobre el 12F629, que genera la identificación en CW, con la entrada prevista para el censado de el estado del repetidor, lo que habitualmente conocemos como "busy" y a éste circuito le adicioné otra salida, que emite un pulso para activar el módulo pre-armado de audio. La diferencia con otros circuitos es que éste tiene prevista la emisión del mensaje grabado ante un pulso o rampa positiva para lo cual dispuse dos transistores en serie, para separar convenientemente la alimentación del microcontrolador de la del circuito de audio, y evitar que el arranque en estado bajo del transistor dispare el circuito de audio en el encendido.

               Otra particularidad del circuito de audio es que tiene prevista una señal para el PTT, la que se usa en paralelo a la del microcontrolador y la del circuito de activación de PTT del repetidor (C.O.R.) , y a su vez, se conecta a la entrada de censado de busy, para que no se emita ninguno de los mensajes de identificación mientras el repetidor está en uso.

           

Código del identificador 12F629_CE2RVI_Dual_out_ISD_No_QRM.hex
 

Identificador en CW

con emisión periódica y a pedido

 

             Por pedido de Alberto EA3HVE, y aunque coincidimos en que quizá no tuviera una utilidad específica, desarrollé una nueva variante; ésta, emite la identificación en CW a períodos regulares, pero además lo hace también a cada pulso positivo en el puerto 4. El pulso puede producirse por la acción de un pulsador o bien ser un flanco ascendente, proveniente de otro circuito.

 
Código del identificador

Identificador LU3EP de 4 identificaciones seleccionables por jumpers

   

          Para cumplir con el pedido de Diego LU3EP y no repetir un proyecto ya realizado, se me ocurrió incluir más de un mensaje que pudiera ser seleccionado mediante jumpers, pudiendo así utilizar el mismo identificador para diferentes aplicaciones. En este caso, se incluyeron 4 identificaciones con diferentes textos y períodos de tiempo.

         Adicionalmente, se preparó el circuito para ser utilizado con Handies de la línea Yaesu y Baofeng

Código del identificador

Beacon_12F629_Selectable_LU3EP.hex


Control repetidor e identificador LU3HL Repetidora del Cerro Comechingones

          Un proyecto solicitado por Oscar, LU1HKL,  que al principio solo requería cambiar el indicativo del identificador, trajo varios cambio en el proceso, y como sucede en esos casos, puso a prueba algunas alternativas y soluciones que pueden ser de utilidad en ciertos casos.

         La primera versión era un control e identificador con la opción de activar un circuito grabador - reproductor de audio con el integrado de la serie ISDxxx, que reproduciría una identificación pre-grabada en fonía, alternada con la identificación telegráfica.

         Dado que algunos detalles no estaban definidos, se previó hacer la activación del circuito con el IDSxxx por pulsos negativo o positivo.  También durante el proceso se probó de activar el repatidor por flancos positivos o negativos de la señal de busy

 

 

 

       Tras algunos cambios en la configuración del repetidor, surgieron problemas en la activación del controlador, y por sugerencia de Oscar LU1HKL, incluimos una aislación por optoacoplador en la entrada de la señal de busy.

        La versión para utilizar el optoacoplador necesita polarizar el diodo y no queda otra solución que hacer que el microcontrolador cense el cambio por flanco negativo;  el diodo se polariza con tensión positiva y al conducir produce el flanco negativo.

         Las pruebas resultaron satisfactorias, aunque no resolvieron los problemas que intentábamos salvar, que finalmente descubrimos provenían de un fallo en la programación de uno de los microcontroladores.

        

 

 

 

 


Utilidades y Links


 

WinPic.zip

 

http://www.microchip.com/

 

ICProg106A.zip

 

   

 

Pic_Simulator_IDE.zip

 

........

 

Soft DIY y Drivers para programador K-150

     

 

16F628A.pdf

     

 

12F629-675.pdf

     

 

12F683.pdf

     

 

 

 

www.lu9dpd.com.ar

[email protected]