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

типовой подогреватель в разрезе
типовой подогреватель в разрезе

Для работы ПП, как правило, его подключение производится к топливной, электрической и охлаждающей системе автомобиля.

Подробности конструкции ПП и принципа функционирования прилагать не буду, так как все это доступно в интернете.

Требовалось решить следующую проблему: при регулярном использовании предпускового подогревателя на автомобиле, может возникнуть ситуация, когда аккумулятор автомобиля (далее АКБ) находится в постоянно не дозаряженном состоянии, и поэтому может неожиданно подвести - к примеру при только что прогретом двигателе с помощью ПП, сил на прокрутку двигателя стартером у АКБ не осталось. Да и АКБ в таком режиме работы может досрочно выйти из строя. Усугубляет это зачастую еще и отношение владельцев автомобиля к своему автомобилю, как в нежелании следовать рекомендациям, изложенными в руководстве по эксплуатации автомобиля, так и мнением соответствующих технических специалистов.

Для этого надо было разработать контроллер, который мог при совместной работе с некоторыми моделями ПП от производителя Webasto:

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

  2. Включать вентилятор "печки" автомобиля для прогрева салона.

  3. Сбрасывать ошибки ПП, если он заблокировался по какой либо причине.

  4. быть контроллером USB – K-Line, для диагностики у управления ПП с компьютера.

  5. Периодически или по команде проверять состояния АКБ и выводить следующую информацию водителю: Напряжение, SOH (уровень жизни/Проценты ёмкости), SOC ( уровень заряда в процентах) - как на модных тестерах АКБ.

  6. Иметь возможность выполнять дополнительные какие либо дополнительные функции при соответствующем дополнении программного обеспечения.

Для более полной информации, предварительно был сделан реверс-инжиниринг ПП, и переносного тестера АКБ. Так как производители все равно не предоставляет принципиальных электрических схем (я не нашел) своих устройств к сожалению. Заодно это поможет в дальнейшем для ремонта ПП специалистами.

Этап 1 - Берем неисправный ПП (можно и новый), но в хорошем состоянии и разбираем. На плате нет маркировки, и поэтому изобретаем свою маркировку основных компонентов для платы.

Донор попавший в ремонт
Донор попавший в ремонт

Фото платы с промаркированными компонентами со стороны процессора:

Верхняя сторона платы
Верхняя сторона платы

Фото платы с обратной стороны:

Беру в руки тестер, редактор схем, пару дней и в итоге нарисовал такую схему:

Термо топ эво, схема, один из вариантов исполнения
Термо топ эво, схема, один из вариантов исполнения

Эта схема ПП, который попался мне в руки, могут быть мои ошибки, да и производители любят часто менять схемы по причине выявленных схемотехнических, компонентных или прочих производственных ошибок. Схема полезна в познавательных целях, да и другим специалистам в ремонте лишней не будет. Также приложу пару схем ПП легковых автомобилей, которые чаще попадались, и это мои рисунки (прошу - если будете критиковать, то по существу, по ГОСТу и орфографии не надо):

с какого-то ауди
с какого-то ауди

и

Термо Топ С
Термо Топ С

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

Схема насоса охлаждающей жидкости, моя версия.
Схема насоса охлаждающей жидкости, моя версия.

После этого настала очередь разобраться с протоколом работы ПП:

осциллограмма периодического обмена между ПП и пультом управления
осциллограмма периодического обмена между ПП и пультом управления

Анализирую обмен, и получая информацию как из доступных источников, так и анализируя обмен самостоятельно, получилось понять и систематизировать протокол обмена данными с данными ПП. Сразу отмечу, что по шине CAN не разбирался, в виду неактуальности. Описывать протокол и подробности работы тут буду, чтобы не занимать зря место, все будет в коде (но если надо разобрать тут - пишите).

В вкратце, обмен выглядит так, на скорости 2400 8 bit по шине K-Line:

  1. Командой будим ПП.

  2. Посылаем команду запуска ПП в работу на определенное время

  3. Периодически посылаем команду "не спать" ПП, и по необходимости читаем его состояние.

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

Для примера только приведу осциллограмму на штифте накала/датчике температуры пламени ПП в работе:

