Horno para soldar PCBs

Llevo un tiempo con este proyecto para el taller: un horno para soldar placas. No he querido hacer varios posts «diarios» comentando las actualizaciones del proyecto, básicamente porque no tenía muy claro qué componentes utilizar, y si podría programar el firmware en un tiempo más o menos razonable.

Al final, ha salido todo mucho más rápido de lo que pensaba, asi que os voy a hacer un resumen del proyecto, y quizás escriba algún artículo sobre algun tema concreto, ya que han salido distintos temas muy interesantes. La idea general es usar un horno normal y corriente, y controlar la temperatura con un arduino. Para ello usaremos una sonda de temperatura para ir tomando la medida, y un relé de estado sólido para encender y apagar las resistencias del horno (Usaremos un relé de estado sólido, porque el relé mecánico se estropearía con el tiempo de tanto on/off).

 

ImagenImagen

 

El horno lo conseguí de segunda mano en ebay. He probado uno de 1300W, pequeñito, totalmente mecánico (sin electrónica ni circuitos). Estos hornos tienen 2 resistencias, que simplemente están conectadas a la corriente principal. El funcionamiento es bastante simple. Trae un potenciómetro básico para controlar la potencia de las resistencias, y un cronómetro con una campanilla para apagar el horno tras un tiempo. Lo que haremos será, poner el potenciómetro a tope (controlaremos nosotros mismos la potencia), y simplemente desconectamos los dos cables de cronómetro y los conectamos en el relé de estado sólido. El Arduino irá encendiendo y apagando las resistencias (mediante pulsos) controlando la temperatura del interior del horno.

Este es el esquema del circuito de control:

Imagen

Para alimentar el arduino, he comprado una fuente de 12V para LEDs super económica de 2 Amperios. Realmente con 1A sería suficiente, pero por el precio que tienen, he visto que era la opción más económica. Podrías alimentar al arduino por el conector de 12V, pero no es muy recomendable porque cuando el arduíno envía pulsos al ventilador y relé, la pantalla también parpadea. Lo mejor es usar alimentaciñón externa, y que cada cosa vaya independiente.

 

Imagen

Sobre el control de la placa, podéis leer mi anterior artículo sobre encoders para entender mejor los detalles de estos dispositivos.

He probado varias pantallas LCDs, y me quedo con las pantallas gráficas de Nokia 5110, que son muy baratas, y puedo hacer una gráfica con la temperatura, etc. Lo malo es que el LCD usa 3.3V, y como el arduino funciona a 5V, hay usar un «conversor de niveles». Yo he usado uno de adafruit, que es bidireccional, pero se podría usar algo más económico unidireccional, ya que esta pantalla no envía los datos de vuelta al arduino. He incluido un pequeño potenciometro para controlar el contraste de la pantalla. Dejaré los detalles del LCD para un futuro artículo.

 

Imagen

Las salidas del Arduino Uno de 5V, no tienen potencia suficiente para mover el ventilador y activar el relé, así que necesitamos transistores que amplifiquen la corriente. Se puede usar un MOSFET, pero no es necesario tanto. Con unos simple transistores bipolares, tenemos fuerza suficiente para mover el ventilador, y activar el relé.

El esquema del transistor del relé es muy simple. Cuando la base tiene 5V, el transistor se activa y permite pasar los 12V al relé. Una resistencia proteje la base del transistor (los bipolares necesitan resistencias, en los MOSFETs no es necesario). Otra resistencia hace de pulldown para que, en el caso que la señal del arduino quede flotando, la base del transistor se mantenga siempre apagada y la corriente no pase de forma aleatoria.

 

Imagen

 

El esquema del ventilador es igual, pero incluye un condensador de 10uF , que sumada a los 2.2K de la resistencia, filtra un poco los pulsos que envía el Arduino. De esta forma, los pulsos no son tan bruscos y reducen las vibraciones del ventilador. Ambos transistores no llevan el típico diodo de protección, porque el relé no devuelve energía de vuelta al transistor, y el ventilador tiene su propio circuito de protección en el motor brushless. De todos modos, si no sabes muy bien qué vas a conectar, entonces es aconsejable conectar un diodo flyback que proteja el transistor de voltajes de vuelta.

 

