Control de cautín de bricolaje para 862D +
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 |
Herramientas y máquinas necesarias
| ||||
|
Acerca de este proyecto
Actualización (21/10/2019):actualización importante del código. También lea a continuación. Ha cambiado un poco.
Mi soldador 862D + se rompió, así que en lugar de comprar uno nuevo, tomé un segundo soldador y lo arreglé. La parte más difícil es que no había ninguna solución en otro lugar en línea. La PCB se rompió porque después de reemplazar la plancha todavía decía S-E o error del sensor.
Así que decidí crear mi propio circuito de control y meterlo dentro. Necesitaba un segundo transformador, pero al ser barato, había mucho espacio en el interior.
Puede que no se vea bien, pero funciona de maravilla. Como beneficio adicional, quité el botón de encendido del soldador y lo agregué entre 5v y el arduino.
Sobre los consejos de construcción:
Todas las piezas se pueden comprar ahora. LCSC es un sitio de electrónica a granel. El envío es caro para Estados Unidos, pero los componentes son ridículamente baratos.
EX mosfet en Amazon $ 6 pero mosfet en LCSC 32 centavos. Sin embargo, las cosas como las resistencias deben comprarse al por mayor. Aún así, 50 resistencias son literalmente .84 centavos.
ASEGÚRESE DE PROTEGER LOS CABLES DE DATOS LARGOS con papel de aluminio conectado a tierra o con algo más. El cable de pantalla 12c, por ejemplo.
En el código:
1023 lava 0 más fría. Cambie el settemp a su gusto. En algún lugar alrededor de 600 por lo general.
El controlador del soldador puede detectar si su hierro está conectado o roto. Si el soldador está desconectado, el arduino pondrá a cero la entrada analógica. Si el soldador solía calentarse correctamente, pero ahora no lo hace:desconecte la plancha, espere hasta que diga enchufar la plancha, entonces está listo para comenzar. (Esto ha sido un problema para mí)
Ahora conoces los conceptos básicos de tu plancha. Esta puede ser una alternativa económica a la compra de un soldador de calidad. Si bien hay planchas de mayor calidad, esta es muy barata y artesanal.
Código
- Código de control
- El código
- Código actualizado el 21/10/2019
Código de control C / C ++
Pegue esto en el arduino y cárguelo. Esto solo funciona con el circuito proporcionadoint output =0; int temp =0; int settemp =630; String inputString =""; // una cadena para contener los datos entrantes boolean rap =false; boolean stringComplete =false; // si la cadena está completaint t =0; void setup () {Serial.begin (9600); inputString.reserve (200); pinMode (6, SALIDA); digitalWrite (6, LOW);} bucle vacío () {serialEvent (); if (stringComplete) {Serial.println (inputString); t =inputString.toInt (); // settemp =t // establece la temperatura establecida en la entrada serial inputString =""; stringComplete =falso; } rápido (); pid ();} void rapid () {// Controla el soldador calentándolo rápidamente al principio. if (rap ==false) {digitalWrite (6, HIGH); hacer {temp =analogRead (0); Serial.print ("rápido"); Serial.println (temp); } while (temp - settemp> 10); digitalWrite (6, BAJO); rap =verdadero; }} void pid () {// Controla la soldadura con calentamiento de potencia activa lenta. temp =analogRead (0); salida =temp - settemp; si (salida <0) {salida =0; } if (salida> 255) {salida =255; } Serial.print ("pid"); Serial.print (temp); Serial.print (","); Serial.println (salida); analogWrite (6, salida);} void serialEvent () {// Comunicación serial que puede usarse para actualizar settemp while (Serial.available ()) {char inChar =(char) Serial.read (); inputString + =inChar; if (inChar =='\ n') {stringComplete =true; }}}
El código C / C ++
Pegar en el editor y subir. Solo funciona con el esquema diseñado.#include#include #include #define OLED_ADDR 0x3CAdafruit_SSD1306 display (-1); int settemp =590; // conjunto manual de variablesint salida =0; int temp =0; String inputString =""; boolean rap =false; boolean stringComplete =false; int t =0; int mappedpower =0; byte powermultiply =0; contador largo =0; int temp2 =0; byte outputoffset =0; byte scaleread =0; void setup () {Serial.begin (9600); pinMode (12, SALIDA); digitalWrite (12, BAJO); display.begin (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay (); display.display (); rápido ();} bucle vacío () {pid (); display.clearDisplay (); barra de actualización (); updatetext (); display.display ();} void rapid () {// Controla el soldador calentándolo rápidamente al principio. if (rap ==falso) {digitalWrite (12, HIGH); salida =255; hacer {temp =analogRead (0); Serial.print ("rápido"); Serial.println (temp); display.clearDisplay (); barra de actualización (); updatetext (); display.display (); } while (temp - settemp> 1); digitalWrite (12, BAJO); rap =verdadero; }} void pid () {// Controla la soldadura con calentamiento de potencia activa lenta. temp =analogRead (0); // Promedio de temperatura temp2 =temp; retraso (50); temp =analogRead (0); temp =temp + temp2; temp =temp / 2; escala cero; // activar el verificador sin soldador temp =temp + outputoffset; salida =temp - settemp; salida =salida + potencia multiplicada; salida =salida * 4; si (salida <0) {salida =0; } if (salida> 255) {salida =255; } contador =contador + 1; si (contador> 10) {contador =0; if (temp> settemp + 3) {powermultiply =powermultiply + 1; } if (temp 0) {powermultiply =powermultiply - 1; }} Serial.print (powermultiply); Serial.print (","); Serial.print (temp); Serial.print (","); Serial.println (salida); analogWrite (12, salida);} void updatebar () {// Actualiza la barra de energía en la pantalla OLED mappedpower =map (salida, 0, 255, 0, 127) - 10; display.fillRect (0, 0, mappedpower, 8, BLANCO); display.fillRoundRect (mappedpower - 5, 0, 20, 8, 3, WHITE);} void updatetext () {// Actualiza el texto en la pantalla Oled display.setCursor (0, 9); display.setTextColor (BLANCO); display.setTextSize (1); display.print ("Establecer temperatura:"); display.print (settemp); display.setCursor (0, 20); display.print ("Temp:"); display.print (temp);} void zeroscale () {// Si el soldador está desenchufado, ajuste el valor del pin de entrada a cero si (salida <200) {display.clearDisplay (); display.setCursor (0, 9); display.setTextColor (BLANCO); display.setTextSize (1); display.print ("Sin soldador o defectuoso"); display.setCursor (0, 15); display.print ("hierro"); display.setCursor (0, 20); display.print ("Prueba en 5 segundos"); display.display (); retraso (5000); if (salida <200) {outputoffset =temp; } display.clearDisplay (); display.setCursor (0, 9); display.setTextColor (BLANCO); display.setTextSize (1); display.print ("Ajuste de compensación de salida"); display.setCursor (0, 20); display.print ("Por favor, conecte la plancha"); display.display (); hacer {scaleread =analogRead (0); } while (scaleread <200); }}
Código actualizado 21/10/2019 C / C ++
Pegue el IDE y cárguelo. Solo funciona con shematic.#include#include #include #define OLED_ADDR 0x3CAdafruit_SSD1306 display (-1); int settemp =590; // conjunto manual de variablesint salida =0; int temp =0; String inputString =""; boolean rap =false; boolean stringComplete =false; int t =0; int mappedpower =0; byte powermultiply =0; contador largo =0; int temp2 =0; byte outputoffset =0; byte scaleread =0; void setup () {Serial.begin (9600); pinMode (12, SALIDA); digitalWrite (12, BAJO); display.begin (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay (); display.display (); rápido ();} bucle vacío () {pid (); display.clearDisplay (); barra de actualización (); updatetext (); display.display ();} void rapid () {// Controla el soldador calentándolo rápidamente al principio. if (rap ==falso) {digitalWrite (12, HIGH); salida =255; hacer {temp =analogRead (0); Serial.print ("rápido"); Serial.println (temp); display.clearDisplay (); barra de actualización (); updatetext (); display.display (); } while (temp - settemp> 1); digitalWrite (12, BAJO); rap =verdadero; }} void pid () {// Controla la soldadura con calentamiento de potencia activa lenta. temp =analogRead (0); // Promedio de temperatura temp2 =temp; retraso (50); temp =analogRead (0); temp =temp + temp2; temp =temp / 2; escala cero (); // activar el verificador sin soldador temp =temp + outputoffset; salida =temp - settemp; salida =salida + potencia multiplicada; salida =salida * 4; si (salida <0) {salida =0; } if (salida> 255) {salida =255; } contador =contador + 1; si (contador> 10) {contador =0; if (temp> settemp + 3) {powermultiply =powermultiply + 1; } if (temp 0) {powermultiply =powermultiply - 1; }} Serial.print (powermultiply); Serial.print (","); Serial.print (temp); Serial.print (","); Serial.println (salida); analogWrite (12, salida);} void updatebar () {// Actualiza la barra de energía en la pantalla OLED mappedpower =map (salida, 0, 255, 0, 127) - 10; display.fillRect (0, 0, mappedpower, 8, BLANCO); display.fillRoundRect (mappedpower - 5, 0, 20, 8, 3, WHITE);} void updatetext () {// Actualiza el texto en la pantalla Oled display.setCursor (0, 9); display.setTextColor (BLANCO); display.setTextSize (1); display.print ("Establecer temperatura:"); display.print (settemp); display.setCursor (0, 20); display.print ("Temp:"); display.print (temp);} void zeroscale () {// Si el soldador está desenchufado, ajuste el valor del pin de entrada a cero if (temp <200) {display.clearDisplay (); display.setCursor (0, 20); display.setTextColor (BLANCO); display.setTextSize (1); display.print ("Sin soldador"); display.display (); retraso (10000); display.setCursor (0, 0); display.print ("Prueba en 5 segundos"); display.display (); retraso (5000); if (temp <200) {outputoffset =temp; } display.clearDisplay (); display.setCursor (0, 20); display.setTextColor (BLANCO); display.setTextSize (1); display.print ("Ajuste de compensación de salida"); display.setCursor (0, 0); display.print ("Conectar la plancha"); display.display (); hacer {scaleread =analogRead (0); } while (scaleread <200); }}
Esquemas
Utilice este esquema para crear un circuito para la plancha.Proceso de manufactura
- Sensor de temperatura múltiple
- Juego de ruleta DIY 37 LED
- MotionSense
- Seguridad contra incendios de la impresora 3D
- MIDI para órganos digitales
- Levitación electromagnética repulsiva Arduino
- Bot de agarre de control remoto
- Laboratorio de microcontroladores
- Persistencia de la visión (POV) Globo
- Sistema solar de seguimiento solar
- CoroFence - Detector térmico🖖