¿Soldadura en pasta?

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.

Arrastre de soldadura

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.

Soldando SMD-TQFP

Plancha de calor para soldar

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.

Plancha de calor para soldar

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.

Máscara TQFP44 con CNC

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.

Máscara TQFP44 en SketchUp

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.

Soldadura en pasta

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.

Exceso de soldadura en pasta

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.

Logo: PCBWay

Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.

https://www.pcbway.es/

Reloj y Texto en display LED, con ESP32

Construcción de un display LED de reloj y texto con matrices LED. Este display se configura desde un teléfono móvil vía WiFi. La información de la fecha y hora se sincroniza a través de un servidor NTP, convirtiéndolo así en un reloj muy preciso. Este display está construido con el módulo ESP32 y 4 matrices LED de 8×8 pixel. De forma opcional, también se puede montar un segundo display OLED de 64×48 pixel (0,66 pulgadas).

Este display lo he montado con un módulo LED que ya contiene las 4 matrices, en lugar de los 4 módulos independientes que utilicé en el montaje anterior:

Reloj de precisión, configurado por WiFi

Matrices LED de 8×8 pixel

En la construcción del último reloj LED que monté, lo hice conectando 4 matrices LED de 8×8 pixel. Estas matrices llevan las conexiones de entrada y salida por la cara inferior y superior, y esto obliga a que el tamaño del reloj sea más grande de lo necesario.

Matriz LED 8x8 pixel

En este caso voy a montar otro reloj con un display LED del mismo tamaño, pero será más pequeño que el anterior. Aunque el nuevo firmware también permite utilizar un segundo display OLED, en este caso no lo voy a montar, y además utilizaré 4 matrices LED interconectadas en un sólo PCB.

PCB con 4 matrices LED de 8x8

Esquema de montaje

El montaje de este reloj es muy rápido y sencillo,  sólo hay que conectar 5 hilos entre un lateral del display LED y el módulo ESP32.

Montaje del display: Reloj-Texto

Configuración con doble interface WEB

Ahora el display LED permite mostrar la hora, o textos rotantes de hasta 255 caracteres. Tanto el modo de funcionamiento como su configuración, se programa a través de una conexión WiFi, y se guarda en la memoria EEPROM del módulo ESP32. De esta forma el reloj arranca siempre en el modo en el que se dejó la última vez: modo texto, o modo reloj.

Doble interface WEB

Esta nueva versión de firmware incluye un menú WEB con nuevas opciones,  y también animaciones cada vez que se reciben datos desde el reloj.

Firmware

El archivo que necesitas para programar el ESP32, lo puedes descargar de forma gratuita desde el repositorio GitHub: Clock-Text_ESP32

Caja 3D (Reloj-Texto)

Caja 3D, para el PCB de 4 matrices LED de 8x8

El fichero .stl que necesitas para fabricar la caja de este display LED, lo puedes descargar desde el siguiente enlace: Clock and Text on LED display, configured by WiFi

¿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.

PCB de prototipo gratis y con plazo de entrega rápido: https://www.pcbway.es/

Logo: PCBWay

 

Caja a medida con CNC

Diseño y fabricación de una caja a medida, cortando las piezas con la ayuda de una fresadora digital (CNC). El diseño de las piezas lo hice con el software SketchUp. Tuve que corregir el archivo que genera SketchUp para poder utilizarlo en la CNC. Para comprobar el código ‘G’ y corregir el archivo, utilicé el simulador por software CAMotics

Con el fin de controlar los display’s de 7 segmentos SMD que tengo, he mandado fabricar otro circuito impreso para montar la CPU.

PCB de la CPU

Esta CPU está basada en el micro-controlador AT89S52 de ATMEL. Como este micro-controlador se puede programar sin desmontarlo del circuito impreso, a través de su interface ICSP, he elegido el encapsulado de tipo SMD. El circuito impreso tiene una altura muy parecida a la del  display de 7 segmentos, y la idea es la de fabricar una caja de madera a medida, para construir un display con 4 dígitos.

SketchUP

Para cortar las piezas de madera con precisión, he utilizado una fresadora digital (CNC). Para dibujar las piezas a medida y poder exportar los datos a la CNC, he utilizado el software SketchUp.

Software SketchUp

A pesar de que este software funciona muy bien, he encontrado un problema a la hora de generar los archivos de código ‘G’. Los archivos contienen una serie de instrucciones adicionales que dañan las piezas a fabricar. Para localizar el lugar exacto donde se encuentran estas instrucciones para eliminarlos, he utilizado otro software que emula el funcionamiento de la CNC.

CAMotics 

El software CAMotics permite la ejecución del código ‘G’ de forma visual, y esto facilita la localización de las instrucciones que se deben eliminar.

Software CAMotics

El software permite la edición de los archivos y su posterior visualización, para comprobar que los cortes que hará la CNC sean los correctos.

Construcción de la caja

