Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Управление паяльником DIY для 862D +

Компоненты и расходные материалы

Arduino Nano R3
× 1
Обычный обратный диод.
× 1
n-канальный МОП-транзистор irf540n
× 1
линейный регулятор 5 В
× 1
Резистор 330 Ом
× 1
заголовки контактов (штыревой)
× 2
0,96 дюйма Oled
× 1

Необходимые инструменты и машины

Паяльник (общий)
сверло 8 мм / с сверлом

Об этом проекте

Обновление (21.10.2019):серьезное обновление кода. Также прочтите ниже. Немного изменилось.

У меня паяльник 862D + сломался, поэтому вместо покупки нового я взял второй и починил. Самое сложное в том, что нигде в Интернете не было решения. Плата была сломана, потому что после замены утюга все еще говорила ошибка S-E или датчика.

Поэтому я решил создать свою собственную схему контроллера и запихнуть ее внутрь. Требовался второй трансформатор, но из-за дешевизны внутри было много места.

Это может выглядеть не очень хорошо, но работает как шарм. В качестве бонуса я удалил кнопку включения паяльника и добавил ее между 5В и ардуино.

К советам по сборке:

Все запчасти можно купить уже сейчас. LCSC - это сайт массового производства электроники. Доставка дорогая для Америки, но комплектующие до смешного дешевы.

EX mosfet на Amazon за 6 долларов, но mosfet за 32 цента LCSC. Однако такие вещи, как резисторы, нужно покупать оптом. Тем не менее, резисторы 50 стоят буквально 0,84 цента.

НЕОБХОДИМО ЭКОНОМИРОВАТЬ ДЛИННЫЕ ПРОВОДА ДЛЯ ДАННЫХ заземленной алюминиевой фольгой или чем-то еще. Например, провод экрана 12c.

В коде:

1023 самая холодная 0 лава. Измените заданную температуру по своему желанию. Обычно около 600 человек.

Контроллер паяльника может определить, подключен ли ваш утюг или нет. Если паяльник отключен, Arduino обнулит аналоговый вход. Если раньше паяльник нагревался должным образом, но не сейчас:отсоедините утюг, подождите, пока он не скажет «Подключите утюг», тогда все готово. (Это было проблемой для меня)

Теперь вы знаете основы своего железа. Это может быть дешевой альтернативой покупке качественного паяльника. Хотя есть и более качественные утюги, этот очень дешевый и сделанный своими руками.

Код

  • Контрольный код
  • Код
  • Код обновлен 21.10.2019
