Автозапуск генератора на ардуино своими руками

Опубликовано: 05.07.2024


Таймеры, реле времени

На некоторых объектах отключение электроэнергии может привести к весьма печальным последствиям. На страницах различных журналов встречаются описания всевозможных индикаторов отключения электросети, которые призваны сообщить персоналу об аварийной ситуации. Затем уже человек должен включить аварийный дизельный или бензиновый электрогенератор.

avtomaticheskij-zapusk-benzogeneratora

Но все же будет лучше, если генератор будет включаться автоматически при пропадании напряжения в сети. На сайте radiochipi приведена схема простого автоматического устройства, включающего бензиновый электрогенератор. Главное требование к генератору, он должен заводится с помощью электрического стартера, питающегося от стартерного аккумулятора (как двигатель автомобиля). В противном случае данная схема не имеет смысла.

Датчиком наличия напряжения в сети является схема на оптопаре U1. При наличии напряжения в сети транзистор оптопары открыт и на вывод 2 элемента D1.3 поступает через него логическая единица. На выходе D1.3 ноль, независимо от уровней на других входах. Транзистор VT1 закрыт и реле К1 не включает стартер генератора. При пропадании напряжения в сети транзистор оптопары U1 закрывается и на вывод 2 D1.3 подается логический ноль через R6. При этом на его вывод 13 подается логический ноль от контактов датчика давления масла двигателя генератора.

На микросхеме D1 выполнен мультивибратор импульсов, следующих с периодом в восемь секунд. Причем во время отрицательного перепада импульсов происходит включение стартера посредством реле К1. Подстроечным резистором R1 можно установить продолжительность однократного включения стартера, согласно свойствам конкретного бензинового двигателя.
Таким образом, при пропадании напряжения в сети импульсы от мультивибратора через элемент D1.3 проходят на ключ VT1, управляющим через реле К1 стартером.

Как только двигатель генератора запускается, контакты его датчика давления масла размыкаются и на вывод 13 D1.3 подается логическая единица через R5. VT1 закрывается и выключает стартер. Схема данного устройства подразумевает постоянное включение питания системы зажигания двигателя, то есть, двигатель должен быть с электронным зажиганием.Если в двигателе нет датчика давления масла, можно сделать схему, аналогичную той что U1, но для контроля за выходным напряжением генератора, но подключив её к выводу 13 D1.3 вместо датчика давления масла. Реле К1 стандартное автомобильное реле, применяемое, например, в автомобилях марки «ВАЗ». Налаживание заключается в установке оптимальной продолжительности однократного включения стартера, с помощью резистора R1.

Вот я и дорвался выложить в паблик совершенно безвозмездно свою разработку универсального (подходит для любого авто) GSM автозапуск, который работает через GPRS(интернет), управляется любым MQTT приложением со смартфона.

BOM:
Arduino Pro Mini (atmega328)
DC-DC конвертер 2-5А
SIM800L
5 реле SRD-12VDC-SL-C
1 ULN2003A (DIP)
6 диодов (самых простых)
2 элетролитических конденсатора 470 микрофарада
2 керамических кондера 100 нанофарад
2 резистора 4.7 кОм
2 резистора 10 кОм
1 датчик температуры DS18B20
2 резистора 47кОм (делитель на лапу А1)
2 резистора 47кОм если импульсы с тахометра 12 вольт (делитель напряжения на цифровую лапу 2)

Схема работает на 4.15-4.18 вольт (выставить выходное напряжение на DC-DC преобразователе) так как это самое приличное напряжение на котором работает стабильно SIM800L.
Дурине пофиг что не 5 вольт, так как напряжение подается на вход RAW

Библиотеки которые были использованы:

и самое главное, да да, то самое о котором забывают ВСЕ супер-пупер разработчики автозапусков на ардуине, выкладывают свои поделки в сеть, просят бабки за схемы\скетчи и прочее, напроч забывая о том что дурина вещь крайне чувствительная к наводкам, дают советы навешать кондеров, поставить внешние антенны и прочее прочее, но блеать, решение простое как 3 копейки.
Если ваша дурина зависает(а она будет сука зависать) надо прошить ей загрузчик optiboot(гуглится в инете как это сделать, без этого мой скетч отправит вашу китайскую дурину в bootloop) и вишенка на торте:
<avr/wdt.h>
Да блеать, ватчдог. Вот оно решение всех проблем.
Это камень в сторону разработчиков автозапусков на ардуине которые просят за свои поделки бабки да еще и не применяют в своих скетчах ватчдог.
В моем скетче как вы сможете убедится ватчдог есть, стоит на 8 секунд, сброс таймера стоит во всех нужных и важных местах.

