Avatar de Desconocido

Cómo construir un circuito

Regulador de tensión 12 y 5 Vcc, RTC y shield para la MEGA PRO 2560

Para los que nos gusta cacharrear, es importante resolver el problema de la construcción de circuitos sobre placas. Hay varias formas de montar prototipos artesanalmente. Probablemente, la más efectiva sea la de dibujar el circuito e imprimirlo por sistemas de transferencia fotográfica o realizando los diseños con software especializado para mandarlo imprimir profesionalmente.

Se han descrito numerosos métodos diferentes a los anteriores para montar un circuito que no se va a fabricar en serie. En mi experiencia, el más sencillo, es el de utilizar una placa de circuito perforado estándar con las perforaciones situadas a 2,54mm, y con islas para soldar en cada orificio (lado cobre). Estas placas se adaptan a muchos componentes, tales como circuitos integrados y placas de Arduino y sus periféricos.

Hace tiempo que vengo utilizando este método para mis proyectos con Arduino. En este caso, voy a montar un nuevo control del conmutador de antenas que incluye un reloj digital con horario local y UTC en el que quiero incluir la prestación de puesta en hora con botones y experimentar diferentes tipos de display TFT. Para este proyecto voy a utilizar una placa Arduino MEGA 2560 PRO. El proyecto incluye un relé para activar el conmutador de RX/TX del amplificador lineal (Acom 1010).

Hay una amplia oferta de circuitos impresos perforados. Yo utilizo preferentemente circuitos de fibra de vidrio con pistas discontinuas. También se pueden encontrar ofertas de circuitos estándar de resina que se pueden adquirir a buen precio en Internet.

Es obvio, que lo primero que hay que hacer es el diseño del circuito. Para este trabajo utilizo LibreCad que es un programa gratuito de diseño CAD en dos dimensiones, sencillo de manejar y, aunque limitado, suficiente para diseñar circuitos que no sean excesivamente complejos.

Esquema con conexiones. –

Esquema de conexiones.

Dos entradas a I/O Analógicas, desde la salida ACC del Icom IC-7300, los 13,8V indicarán que el equipo está encendido en la puerta A1, la segunda entrada es la tensión variable, hasta un máximo de 8V, que indica la banda de trabajo del equipo en la puerta A7.

En cada entrada se coloca un choque de 220uH, un divisor de tensión compuesto por dos resistencias además de un condensador de desacoplo de 10nF. El divisor de tensión es necesario para reducir la tensión por debajo de los 5V que es el máximo que acepta una puerta del microprocesador.

El primer divisor (R1=4K7, R2=2K2) tiene un factor de multiplicación aproximado de 0,32, con lo que deja los 13,8V en un máximo de 4,4V y el segundo de 0,68, con lo que deja la tensión de BAND en un máximo de 5,4V para la banda de 160m. Las tensiones reales a decodificar se ajustan en tiempo real.

Icom tiene un sistema de codificación de bandas de trabajo basado en la tensión variable que suministra en pin 6 del conector DIN de 13 pines ACC.

BANDASVCCBANDASVCC
160m4,4620m2,75
80m3,6517 y 15m2,20
40m3,0512 y 10m1,66
30m06m1,12
Tensiones aproximadas por banda

Estas tensiones son aproximadas y están en un rango de máximos y mínimos para cada banda. Dado que, además, la lectura depende del divisor y de las tolerancias de los componentes, es necesario medir primero las tensiones reales, con el propio Arduino, para ajustar los cambios de banda.

Este sistema es bastante poco preciso ya que la tensión de la banda de 30m es de 0V u las de 17 y 12m está mezcladas con las de 15 y 10m. Aun así es suficiente para el control de dos antenas que trabajan separadas entre los 20 y 30m.

Diseño del circuito. –

Utilizo las mismas capas y los mismos colores para todos los circuitos.

  • Plantilla, negro, trazo de 0,18mm
  • Cobre. Negro, trazo de 0.6mm
  • Lado componentes, Azul, trazo de 0,6mm
  • Siluetas y componentes. Magenta, trazo de 0,18mm
  • Textos, Magenta oscuro, trazo de 0,18mm
  • Cotas, Magenta oscuro, trazo de 0,18mm

Una plantilla con círculos de 0,2mm me sirve para situar las pistas y componentes. Los conectores que utilizo preferentemente son Molex KK254 que mantienen la posición de las salidas, ocasionalmente utilizo Dupont. No dispongo de una grimpadora y por esta razón utilizo un alicate fino de punta cuadrada. Con el soldador y una buena lupa binocular, los KK254 quedan bien, los Dupont me dan algunos problemas.