Осциллограмма на штифте накала
Осциллограмма на штифте накала

Короткими импульсами измеряется его сопротивление и соответственно определяется температура пламени, большим широким импульсом — накаливается штифт для поджига топлива. Заканчивая про ПП, добавлю, прошивки не читал, процессор не взламывал.

Этап 2:

Берем доступный и качественный тестер АКБ (какой уже был в работе):

Объект для исследования
Объект для исследования

Который при тестировании АКБ выдает на экран такую информацию:

Взято с интернета для примера с какого-то хорошего сайта с описанием
Взято с интернета для примера с какого-то хорошего сайта с описанием

И приступаем к его анализу. Вскрываем, внимательно изучаем:

Без задней крышки
Без задней крышки

и вид чуть поближе:

фото поближе, маркировка микросхем заботливо удалена
фото поближе, маркировка микросхем заботливо удалена

Каждый контакт "крокодил" тестера АКБ к аккумулятору, имеет по два провода - силовой и сигнальный, контакты медные:

вид на крокодилы, фото получше не сохранилось
вид на крокодилы, фото получше не сохранилось

и рисуем черновую схему компонентов, определяющих работу тестера АКБ.

черновая схема
черновая схема

Затем подключаем прибор к осциллографу для изучения сигналов на ключевых компонентах при его работе.

Подготовка к подключению
Подготовка к подключению

Если упрощенно, то прибор меряет напряжение АКБ и его внутреннее сопротивление. Подавая в течении 5 секунд импульсы с частотой 200 Герц с равной скважностью на силовой ключ, нагружаем АКБ на эталонный резистор. Измеряя в эти моменты напряжение на АКБ под нагрузкой и без. Эта разница напряжений на исправном аккумуляторе невелико, и перед подачей его в микроконтроллер прибора надо усилить сигнал, что и делает операционный усилитель на схеме. Четырех проводная схема подключения прибора к АКБ, позволяет компенсировать "паразитные сопротивления" на проводах и контактах, так как они могут существенно повлиять на результаты измерения. Затем, интерпретируя эти измеренные данные, и заранее предварительно внесенные данные о заявленной емкости АКБ и выбранного стандарта измерения - выдает свое мнение о состоянии АКБ. Схему усиления сигнала для измерения внутреннего сопротивления можно промоделировать примерно так:

моделирование работы измерения внутреннего сопротивления АКБ
моделирование работы измерения внутреннего сопротивления АКБ

Заодно собираем статистику показаний тестера АКБ, по мере разряда аккумулятора.

Сбор статистики
Сбор статистики

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

Первый вариант схемыПлата, вид со стороны процессора.
Первый вариант схемы.
Первый вариант схемы.
Плата, вид со стороны процессора.

-

Обратная сторона.
Обратная сторона.

Для платы был разработан пластиковый корпус

Моделирование сборки
Моделирование сборки

Результат печати на 3-Д принтере, сверху прозрачная кнопка-световод:

Корпус
Корпус

Проверка размещения платы:

Плата в корпусе
Плата в корпусе

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

Проверка дисплея
Проверка дисплея

Корпус без дисплея с разъемом USB.

Корпус в сборе
Корпус в сборе

Была проверена работа платы как при нагреве до 100 градусов Цельсия, так и при заморозке до - 40 градусов.

Проверка работы в замороженном состоянии
Проверка работы в замороженном состоянии

Это пример осциллограммы при измерении внутреннего сопротивления АКБ, сверху тестовые стробы момента фиксации сигнала на АЦП микроконтроллера с выхода операционного усилителя. Снизу сигнал на входе АЦП микроконтроллера.

Осциллограмма с выхода ОУ.
Осциллограмма с выхода ОУ.

Самая интересная задача, описание которой я никак не смог найти - это как из полученных данных о напряжении АКБ и внутреннем сопротивлении, получить информацию о его оставшихся жизненных силах, так называемом параметре SOH. Пришлось составить таблицу при разных условиях теста. Ожидал что придется искать какую либо хитрую зависимость с экспонентами, полиномами или другими хитрыми формулами:

Таблица статистики
Таблица статистики

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

bcoef1 = 2750 - константа, милливольт, варьируется от 2,71 до 2,84.