У меня такая заводилка стоит в Toyota Celsior UCF30\31

Кстати да, 4-е реле подают 12 вольт на контакт(на фото и схеме это видно), 5-ое реле у меня подает минус (так как управление обходчиком иммо, и контакт наличия ключа в зажигании управляется минусом), по схеме же 5-ое реле просто замыкает между собой два вывода, как это использовать решать вам.

p/s
всякой х…ни типа старта по времени и прочих таймеров нет, может как нибудь будет желание я допишу это, ну а пока:
1. Запуск с кнопки(из приложения)
2. Остановка двигателя с кнопки(из приложения)
3. Отключение при нажатии педали тормоза(как у всех автозапусков)
4. Контроль запуска по оборотам двигателя
5. Датчик температуры

На днях залью видео.

еще один p/p/s
Диоды у релюх можно не ставить, согласно даташиту в uln2003a есть свои диоды внутри, но я подумал что хуже не будет и оставил, хотя схема будет работать и без них.

UPD 5.11.2018
Была ошибка в делителях напряжения, схему изменил, обновил ссылку

У большинства из нас есть дачи, а кто-то вообще круглогодично проживает в частном доме или коттедже. Проблема перебоев с электроэнергией на периферии знакома не понаслышке. Самый простой выход из ситуации – зажечь свечку и смиренно ждать лучшего, но в наше время это не всегда приемлемо. Более продвинутые дачники обзавелись генераторами, вот только их запуск и остановку нужно производить вручную. В темноте и в холодное время года это делать некомфортно. А бывают ситуации, когда хозяев вообще нет дома, однако прекращение подачи энергии может привести к останову систем управления обогревом дома и другим критическим ситуациям. В таких случаях просто необходимо автоматизировать процессы перехода с основного питания на резервное, и наоборот. В первой части мы рассмотрим пример работы модуля MP8036multi в режиме контроллера (смешанный режим, пример 1), управляющего автономным питанием загородного дома. А также приведем схему подключения и пример рабочей отлаженной программы.




Задача эта не так проста, как кажется. Во-первых, нужно отслеживать наличие напряжения в сети, причём отличать кратковременные колебания напряжения от действительно случаев прекращения поставки энергии. Во-вторых, недостаточно просто подать напряжение на запуск генератора – надо также через некоторое время проверить, запустился ли он и как стабильно работает, и только после этого переключать сеть питания на резервную линию. В-третьих, на протяжении всего времени работы генератора желательно отслеживать его состояние: давление масла, уровень топлива и т.п. Также необходимо контролировать наличие и стабильность напряжения в сети, и после возобновления поставки электроэнергии плавно остановить генератор, дав ему поработать на холостом ходу, и только после этого переключить потребителей на основную линию.

Соответственно, контроллер управления должен поддерживать работу с датчиками температуры, иметь как минимум два входа АЦП, восемь независимых выхода для управления пускателями и реле, выход для сигнализации и индикации – и при этом обладать возможностями гибкой конфигурации. Всем этим требованиям удовлетворяет новинка Мастер Кит – многофункциональный контроллер MP8036multi.

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

– датчик MP220V №1 (контроль ввода);
– датчик MP220V №2 (контроль генератора);
– MP220op №1 (ВКЛ/ОТКЛ ввода, задержка);
– MP220op №2 (ВКЛ/ОТКЛ генератора задержка);
– NK146 №1 (ВКЛ/ОТКЛ аварийное освещение);
– MP2211 №1 (привод заслонки открытия);
– MP2211 №2 (привод заслонки закрытия);
– зажигание/топливный клапан;
– пуск стартера (выход РЕЛЕ 1);
– контроль давления масла;
– контроль температуры инвертора;
– NK146 №2 охлаждение инвертора;
– контроль заряда АКБ;
– индикатор аварии / исправность датчика температуры;
– индикатор переключения линии ввода.

Алгоритм работы модуля

При включении питания модуль проверяет наличие сетевого напряжения 220В, используя датчик MP220V (вход 4). Если сетевое напряжение отсутствует, модуль с помощью оптореле MP220op (Выход 1) отключает линию питания от счетчика и запускает алгоритм старта генератора или инвертора (Реле 1) и (Реле 2).