Las pistas que se cruzan las desplazo al lado de los componentes (en azul). Utilizo para las pistas, hilo rígido desnudo de 0,28 mm de diámetro con las placas de fibra de vidrio de una sola cara, pero cuando utilizo placas de resina con puntos de cobre en cada lado, utilizo el mismo hilo con aislante para evitar cualquier corto.

Para facilitar la soldadura de algunas pistas, saco un trazo por el lado de los componentes.

Módulo Arduino MEGA
Circuito módulo principal con la placa Arduino MEGA PRO2650
Circuito montado (lado componentes).
Circuito montado (Lado cobre)

Para diseñar el hardware de un proyecto Arduino es importante concebir el módulo principal como un conjunto de entradas y salidas (shield) partiendo de los terminales.

Los módulos del RTC DS3231 más el relé que activa el conmutador RX/TX del amplificador se conectan a través del bus I2C. Este bus, necesita únicamente dos cables (además de la alimentación), uno para los datos (SDA) y otro para la señal del reloj (SCL) que en la placa MEGA están en los pines D20 y D21 respectivamente. A este bus se pueden conectar diferentes periféricos, en este caso, el display y el RTC. Para ello, se han dispuesto dos conectores de cuatro pines en paralelo (SCL, SDA, VCC, VDD) en este orden.

Se ha previsto un conector para ocho botones más masa aunque solo se van a utilizar cuatro, uno para el cambio del control manual y automático del conmutador de antenas, y tres más para la puesta en hora del reloj, el resto se reservan en previsión de futuras ampliaciones.

Un conector de tres pines activa los relés del conmutador de antena desde el bus UDN2891AT y otro conector de tres pines, las señales de puesta en marcha del Icom (13,8V) y el codificador de bandas (0<->8V).

Dos conectores de dos pines suministran la alimentación de los relés del conmutador de antenas (12V) y la alimentación del Arduino, display y RTC (5V).

El software. –

He terminado el sketch que permite cambiar la fecha y la hora por medio de botones en el panel. Ha sido un ejercicio interesante de lógica de programación. Un botón cambia secuencialmente siete modos. Básicamente tres modos,

El modo NORMAL presenta la fecha, el día de la semana, la hora local y la hora UTC en tres líneas en el display 2004. La cuarta línea muestra el estado del transceptor Icom IC-7300.

Modo NORMAL

El modo AJUSTE, pulsando el primer botón (de arriba abajo) tiene cinco posiciones secuenciales, Año, Mes, Día, Hora y Minuto. En cada posición, pulsando el botón UP (segundo) añade 1 a la cantidad actual y la refleja en su lugar en la línea de fecha y hora. El botón DOWN (tercero) resta 1 y realiza la misma operación.

Modo ajuste, en la pantalla ajustando los minutos.

El tercer modo es FINAL DE AJUSTE, la pantalla indica los pulsadores. UP para grabar la fecha y la hora de la tercera línea, DOWN para cancelar. En ambos casos, a continuación, el modo pasa a NORMAL.

Modo FIN DE AJUSTE

La cuarta línea del display indica el estado del Transceptor (Banda y antena activa), pero el cuarto botón, permite cambiar la selección de antena de modo automático o manual alternando el hilo aperiódico alimentado en un extremo con la Hexbeam.

Control del conmutador de antena

Discusión. –

Probablemente la construcción de un reloj digital con cambio automático de horario de invierno y verano y una puesta en hora por botones tengan una utilidad baja, tendiendo a ninguna, cuando por unos pocos dólares se pueden encontrar relojes chinos que hacen los mismo, aunque el principal motivo del montaje sea el control remoto del conmutador de antena.

Sin embargo, el control secuencial de los modos y el proceso de ajuste paralelo es un ejercicio de lógica de programación muy interesante. Sobre todo, para los que nos hemos formado como programadores con lenguajes menos lineales que la instancia loop() del C++ que utiliza Arduino.

Por otra parte, el ajuste del tiempo de un reloj se puede realizar automáticamente por otros medios más exactos como un NTP, un receptor GPS o una computadora. Sin embargo, estos métodos tienen el inconveniente de que necesitan una conexión permanente a Internet bien sea por cable o por WiFi, a un receptor GPS o a un PC.

Tengo la intención de subir el nuevo código a GitHub en breve.

Deja un comentario