Управляющий код C / C ++
Вставьте это в Arduino и загрузите. Это работает только с предоставленной схемой
 int output =0; int temp =0; int settemp =630; String inputString =""; // строка, содержащая входящие булевые данные. // завершена ли строка int t =0; void setup () {Serial.begin (9600); inputString.reserve (200); pinMode (6, ВЫХОД); digitalWrite (6, LOW);} недействительный цикл () {serialEvent (); если (stringComplete) {Serial.println (inputString); t =inputString.toInt (); // settemp =t // устанавливает заданную температуру для последовательного ввода inputString =""; stringComplete =false; } стремительный(); pid ();} void rapid () {// Управляет паяльником, быстро нагревая его вначале. если (rap ==false) {digitalWrite (6, ВЫСОКИЙ); сделать {temp =analogRead (0); Serial.print («быстрый»); Serial.println (темп); } while (temp - settemp>
 10); digitalWrite (6, LOW); рэп =правда; }} void pid () {// Управляет пайкой с медленным нагревом активной мощности. temp =analogRead (0); output =temp - заданная температура; если (вывод <0) {вывод =0; } если (вывод> 255) {вывод =255; } Serial.print ("pid"); Serial.print (темп); Serial.print (","); Serial.println (вывод); analogWrite (6, output);} void serialEvent () {// Последовательная связь, которая может использоваться для обновления settemp while (Serial.available ()) {char inChar =(char) Serial.read (); inputString + =inChar; если (inChar =='\ n') {stringComplete =true; }}} 
Код C / C ++
Вставить в редактор и загрузить. Работает только с разработанной схемой.
 #include  #include  #include  #define OLED_ADDR 0x3CAdafruit_SSD1306 display (-1); int settemp =590; // переменные, устанавливаемые вручную int output =0; int temp =0; String inputString =""; boolean rap =false; boolean stringComplete =false; int t =0; int mappedpower =0; byte powermultiply =0; long counter =0; int temp2 =0; байт outputoffset =0; byte scaleread =0; void setup () {Serial.begin (9600); pinMode (12, ВЫХОД); digitalWrite (12, LOW); display.begin (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay (); display.display (); quick ();} недействительный цикл () {pid (); display.clearDisplay (); updatebar (); updatetext (); display.display ();} void rapid () {// Управляет паяльником, быстро нагревая его вначале. если (rap ==false) {digitalWrite (12, ВЫСОКИЙ); output =255; сделать {temp =analogRead (0); Serial.print («быстрый»); Serial.println (темп); display.clearDisplay (); updatebar (); updatetext (); display.display (); } while (temp - settemp>
 1); digitalWrite (12, LOW); рэп =правда; }} void pid () {// Управляет пайкой с медленным нагревом активной мощности. temp =analogRead (0); // Усреднитель температуры temp2 =temp; задержка (50); temp =analogRead (0); темп =темп + темп2; темп =темп / 2; нулевой масштаб; // не активировать проверку паяльника temp =temp + outputoffset; output =temp - заданная температура; выход =выход + умножение мощности; вывод =вывод * 4; если (вывод <0) {вывод =0; } если (вывод> 255) {вывод =255; } counter =counter + 1; если (счетчик> 10) {счетчик =0; если (temp>
 settemp + 3) {powermultiply =powermultiply + 1; } if (temp  0) {powermultiply =powermultiply - 1; }} Serial.print (powermultiply); Serial.print (","); Serial.print (темп); Serial.print (","); Serial.println (вывод); analogWrite (12, output);} void updatebar () {// Обновляет Powerbar на OLED-дисплее mappedpower =map (output, 0, 255, 0, 127) - 10; display.fillRect (0, 0, mappedpower, 8, БЕЛЫЙ); display.fillRoundRect (mappedpower - 5, 0, 20, 8, 3, WHITE);} void updatetext () {// Обновление текста на Oled display display.setCursor (0, 9); display.setTextColor (БЕЛЫЙ); display.setTextSize (1); display.print ("Установить температуру:"); display.print (заданная температура); display.setCursor (0, 20); display.print ("Температура:"); display.print (temp);} void zeroscale () {// Если паяльник отключен, отрегулируйте значение входного контакта, чтобы обнулить его if (output <200) {display.clearDisplay (); display.setCursor (0, 9); display.setTextColor (БЕЛЫЙ); display.setTextSize (1); display.print («Паяльник нет, или неисправен»); display.setCursor (0, 15); display.print («железо.»); display.setCursor (0, 20); display.print («Тестирование за 5 секунд.»); display.display (); задержка (5000); если (выход <200) {outputoffset =temp; } display.clearDisplay (); display.setCursor (0, 9); display.setTextColor (БЕЛЫЙ); display.setTextSize (1); display.print ("Установлено смещение вывода."); display.setCursor (0, 20); display.print («Пожалуйста, подключите утюг.»); display.display (); сделать {scaleread =analogRead (0); } while (scaleread <200); }} 
Код обновлен 21.10.2019 C / C ++
Вставьте в IDE и загрузите. Работает только с схемой.
 #include  #include  #include  #define OLED_ADDR 0x3CAdafruit_SSD1306 display (-1); int settemp =590; // переменные, устанавливаемые вручную int output =0; int temp =0; String inputString =""; boolean rap =false; boolean stringComplete =false; int t =0; int mappedpower =0; byte powermultiply =0; long counter =0; int temp2 =0; байт outputoffset =0; byte scaleread =0; void setup () {Serial.begin (9600); pinMode (12, ВЫХОД); digitalWrite (12, LOW); display.begin (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay (); display.display (); quick ();} недействительный цикл () {pid (); display.clearDisplay (); updatebar (); updatetext (); display.display ();} void rapid () {// Управляет паяльником, быстро нагревая его вначале. если (rap ==false) {digitalWrite (12, ВЫСОКИЙ); output =255; сделать {temp =analogRead (0); Serial.print («быстрый»); Serial.println (темп); display.clearDisplay (); updatebar (); updatetext (); display.display (); } while (temp - settemp>
 1); digitalWrite (12, LOW); рэп =правда; }} void pid () {// Управляет пайкой с медленным нагревом активной мощности. temp =analogRead (0); // Усреднитель температуры temp2 =temp; задержка (50); temp =analogRead (0); темп =темп + темп2; темп =темп / 2; нулевая шкала (); // не активировать проверку паяльника temp =temp + outputoffset; output =temp - заданная температура; выход =выход + умножение мощности; вывод =вывод * 4; если (вывод <0) {вывод =0; } если (вывод> 255) {вывод =255; } counter =counter + 1; если (счетчик> 10) {счетчик =0; если (temp>
 settemp + 3) {powermultiply =powermultiply + 1; } if (temp  0) {powermultiply =powermultiply - 1; }} Serial.print (powermultiply); Serial.print (","); Serial.print (темп); Serial.print (","); Serial.println (вывод); analogWrite (12, output);} void updatebar () {// Обновляет Powerbar на OLED-дисплее mappedpower =map (output, 0, 255, 0, 127) - 10; display.fillRect (0, 0, mappedpower, 8, БЕЛЫЙ); display.fillRoundRect (mappedpower - 5, 0, 20, 8, 3, WHITE);} void updatetext () {// Обновление текста на Oled display display.setCursor (0, 9); display.setTextColor (БЕЛЫЙ); display.setTextSize (1); display.print ("Установить температуру:"); display.print (заданная температура); display.setCursor (0, 20); display.print ("Температура:"); display.print (temp);} void zeroscale () {// Если паяльник отключен, отрегулируйте значение входного контакта, чтобы обнулить его if (temp <200) {display.clearDisplay (); display.setCursor (0, 20); display.setTextColor (БЕЛЫЙ); display.setTextSize (1); display.print («Нет паяльника.»); display.display (); задержка (10000); display.setCursor (0, 0); display.print («Тестирование за 5 секунд.»); display.display (); задержка (5000); если (температура <200) {outputoffset =temp; } display.clearDisplay (); display.setCursor (0, 20); display.setTextColor (БЕЛЫЙ); display.setTextSize (1); display.print ("Установлено смещение вывода."); display.setCursor (0, 0); display.print («Подключите утюг.»); display.display (); сделать {scaleread =analogRead (0); } while (scaleread <200); }} 

Схема

Используйте эту схему, чтобы создать схему для утюга.

Производственный процесс

  1. Многотемпературный датчик
  2. Рулетка DIY 37 LED
  3. MotionSense
  4. Пожарная безопасность 3D-принтера
  5. MIDI для цифровых органов
  6. Отталкивающая электромагнитная левитация Arduino
  7. Бот для захвата удаленного управления
  8. Лаборатория микроконтроллеров
  9. Глобус постоянства зрения (POV)
  10. CoroFence - Тепловой детектор🖖