Управление протяжкой проволоки для сварочного полуавтомат.

d254nk
Offline
Зарегистрирован: 11.11.2020

Ребята подскажите, пожалуйста голову сломал и гугл задолбал запросами. Как изменить код.

Вводная: это мини контроллер для сварочного аппарата управляющий пока 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 в этом случае?

Гриша
Offline
Зарегистрирован: 27.04.2014

 

сперва читаем первые посты про вставку кода и картинок

за чем такие сложности? в ПДГО схема не такая простая... Обычно функционал намного шире.

делей не приемлем в таком режиме - как минимум счетчик на миллис нужен с непрерывным опросом кнопок.

d254nk
Offline
Зарегистрирован: 11.11.2020

Достался полуавтомат(fubug irmig 180 первых ревизий со встроенной горелкой) со сломанной горелкой, в ней был механический клапан газа. Остальное управляется платой сварочника. Предгаз и пост газ соответственно реализованы механически нажимаем на горелку открывается клапан, чуть сильнее нажимаем замыкаем кнопку. Отсюда и простота схемы, так как горелку заменил на обычную без клапана, а клапан поставил от пневмосигнала на 12 вольт. Но ещё в програмкережим точечной сварки есть, но там проблем нет поэтому его не писал сюда. Спасибо за наводку вечером буду курить мануал.

Гриша
Offline
Зарегистрирован: 27.04.2014

d254nk пишет:
Спасибо за наводку вечером буду курить мануал.

по ссылке не мануал а элементарное удобство пользования чатом. А в ПДГО много крутилок и расширенный функционал, как минимум алгоритмы для развития закладываются на старте проекта.  

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

d254nk пишет:
гугл задолбал запросами.
Он уже посылает? Вы решили на нас переключиться? :-)

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Главное не забывать, что там такие токи и наводки летают, что к защите от наводок и зависаний, нужно подойти более чем серьезно