Управление протяжкой проволоки для сварочного полуавтомат.
- Войдите на сайт для отправки комментариев
Ребята подскажите, пожалуйста голову сломал и гугл задолбал запросами. Как изменить код.
Вводная: это мини контроллер для сварочного аппарата управляющий пока 2мя реле(да можно было обойтись 2мя реле 1 с задержкой вкл, другое с задержкой выключения, Но будет допиливаться в процессе и добавляться функции).
Задача: по нажатию кнопки включить реле(газ) и с задержкой включить второе реле(проволока).
Если кнопка отпущена то выключить реле проволока и спустя время выключить реле Газ.
int buttonState = 0;
int gaz = 0;
int time_pre = 0;
int time_pos = 0;
void setup()
{
pinMode(2, INPUT); //Кнопка
pinMode(4, INPUT); //Состояние реле (Параллельно выходу на реле "ГАЗ")
pinMode(A0, INPUT); // Задержка пред газ
pinMode(A5, INPUT); // Задержка пост газ
pinMode(13, OUTPUT); //Реле ГАЗ
pinMode(12, OUTPUT); //Реле проволока
}
void loop()
{
buttonState = digitalRead(2);
gaz = digitalRead(4);
time_pre = analogRead(A0);
time_pos = analogRead(A5);
// check if pushbutton is pressed. if it is, the
// buttonState is HIGH
if (buttonState == HIGH) {
// turn LED on
if (gaz == HIGH) {
digitalWrite(13, HIGH);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
} else {
digitalWrite(12, HIGH);
delay((time_pre * 1.4)); // Wait for (time_pre * 1.4) millisecond(s)
digitalWrite(13, HIGH);
digitalWrite(13, HIGH);
}
} else {
if (gaz == LOW) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
// turn LED off
digitalWrite(13, LOW);
} else {
digitalWrite(13, LOW);
delay((time_pos * 1.5)); // Wait for (time_pos * 1.5) millisecond(s)
digitalWrite(12, LOW);
digitalWrite(13, LOW);
}
}
НО если кнопка нажата а реле ГАЗ еще не успело выключиться после пред идущего нажатия, то нужно сразу включить реле ПРОВОЛОКА и оставить включенным реле ГАЗ. вот с этим проблема, не понимаю как заменить delay в этом случае?
сперва читаем первые посты про вставку кода и картинок
за чем такие сложности? в ПДГО схема не такая простая... Обычно функционал намного шире.
делей не приемлем в таком режиме - как минимум счетчик на миллис нужен с непрерывным опросом кнопок.
Достался полуавтомат(fubug irmig 180 первых ревизий со встроенной горелкой) со сломанной горелкой, в ней был механический клапан газа. Остальное управляется платой сварочника. Предгаз и пост газ соответственно реализованы механически нажимаем на горелку открывается клапан, чуть сильнее нажимаем замыкаем кнопку. Отсюда и простота схемы, так как горелку заменил на обычную без клапана, а клапан поставил от пневмосигнала на 12 вольт. Но ещё в програмкережим точечной сварки есть, но там проблем нет поэтому его не писал сюда. Спасибо за наводку вечером буду курить мануал.
по ссылке не мануал а элементарное удобство пользования чатом. А в ПДГО много крутилок и расширенный функционал, как минимум алгоритмы для развития закладываются на старте проекта.
Главное не забывать, что там такие токи и наводки летают, что к защите от наводок и зависаний, нужно подойти более чем серьезно