Модуль автозапуска автомобиля, по каналу GSM.

vic163-163
Offline
Зарегистрирован: 06.03.2018

  Модуль автозапуска автомобиля, с голосовыми сообщениями работы авто, по каналу GSM, разрабатывался с целью отсутствия автозапуска в авто, как дополнение к любой “простой” или штатной сигнализации. А так-же не иметь привязки к интернету (дополнительные траты) и SMS сообщений (сообщения могут “зависнуть” на сервере провайдера сотовой связи). Способностью работы с любым телефоном, кнопочным или смартфоном. Модуль работает в сетях GSM, надежность связи блока зависит от покрытия связью провайдером связи. Он не является автосигнализацией, а дополнением для автосигнализации с возможностью дистанционного запуска двигателя авто с ручной коробкой передач.

  У модуля имеются следующие сервисные возможности.

  1. Режим пидстопа. Если при работающем двигателе включить ручной тормоз, начнут периодически включатся фонари поворотников, и включится вентилятор печки (в режим, установленный при монтаже модуля). И при этом извлечь ключ из замка зажигания двигатель будет работать еще 10 минут. Если позвонить в это время на номер SIM карты модуля он сообщит “в режиме пидстопа”.
  2. Если в режиме пидстопа выйти из авто, двигатель при этом продолжает работать, и закрыть брелком двери, поставить на охрану, то произойдет постановка на разрешение автозапуска.
  3. Если при работающем двигателе, сначала заглушить мотор, затем включить ручной тормоз, подготовки к автозапуску не произойдет.
  4. Если авто не было подготовлено к автозапуску, и при звонке на модуль попытаться подать команду на запуск, три раза сработает сигнал поворотников, сообщит “не в режиме запуска”.
  5. Автозапуск двигателя происходит четырьмя попытками, если не произошло запуска сообщит “повторный запуск”. 1 попытка прокрутка стартера 0,75 сек., последующие попытки старта прибавляют по 0,25 сек.
  6. Если после 4 попыток авто не завелось, сообщит “не получилось попробуйте еще раз”, три раза моргнет поворотником.
  7. Двигатель авто в режиме авто прогрева работает 10 минут, если Вы считаете, что этого недостаточно после первого цикла прогрева, позвоните и еще раз запустите двигатель. В режиме авто прогрева периодически включаются фонари поворотников.
  8. Если авто было подготовлено к автозапуску и открыли дверь авто, то режим автозапуска сбросится. И дистанционного запуска не произойдет.
  9. Если авто находится в режиме авто прогрева, двигатель работает и открыть двери (взять или положить в салон авто что ни будь), а затем авто поставить вновь на сигнализацию. То будет проведено разрешение на автозапуск для следующего раза.
  10. Если авто находится в режиме авто прогрева. И позвонить в это время сообщит “уже прогреваюсь”.
  11. Если авто уже работает и не включен ручной тормоз, возможно авто в движении, то модуль при входящем звонке сообщит “двигатель уже запущен”.
  12. Если у Вашей установленной или штатной сигнализации, на брелке имеется кнопка открытия багажника ее можно задействовать как старт для автозапуска авто, подготовленного к старту, подав команду нажав на кнопку открытия багажника.
  13. При срабатывании “колокола” автосигнализации, модуль перезвонит вам и сообщит “сработала сигнализация авто”. Можно прослушать или не отвечать на звонок, сбросить.
  14. Если авто ставилось на охрану сигнализацией и колокол “пикнул”, то при открытии двери модуль перезвонит вам и сообщит “открыта дверь авто”. Полезна тем что, если сняли авто с охраны сканером она Вам перезвонит. Можно не отвечать на звонок, сбросить. Что бы модуль не звонил Вам при открытии двери, необходимо позвонив на модуль, подать команду 56  или ставить на охрану беззвучно. Не забудьте потом включить контроль открытия дверей командой 65.
  15. Если в авто включено зажигание, но не работает мотор, то модуль при входящем звонке сообщит “ включено зажигание”.
  16. Если авто в режиме прогрева, при звонке на модуль будет сообщение “уже прогреваюсь”.

  Управление модулем следующее.

  Когда пользователь звонит, на номер SIM карты, установленной в модуле. Происходит автоответ модуля и в динамике звучит двух тональный гудок. После прекращения звуков, в динамике наступает тишина.