r_int_bat = вычисленное внутренне сопротивление АКБ, Ом.

По методике EN, пусковой ток (CCA) считается как 2.74 / Rint

i_pusk = ((float)bcoef1 /1000.0) / r_int_bat

i_pusk_max - ток холодного пуска, Ампер по стандарту EN (обычно указано на маркировке АКБ)

А теперь хитрый алгоритм расчета "степени здоровья" АКБ:

если i_pusk < EN, то
soh = i_pusk /(float)bat_en; //получим отношение Ipusk/EN
if(soh > 1.0) soh = 1.0; //ограничим пределы от 0 до 1
if(soh < 0.0) soh = 0.0; //ограничим пределы от 0 до 1
soh *= soh; //возведем в квадрат, вот она - тайна!
soh *= 100.0; //переведем в проценты

далее идет расчет степени заряженности АКБ
SOC = (((u_bat_out)/1000.0 - 11.8 ) / ( 12.6 - 11.8 )) * 100.0;

u_bat_out - напряжение в милливольтах на аккумуляторе без нагрузки.

11,8 - напряжение принятое за 0%.
12,7 - напряжение принятое за 100%. поэтому там где напряжение больше 12,6В везде показывается 100%.
Далее cкорректируем степень заряда аккумулятора от температуры:
в рабочем диапазоне температур зависимость почти линейная +/-
будем корректировать так:
SOC -= (20.0 - temper) - сделаем суровым методом, тут особая точность не нужна, temper - температура процессора в градусах, хотя надо задавать температуру самой АКБ.

Результаты работы программы микроконтроллера выводятся в тестовое окно терминала:

отладка
отладка

А водителю результат будет выводится на отдельно установленный двухцветный светодиод в указанное место, для принятия решения - "Хорошо", "Зарядить", "Заменить".

Проверка на реальном автомобиле. Для корректной работы контроллера на автомобиле, необходимо было проверить условия для получения корректных измерений и выяснить что может этому помешать.

Автомобиль для опытов
Автомобиль для опытов

А мешает почти все, нельзя производить тестирование АКБ при работе двигателя автомобиля, аудиосистемы, вентилятора отопителя салона.

Так выглядит осциллограмма напряжения на АКБ и сигнала на входе АЦП при запуске автомобиля, с момента включения зажигания до начала работы двигателя.

Аналогичная осциллограмма при работе вентилятора отопителя салона при выключенном зажигании.

Мешает работе вентилятор салона
Мешает работе вентилятор салона

Осциллограмма работы аудиосистемы при выключенном зажигании.

Мешает работе аудиосистема
Мешает работе аудиосистема

Алгоритм работы контроллера сделан следующий:

  1. Если подключены к USB шине компьютера - работаем как K-Line адаптер.

  2. Если есть шум от работы каких либо компонентов автомобиля на входе АЦП - просто мигаем светодиодом, выводя состояние АКБ, хорошее или плохое.

  3. Если есть команда включить ПП - выполняем процесс работы с ПП.

  4. Если есть команда сбросить ошибки ПП - выполняем.

  5. Если двигатель автомобиля не работает больше часа, и есть возможность провести тест АКБ (нет шумов) - делаем тест, и задаем новое время проведения теста через сутки. И каждые пять секунд мигаем светодиодом коротким импульсом о состоянии АКБ.

В остальное время контроллер засыпает для минимизации тока потребления. Импульсный блок питания очень экономичен, но сгорает при повышении питающего напряжения больше 24 Вольт, то есть питание от бортовой сети больше 12 Вольт не предусматривалось.

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

Проверка сброса ошибок ПП с имитацией отказов внешних компонентов ПП, работа контроллера совместно с программой диагностики от производителя:

Проверка сброса ошибок
Проверка сброса ошибок

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

Получилось, что то много как-то написано-накидано, добавлю ссылку на код, функционал там по минимуму, но то что надо есть.

Ссылка на код

