Всем привет! Есть у кого реле времени для контактной сварки. На базе ардуино?

Proger_xxx
Offline
Зарегистрирован: 01.03.2016

Если есть скиньте скетч ребят. Тема актуальная

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

Вверхнем правом углу есть окошко поиск. Думаю стоит там набрать - КОНТАКТНАЯ СВАРКА - и много лишних вопросов отпадет.

 

Proger_xxx
Offline
Зарегистрирован: 01.03.2016

А можете помочь с кодингом? Чуть чуть переправка скетча нужна. Логика очень простая. Но функция mills с флажками достала уже

Argon74
Offline
Зарегистрирован: 08.02.2016

Делал на 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с
     }
  }