После этого можно подавать следующие команды с клавиатуры телефона;

  1. 45   прозвучит “контроль связи”, модуль отключит Вас и перезвонит на номер записанный на SIM карте. Опция необходима для проверки находится ли авто в зоне уверенного приема сотового оператора. Или что бы 1 раз в три месяца модуль перезвонил Вам, в противном случае возможно отключение SIM карты от сети.
  2.  03   прозвучит “все поняла завожу”, если была проведена процедура подготовки авто к запуску. Модуль проведет запуск двигателя, от 1 до 4 попыток. Будет сообщать о режимах “зажигание”, “стартер”, “повторный запуск”, об успешном запуске “двигатель запушен” или не успешном “не запустилась! попробуйте еще раз!” и автоматически отключится. Если не было подготовки авто к запуску прозвучит “не в режиме запуска”, 3 раза моргнет поворотниками и отключится.
  3.  30 прозвучит “стоп прогрева”, модуль остановит двигатель, если авто было в режиме прогрева и автоматически отключится.
  4.  56 прозвучит “ отключен контроль дверей”, отключит автодозвон при открытии двери авто и автоматически отключится
  5.  65 прозвучит “ включен контроль дверей”, включит автодозвон при открытии двери авто и автоматически отключится.
  6.  89 прозвучит “ двигатель блокирован”, заблокирует двигатель (блокировка реле бензонасоса), будет включен периодический сигнал клаксона, моргание дальним светом фар и фонарями поворотников, для привлечения внимания. Автоматического отключения звонка не произойдет. Полезна для поиска авто на крупном паркинге.
  7.  98 прозвучит “ продолжайте движение”, разблокирует двигатель (разблокирует реле бензонасоса), отключит периодический сигнал клаксона и моргание дальним светом фар и фонари поворотников, автоматически отключится.

Основная часть интерфейса построена, из следующих функциональных блоков;

  1. Основная монтажная плата.
  2. Две платы Arduino_Promini 328-5V, 1я плата программная, 2я обработчик тахометра
  3. GSM модуль SIM800L.
  4. Стабилизатора напряжения mini360, для питания gsm модуля.
  5. Платы преобразователя уровня тахометра
  6. Блока внешних реле, выполненных “на проводах”

Принципиальная схема.

Рис1.

 

Пояснения входов схемы;

Podxvat        выход на реле зажигания Podxvat

Start             выход на реле стартера

Block           выход на реле блокировки двигателя

Klaxon  Ligh     выход на реле дальнего света и клаксона

Parking         вход на датчик паркинга или ручника

Stop             вход от концевика педали тормоза

Ignition1      вход от замка зажигания для контроля наличия ключа в замке

Ignition 2     вход для контроля работы при отсутствии ключа в замке

Alarm          вход при срабатывании колокола сигнализации авто

Tahometr       вход от сигнала тахометра или форсунки

CentrZamok     вход сигнала от центрального замка при закрытии дверей, замыканием на массу

ACC              выход для вторичных приборов авто, мотор печки

Pusk_Sig       вход на запуск от автосигнализации, команда открытия багажника

Blinks           выход моргать поворотником

Door- или Door+ -  в зависимости кокой уровень сигнала при срабатывании датчика двери

автомобиля.

Immo – Deton   На реле обходчика иммобилайзера и отключения датчика детонации.

 

 В схеме не прорисованы обмотки катушек реле и их коммутационные цепи.

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

   Схема блока дополнительных реле:

 Особенно обратить внимание каким сигналом управляется клаксон плюсом или массой.

  Так же если в эл. схеме авто присутствуют силовые реле клаксона и дальнего света то можно исключить дополнительные силовые реле.

Собранное устройство напоминает технологию “бутерброд”, из-за экономии места, и следствия доработок.

    Процесс сборки, когда готова печатная плата, в моем случае изготовлялась способом ЛУТ.

    Сначала монтируются все оптопары и smd резисторы, так как две оптопары и резисторы находятся под SIM модулем. Затем монтируется GSM SIM модуль. SIM модуль, 1я (arduino) плата программная (нижняя) и 2я (arduino) обработчик тахометра (верхняя) устанавливаются при монтаже на штырьках. Печатные платы в Sprint-Layout6 и PDF прилагаются в архиве.

    Стабилизатор mini360, впаивается вертикально рядом с SIM модулем, предварительно установив на нем 4,0 вольта, так как GSM модулю для работы, согласно документации, необходимо 3,6-4,2 вольта. Вход (12V.) и выход (4.0V) стабилизатора соединены к контактным площадкам основной платы проводниками.

  Далее необходимо запрограммировать GSM SIM модуль для работы в Российских сетях сотовой связи. Мною была использована терминальная программа SIM900 DIALOG. Подключение, к примеру, по следующей схеме.

Отправив в терминальной программе, GSM модулю, по отдельности, следующие команды;

AT+IPR=9600

ATE1

AT+DDET=1

AT+CMGF=0

AT+CMCB=1

AT+CSCS="gsm"

AT+CNMI=2,1,0,0,0

AT+VTD=1

AT+CMEE=1

AT+COLP=1

AT&W

На каждую из команд должен прийти ответ ОК, в терминальной программе.

Не отключая модуля от компьютера, необходимо записать во внутреннюю flash память GSM модуля, голосовые файлы с расширением amr. Делается это через программу Sim800 Series ArmFile Download v1.00, следующие сообщения;

// 1   открываю двери! (зарезервировано на будущие доработки)

// 2   двигатель запущен, двигатель запущен!...

// 3   оп, повторный запуск!

// 4   закрываю двери!  (зарезервировано на будущие доработки)

// 5   уже, прогреваюсь!

// 6   стоп прогрева!

// 7   все поняла, завожу!