Через 35 секунд стабильной подачи напряжения 220В, на вводе счетчика, модуль подключает линию питания дома (Выход 1). В это время, несмотря на отсутствие напряжения в розетках, автоматически включается аварийное освещение (Выход ШИМ3).

При использовании DC/AC инвертора предусмотрен двухпороговый контроль температуры. При превышении температуры 60С, включается вентилятор охлаждения инвертора (Выход 3). Если температура продолжает расти, то при 90С произойдет отключение линии питания дома (Выход 2). Затем модуль будет ожидать охлаждения инвертора до 60С, после чего снова возобновит питание (Выход 2).

При всех положениях, когда отсутствует напряжение в линии питания дома, с помощью выхода ШИМ3 включается аварийное освещение. Так как аварийное освещение запитано от аккумулятора, в целях энергосбережения лучше использовать светодиодные светильники или ленты.

С помощью входа АЦП3 модуль может контролировать давления масла в картере генератора, и при аварийно низком давлении будет произведена остановка генератора.

С помощью входа АЦП4 при работе с генератором модуль может контролировать уровень топлива в баке, а при работе с DC/AC инвертором – заряд аккумуляторных батарей, защищая их от глубокого разряда.

На выходе ШИМ4 реализована индикация переключения линии питания дома ВВОД/РЕЗЕРВ.

Для бензиновых генераторов предусмотрено управления заслонкой генератора, осуществляемое с помощью выходов реле 3 и реле 4. При использовании дизельного генератора на выход реле 4 можно подключить свечу накала, для подогрева поступающего воздуха в морозы. При использовании DC/AC инвертора выходы реле 3, реле 4 и Реле 2 не используются.
Программа модуля написана таким образом, что позволяет управлять любым типом генератора: как бензиновым, так и дизельным. При необходимости можно использовать DC/AC инвертор необходимой мощности. При работе с инвертором код программы менять не потребуется.

Схема подключения и текст программы приведены ниже:


//ВХОД4 – датчик MP220V Контроль ввода
//ВХОД3 – датчик MP220V Контроль генератора
//ВЫХОД1 – MP220op ВКЛ/ОТКЛ ввода, задержка
//ВЫХОД2 – MP220op ВКЛ/ОТКЛ генератора задержка
//ШИМ3 – NK146 ВКЛ/ОТКЛ аварийное освещение

//ВХОД1 – кнопка с фиксацией Пуск/Остановка
//РЕЛЕ4 – MP2211 Привод заслонки открытие
//РЕЛЕ3 – MP2211 Привод заслонки закрытие
//РЕЛЕ1 – зажигание/топливный клапан
//РЕЛЕ2 – стартер 4 сек
//АЦП3 – <5В контроль давления масла

//ДТ1 — контроль температуры инвертора
//ВЫХОД3 – NK146 охлаждение инвертора

//АЦП4 — <10,5В контроль заряда АКБ
//ШИМ1 – индикатор аварии / исправность датчика температуры
//ШИМ4 — индикатор переключения линии ввода

ВЫХОД1.РЕЖИМ1.СОСТОЯНИЕ = 0
ВЫХОД1.РЕЖИМ1.ЗАДЕРЖКА = 5 (с)
ВЫХОД1.РЕЖИМ1.УСЛОВИЕ1: ВХОД4 = 1
ВЫХОД1.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1

ВЫХОД1.РЕЖИМ2.СОСТОЯНИЕ = 1
ВЫХОД1.РЕЖИМ2.ЗАДЕРЖКА = 35 (с)
ВЫХОД1.РЕЖИМ2.УСЛОВИЕ1: ВХОД4 = 0
ВЫХОД1.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1

ВЫХОД2.РЕЖИМ1.СОСТОЯНИЕ = 0
ВЫХОД2.РЕЖИМ1.ЗАДЕРЖКА = 15 (с)
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ1: ВХОД4 = 0
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ2: АЦП3 <= 5
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ3: АЦП4 <= 10,5
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ4: ДТ1 >= 90
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ5: ВЫХОД1 = 1
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ6: ВХОД1 = 1
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ7: ВХОД3 = 1
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ8: ВХОД4 = 1
ВЫХОД2.РЕЖИМ1.УСЛОВИЕ9: ШИМ1 = 1
ВЫХОД2.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2 ИЛИ У3 ИЛИ У4 ИЛИ У5 ИЛИ У6 ИЛИ У9 ИЛИ (У7 И У8)

