автоматический запуск геренратора при отключении электричесва

Sneik
Offline
Зарегистрирован: 03.07.2016

Всем приветствую уважаемые форумчане !

Я новичек в этом деле !

Ладно суть такова имею ардуино нанао 328   и модуль на 2  реле с выбором высокого и низкого управляющего сигнала

с ардуино взято питание 5v  и минус на плату реле d2 и d3  сигналы на управление релюшками.

Скеч залил

int Relay = 3;
void setup() {
  pinMode(Relay, OUTPUT);
}

void loop() {
  digitalWrite(Relay, LOW);   // реле включено
  delay(2000);
  digitalWrite(Relay, HIGH);  // реле выключено
  delay(2000);
}

и щелкает у меня постоянно теперь d3

 суть такова как  написать программу чтоб 1 реле замыкалась через 30 секунд  после подачи напряжения  и постоянно была замкнута  а тророе реле  на 35 секунде подачи напряжения   замыкалось на 4 секунды  и вырубалось .

Хотябы так а то не пойму что к чему.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015
Sneik
Offline
Зарегистрирован: 03.07.2016

думаю да но фактический я буду просто эмулировать подачу напряжения на асс и генератор ! В генераторе есть защита от дурака такая как отключение по темп отключение по ошибкам короче их много ! а сиорвые реле переключения уже остались от старой авр которую не хотят ченить вот и хочу малыми силами решить

SOCHINEC
Offline
Зарегистрирован: 01.05.2016

Sneik пишет:

 30 секунд  после подачи напряжения  и постоянно была замкнута  а тророе реле  на 35 секунде 

Я тож новичек, но попробовать стоит)) 

Вопрос, а эта разница в 5 секунд между включением реле для чего? и нужна ли вообще?

int Relay1 = 2;// реле 1
int Relay2 = 4;// реле 2
int RelayOn;   // переменная для хранения А включали ли мы вообще уже что то :)
void setup() {
  pinMode(Relay1, OUTPUT);
  pinMode(Relay2, OUTPUT);
  
}

void loop() {
  delay(30000);//пауза 30 сек
  digitalWrite(Relay1, HIGH);   // реле 1 включено
  if(RelayOn == 0)// Включали или еще нет?
  {
  delay(5000);// пауза 5 сек
  digitalWrite(Relay2, HIGH);   // реле 2 включено
  delay(4000);// пауза 4 сек
  digitalWrite(Relay2, LOW);   // реле 2 выключено
  RelayOn = 1; // Включали!!!
  }
}

Месные гуру конечно запинают, но.....! Критика есть - хорошо!!! :)

SOCHINEC
Offline
Зарегистрирован: 01.05.2016

Sneik пишет:

  после подачи напряжения

Куда?

Sneik
Offline
Зарегистрирован: 03.07.2016

Разница в 5 секунд для подготовки генератора там примерно 3 секунды после положения замка  ON  идет подготовка к запуску .

И еще этот скетч будет как универсальный  потому как повернуть ключ и подать старт нужно любому генератору (хоть у меня и дизельный ) на сколько я знаю не автоматические генераторы нуждаются в подсосе .Так что внимание

 

Лог 1)обесточенный ардуино обычным реле

       2)подается напряжение на порт юсб

       3)через 30 секунд запускается первое реле с платы, положение ключа ON (эмуляция) реле остается занкнутым до отключения ардуино от питания

       4)через 35 секунд запускается второе реле с платы положение ключа START (эмуляция) реле замыкается или размыкается на 3 секунды и до отключения питания больше не запускается .

Уневерсальность заключается в том что это подайдет для 90 процентов генераторов Обещаю все показать в фотках и довести проект до ума на сайте только с кодом помогите Пжста!

 

 

Araris
Araris аватар
Offline
Зарегистрирован: 09.11.2012
// А зачем здесь loop() и переменная-флаг, можно ещё проще.
#define RELAY_1_PIN   2    // реле 1
#define RELAY_2_PIN   4    // реле 2

void setup() {
  pinMode(RELAY_1_PIN, OUTPUT);
  pinMode(RELAY_2_PIN, OUTPUT);
  delay(30000); // пауза 30 сек
  digitalWrite(RELAY_1_PIN, HIGH);   // реле 1 включено
  delay(5000); // пауза 5 сек
  digitalWrite(RELAY_2_PIN, HIGH);   // реле 2 включено
  delay(4000); // пауза 4 сек
  digitalWrite(RELAY_2_PIN, LOW);   // реле 2 выключено
}

void loop() { }

 

Sneik
Offline
Зарегистрирован: 03.07.2016

Благодарю получилось почти  так же

int Relay = 2;
int ogonek = 3;
void setup() {
  pinMode(Relay, OUTPUT);
  pinMode(ogonek, OUTPUT);
  delay(30000);
  digitalWrite(Relay, HIGH);   // реле включено
  delay(5000);
  digitalWrite(ogonek, HIGH);   // реле включено
  delay(3000);
  digitalWrite(ogonek, LOW);  // реле выключено
}
void loop(){
  // .....
  }

данный скетч запускает реле которое соеденено на пин2 через 30сек плюс зам запуск ардуинки  и оставляет его в ключенным положение он ключча генератора  и через 5 заводит генератор 3 секундами ! Всем огромное спасибо!

Далее будет много фото скорее всего  выложу архивом и ссылка будет тут думаю проще будет так!

Выше код тоже рабочий проверено благодарю только как правильно не знаю так что можно и так и так !

Если я не прав исправьте!

И еще если нужно будет высоковольтную часть с реле показать могу выложить!  С уважение Sneik!

Если будет время потом добавим и подсос и мониторинг сети .... А пока да будет свет !!!

SOCHINEC
Offline
Зарегистрирован: 01.05.2016

Я вот что скажу, может это мне так "повезло", но все же! У меня 3 ардуино, две после подачи питания работают как надо, а вот одна, нет нет, да бывает что ничего не делает! Незнаю почему так, мож глючная какая то попалась!

SOCHINEC
Offline
Зарегистрирован: 01.05.2016

Araris пишет:

А зачем здесь loop() и переменная-флаг, можно ещё проще.

Согласен! Вот блин, я и забыл что void setup() читается один раз! Не дошло! :)

Sneik
Offline
Зарегистрирован: 03.07.2016

Ну мне пока не попадались такие ! Соеденю через стабилизированное питание. Там видно будет что доработать ,А пока дурная голова рукам покоя не дает!

SOCHINEC
Offline
Зарегистрирован: 01.05.2016

Sneik пишет:

дурная голова рукам покоя не дает!

Это же есть хорошо! ;) у меня аналогичная ситуация http://arduino.ru/forum/programmirovanie/kod-mozhno-li-proshche :)

Но голова дана нам не только чтоб в нее есть! :)

Так что пока есть и то и то, надо пользоваться! :)

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

Sneik пишет:

Всем приветствую уважаемые форумчане !

Я новичек в этом деле !

 

вы бы сначало логику работы подробно описали, что и как должно вкл, выкл, через какое время  и т.д.??

 а то кашпировским себя чувствуешь читая подобные посты.

SOCHINEC
Offline
Зарегистрирован: 01.05.2016

Ух ты, я  Кашпировский значит:) Надо открывать свою телепередачу! :)

Будем заряжать усе подряд:)

Sneik
Offline
Зарегистрирован: 03.07.2016

Прошу не терять установку чуть перенес подготавливаю место !

pev0270
Offline
Зарегистрирован: 02.11.2015

Sneik пишет:

Разница в 5 секунд для подготовки генератора там примерно 3 секунды после положения замка  ON  идет подготовка к запуску .

И еще этот скетч будет как универсальный  потому как повернуть ключ и подать старт нужно любому генератору (хоть у меня и дизельный ) на сколько я знаю не автоматические генераторы нуждаются в подсосе .Так что внимание

Лог 1)обесточенный ардуино обычным реле

       2)подается напряжение на порт юсб

       3)через 30 секунд запускается первое реле с платы, положение ключа ON (эмуляция) реле остается занкнутым до отключения ардуино от питания

       4)через 35 секунд запускается второе реле с платы положение ключа START (эмуляция) реле замыкается или размыкается на 3 секунды и до отключения питания больше не запускается .

Уневерсальность заключается в том что это подайдет для 90 процентов генераторов Обещаю все показать в фотках и довести проект до ума на сайте только с кодом помогите Пжста!

Бред полный. Вот оно отсутствие нормального ТЗ.

Ардуинка начинает работу по условию наличия напряжения. очень извращенное решение, контроллер должен контролировать процесс.

1. Обесточен обычным реле... сомнительное решение, нужно реле типа ЕЛ которое будет контролировать все 3 фазы.

2. Подается напряжение... пошел процесс работы, но ведь и отключение произойдет по этой же цепи. появление напряжения на вводе включит реле (н.з. контакты разорвут цепь питания ардуинки) и произойдет отключение "генератора". Что такое АПВ в релейной защите знаете? это автоматическое повторное включение... Допустим работает "генератор" появляется напряжение на вводе и тут же пропадает и так несколько раз... что будет делать ваш контроллер? А по нормальному "генератор" должен работать, а контроллер контроллировать ввод и при наличии на нем напряжения в течении 1-5 минут (исключаем повторяющиеся неудачные попытки включения) отключить "генератор" и перейти на ввод...

Контроля "генератора" нет вообще.

Вопрос:

1. что будет если во время подготовки к запуску "генератор" выдаст ошибку, типа нельзя запускать? контроллер все равно будет запускать...

2. Если с первого раза "генератор" не запустится? ну типа "чихнул" и заглох?

Универсальный скетч для 90% генераторов как бы должен содержать не только "сетап" :)

Еще вопросик что произойдет если "сдохнет" реле (лог 1) ну или просто проводок от нее отвалится который на катушку идет... при этом напряжение на вводе присутствует. Это я к тому что не хорошо делать управление тупо по отключению релюшки.

вот темка была, скетч там немного посолиднее http://arduino.ru/forum/proekty/avtomaticheskii-zapusk-benzinovogo-generatora-na-arduino-uno

Sneik
Offline
Зарегистрирован: 03.07.2016

Всем привет я конечно понимаю что это все пока на делитанских началах но дальше больше ! И самое главное не стоять на месте а развиватся!

А теперь по теме все работает все проверено !  Немного доработал поставил кнопочку ресет это в том случае если  генератор не завелся но этого пока не было!

Так же были установлены дополнительные силовые реле для  запуска стартера и для положения вкл.

https://cloud.mail.ru/public/MGXj/iFs8qJsnp

Рад буду ответить на вопросы если появятся !

В дальнейших планах контроль завода если не завелся с 1 раза . Так же уменьшу время до заводки сейчас 35 секунд  .