Всем привет! Есть у кого реле времени для контактной сварки. На базе ардуино?
- Войдите на сайт для отправки комментариев
Вс, 18/06/2017 - 02:18
Если есть скиньте скетч ребят. Тема актуальная
Если есть скиньте скетч ребят. Тема актуальная
Вверхнем правом углу есть окошко поиск. Думаю стоит там набрать - КОНТАКТНАЯ СВАРКА - и много лишних вопросов отпадет.
А можете помочь с кодингом? Чуть чуть переправка скетча нужна. Логика очень простая. Но функция mills с флажками достала уже
Делал на UNO в качестве баловства контактную сварку на трансформаторе от микроволновки. И вот примерный дилетантский код который использовался у меня. Суть такая: на двухстрочном жк дисплее с помощью кнопок задется время в мс на которое будет замыкать реле свои контакты. Через эти контакты подается напряжение на первичку трансформатора. Из комментариев к строкам думаю можно понять реализованный замысел. Собственно тут большая часть кода это работа с кнопками и дисплеем чем со сваркой. Хотелось иметь стабильное и подстраиваемое время сварки.
#include <LiquidCrystal.h> int buttonstart = 6; // 6пин кнопка включения сварки int buttontup = 7; // 7пин кнопка увиличения времени сварки int buttontdown = 8; // 8пин кнопка уменьшения времени сварки int pinoutRELE = 9; // порт вывода на реле первичной обмотки int weldingtime = 2000; // переменная времени сварки по умолчанию LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // указываем к каким пинам подключены RS, E, DB4, DB5, DB6, DB7 void setup() { pinMode(buttonstart, INPUT); // установка порта кнопки включения реле pinMode(buttontup, INPUT); // установка порта кнопки увеличения времени сварки pinMode(buttontdown, INPUT); // Установка порта кнопки уменьшения времени сварки pinMode(pinoutRELE, OUTPUT); // установка порта имитации включения реле сварки lcd.begin(20, 4); lcd.setCursor (3, 0); // установка курсора в позицию lcd.print("CONTROL WELDING"); // вывод приветствия lcd.setCursor (1, 1); // установка курсора в позицию lcd.print("***"); // вывод приветствия } void loop() { if (digitalRead (buttonstart) == HIGH) // проверка на нажатие кнопки начала сварки { digitalWrite (pinoutRELE, HIGH); // подача на порт высокого уровня (включение реле) lcd.setCursor (0, 1); // установка курсора в позицию lcd.print ("!!!!!! CBAPKA !!!!!!"); delay (weldingtime); // задержка на время сварки digitalWrite (pinoutRELE, LOW); // подача на порт низкого уровня (выключение сварки) lcd.clear(); // очистка дисплея delay (500); lcd.setCursor(6, 0); // установка курсора в позицию lcd.print (weldingtime); // вывод на экран переменной времени сварки lcd.print (" mS"); } if (digitalRead (buttontup) == HIGH && weldingtime <= 9900) // проверка на нажатие кнопки и времени сварки { weldingtime += 100; // прибавление 100мс к переменной времени сварки lcd.clear(); // очистка дисплея lcd.setCursor(6, 0); // установка курсора в позицию lcd.print (weldingtime); // вывод на экран переменной времени сварки lcd.print (" mS"); delay (200); // задержка на 0,2с для очистки экрана } if (digitalRead (buttontdown) == HIGH && weldingtime >= 100) // проверка на нажатие кнопки и времени сварки { lcd.clear(); // очистка дисплея weldingtime -= 100; // убавляем 100мс к переменной времени сварки lcd.setCursor(6, 0); // установка курсора в позицию lcd.print (weldingtime); // вывод на экран переменной времени сварки lcd.print (" mS"); delay (200); // задержка 0,2с } }