// 8   двигатель блокирован, двигатель блокирован...

// 9   продолжайте движение!

// 10  оп, двигатель уже запущен!

// 11  контроль связи!

// 12  низкое напряжение!

// 13  короткие гудки  (зарезервировано на будущие доработки)

// 14  нарушение охраны!

// 15  открыта! дверь! авто!

// 16  Включена Тихая Блокировка. (зарезервировано на будущие доработки)

// 17  отключен! контроль! двери!

// 18  включен! контроль! двери!

// 19  Стартер

// 20  не в режиме запуска

// 21  Зажигание!

// 22  SMS

// 23  Включено! Зажигание!

// 24  не запустилась! попробуйте еще раз!...

// 25  авто! в режиме! пидстопа!

 В комплекте прилагается программа и голосовые файлы. Так как программа, ArmFile Download, не может записать одновременно более 10 файлов. То для удобства (что бы не прописывать каждый раз путь к файлам), на диск D:\ копируем папку Voice_files, с amr. файлами. И перед каждым запуском программы, для удобства, подменяем Config.ini в папке с программой ArmFile Download, прилагаемыми файлами (Config1.ini _ Config2.ini _ Config3.ini.), из папки Voice_files, переименовывая их в Config.ini.

  После того как все запрограммировали, проверяем работоспособность GSM SIM800L модуля, например программой SIM900 DIALOG. Установив в модуль sim карту, подключив к питанию, запускаем терминальную программу, звоним на номер сим карты модуля. Увидев в терминале сообщение о входящем звонке, отправляем команду ответа на звонок АТА. Когда соединение произойдет можно проиграть записанные arm. файлы, отправив в окне терминала следующее.

  Воспроизвести файл "в телефон" с уровнем громкости 90%:  AT+CREC=4,"C:\User\9.amr",0,90 (где 9.amr это номер голосового сообщения).

   Убедившись, что все голосовые сообщения нормально проигрываются. Отключаем модуль для дальнейшей сборки.

   Впаиваем на штырьках из комплекта Arduino остальные платы и рядом плату преобразователя уровней тахометра. Соединяем недостающие соединения проводниками. Так как у процессора Arduino 1й программной платы использованы все ножки, включая TX-RX, предназначенные для программирования и работы в мониторе порта, программирование при этом происходит нормально так как в Arduino присутствует загрузчик. И чтобы модуль мог корректно определять напряжение аккумуляторной батареи авто, необходимо вычислить коэффициент деления АЦП процессора, из-за разброса параметров резисторов на pin A6. Загружаем в плату скетч ACP_pin, наблюдая через монитор порта подбираем значение float m1 = ХХ.ХХ в скетче и сверяя с показанием тестера, измеряя напряжение питания модуля. Вычислив коэффициент АЦТ (ХХ.ХХ), записываем это значение в основном скетче Programs. Программируем обе платы Arduino нижнюю программную скетчем Programs (со скорректированным коэффициентом АЦП), верхнюю частотомера скетчем Frequency_meter. Подсоединяем необходимые внешние силовые реле.       

Проверяем полностью собранное устройство на столе, вместо исполнительных устройств авто подключаем тумблера, кнопки и светодиоды. В качестве источника частоты тахометра, использовал трансформатор 220/3V. Работа скетчей расписана в них самих. Подключение к авто согласно схемы конкретного автомобиля. 

ACP_pin.ino

 

 

Programs.ino

 

frequency_meter.ino

Архивные файлы с печатной платой, по адресу; https://disk.yandex.ru/d/0Okfvvu34RQPVw

vic163-163
Offline
Зарегистрирован: 06.03.2018

 

 

ACP_pin

vic163-163
Offline
Зарегистрирован: 06.03.2018

Programs

 

vic163-163
Offline
Зарегистрирован: 06.03.2018

frequency_meter

 

 

vic163-163
Offline
Зарегистрирован: 06.03.2018

Как здесь сохранить архив со всеми файлами, что бы не хранить на стороннем ресурсе, что то не найду как.

На яндексе файлы могут не долго пролежать, подчищаю иногда диск.

Спасибо.

 

b707
Offline
Зарегистрирован: 26.05.2017

vic163-163 пишет:

Как здесь сохранить архив со всеми файлами


никак
А оно надо? Уверены, что стоит выкладывать эту полурабочую поделку?
код с кучей делеев, с таймерами, которые заглючат от первого же переполнения ?

MaksVV
Offline
Зарегистрирован: 06.08.2015

и while(1) вообще гуд. На кпп механику такую поделку ставить нельзя. Уедет  

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Надеюсь до материального ущерба или уголовки не доведет никого этот проект. Просто сгинет в пучине тысяч подобных

b707
Offline
Зарегистрирован: 26.05.2017

Почему-то всех новичков тянет на ардуину именно сигналку запилить...

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

b707 пишет:

Почему-то всех новичков тянет на ардуину именно сигналку запилить...

Неправда. Меня тянуло сделать кнопку старт/стоп. Слава богу вовремя остановился, решил обойтись часами )))