Después de la fase de diseño de la caja y conversión de sus datos en código ‘G’, el trabajo de corte y fresado de todas las piezas lo realiza la CNC. Si queremos obtener un buen acabado y precisión, es importante que los cortes se realicen en capas, no en una sola pasada.

Fresado de la caja

También es importante incluir unas pequeñas zonas en cada cara de las piezas, en las que la fresadora no realice el corte por completo. Estos pequeños puntos de sujeción evitarán que se muevan las piezas de su estructura durante el corte, evitando su desplazamiento y marcado por la fresa.

Montaje de la caja

Una vez cortadas todas las piezas que componen le caja, incluido su frontal de metacrilato, la pegamos con cola blanca (dejando la tapa lateral derecha sin pegar). La tapa lateral derecha irá sujeta con 2 tornillos, y es la que nos dará el  acceso al montaje y desmontaje de todos sus componentes en el interior. Para obtener un buen acabado, se sellan las juntas de todas las uniones que van pegadas, con cola blanca y serrín de la misma caja, suavizando todas las aristas con una lija especial para madera.

Ajuste de los PCB's en la caja

Para terminar se pinta la caja en color negro mate, con pintura en spray, y se comprueban los soportes colocando los circuitos impresos en su lugar y cerrando la caja.

 

Termostato de precisión #1

Construcción de un termostato digital, para controlar temperaturas con una precisión de 0,1ºC. Este termostato utiliza el sensor DS18B20, está controlado con el microprocesador AT89S52, y permite regular temperaturas entre -40 y +100ºC. También es posible controlar de forma simultánea los dos circuitos de un climatizador, el de frío y calor. Este termostato podría utilizarse como climatizador en un automóvil, controlar la temperatura de un edificio, la del agua de una piscina, incluso la de una incubadora. En esta primera parte, se muestra el diseño y construcción del termostato.

Descripción de funcionamiento

Este termostato permite calibrar su sensor de temperatura (DS18B20) en saltos de 1ºC, permitiendo un Offset entre -5 y +4ºC sobre el valor medido. Este valor de calibrado, junto con el valor de temperatura de referencia del termostato, también configurable mediante los pulsadores, son almacenados en la memoria RAM del propio micro controlador (AT89S52). Para evitar la pérdida de dichos valores en caso de perder la alimentación mientras está funcionando, el circuito incorpora una pequeña batería recargable de 3,6V Ni-MH.

Esquema: Termostato de precisión

Salidas de control

El termostato permite controlar los dos circuitos de  un climatizador de forma simultánea, el circuito de frío y el de calor. El micro controlador dispone de 2 salidas con estado lógico ‘0’ y otras 2 con estado lógico ‘1’. De esta forma es posible conectar cualquier driver en sus salidas. En este circuito he utilizado un módulo compuesto por 2 relés de 5V, de disparo con estado lógico ‘0’ y entradas optoacopladas (ver imagen).

2 Relay Module

Power Down Mode

La activación del ‘modo apagado’ (Power Down) del micro controlador permite minimizar al máximo su consumo. La detección de dicha caída de tensión se realiza mediante la lectura del nivel lógico 1/0 en el pin 39 (P0.0) del micro controlador. A pesar de que se podría simplificar el circuito intercalando una resistencia entre dicho pin (P0.0) y la entrada +5V, es mucho más eficaz entregar un nivel lógico en su entrada fijando su umbral de decisión. El circuito detector del umbral de apagado, está fijado por el valor del diodo Zener montado entre la base del transistor BC557 y masa (ver el esquema). En lugar del diodo Zener, puede utilizarse un diodo LED que tenga un umbral de encendido próximo a 3V.

A pesar de que el consumo del micro controlador se reduce bastante, es conveniente conectar la batería únicamente cuando el termostato esté en uso. De otra manera, la batería acabaría por descargarse. La finalidad de la batería es la de mantener los valores de configuración mientras el termostato está funcionando, y no cuando esté almacenado sin uso. En el esquema podemos ver que la desconexión de la batería se realiza mediante la extracción de un puente (jumper) entre el polo negativo de la batería  y masa. Este puente puede sustituirse por un pequeño interruptor deslizante, para poder accionarlo sin la necesidad de tener que abrir la caja.

Circuito impreso

Para la realización de este termostato he utilizado un circuito impreso de tipo universal. Es cierto que el acabado queda mucho mejor si se monta en un circuito impreso hecho a medida. Sin embargo, muchos aficionados a la electrónica son reacios a ‘perder el tiempo’ en fabricar un circuito impreso, y prefieren utilizar placas de tipo universal. Además, la fiabilidad del circuito impreso sólo depende del cuidado que se ponga durante el montaje y soldadura de sus componentes… el aspecto no mejora la fiabilidad.

Circuito impreso universal

Firmware

Termostato de precisión (v1.00)

Caja y frontal

He utilizado una caja de plástico de tipo comercial, de tamaño 130×130 mm y 35 mm de altura. Para darle un mejor acabado, he utilizado un trozo de Polimetilmetacrilato (Plexiglas).