ВЫХОД2.РЕЖИМ2.СОСТОЯНИЕ = 1
ВЫХОД2.РЕЖИМ2.ЗАДЕРЖКА = 15 (с)
ВЫХОД2.РЕЖИМ2.УСЛОВИЕ1: ВХОД3 = 0
ВЫХОД2.РЕЖИМ2.УСЛОВИЕ2: ДТ1 <= 60
ВЫХОД2.РЕЖИМ2.УСЛОВИЕ3: АЦП3 >= 5
ВЫХОД2.РЕЖИМ2.УСЛОВИЕ4: АЦП4 >= 10,5
ВЫХОД2.РЕЖИМ2.УСЛОВИЕ5: ВХОД4 = 1
ВЫХОД2.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1 И У2 И У3 И У4 И У5

ВЫХОД3.РЕЖИМ1.СОСТОЯНИЕ = 0
ВЫХОД3.РЕЖИМ1.УСЛОВИЕ1: ДТ1 <= 60
ВЫХОД3.РЕЖИМ1.УСЛОВИЕ2: ВХОД3 = 1
ВЫХОД3.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2

ВЫХОД3.РЕЖИМ2.СОСТОЯНИЕ = 1
ВЫХОД3.РЕЖИМ2.УСЛОВИЕ1: ДТ1 >= 90
ВЫХОД3.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1

РЕЛЕ1.РЕЖИМ1.СОСТОЯНИЕ = ОТКЛЮЧЕНО
РЕЛЕ1.РЕЖИМ1.ЗАДЕРЖКА = 30(с)
РЕЛЕ1.РЕЖИМ1.УСЛОВИЕ1: ВХОД4 = 0
РЕЛЕ1.РЕЖИМ1.УСЛОВИЕ2: АЦП3 <= 5
РЕЛЕ1.РЕЖИМ1.УСЛОВИЕ3: АЦП4 <= 10,5
РЕЛЕ1.РЕЖИМ1.УСЛОВИЕ4: ДТ1 >= 90
РЕЛЕ1.РЕЖИМ1.УСЛОВИЕ5: ВХОД3 = 1
РЕЛЕ1.РЕЖИМ1.УСЛОВИЕ6: ВЫХОД4 = 1
РЕЛЕ1.РЕЖИМ1.УСЛОВИЕ7: ШИМ1 = 1
РЕЛЕ1.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2 ИЛИ У3 ИЛИ У4 ИЛИ У7 ИЛИ (У5 И У6)

РЕЛЕ1.РЕЖИМ2.СОСТОЯНИЕ = ВКЛЮЧЕНО
РЕЛЕ1.РЕЖИМ2.ЗАДЕРЖКА = 6(с)
РЕЛЕ1.РЕЖИМ2.УСЛОВИЕ1: ВХОД4 = 1
РЕЛЕ1.РЕЖИМ2.УСЛОВИЕ2: ДТ1 <= 60
РЕЛЕ1.РЕЖИМ2.УСЛОВИЕ3: АЦП3 >= 5
РЕЛЕ1.РЕЖИМ2.УСЛОВИЕ4: АЦП4 >= 10,5
РЕЛЕ1.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1 И У2 И У3 И У4

ВЫХОД4.РЕЖИМ1.СОСТОЯНИЕ = 0
ВЫХОД4.РЕЖИМ1.УСЛОВИЕ1: ВХОД4 = 0
ВЫХОД4.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1

ВЫХОД4.РЕЖИМ2.СОСТОЯНИЕ = 1
ВЫХОД4.РЕЖИМ2.ЗАДЕРЖКА = 35 (с)
ВЫХОД4.РЕЖИМ2.УСЛОВИЕ1: ВХОД4 = 1
ВЫХОД4.РЕЖИМ2.УСЛОВИЕ2: АЦП4 <= 10,5
ВЫХОД4.РЕЖИМ2.УСЛОВИЕ3: АЦП3 <= 5
ВЫХОД4.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2 ИЛИ У3
//Т.к. при одинаковых событиях требуются разные режимы работы, задействован дополнительный ВЫХОД4.
//Этот выход создает дополнительное событие, по которому выбирается нужный режим работы.