Para medir la temperatura, he usado un thermopcoupler de alta temperatura (aguanta perfectamente hasta 300º). Los thermocouplers dan un voltaje proporcional a la temperatura. El problema es que ese voltaje es muy muy pequeño, millivoltios, asi que hace falta un amplificador para poder leer un valor útil. El amplificador que he escogido tiene 2 salidas: un voltaje para la sonda, y otro para la temperatura ambiente. He incluido un condensador para filtrar el voltaje de la sonda, y evitar «ruido» indeseado al leer la temperatura. El problema es que esto hace que tengamos un «retraso» entre la lectura y la realidad, pero la lectura es más estable.

La otra opción es usar un económico termistor, una resistencia variable que, aplicando un voltaje conocido, serviría para leer la temperatura. El problema es que no funciona muy bien en temperaturas altas, y ya que los componentes pueden llegar a estropearse si nos pasamos, asi que he decido apostar por la sonda, que además, está protegida para aguantar temperaturas muy altas. Quizás escriba otro artículo sobre las sondas, amplificadores usando un opamp, etc.

Ojo, es importante usar algun separador de nylon entre el ventilador y el horno, porque el plástico ABS funde a unos 230º grados y se podría derretir con el calor!!

Imagen

 

Para depurar, he incluido un buzzer y un LED con un jumper que me permite conectarlo al pin del PWM, o usar otro pin del arduino a modo de depuración, avisos, etc. El código está disponible en github , tal cual lo estoy usando ahora mismo. Seguramente sea muy mejorable, pero es suficiente para usar el horno de forma estable. Soldar mediante reflow tiene varias etapas. Se comienza haciendo un «preheat» hasta que llegamos a los 150º. Luego nos quedamos unos 2 minutos manteniendo la temperatura estable, dónde se activa el flux de la pasta de soldadura. Después metemos un golpe de 220º de 60 segundo para que el estaño se vuelva líquido y los componentes se colocan en su sitio. Posteriormente reducimos la temperatura despacio, para evitar que el estaño enfríe demasiado rápido.

El algoritmo de PID también se merece un artículo propio. Yo he usado el código basandome en la librería PID de arduino, adaptado a C normal (últimamente soy un poco alérgico al C++). PID significa «proporcional, intergral y derivada», y es un algoritmo que nos permite saber cuanta potencia hay que mandar al horno para llegar a la temperatura deseada, de forma más o menos óptima. Durante el horneado, el ventilador se mantiene al mínimo, oscilando aproximadamente entre un 50% y un 30% de velocidad , que permite mover lo mínimo el aire, sin enfriar el interior, pero sin llegar a pararse. De esta forma conseguimos que la temperatura sea uniforme dentro del horno. De todos modos tengo que comenzar a realizar pruebas para ver cómo afecta a la calidad de las soldaduras.

La primera versión del circuito lo pasé a una PCB muy sencilla de una cara, a modo de shield de arduino. He puesto unos pines hembra para conectar la pantalla y el conversor de niveles. Es suficiente para hacer las primeras soldaduras, y probar bien el circuito. Os dejo unas fotos del proceso de la PCB

 

. ImagenImagenImagen

 

Ahora queda la parte de cerrar todo de alguna forma, meter la pantalla y la placa dentro, etc. Pero he decidido usar el horno varias veces antes de ponerme  a cortar. Quizás saque una versión nueva de la PCB, con el chip del AVR y de doble capa, y con la pantalla y el encoder por separado. De esta forma es sencillo atornillar esta placa al frontal del horno. Pero eso para más adelante. Estoy a la espera de unas placas y de pasta de soldadura nueva, para realizar los primeros test, y publicar aquí resultados.

Deja un comentario