Hace casi dos años hice un transmisor de DCF77 con un módulo ESP32, y lo acoplé dentro de otro transmisor que había hecho con anterioridad con Arduino. Ahora voy a montar otra versión del mismo transmisor DCF77, reduciendo al mínimo su tamaño y sin eliminar sus prestaciones.
En la versión 2 del transmisor DCF77 con ESP32, he quitado el segundo controlador de Arduino, ya que sólo servía para complementar la información que muestra el display OLED. Pero he utilizado un trozo del PCB de ese transmisor, el que contiene los componentes del amplificador, y mediante 3 hilos lo he conectado con el módulo ESP32: los 2 hilos de alimentación y el hilo de salida DCF77 ya modulado. La salida de los impulsos DCF77 no se utiliza, pero se puede utilizar para hacer medidas.
Para comprobar que se está transmitiendo la señal por el amplificador, he montado un LED SMD en serie con una resistencia limitadora, en paralelo con el condensador de 1nF del circuito resonante de salida, la antena transmisora. La resistencia limitadora del LED la he puesto bastante alta, de 3k9, con el fin de que no se reduzca el nivel de RF radiado.
Nivel de salida DCF77
Con el fin de comprobar el correcto funcionamiento del amplificador de salida, y medir el nivel de tensión pico a pico de la portadora DCF77 (77,5 kHz), he conectado las puntas del osciloscopio en paralelo con la bobina del amplificador (antena). La punta de referencia del osciloscopio (GND) la he conectado a la toma de la bobina que va conectada a la alimentación de +5V, ya que para la señal de RF el +5 es lo mismo que el GND. Así en las medidas del osciloscopio, la referencia GND que muestre se corresponderá con la tensión +5 del amplificador.
El osciloscopio debería funcionar con batería, o estar aislado de la tensión de la red eléctrica
Analizando la gráfica que muestra el osciloscopio, la amplitud de la señal DCF77 ocupa 3 cuadros X 5V = 15Vpp. Se puede observar que desde el punto de referencia del osciloscopio (1→ de la izquierda) hacia abajo hay un cuadro = 5V, justo la tensión a la que está alimentado el amplificador. Al estar funcionando el amplificador en Clase C (se polariza con la señal de RF) el transistor deja de conducir cada segundo durante 100 o 200ms, dependiendo si se transmite un CERO o UNO lógico. En la imagen se muestran dos segundos consecutivos (10 divisiones de 200ms), con dos intervalos sin portadora de 100ms = dos ceros lógicos. La medida que muestra a la derecha la pantalla del osciloscopio de 10V, es la tensión ‘extra’ que produce la bobina de 4mH junto con el condensador de 1nF al estar en resonancia a la frecuencia de 77,5 kHz.
El archivo que necesitas para programar el ESP32, lo puedes descargar de forma gratuita desde el siguiente enlace: DFC77_ESP32_JR.rar
Caja 3D (ESP32+Display)
El fichero .stl que necesitas para fabricar esta caja, lo puedes descargar desde el siguiente enlace: DCF77 transmitter with ESP32 (v2)
¿Necesitas fabricar un circuito impreso?
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
En la actualidad la iluminación LED es la tecnología más eficiente, y además sus precios han bajado notablemente. Ahora se puede comprar un tubo LED de 16W, equivalente a un tubo fluorescente de 36W, por 6€ aproximadamente. Con este cambio el consumo eléctrico se reducirá en más del 50%, se eliminará el parpadeo de 100 Hz (doble de la frecuencia de red) que producen los tubos fluorescentes, y además su encendido será inmediato. También se evitará el riesgo de que se rompa el tubo cuando está encendido, y se contamine el aire con el vapor de mercurio de su interior. También he modificado el haz luminoso del tubo LED, ya que los tubos fluorescentes iluminan los 360 grados y los LED sólo 180.
El objetivo es iluminar un poco el techo, y reforzar el haz luminoso en la vertical del tubo con una luz blanco día, dejando el resto de la estancia iluminada con luz más cálida (4000K). Para conseguir esto, he montado 2 barras LED recuperadas del Backlight de un TV LED averiado.
Los tubos LED se pueden clasificar en dos tipos, dependiendo de su conexión con la red eléctrica. Cualquier tubo LED podría conectarse a un soporte de tubo fluorescente sin tener que abrir la carcasa para modificar el cableado, pero su adaptación varía dependiendo del tubo LED que se vaya a montar. A pesar de que los tubos LED muestren un terminal con la letra F (Fase) y el otro con la letra N (Neutro), no importa si se cambia la polaridad. Si se decide abrir el soporte del tubo fluorescente para eliminar la reactancia y el cebador, es conveniente mantener el código de colores del cableado, utilizando siempre el color azul para el Neutro y nunca para la Fase.
REACTANCIA: No es imprescindible eliminar la reactancia. La reactancia (bobina) produce una componente reactiva +j, y compensa el coeficiente reactivo -j que producen los driver de corriente constante que alimentan los LED del tubo, reduciendo así la potencia reactiva consumida y como consecuencia la corriente que circula por los cables.
CEBADOR: Dependiendo del tipo de tubo LED, habrá que eliminar o sustituir el cebador.
1 – Alimentación por ambos laterales del tubo
Para conectar este tipo de tubo LED al soporte de un tubo fluorescente, es necesario desconectar el cebador. Con la reactancia y sin cebador, ya se encendería el tubo LED. Si se quisiera eliminar la reactancia y rehacer el cableado:
Abrir la carcasa del tubo y desconectar todo: cableado, reactancia, cebador y el condensador de compensación de energía reactiva (si lo tiene).
Unir los dos contactos de conexión, en ambos casquillos del lateral y conectar un cable en cada extremo.
Conectar ambos cables a la alimentación de la red eléctrica, Fase y Neutro. No es necesario respetar la polaridad de los cables.
2 – Alimentación por un solo lateral
Estos tubos LED son muy fáciles de sustituir, siempre que se siga el proceso que indican los fabricantes, y sin hacer caso a algunos tutoriales que se publican en Internet. Los tubos LED que llevan las dos conexiones en un lateral incluyen un cebador, que en realidad es un fusible. El proceso de sustitución es muy rápido y sencillo, porque no es necesario desmontar la carcasa.
Desconectar el tubo fluorescente y el cebador.
Conectar el cebador LED (fusible) y el tubo LED, sin importar la polaridad
En caso de necesidad se podría montar de nuevo un tubo fluorescente, sustituyendo el cebador LED (fusible), por un cebador convencional
Características de los tubos LED
La ventajas principales de un tubo LED frente a un tubo fluorescente son las siguientes:
Ahorro del consumo eléctrico >50%
Encendido inmediato, sin parpadeo
Se evita el efecto estroboscópico de los tubos fluorescentes (100 Hz)
Tiempo de vida muy superior al de un tubo fluorescente
Se evita el riesgo de respirar vapor de mercurio, en caso de rotura del tubo
El único inconveniente de los tubos LED es que su haz de luz es de 180º, en lugar de los 360 de los tubos fluorescentes. Los tubos LED suelen llevar una marca a lo largo del tubo, normalmente una línea blanca, indicando la zona donde no iluminan. La única precaución que hay que tomar a la hora de colocar un tubo LED, es girarlo en el sentido que queda la línea blanca orientada hacia el techo.
Modificar el haz luminoso de un tubo LED
Al sutituir el tubo fluorescente por otro LED, el techo quedará muy apagado. Con el fin de ampliar el haz de luz del tubo LED hacia el techo y modificar la temperatura de color por zonas, he montado en los laterales del soporte dos barras LED, recuperadas del Backlight de un TV LED averiado. Cada barra contine 9 LED SMD blanco día, con un lente difusor muy eficiente y direccional en la zona vertical.
Las dos barras LED las he pegado con cinta adhesiva de doble cara, en los laterales largos del soporte de chapa. Los cables de alimentación entran por el agujero donde estaba alojado el cebador del tubo fluorescente, y se conectan en paralelo al driver LED de corriente constante que he ajustado a 220mA (2x 110mA). El driver de corriente constante lo montado dentro del soporte, donde estaba alojada la reactancia del tubo fluorescente.
Driver de corriente constante
Los LED utilizados en iluminación deberían estar alimentados con fuentes de corriente constante. De otra manera, las fluctuaciones de tensión en el suministro podrían ocasionar bajos rendimientos lumínicos cuando cae la tensión, o averías prematuras cuando se producen picos de sobretensión.
La corriente de funcionamiento de los driver no es ajustable, viene prefijada de fábrica y hay que elegirla en función de la corriente de trabajo y el número de LED en serie que se utilicen. En este caso, he comprobado que las barras LED que voy a montar iluminan muy bien con una corriente de 110 mA, y además no se calientan nada. Como es lógico, si los LED los hacemos funcionar por debajo de su corriente mínima aconsejable, se calentarán menos y aumentará su vida útil.
Aunque la corriente de trabajo de un driver de corriente constante no tenga ajuste, se puede modificar sustituyendo el valor de alguno de sus componentes. Casi siempre, el ajuste de corriente lo determina el valor de una resistencia. En el driver que he utilizado, la modificación consiste en sustituir la resistencia Rs1 de 0,62 Ohmios (SMD), por otra de 0,89 Ohmios que he hecho a medida con hilo de Nicrom. Como las dos barras LED son idénticas y las voy a conectar en paralelo, la corriente del driver LED la he ajustado al doble (220 mA).
Tubo LED con reactancia y sin ella
Aunque los tubos LED no necesitan una reactancia (balasto) para funcionar, cuando vamos a sustituir un tubo fluorescente por LED, tenemos la opción de dejar la reactancia o quitarla. Para comparar el comportamiento de un tubo LED con reactancia y sin ella, hice unas medidas.
Como podemos comprobar en las medidas, la corriente que circula por los cables es mayor sin la reactancia, porque su inductancia estaba compensando la reactiva C que producen todas las fuentes conmutadas, en este caso el driver de corriente constante que alimenta el tubo LED.
La reactancia del tubo fluorescente corrige en parte la energía reactiva de un tubo LED, reduciendo la corriente que circula por los cables.
Destellos de los LED con la luz apagada
Al sustituir las bombillas de filamento o fluorescentes por otras de tipo LED, debido al bajo consumo de los LED, en algunas ocasiones con el interruptor abierto (luz apagada) se producen destellos de luz de forma cíclica. Este efecto se produce por una pequeña fuga de corriente de la instalación hacia la lámpara LED. Esta fuga se origina casi siempre en los interruptores de encendido, ya sea por estar defectuosos (falta de aislamiento) o porque incluyen algún tipo de iluminación en su mecanismo. Si el interruptor tiene algún tipo de iluminación, la solución más rápida sería sustituir el interruptor por otro sin luz. También se podría poner una carga resistiva en la conexión de red de la bombilla LED, por ejemplo una bombilla de filamento de pequeño tamaño y potencia. Al aumentar la carga a la salida del interruptor, la corriente de fuga del interruptor se repartiría entre la bombilla y el driver LED; y esa corriente ya no sería suficiente para que la fuente de alimentación del driver LED consiguiera alimentar a su circuito PWM.
¿Necesitas fabricar un PCB?
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
Construcción de un brazalete LED con batería recargable, de larga duración. El brazalete está construido con PLA y es impermeable; se puede utilizar como peatón o ciclista, pero también sería muy útil llevarlo en el coche para utilizarlo como baliza en caso de avería.
Los ciclistas, patinadores o cualquier persona que circule de noche cerca de una carretera deberían hacerse ver. Es obligatorio llevar un elemento luminoso o retrorreflectante, como brazaletes, cinturones o linternas, para hacerse visibles a una distancia de por lo menos 150 metros.
Módulo de control LED
El control de encendido de los 6 LED de este brazalete es muy barato. He comprado un lote de 10 placas por menos de 3 dólares. Este controlador enciende los 6 LED de uno en uno de forma secuencial, no es necesario intercalar resistencia limitadoras a los LED, y funciona entre 3 y 4,5 voltios… haciéndolos así muy aconsejables para ser utilizados con baterías Li-ion de 3,7V. Hay que tener cuidado con el esquema que indica el vendedor en su web, porque los 6 LED están pintados al revés. Son los cátodos los que van conectados a las 6 salidas del PCB, como se indica en la imagen siguiente:
Esquema de montaje
Este brazalete es muy sencillo montarlo, y se compone de dos partes. Por una parte esté el módulo de control y los 6 LED, y por otra la alimentación. Para alimentar el brazalete podría haber utilizado dos o tres pilas de 1,5 voltios en serie, pero he preferido alimentarlo con una bateria de litio recargable.
Así el módulo de alimentación se compone de una batería 3,7V, el módulo de carga TP4056 con protección y el interruptor de encendido.
Descarga de las piezas 3D
Este diseño consta de 3 piezas, impresas en 3D con PLA de color blanco. El brazalete tiene 6 caras para dirigir la luz LED hacia todos los ángulos. El ajuste del brazalete con el brazo está bien para el tamaño medio de un adulto. En caso de que fuera necesario, aplicando calor al PLA -con cuidado si ya se ha montado la electrónica- se podría cerrar o abrir ligeramente el diámetro del brazalete.
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
Construcción de un plato giratorio, con un motor paso a paso unipolar de 5 hilos 28BYJ-48. Los platos giratorios se utilizan desde hace mucho tiempo en los escaparates como expositores, sobretodo en tiendas de relojes y joyerías. En mi caso, lo voy a utilizar para grabar algunas escenas de montajes electrónicos. Este plato puede girar en ambos sentidos con gran precisión, y a una velocidad configurable a elegir entre uno de sus 6 preset. El controlador del motor está hecho con un microcontrolador Atmega328P (Arduino). Aprovechando la gran precisión de giro de los motores paso a paso, este plato giratorio se podría utilizar como temporizador cíclico, montando levas en el plato para accionar uno o varios pulsadores.
Motores Paso a Paso
Un motor paso a paso convierte los impulsos eléctricos que recibe en sus bobinas, en movimiento de rotación, y se considera como un motor de corriente continua sin escobillas.
Un motor paso a paso funciona con tensión continua, y puede ser de casi cualquier tamaño y par. Cuando se le aplica energía en alguno de sus bobinados, da un «paso» en lugar de girar constantemente. Cada paso provoca una rotación con un ángulo especificado por el fabricante del motor, ya que depende del número de polos del motor y su demultiplicación interna.
Un motor paso a paso se comporta como un conversor Digital-Analógico (D/A), convirtiendo los impulsos digitales de tensión que recibe en giros analógicos de gran precisión. Estos motores se utilizan en cualquier dispositivo electrónico que requiera mover objetos con gran precisión: impresoras convencionales y 3D, escáner, plotter, fresadoras CNC, grabadores láser, etc.
Stepper motor 28BYJ-48
Model : 28BYJ-48
Rated voltage : 5VDC
Number of Phase : 4
Speed Variation Ratio : 1/64
Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board
Stride Angle : 5.625° /64
Frequency : 100Hz
DC resistance : 50Ω±7% (25℃)
Idle In-traction Frequency : > 600Hz
Idle Out-traction Frequency : > 1000Hz
In-traction Torque >34.3mN.m (120Hz)
Self-positioning Torque >34.3mN.m
Friction torque : 600-1200 gf.cm
Pull in torque : 300 gf.cm
Insulated resistance >10MΩ (500V)
Insulated electricity power :600VAC/1mA/1s
Insulation grade :A
Rise in Temperature <40K (120Hz)
Noise <35dB (120Hz, No load, 10cm)
Control del plato giratorio
Para controlar los ángulos de giro y velocidad de un motor paso a paso, es necesario saber como mínimo el número de pasos por vuelta del motor, su tensión de alimentación y la frecuencia máxima de funcionamiento.
El motor 28BYJ-48 hace un giro completo cada 64 pasos, pero incluye una reducción de 1/64 . Como resultado tenemos 64×64 = 4096 pasos por vuelta. Como el motor se acopla al plato mediante un piñón y una corona de relación 1/7, los cálculos de giro los tendremos que calcular en función de 4096×7 = 28972 pasos por vuelta.
Al tratarse de un motor de 4 fases, es posible controlarlo en ciclos de 4 pasos. Aunque se pierda un poco de PAR, los fabricantes aconsejan hacer funcionar el motor en modo “Half Step Drive” (medio paso), haciendo los saltos menos bruscos y reduciendo su consumo.
Secuencia de 8 pasos, para mover el motor 28BYJ-48 en Half Step Drive:
Construcción del Plato giratorio
Para la construcción de este plato giratorio he utilizado el motor paso a paso unipolar de 5 hilos 28BYJ-4. Este motor junto con su driver de control, se puede conseguir por Internet por menos de 5 Euros. Al tratarse de un motor unipolar, no es necesario utilizar un driver del tipo Puente H, necesario para controlar los motores bipolares de 4 hilos.
El driver de este motor es muy sencillo, sólo necesita 4 transistores en montaje Open-Collector para suministrar la corriente necesaria a las bobinas del motor. El driver que se incluye con este motor utiliza 4 entradas-salidas del circuito integrado ULN2003, de las 7 que incluye el chip. También lleva 4 indicadores LED para señalizar cuando se está alimentado cada una de las 4 bobinas del motor.
El controlador del motor lo he montado aprovechando el PCB del Shield del programador ISP de Arduino UNO que hice hace unos años.
Sólo es necesario cortar una pista del circuito impreso, y unir 11 pines del ATmega328P con su puntos de conexión correspondiente, como si se tratase de un Arduino UNO.
En el esquema de montaje se muestran todos los puentes que hay que hacer en color rojo, así como los componentes que hay que montar, resaltados en color verde. Para alimentar todo el circuito, he utilizado una pequeña fuente conmutada de 230VAC-5VDC de 500 mA.
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
Se trata de un monitor de video SAMSUNG, modelo 223BW, de 21,6 pulgadas, formato 16:10 y resolución 1680×1050.
Síntomas de la avería
Cuando se conecta la alimentación aparece la imagen en la pantalla, y a los pocos segundos se apaga. Aunque se espere un rato, el monitor ya no enciende, pero el pulsador de encendido permanece iluminado. Si se apaga y enciende accionando el pulsador, al cabo de varios intentos ya funciona. Otro detalle a tener en cuenta, es que se escucha un pitido de alta frecuencia cuando se enciende la pantalla.
Teniendo en cuenta estos síntomas, es muy fácil que esta avería la esté provocondo la fuente de alimentación. El silbido que se escucha cuando se enciende el monitor lo podrían estar produciendo los transformadores de ferrita, debido a una falta de filtrado en la tensión continua que alimenta a sus transistores de potencia (circuito PWM de la fuente conmutada). Lo más probable es que tenga alguno o varios condensadores electrolíticos en mal estado, ya que este fallo es muy común en las fuentes conmutadas.
Reparación
Se desmonta el monitor, para acceder al módulo que incluye la fuente de alimentación. Nada más dar la vuelta al PCB, se observan varios condensadores electrolíticos reventados.
Se desmontan todos los condensadores visualmente defectuosos, y se comprueban los demás en el mismo PCB, con la ayuda de un medidor ESR.
IMPORTANTE: Descargar los condensadores electrolíticos antes de medirlos
Todos los condensadores electrolíticos defectuosos se tienen que sustituir por otros que tengan la misma capacidad y tensión, como mínimo. Es importante utilizar condensadores electrolíticos de baja resistencia serie (ESR), especialmente diseñados para trabajar en fuentes conmutadas. No es lo mismo absorber picos de tensión 100 veces por segundo (fuente de alimentación convencional), que hacerlo casi mil veces más rápido (fuente conmutada).
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
Después hice un mural de madera, y cambié los pulsadores por otros de gran tamaño, pudiendo controlar todo desde un PC mediante un software hecho a medida.
Con el software Reflejos.exe es posible controlar los tiempos, mostrar los intervalos entre pulsaciones, modificar las secuencias de los pulsadores, almacenar los tiempos de hasta 25 jugadores y mostrar su progresión mediante gráficas.
Posteriormente hice un reloj LED con tecnología SMD, diseñando los PCB’s de la CPU y los dígitos numéricos. El PCB de control del reloj lo hice pensando en una placa de desarrollo, igual que Arduino, montando conectores en todos los pines del microcontrolador. La CPU del reloj está construída con el microcontrolador AT89S52, el mismo microcontralador que utilicé en el primer Entrenador de Reflejos que hice, pero con encapsulado SMD.
En esta ocasión he actualizado el firmware del Entrenador de Reflejos y el software de control, para adaptarlos a esta nueva CPU y mejorar su operatividad. El nuevo montaje también es diferente, más enfocado a la rehabilitación y coordinación de movimientos que al juego. En este caso, los 6 pulsadores se pueden accionar con las manos y con los pies, y la conexión entre la CPU y el software de control es inalámbrica, utilizando el módulo Bluetooth HC-05.
Nuevo esquema del Entrenador de Reflejos
Este es el nuevo esquema del Entrenador de Reflejos, con todas las conexiones adaptas al PCB del Reloj:
Debido a la gran versatilidad de este PCB, en la adaptación no ha sido necesario cortar ninguna pista del circuito impreso ni hacer puentes entre ellas. Este PCB ya dispone de terminales de conexión para todos los periféricos que se necesitan conectar: los LED de señalización, los pulsadores, el display LCD y el módulo Bluetooth. El avisador acústico ya se utilizaba con el reloj, y va montado en el mismo PCB.
Para la señalización óptica de los pulsadores he utilizado 2 LED SMD blancos por pulsador, en paralelo y alimentados a 5V, intercalando en serie una resistencia limitadora de 220 Ohmios en cada LED. Así la corriente máxima de cada LED es de aproximadamente 10mA. Con el fin de proteger la alimentación frente a un posible cortocircuito en el cableado, los 5 voltios que van hacia los pulsadores se alimentan de dos hilos diferentes, cada línea alimenta 3 pulsadores, y cada uno de estos hilos limita el consumo máximo intercalando una resistencia de 22 Ohmios en serie.
Para alimentar todo el conjunto he utilizado un conector microUSB. Así es posible utilizar cualquier cargador USB que tengamos disponible en casa. El consumo máximo de todo el circuito es inferior a 200mA.
La programación y actualización del firmware del microcontrolador AT89S52 se realiza una vez montados todos los componentes en la placa, a través del conector ICSP. Lo ideal sería utilizar un programador ICSP comercial, pero si no lo tienes, podrías convertir en un momento un módulo Arduino en programador ICSP:
El módulo Bluetooth HC-05 hay que configurarlo antes de montarlo en la CPU.
Para su configuración es necesario conectarlo a través de un interface serie con un PC, y con cualquier software Terminal y mediante comandos AT configurar su modo de funcionamiento como esclavo, y la velocidad a 57600 bps. Si se quiere, también se pueden modificar el nombre del dispositivo y su PIN de acceso a la conexión. La manera más fácil de configurar todo esto es a través de Arduino, utilizando su interface de comunicaciones serie para enviar los comandos AT al módulo HC-05 y configurarlo.
Al principio del código de configuración del módulo HC-05 he anotado los comandos AT más importantes, así como el modo de entrar en modo comandos AT. Dependiendo del tipo de módulo HC-05, el acceso a modo comandos es diferente, porque algunos módulos llevan un pulsador y otros no.
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
En más de una ocasión me han preguntado si es mejor utilizar el estaño en pasta para soldar los componentes SMD. Está claro que para un fabricante la respuesta sería muy clara, porque la soldadura en pasta permite abaratar los costes de producción, y además es posible reducir el tamaño de los dispositivos electrónicos al máximo.
Para las reparaciones y pequeños montajes, yo nunca he utilizado el estaño en pasta. En todas las reparaciones que se puedan hacer a mano, siempre he utilizado estaño en hilo y un soldador resistivo convencional. Lo más importante es elegir la punta del soldador, y el estaño más adecuados a la soldadura que se tenga que realizar. Con esto me refiero al diámetro y aleación del estaño, el tamaño de la punta del soldador, su temperatura, y el uso de flux en en algunos casos.
Para hacer una prueba práctica, soldé un chip TQFP de 44 pines junto con 3 componentes SMD, en un PCB nuevo. Utilicé pasta de soldadura especial para utilizar con máscara (muy densa para dosificar con una jeringuilla), y una placa de calor de 400W.
La temperatura de esta placa es suficiente para fundir el estaño en pasta, y la temperatura máxima que pude medir en la superficie del circuito integrado fue de 210ºC.
Máscara (Stencil) con CNC
Como es muy complicado aplicar la pasta de soldar en un chip de 44 pines, con la ayuda de la CNC hice una máscara (Stencil). Como material utilicé una plancha de cobre de 0,2 mm de espesor, y para los otros 3 componentes SMD apliqué la pasta de soldar a mano.
Para hacer las perforaciones en la máscara con la CNC, tomé todas las medidas del Datasheet del fabricante del chip, y las dibujé en el software SketchUp. Los cortes en la CNC los hice con una punta de grabado de 0,3mm., tamaño ligeramente inferior a las perforaciones de 0,4 mm.
Resultado final
El funcionamiento de la plancha de calor fué bastante bueno, pero el exceso de pasta provocó que apareciesen bolas de estaño encima de los pines del circuito integrado… quizás tendría que haber reducido el ancho de las perforaciones de la máscara TQFP44 que hice con la CNC. El exceso de estaño lo tuve que retirar al final con un soldador convencional, malla de desoldar y flux en gel.
También había un exceso de pasta en los demás componentes en los que apliqué la pasta de soldar con una pequeña espátula. Al ser una pasta bastante densa, no se puede utilizar una jeringilla, y es bastante complicado dosificar la pasta con una espátula.
Aunque resutado final de la soldadura con pasta es bueno, sigo pensando que me habría costado menos tiempo soldar todo a mano.
¿Necesitas fabricar un PCB?
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
En la actualidad es mucho más sencillo y barato que antes, fabricar dispositivos electrónicos. La mayoría de los equipos que se fabrican ahora son de tecnología digital, y si requieren algún ajuste, casi siempre se realiza mediante un software… los ajustes internos han desaparecido.
La tecnología digital ha permitido también abaratar los costes de desarrollo y producción, hasta el punto que ahora cualquier aficionado a la electrónica pueda disponer de algunos equipos de medida que antes sólo estaban al alcance de los fabricantes.
Ahora es posible disponer de un analizador lógico de 8 canales por menos de 10€, aprovechando como interface gráfico un PC. El uso de un PC en los equipos de medida permite de forma muy sencilla actualizar sus prestaciones, sólo hay que actualizar el software de control en el PC.
Analizador Lógico USB LA1002 de 8 canales 24 MHz
Este analizador lógico permite grabar las secuencias digitales que transmiten los equipos en tiempo real, pudiendo analizar posteriormente los protocolos que utilizan, medir la velocidad de las comunicaciones, comparar señales, etc. Con un analizador lógico se reducen notablemente los tiempos dedicados al desarrollo, y al mismo tiempo sirve para entender mejor los protocolos utilizados en las comunicaciones digitales.
Hace unos meses monté un receptor de radio controlado por Arduino. Este receptor de radio es totalmente digital. Todos sus ajustes y control se realizan mediante el bus de comunicaciones I2C. Para comprender mejor el funcionamiento de un analizador lógico, voy a utilizar este receptor de radio como ejemplo, y voy a grabar las comunicaciones I2C entre el módulo receptor de radio y Arduino, y al mismo tiempo las señales RX/TX de la UART de Arduino.
Bus I2C
Hace unos años publiqué un video dedicado al Bus I2C. En este caso sólo voy a hacer un resumen.
El bus I2C es un protocolo de comunicaciones bidireccional compuesto por 3 hilos, Datos, Reloj y masa (GND). Al ser esta una señal síncrona, controlada por los impulsos del reloj, la velocidad es variable y sólo en casos especiales se superan los 100 KHz.
Ambas líneas permanecen conectadas a nivel alto, mediante resistencias Pull-Up, y son los dispositivos los encargados de cargar las líneas para generar los impulsos. El dispositivo que hace de máster es el encargado de generar la señal de sincronismo (Clock). El dispositivo que envíe los datos, ya sea máster o esclavo, es el encargado de generar la señal de datos.
Los cambios de nivel en el hilo de datos siempre suceden cuando el nivel del hilo del Clock está a nivel bajo. Cuando esto no se cumple, es porque se está generando el bit de Start o el de Stop. Las comunicaciones I2C siempre comienzan con un bit Start, y finalizan con un bit Stop. Cuando el hilo del Clock está en nivel alto y cambia de estado el hilo de datos: si cambia de 1 a 0, es un bit Start y si cambia de 0 a 1 es un bit Stop.
La información se transmite en formato de 8 bits, salvo la dirección que se compone de 7 bit, utilizando el octavo bit como indicación del dispositivo máster, para indicar al esclavo o receptor, si va a transmitir datos a continuación o espera recibirlos de él. En ambos casos, el dispositivo máster genera la señal de reloj y el primer Byte con la dirección.
Con el fin de mantener la comunicación activa, el dispositivo que hace de receptor carga la línea de datos cuando recibe un Byte correctamente, generando así el bit ACK a nivel bajo.
Si el dispositivo transmisor detecta un nivel bajo al finalizar el envío de cualquier Byte, puede continuar con el siguiente, y si recibe el bit ACK a nivel alto, podría reenviar de nuevo la información o finalizar la comunicación generando un bit Stop.
Software: PulseView
El software PulseView es el complemento necesario para controlar el analizador lógico USB LA1002 de 8 canales, y se puede descargar desde el siguiente link: https://sigrok.org/wiki/PulseView
UART y RS232
Las comunicaciones de una UART también es de 3 hilos y bidireccional, pero a diferencia del I2C, la comunicación de la UART es asíncrona. La UART utiliza un hilo para transmitir, otro para recibir y el tercero es el hilo de referncia o GND. Al no disponer de una señal de sincronismo (clock), en el dispositivo receptor es necesario configurar la velocidad y formato de las comunicaciones que utiliza el dispositivo transmisor.
Bit: START/STOP
Para que el dispositivo receptor pueda sincronizar el inicio de cada Byte que recibe, el dispositivo transmisor inserta un bit de inicio y otro de fin, son los bit de Start y Stop. El bit de Stop se puede considerar como un tiempo de inactividad, o pausa entre Bytes. Así el tamaño del bit de Stop puede ser del tamaño de 1 bit de datos, de 1,5 o 2… y no se puede omitir.
Este tiempo de inactividad del bit Stop, aparte de marcar el fin de cada Byte, lo utiliza el terminal receptor para convertir los datos serie de cada Byte en paralelo y almacenarlos en la memoria buffer de la UART. Lo procesadores antiguos, cuando recibían datos a una velocidad alta disponían de muy poco tiempo para realizar todo el proceso de almacenar los datos. Aumentando el intervalo de tiempo entre Bytes (bit Stop), era posible aumentar la velocidad de las comunicaciones serie.
Bit: DATOS
El número de bits de datos de una UART es variable, entre 4 y 8 bits. Lo normal es utilizar el formato estándar de 8 bit, equivalente a 1 Byte. Los formatos inferiores permitían aumentar la velocidad de las comunicaciones en los procesadores antiguos. Por ejemplo, con 7 bits se pueden codificar los primeros 127 caracteres de la tabla ASCII.
El bus I2C envía los datos en serie empezando por el bit más significativo, bit MSB. La UART lo hace al revés, enviando primero el bit menos significativo, bit LSB. Al final del último bit de cada Byte, es posible enviar un bit de paridad.
Bit: PARIDAD
El bit de paridad se puede omitir, a diferencia de los bit Start y Stop que son imprescindibles. El bit de paridad protege ligeramente la integridad de los datos que se reciben, pudiendo omitir los Bytes erróneos. El valor del bit de paridad es necesario definirlo en las comunicaciones:
(N)one = sin bit de paridad
(E)ven = paridad PAR … bit de complemento para que el número de unos sea par
(O)dd = paridad IMPAR … bit de complemento para que el número de unos sea impar
(M)ark = siempre 1*
(S)pace = siempre 0*
(*) Permite diferenciar los Bytes de direccionamiento y datos en las comunicaciones RS485 y RS422, cuando se conectan varios dispositivos receptores en paralelo de diferente dirección.
Envío serie: RS232
En este ejemplo un PC transmite el número 5 del teclado por la UART y su interface serie RS232. Cuando el procesador no envía datos el nivel lógico a la salida de la UART es alto (inactividad) , y cuando se transmite un 0 el nivel lógico es bajo.
El interface serie RS232 convierte la señal continua pulsante en otra alterna de mayor nivel, protegiendo así las comunicaciones de posibles inducciones en los cableados. Es importante destacar que el interface serie invierte los niveles lógicos de la UART.
Esta UART está configurada para transmitir a una velocidad de 4800 bps, sin bit de paridad, 8 bit de datos y 1 bit de Stop. En total se envían 10 bits, y se necesita un tiempo ligeramente superior a 2 mSeg. para transmitir un Byte.
Gestión I2C del módulo SI4703 desde Arduino
Si abrimos las librerías del módulo receptor de radio SI4703, podemos ver que en los registros del 0x0A hasta el 0x0F se almacena el nivel de campo recibido, la frecuencia sintonizada y los 64 Bytes de datos del último grupo RDS recibido. Los datos del RDS se guardan en los 4 últimos registros, ordenados y etiquetados con la letra de cada bloque.
Observando la rutina de lectura, comprobamos que siempre envía por I2C los 32 Bytes de los 16 registros, pero empezando por el 0x0A. Así el primer valor leído será el nivel de campo, a continuación la frecuencia sintonizada y el RDS, dejando para el final los registros desde el 0x00 hasta el 0x09. En total se envían por el bus I2C 33 Bytes: 1 Byte de dirección mas los 32 Bytes de los 16 registros.
Decodificación de los datos recibidos por I2C
En la imagen anterior vemos los datos del Bus I2C que Arduino ha leído del módulo receptor de radio (SI4703). He coloreado los paquetes, cambiado el color cada 32 Bytes de datos. Como vimos antes, los primeros 2 Bytes son los del registro 0x0A. El Byte menos siginificativo de los dos es el nivel de campo recibido: 0x33 (hexadecimal) y si los convertidos a decimal serían 51dBuV.
El registro siguiente, el 0x0B, es la frecuencia sintonizada: 0x0023 = 35 decimal. Ahora le sumamos 875 (910) y luego lo dividimos entre 10 para obtener la frecuencia en MHz = 91,0.
A continuación tenemos los 8 Bytes con los datos RDS del último grupo recibido. Si copiamos los 8 Bytes del RDS y comprobamos que tipo de grupo es, podemos decodificar toda la información que contiene.
Por este grupo estamos recibiendo el bit TA, M/S, 1 bit del DI, las 2 primeras letras del PS, 2 frecuencias alternativas, y además el resto de información genérica de todos los grupos RDS: PI, TP y PTY.
Si nos fijamos con más detalle en la captura de datos recibidos por el bus I2C, vemos que cada grupo RDS se está repitiendo 20 veces. Esto es debido a la alta velocidad de lectura del bus I2C, en relación a la velocidad del RDS.
¿Necesitas fabricar un PCB?
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
Sustitución del display de un libro electrónico (eBoock). Este eBoock viene serigrafiado con el nombre de la tienda Fnac, pero monta el mismo display que el Kindle (Amazon) y Cervantes 3 (BQ). Es un display de 6 pulgadas con retroiluminación LED, modelo ED060XG1.
Reparación
Desmontar un eBoock es algo más sencillo que un teléfono móvil, aunque los útiles necesarios para la reparación sean los mismos. La carcasa se desmonta metiendo por la ranura lateral una lámina metálica, y apalancando alrededor de todo el contorno. Antes de tirar del marco, hay que introducir una púa de plástico desde el borde interior del display hacia dentro, con el fin de despegar el adhesivo, es una cinta de doble cara, y no es imprescindible aplicar calor para que se despegue.
ED060XG1 – 6″
Una vez soltado el marco superior, sólo hay que desmontar 4 tornillos para separar el la carcasa inferior.
Interior eBoock
El marco interior del display sólo va sujeto por la parte inferior con dos tornillos, pero hay que tener la precaución de despegar las dos cintas de doble cara que lo sujentan por los laterales, antes de tirar hacia fuera. El marco de plástico, también va pegado con el frontal del display.
¿Necesitas fabricar un PCB?
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.
Con este receptor es posible conocer los parámetros más importantes que se transmiten por la subportadora RDS. Con esta nueva actualización (v1.2), las librerías del RDS permiten analizar más información que antes, y todo el código está depurado para optimizar la memoria del ATMEGA328P, permitiendo así añadir más prestaciones en el receptor de radio, utilizando el mismo microprocesador.
El sistema RDS transmite los textos codificando los caracteres con su propia tabla de 8 bits, y dispone de 3 tablas de caracteres diferentes, denominadas G0, G1 y G2. Por defecto, los receptores de radio traducen los 8 Bytes del PS y el Radio Texto (RT) utilizando la tabla de caracteres G0. La tabla GO incluye la mayoría de los caracteres utilizados por las diferentes lenguas de la zona EBU. Los receptores de radio tienen que leer el código de 8 bit que reciben por cada letra, y convertirlo al código que se corresponda con la tabla de caracteres que estén utilizando. En este caso sería necesario convertir los caracteres dos veces, una vez para adaptarlos a la tabla de caracteres gráficos de su display LCD, y otra más para codificarlos en UTF-8 y transmitirlos por el puerto serie.
Los primeros 127 caracteres de la tabla del RDS siguen el estándar ISO, por lo tanto no hay que convertirlos. Sin embargo, los 127 caracteres más altos de la tabla del RDS no son estándar, y es necesario convertir sus códigos para mostrar correctamente las letras. En este receptor sólo se convierten los caracteres latinos más utilizados, son los caracteres enmarcados con color en la tabla del gráfico anterior.
El display LCD de este receptor dispone de una memoria RAM, que le permite almacenar un máximo de 8 caracteres gráficos diferentes. El display reserva las 16 primeras posiciones de su mapa de caracteres para almacenar gráficos, pero hay que tener en cuenta que el display sólo guardará 8 caracteres gráficos diferentes. Si se guardan los 8 caracteres en las primeras posiciones de la CGRAM (direcciones 0x00 a 0x07), estos mismos caracteres se copiarán también en las 8 posiciones siguientes (direcciones 0x08 a 0x0F). Debido a esta limitación, sólo se generan y guardan los gráficos de las 5 letras acentuadas en minúscula, y las letras: ü, ñ y ç. Cuando se reciban por RDS letras mayúsculas acentuadas, el programa las convertirá en letras mayúsculas sin acento.
Receptor FM-RDS con: SI4703
Este sencillo receptor de radio está basado en el módulo SI4703, de bajo coste y altas prestaciones. Este módulo incluye en su interior todo el receptor de radio, incluso el decodificador Estéreo, el decodificador RDS y un pequeño amplificador de audio. Para controlar este módulo, he utilizado el micro-controlador ATMEGA328P (Arduino).
Descarga de ficheros
El firmware y librerías que necesitas para programar el ATMEGA328P, los puedes descargar desde el siguiente enlace: RDS_Radio_SI4703 (v1.2)
¿Necesitas fabricar un PCB?
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.