РЕЛЕ2.РЕЖИМ1.СОСТОЯНИЕ = ОТКЛЮЧЕНО
РЕЛЕ2.РЕЖИМ1.УСЛОВИЕ1: ВХОД4 = 0
РЕЛЕ2.РЕЖИМ1.УСЛОВИЕ2: АЦП3 <= 5
РЕЛЕ2.РЕЖИМ1.УСЛОВИЕ3: АЦП4 <= 10,5
РЕЛЕ2.РЕЖИМ1.УСЛОВИЕ4: ДТ1 >= 90
РЕЛЕ2.РЕЖИМ1.УСЛОВИЕ5: ШИМ1 = 1
РЕЛЕ2.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2 ИЛИ У3 ИЛИ У5

РЕЛЕ2.РЕЖИМ2.СОСТОЯНИЕ = ВКЛЮЧЕНО
РЕЛЕ2.РЕЖИМ2.ЗАДЕРЖКА = 10(с)
РЕЛЕ2.РЕЖИМ2.ВРЕМЯ_ДЕЙСТВИЯ = 5(с)
РЕЛЕ2.РЕЖИМ2.УСЛОВИЕ1: ВХОД4 = 1
РЕЛЕ2.РЕЖИМ2.УСЛОВИЕ2: ШИМ1 = 0
РЕЛЕ2.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1 И У2

РЕЛЕ3.РЕЖИМ1.СОСТОЯНИЕ = ОТКЛЮЧЕНО
РЕЛЕ3.РЕЖИМ1.УСЛОВИЕ1: ВХОД4 = 1
РЕЛЕ3.РЕЖИМ1.УСЛОВИЕ2: ВЫХОД1 = 1
РЕЛЕ3.РЕЖИМ1.УСЛОВИЕ3: ВХОД4 = 0
РЕЛЕ3.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ (У2 И У3)

РЕЛЕ3.РЕЖИМ2.СОСТОЯНИЕ = ВКЛЮЧЕНО
РЕЛЕ3.РЕЖИМ2.ЗАДЕРЖКА = 25(с)
РЕЛЕ3.РЕЖИМ2.ВРЕМЯ_ДЕЙСТВИЯ = 4(с)
РЕЛЕ3.РЕЖИМ2.УСЛОВИЕ1: ВХОД4 = 0
РЕЛЕ3.РЕЖИМ2.УСЛОВИЕ2: ВЫХОД1 = 0
РЕЛЕ3.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = (У1 И У2)

РЕЛЕ4.РЕЖИМ1.СОСТОЯНИЕ = ОТКЛЮЧЕНО
РЕЛЕ4.РЕЖИМ1.УСЛОВИЕ1: ВХОД4 = 0
РЕЛЕ4.РЕЖИМ1.УСЛОВИЕ2: ШИМ1 = 1
РЕЛЕ4.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2

РЕЛЕ4.РЕЖИМ2.СОСТОЯНИЕ = ВКЛЮЧЕНО
РЕЛЕ4.РЕЖИМ2.ЗАДЕРЖКА = 4(с)
РЕЛЕ4.РЕЖИМ2.ВРЕМЯ_ДЕЙСТВИЯ = 4(с)
РЕЛЕ4.РЕЖИМ2.УСЛОВИЕ1: ВХОД4 = 1
РЕЛЕ4.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1

ШИМ1.РЕЖИМ1.ФУНКЦИЯ = ДИСКРЕТНЫЙ_ВЫХОД
ШИМ1.РЕЖИМ1.СОСТОЯНИЕ = 0
ШИМ1.РЕЖИМ1.УСЛОВИЕ1: ДТ1 <= 60
ШИМ1.РЕЖИМ1.УСЛОВИЕ2: АЦП3 >= 5
ШИМ1.РЕЖИМ1.УСЛОВИЕ3: АЦП4 >= 10,5
ШИМ1.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2 ИЛИ У3

ШИМ1.РЕЖИМ2.ФУНКЦИЯ = ДИСКРЕТНЫЙ_ВЫХОД
ШИМ1.РЕЖИМ2.СОСТОЯНИЕ = 1
ШИМ1.РЕЖИМ2.УСЛОВИЕ1: ДТ1 >= 90
ШИМ1.РЕЖИМ2.УСЛОВИЕ2: АЦП3 <= 5
ШИМ1.РЕЖИМ2.УСЛОВИЕ3: АЦП4 <= 10,5
ШИМ1.РЕЖИМ2.УСЛОВИЕ4: ВХОД1 = 1
ШИМ1.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2 ИЛИ У3 ИЛИ У4