Комментарии (9)


  1. Jury_78
    19.09.2023 10:02

    выдает на экран такую информацию

    На китайском и корейском все цифры больше... :)


    1. SergeyAstanin Автор
      19.09.2023 10:02

      Был также опробован и такой вывод информации, беспроводной полностью, на все четыре колеса:

      https://disk.yandex.ru/i/mYDFe0ONQE_Phw

      Есть видео в движении по дороге, но оно большое.


  1. Longenen
    19.09.2023 10:02

    Это всё конечно занимательно, но есть мнение что зря. Общеизвестно, что у легковых "автономщиков" батареи живут максимум 1 сезон, и причины тому прозаичные - максимальная мощность у автономки при запуске порядка 130 Вт, или где-то 11А@12В, пока работает свеча накала. Запуск происходит до пяти минут, что уже неприятно для стартовой АКБ, токи то фигня, а вот время работы - большое. А потом когда печка разогрелась, и де-факто работает только вентилятор и насос (40Вт), токи конечно не ахти, но увы не рассчитана стартерная батарея на такой режим работы, пластин маловато. Из личного опыта эксплутации автономки, свежей стартерной батареи 70Ач хватает на 4-6 часов в зависимости от мощности, прежде чем китайский сухой фен 5 KW выкючится по недостатку питания. Поэтому, или вы отдельную ТЯГОВУЮ батарею на автономку устанавливаете, либо возите бустер, третьего не дано.


    1. zatim
      19.09.2023 10:02

      Для стартерной батареи токи что 11А, что 3А - это ниочем. Почему вы решили что на такой лайтовый режим батарея не рассчитана?

      Про ваш личный опыт непонятно. Вы питали нагрузку 5 кВт от аккумулятора 4-6 часов?

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


    1. kAIST
      19.09.2023 10:02

      У меня на skoda yeti была установлена вебаста с завода. Заводской аккумулятор прожил 10 лет! Ну и какой запуск в 5 минут, минута не больше (у меня бензиновый вариант).


    1. SergeyAstanin Автор
      19.09.2023 10:02

      А если вы работаете например водителем в организации, и через год на новом автомобиле просите к примеру, бухгалтера, купить вам уже новый аккумулятор. Он в ответ вам укажет на документ, где: "срок службы аккумулятора 5-лет". Вам останется только ответить ему, не вслух, "жопа у вас-мое почтение....". А так есть показать - лампочка в автомобиле горит, что требуется заменить аккумулятор. Шутка конечно...


  1. Sancho_SP
    19.09.2023 10:02

    С автозапуском надо вебасту дружить и за генератором следить.

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


  1. Clevelus
    19.09.2023 10:02

    Все очень "сложно" ... У меня просто нормальная сигналка, через которую же запускаю Webasto (есть и пульт штатный, да и Websto штатно установленная, но его только при установке сигнализации использовали и с тех пор вообще не трогаю ...). И эта же сигналка запускает двигатель при просадке напряжения (а также после каждого запуска подогревателя по двум причинам: штатная логика автомобиля не дает запустить два раза подряд предпусковой, если машина не заводилась, ну и экспериментально на второй запуск аккумулятора может уже не хватить).

    И так уже три года только с этим авто ))) Ну и штатная логика авто намекает - после каждого запуска предпускового подогревателя сразу нужно запустить двигатель. А это по сути просто автозапуск как функция сигнализации (которая умеет предварительно запускать предпусковой), запуск заодно и догревает (а запускает теплый двигатель), а ты приходишь к уже заведенной машине и полностью оттаявшей.

    А для решения "поэтому может неожиданно подвести" никакие устройства "контроля" не помогут, к сожалению. Но и тут уже все придумано до нас. Нужно просто поставить второй аккумулятор, развязав его с первым реле типа УРА-200 (есть и китайские аналоги), выведя в авто кнопку подключения второго аккумулятора (реле позволяет). И тогда посадив первый аккумулятор просто нажимаешь кнопку и заводишь двигатель. Ну или держать дома ли в поездке повербанк с функцией запуска машины (у меня BERKUT JSL-20000, который иногда использовал в предыдущей машине, так как там за 8 лет аккумулятор (с такое же сигнализацией по сути) уже зимой сам по себе присаживался в сильные морозы, а менять его было лень)


  1. DGN
    19.09.2023 10:02

    Нагрузка довольно ощутимая на АКБ, если греть салон до запуска двигателя. По уму, сначало ПП греет малый круг, потом дает сигнал на автозапуск и продолжает греть, помогает движку прогреваться.