Автоматический запуск бензинового генератора на arduino uno
- Войдите на сайт для отправки комментариев
Пт, 31/07/2015 - 21:39
Добрый день.
Хочу поделиться, своим первым проектом на arduino .
Задача была в том , чтобы при отключении электроэнергии ( в частном доме) автоматически заводился бензиновый генератор и питания дома переключалось на генератор, а при включении электроэнергии всё переключалось обратно.
вот скетч
// проект автозапуск бензинового генератора на ARDURINO UNO июнь 2015 //задаю константы const int city = 2; // напряжение из города const int he_voltage = 1; //напряжение на генераторе const int starter_relay = 5; //реле стартера const int choke_on = 6; // подсос включить const int choke_of = 7; // подсос выключить const int magnetic = 8; // включает пускатель const int disconnection = 9; //реле размыкания зажигания const int magnetic_of = 10; // вЫключает пускатель // задаю переменные int t = 0; //отображает работу генератора int m = 0; //отображает наличие напряжения в сети int a = 0; //количество попыток запуска ген void setup() { pinMode(city, INPUT); // назначаем входом напряжение из города в схеме pinMode(he_voltage, INPUT); // назначаем the_voltage входом напряжение с генератора pinMode(starter_relay, OUTPUT); //назначаем starter_relay выходом реле стартера pinMode(choke_on, OUTPUT); //назначаем choke_on выходом подсос включает pinMode(choke_of, OUTPUT); //назначаем choke_of выходом подсос вЫключает pinMode(magnetic, OUTPUT); //назначаем magnetic выходом переключает пускатели на генератор pinMode(disconnection, OUTPUT); //назначаем disconnection выходом включает и выключает зажигание pinMode(magnetic_of, OUTPUT); //назначаем magnetic выходом переключает пускатели на генератор } void loop() { m = digitalRead(city); t = digitalRead(he_voltage); delay(2000); if (t == LOW && m == LOW && a < 3 ) { digitalWrite(choke_on, HIGH); //подаюм команду + на открытие подсоса delay(500); //пауза 0,5 сек digitalWrite(choke_on, LOW); //подаюм команду - на открытие подсоса delay(500); digitalWrite(starter_relay, HIGH); //подаюм команду + на реле стартера delay(1500); //пауза 1,5 сек digitalWrite(starter_relay, LOW); //подаюм команду - на реле стартера delay(900); digitalWrite(choke_of, HIGH); //подаюм команду + на закрытие подсоса delay(500); //пауза 0,5 сек digitalWrite(choke_of, LOW); //подаюм команду - на закрытие подсоса a++; } if (t == HIGH && m == LOW) { digitalWrite(magnetic, HIGH); delay(700); //пауза 0,7 сек digitalWrite(magnetic, LOW); } if (t == HIGH && m == HIGH ) { digitalWrite(magnetic_of, HIGH); delay(700); //пауза 0,7 сек digitalWrite(magnetic_of, LOW); digitalWrite(disconnection, HIGH); delay(4000); //пауза 5 сек digitalWrite(disconnection, LOW); a = 0; } if (t == LOW && m == HIGH || t == HIGH && m == LOW ) { a = 0; } }
Мдааа... собрал автомобиль... если кому интересно вот химическая формула бензина C8H17
Хорошо бы фото исполнительных механизмов и блок схему алгоритма работы. А так действительно получается "канаццкий бензин". :)
Пока нет времени, этим заниматься скоро выложу.
Еще неплохо добавить в алгоритм 2-3 аварийних входа: масло, температура, бензин и пр.
Пока нет времени, этим заниматься скоро выложу.
Если не сложно автору, опишите чем переключаете с электро сети на генератор ( пакетник, реле и пр) , так понимаю, после электросчетчика все цепляется и как планируете защищать сеть от перегруза и КЗ ??
Пока нет времени, этим заниматься скоро выложу.
не забыл.!
переключение с помощью реверсивных пускателей, защита автомат +УЗО
модернизированный проект "Автозапуск бензинового генератора для частного дома на Arduino uno"
Вот на праздниках появилась минутка написать бодродней о своем проекте. Проект был доработан и успешно обкатан.
В двух словах о работе устройства:
Как я уже говорил задача стояла в том, чтобы при отключения электроэнергии в частном доме автоматически запускался генератор, и питание дома переключалось на него, а при включении электроэнергии все переключалось обратно.
Так вот, устройство проверяет наличие напряжения в сети, датчик сделан из обычного реле с катушкой управления 220В, если напряжение пропадает, то проверяется запущен генератор или нет, если не запущен, тогда смотрим на уровень топлива, если он больше 1/10 бака, тогда производим запуск генератора, а если топливо меньше чем 1/10,то включаем ошибку и генератор не запускаем. При нормальном уровне топлива у генератора есть 4 попытки запуска, это если с первого раза запуск не удался.
После успешного запуска включаются пускатели
и питание дома переключается на генератор, как только появится напряжение в сети, то система переключит пускатели обратно и заглушит генератор.
Все команды с arduino на исполнительные механизмы подаются через оптрон и реле. У меня генератор с механическим подсосом, поэтому пришлось учить его закрывать и открывать подсос в процессе запуска, это реализовал с помощью электромагнитов от центрального замка автомобиля. Датчик уровня топлива использовал от ВАЗ 21014 значительно переделав его . Питание этого устройства осуществляется от блока бесперебойного питания (ББП) 12В 3А с аккумулятором 7AЧ
далее с 12В понижаю до 9В это для питания самого arduino и до 5В для питания блоков реле. Также в системе имеется силовой аккумулятор 12В 18АЧ,но он питает только стартер и электромагниты для включения и выключения подсоса.
Алгоритм работы:
Ещё были мысли дополнительно учитывать температуру воздуха, а так же научить разговаривать генератор и сообщать мне с помощью смс о режиме работы, но свободных пинов у arduino uno больше нет, да и дорого получается ,а технического смысла мало.
новый скетч:
Ну вот вкратце все, что хотел сказать, если есть какие-нибудь идеи или вопросы буду рад услышать.
Спасибо за ответ. Непонятен алгоритм работы воздушной заслонки и время работы на прогрев двигателя. Или генератор находится в теплом помещении. У меня в холодном помещении и для переключения под нагрузку требуется около 5ти минут ,иначе глохнет.
Спасибо за ответ. Непонятен алгоритм работы воздушной заслонки и время работы на прогрев двигателя. Или генератор находится в теплом помещении. У меня в холодном помещении и для переключения под нагрузку требуется около 5ти минут ,иначе глохнет.
Генератор находиться в холодном помешении, в разделе "ЗАПУСК ГЕНЕРАТОРА" перед вращением срартера закрываеться подсос а после остановки стартера он открываеться через 2,5с . тоесть на подсосе генератор работает 2,5с.
здесь в программе это видно:
А что касаеться прогрева то моему хватает 1минуты , это организовано в разделе "ВКЛЮЧАЕМ ПУСКАТЕЛИ"
вот в программе:
Мне кажется что 5 минут слишко много, но это может зависить от температуры воздуха, у меня самая низкая была -8С.
2.5 секунды мало. Нужно минимум 20-30 секунд. Я впервые столкнулся с програмированием, так что извиняюсь за глупые вопросы. Но с твоей подсказкой разберусь. Благодарю за ответ.
Здравствуйте Андрей, По поводу SMS. Можно использовать мобильный телефон. По команде контроллера он будет отзваниваться, а уже по желанию можно брать трубку или не брать и слушать например зуммер который будет звенеть по по разному в разных режимах работы системы. Таким образом мониторить. Использую это в теме "Автоматический запуск двигателя автомобиля". А входов на UNO еще много аналоговых их можно использовать как цифровые.
Добрый день.
Идея по поводу телефона хорошая , но входов то хватает а выходов нет.
Прочитал и засомневался хотя сам использовал аналоговые порты в своем проекте как цифровые выводы. Сейчас перечитал спецификации на этом сайте, аналоговые порты можно смело использовать как цифровые выходы. Реально простой и надежный способ оповещения по GSM. Старых телефонов с кнопочками к которым можно подпояться у всех валяется, жалко выбросить. А нужен то всего телефон и обтрон на развязку ну и БП для телефона постоянно в сеть. На своем опыте если телефон проработал по своему прямому назначению пять лет то думаю лет десять еще запрсто пропашет
http://geektimes.ru/post/268864/
Прочитал и засомневался хотя сам использовал аналоговые порты в своем проекте как цифровые выводы. Сейчас перечитал спецификации на этом сайте, аналоговые порты можно смело использовать как цифровые выходы. Реально простой и надежный способ оповещения по GSM. Старых телефонов с кнопочками к которым можно подпояться у всех валяется, жалко выбросить. А нужен то всего телефон и обтрон на развязку ну и БП для телефона постоянно в сеть. На своем опыте если телефон проработал по своему прямому назначению пять лет то думаю лет десять еще запрсто пропашет
Огромное спасибо. Буду изучать , я до этого недодумался.
Реле зажигания всё время щёлкает когда есть эл. из города?
А схему на данное устройство где можно посмотреть?
Доброго всем. Есть проверенный законченный проект? Хочу тоже заняться и не хотелось бы форсмажора в конце.