ШИМ3.РЕЖИМ1.ФУНКЦИЯ = ДИСКРЕТНЫЙ_ВЫХОД
ШИМ3.РЕЖИМ1.СОСТОЯНИЕ = 1
ШИМ3.РЕЖИМ1.ЗАДЕРЖКА = 1(с)
ШИМ3.РЕЖИМ1.УСЛОВИЕ1: ВЫХОД1 = 0
ШИМ3.РЕЖИМ1.УСЛОВИЕ2: ВЫХОД2 = 0
ШИМ3.РЕЖИМ1.УСЛОВИЕ3: ШИМ1 = 1
ШИМ3.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У3 ИЛИ (У1 И У2)

ШИМ3.РЕЖИМ2.ФУНКЦИЯ = ДИСКРЕТНЫЙ_ВЫХОД
ШИМ3.РЕЖИМ2.СОСТОЯНИЕ = 0
ШИМ3.РЕЖИМ2.ЗАДЕРЖКА = 2(с)
ШИМ3.РЕЖИМ2.УСЛОВИЕ1: ВЫХОД1 = 1
ШИМ3.РЕЖИМ2.УСЛОВИЕ2: ВЫХОД2 = 1
ШИМ3.РЕЖИМ2.УСЛОВИЕ3: ВХОД3 = 1
ШИМ3.РЕЖИМ2.УСЛОВИЕ4: ВЫХОД4 = 1
ШИМ3.РЕЖИМ2.УСЛОВИЕ5: АЦП4 <= 10,5
ШИМ3.РЕЖИМ2.УСЛОВИЕ6: АЦП3 <= 5
ШИМ3.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2 ИЛИ У5 ИЛИ У6 ИЛИ (У3 И У4)

ШИМ4.РЕЖИМ1.ФУНКЦИЯ = ДИСКРЕТНЫЙ_ВЫХОД
ШИМ4.РЕЖИМ1.СОСТОЯНИЕ = 0
ШИМ4.РЕЖИМ1.УСЛОВИЕ1: ВЫХОД1 = 1
ШИМ4.РЕЖИМ1.УСЛОВИЕ2: ВЫХОД2 = 1
ШИМ4.РЕЖИМ1.ЛОГИКА_УСЛОВИЙ = У1 ИЛИ У2

ШИМ4.РЕЖИМ2.ФУНКЦИЯ = ДИСКРЕТНЫЙ_ВЫХОД
ШИМ4.РЕЖИМ2.СОСТОЯНИЕ = 1
ШИМ4.РЕЖИМ2.УСЛОВИЕ1: ВЫХОД1 = 0
ШИМ4.РЕЖИМ2.УСЛОВИЕ2: ВЫХОД2 = 0
ШИМ4.РЕЖИМ2.ЛОГИКА_УСЛОВИЙ = У1 И У2

ДТ1.ПЕРИОД_ОПРОСА = 5 (с)

АЦП3.ФУНКЦИЯ = АЦП
АЦП4.ФУНКЦИЯ = АЦП

Все используемые каналы ШИМ переведены в режим дискретных выходов. Но при необходимости их всегда можно задействовать по назначению.

При практической проверке программы не забудьте добавить термодатчики ДТ1 согласно инструкции по конфигурации. Обратите внимание, при добавлении двух и более датчиков, необходимо подключать их по очереди. Временные интервалы и диапазон температуры корректируются по месту.

При суммарной мощности потребления электроприборов до 7 кВт вместо связки MP220op+Пускатель можно использовать силовой модуль MP146:


Авторы решения: Е.А. Сапунов, В.А. Рублев (UA4LOU)

Только с 18.02.2016 до 10-00 24.02.2016 на МР8036 multi действует праздничная цена, вы можете купить его за 5 000,00 рублей!


Итак, накатавшись с удобством и забыв о ключах, подошло время к зиме. И ожидая в холодной машине пока она не прогреется подтолкнуло поискать как с этим справляются очумелые автолюбители. Полазив на форумах и почитав несколько статей от знающих людей было решено делать GSM модуль к уже проверенной "Кнопке".

Выбор пал на Ардуино (собственно только сам контроллер) и GSM шилд на модуле SIM800L (как самый доступный около 3,5$) .
Т.к. GSM модуль в пиковых значениях потребляет до 2А применил DC/DC преобразователь LM2596S.