Frontal delTermostato

El mecanizado y serigrafía lo he realizado con la CNC.

 

Bingo electrónico

Construcción de un Bingo electrónico, fabricando una matriz con 90 diodos LED de forma artesana (sin circuito impreso). Este montaje es muy adecuado para que lo pueda realizar cualquier aficionado a la electrónica.  El Bingo electrónico está construido a partir del micro-controlador AT89S52.

En la primera parte del video se muestra la fabricación de la matriz, en una carcasa de fibra plástica, y se fresan con una CNC los números en una lámina de plexiglás (PMMA) semitransparente.

En la segunda parte del video se analiza el esquema eléctrico, realizando la construcción de la lógica de control y la comprobación de funcionamiento. También se explica el sistema de multiplexación, midiendo las formas de onda con el osciloscopio. Al final, se realiza la construcción del frontal con serigrafía, y se construye una caja utilizando madera reciclada.

MULTIPLEXACIÓN

En la imagen siguiente se muestra el mapa de memoria del Bingo, necesaria para almacenar y mostrar en la matriz LED los números que van saliendo.

Mapa de memoria

La información de los 90 números del Bingo se almacena en 12 Bytes RAM del micro-controlador (12 Bytes X 8 Bit = 96). El Bit menos significativo  (LSB) del primer Byte contiene el  estado del número 1 del Bingo (LED: On/Off). El Bit más significativo del Byte 11 contiene el estado del número 88; y del Byte 12 de la memoria sólo se utilizan los 2 Bit menos significativos, asignados a los números 89 y 90 del Bingo.

Para mostrar toda la información del Bingo en el panel frontal, es necesario multiplexar en el dominio del tiempo 11 informaciones diferentes: las 9 líneas del panel numérico + 2 para el display de 7 segmentos. Como las líneas van conectadas a los ánodos de los diodos LED, el micro-controlador tiene que habilitar de forma secuencial y cíclica cada una de las 11 líneas de control, generando un impulso positivo en cada instante. Como se puede ver en el mapa de memoria, las 8 primeras líneas van conectadas al puerto 2 del AT89S52, la 9ª línea al P3.6, la 10ª línea al P1.1 y la 11ª al P1.0.

Multiplexado
Frecuencia de refresco

En este oscilograma se muestra la forma de onda de una de las 9 líneas de control del panel numérico. Con esta medida podemos conocer el tiempo que está encendido cada diodo LED (237 uSeg) y su velocidad de encendido = frecuencia de refresco (311 Hz). La frecuencia de refresco tiene que ser superior a la persistencia del ojo humano, procurando siempre que esta velocidad sea lo más alta posible, con el fin de evitar el efecto parpadeo o estroboscópico, al mezclarse dos fuentes de luz de frecuencia diferente.

¿Cómo se genera el número?

La generación del número aleatorio se basa en el modo de funcionamiento del sistema mecánico, mediante la extracción de una bola numerada del bombo. En un Bingo tradicional (mecánico), al principio hay 90 bolas numeradas dentro del bombo, y en cada extracción el número de bolas va disminuyendo de una en una.

En este Bingo electrónico, la generación del número se hace siguiendo estos pasos:

  • El micro-controlador utiliza un contador (Timer) que modifica su valor a una velocidad de 2 millones de valores por segundo aproximadamente (0,5 uSeg).
  • El valor del número máximo de este contador se limita en función a la cantidad de números que faltan por salir en el Bingo. Al principio el número máximo es 90 y va decreciendo a medida que se van extrayendo los números (igual que el número de bolas de un bombo mecánico).
  • En el momento que se pulsa el botón, el micro-controlador toma el valor del número generado por el contador, y este valor lo asigna al ‘hueco libre’ que queda en la tabla de números que faltan por salir.
  • Con ese valor, el micro-controlador busca el ‘hueco libre’ dentro de la tabla de números, empezando desde el número 1 hasta el 90, y luego asigna esta posición de ‘hueco libre’ al número real… ocupando el hueco y mostrando el número real en el display de 7 segmentos

De esta manera, las probabilidades de salir un número determinado son las mismas que en un bombo mecánico (es totalmente aleatorio). Por otra parte, se evita la generación de números ya extraídos.

Circuito de control (CPU)

Esquema BINGO

Siguiendo el esquema es muy fácil montar todos los componentes en una placa de circuito impreso de tipo universal (taladros sin conexiones). Las conexiones se pueden realizar por debajo, creando las pistas del circuito con hilo fino de cobre y estaño. Si se colocan bien los componentes, las conexiones estarán muy próximas y no será necesario realizar puentes para atravesar las pistas. Una vez finalizado el montaje, el micro-controlador AT89S52 se puede programar directamente en la placa, utilizando las conexiones ICSP que se muestran en el esquema.

El firmware de este Bingo se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v1_BINGO.HEX

Si no dispones de un programador, podrías utilizar Arduino para hacerlo:

Programador ICSP con ARDUINO