Реле - автомобильные с током до 30А с внешним подключением. Ключ для управления на MOSFET транзисторах. В первом варианте (что нашлось) были irfz44n, после использовал Si4800BDY (или подобные, полно на старых материнках).

Также Имеется разъем для подключения bluetooth или WIFI(планируется) для управления или пере прошивки по воздуху. Собственно bluetooth был опробован как удлинитель UART для мониторинга при написании программы. Также bluetooth планируется для управления с брелка.









А теперь самое интересное!
Для связи с "Авто" я применил сервер с MQTT протоколом - cloudmqtt />Когда я начинал с ним работать использование их серверов было бесплатно, к сожалению сейчас это платно, старые зарегистрированные аккаунты остались бесплатными (хотя для дела можно и купить это того стоит).
Возможно использовать другие серверы суть не меняется (только адресация данных). Например - mqtt.4api />


Что Мы можем через приложение:
- Видеть Напряжение на Аккумуляторе;
- Видеть состояние датчиков температуры (реализовано до 10 шт);
- Видеть баланс на номере "Авто";
- Видеть состояние "Пусковых" реле (Клемма 15, 50, ACC) и заведен авто или нет;
- Также Мы можем изменить время прогрева;
- Реализовано автоматическое отключение от GPRS через 2 минуты после выключения прогрева или через 5 минут если было подключение без включения двигателя;
- Также Добавлен вывод ошибок подключения и др. Опционально;
- И счетчик суточной перезагрузки.

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

ORION105

Похожие публикации

Привет всем! пишу программу для pic16f84a кривошипный пресс, получилось запустить один режим (одноходовый) без блокировок и защит , для реализации двурукого включения нужно, чтобы нажимались 2 кнопки , при этом нужно чтобы программа следила за интервалом времени между нажатием 2х кнопок , при одновременном нажатии программа запоминает это событие и через 3-5 циклов сбрасывает ошибку и блокирует схему до сброса , при интервале 0,5 сек между нажатием кнопок программа выполниться без ошибок , при превышении интервала в 0,5с придется заново нажать на кнопки !
Не хватает знаний команд и опыта для построения кода

Доброго времени суток.
Я только начинаю заниматься микроконтроллерами и вот возникла проблема с одним из них. А именно: собрал простенький программатор и начал программировать различные мк. Шил этот программатор Pic12f629 на ура а вот с 16F84а случилась беда. В описании написано что этот программатор программирует 16F84а. Но при записи кода в него он спотыкается об одну ячейку как в IC-Prog так и в WinPic800. Пробовал я его стирать в обеих программах. Они говорят что все стерто но после того как все стерли я читаю мк а ячейка как имела значение 0560 так и осталась. Стирал несколько раз. Не помогает. Через эту ячейку не могу записать код. Помогите пожалуйста. Заранее благодарю, фото прикладываю.

Помогите разобраться с устройством.
Проблема такая. Есть готовое устройство на pic16f84a. Вот его схема:

Вот его hex, исходника нет:
:020000040000FA
:020000002228B4
:080008008B1C10288B1010085E
:1000100091009300930C9313910C9113900109009C
:100020000B11FF308100920B1B28900A90080319D6
:10003000222828309200930B090011089300FF300A
:10004000850609009101930190018B0183018F01C5
:1000500028309200831600308500FF30860083121E
:10006000850106183128061C33288316C330810009
:100070008312FF3081008B100B110B168B168B1720
:08008000000000000000402810
:084000000F000F000F000F007C
:02400E00F13F80
:10420000FF00FF00FF00FF00FF00FF00FF00FF00B6
:10421000FF00FF00FF00FF00FF00FF00FF00FF00A6
:10422000FF00FF00FF00FF00FF00FF00FF00FF0096
:10423000FF00FF00FF00FF00FF00FF00FF00FF0086
:10424000FF00FF00FF00FF00FF00FF00FF00FF0076
:10425000FF00FF00FF00FF00FF00FF00FF00FF0066
:10426000FF00FF00FF00FF00FF00FF00FF00FF0056
:10427000FF00FF00FF00FF00FF00FF00FF00FF0046
:00000001FF
Данный код пересчитывает входящие импульсы с датчика скорости и выдает с умножением на 40.
Мне уважаемый wws63 переделал под pic16f628a (сказал что она более надежная и соответственно pic628a дешевле и новей)
Вот схема:

Читайте также: