Для справки - предпусковой подогреватель (далее ПП) двигателя, это устройство, позволяющее прогреть двигатель внутреннего сгорания транспортного средства для облегчения его запуска, не запуская сам двигатель. И в некоторых случаях, дополнительно для прогрева воздуха в салоне транспортного средства и еще кое чего (особенно если у вас "Тесла" или иной электромобиль в Сибири - далеко не самые редкие посетители дизельной колонки на заправке :) ).
Для работы ПП, как правило, его подключение производится к топливной, электрической и охлаждающей системе автомобиля.
Подробности конструкции ПП и принципа функционирования прилагать не буду, так как все это доступно в интернете.
Требовалось решить следующую проблему: при регулярном использовании предпускового подогревателя на автомобиле, может возникнуть ситуация, когда аккумулятор автомобиля (далее АКБ) находится в постоянно не дозаряженном состоянии, и поэтому может неожиданно подвести - к примеру при только что прогретом двигателе с помощью ПП, сил на прокрутку двигателя стартером у АКБ не осталось. Да и АКБ в таком режиме работы может досрочно выйти из строя. Усугубляет это зачастую еще и отношение владельцев автомобиля к своему автомобилю, как в нежелании следовать рекомендациям, изложенными в руководстве по эксплуатации автомобиля, так и мнением соответствующих технических специалистов.
Для этого надо было разработать контроллер, который мог при совместной работе с некоторыми моделями ПП от производителя Webasto:
Дистанционно управлять ПП от автомобильной сигнализации (не все сигнализации могут это делать, и требовалось исключить ковыряние в пультах управления ПП).
Включать вентилятор "печки" автомобиля для прогрева салона.
Сбрасывать ошибки ПП, если он заблокировался по какой либо причине.
быть контроллером USB – K-Line, для диагностики у управления ПП с компьютера.
Периодически или по команде проверять состояния АКБ и выводить следующую информацию водителю: Напряжение, SOH (уровень жизни/Проценты ёмкости), SOC ( уровень заряда в процентах) - как на модных тестерах АКБ.
Иметь возможность выполнять дополнительные какие либо дополнительные функции при соответствующем дополнении программного обеспечения.
Для более полной информации, предварительно был сделан реверс-инжиниринг ПП, и переносного тестера АКБ. Так как производители все равно не предоставляет принципиальных электрических схем (я не нашел) своих устройств к сожалению. Заодно это поможет в дальнейшем для ремонта ПП специалистами.
Этап 1 - Берем неисправный ПП (можно и новый), но в хорошем состоянии и разбираем. На плате нет маркировки, и поэтому изобретаем свою маркировку основных компонентов для платы.
Фото платы с промаркированными компонентами со стороны процессора:
Фото платы с обратной стороны:
Беру в руки тестер, редактор схем, пару дней и в итоге нарисовал такую схему:
Эта схема ПП, который попался мне в руки, могут быть мои ошибки, да и производители любят часто менять схемы по причине выявленных схемотехнических, компонентных или прочих производственных ошибок. Схема полезна в познавательных целях, да и другим специалистам в ремонте лишней не будет. Также приложу пару схем ПП легковых автомобилей, которые чаще попадались, и это мои рисунки (прошу - если будете критиковать, то по существу, по ГОСТу и орфографии не надо):
и
Приведенные схемы, были интересны мне своими схемотехническими решениями, инженеры тоже любят красивые решения и пошутить тоже. И добавлю еще схему многострадальных насосов охлаждающей жидкости, которые часто забиваются от разложившегося некачественного антифриза, продуктами дичайшей коррозии блоков двигателей некоторых китайских и отечественных двигателей, ну и прочим мусором, который даже иногда представить трудно:
После этого настала очередь разобраться с протоколом работы ПП:
Анализирую обмен, и получая информацию как из доступных источников, так и анализируя обмен самостоятельно, получилось понять и систематизировать протокол обмена данными с данными ПП. Сразу отмечу, что по шине CAN не разбирался, в виду неактуальности. Описывать протокол и подробности работы тут буду, чтобы не занимать зря место, все будет в коде (но если надо разобрать тут - пишите).
В вкратце, обмен выглядит так, на скорости 2400 8 bit по шине K-Line:
Командой будим ПП.
Посылаем команду запуска ПП в работу на определенное время
Периодически посылаем команду "не спать" ПП, и по необходимости читаем его состояние.
По истечении заданного времени работы, когда ПП остановил работу, перестаем его опрашивать.
Для примера только приведу осциллограмму на штифте накала/датчике температуры пламени ПП в работе:
Короткими импульсами измеряется его сопротивление и соответственно определяется температура пламени, большим широким импульсом — накаливается штифт для поджига топлива. Заканчивая про ПП, добавлю, прошивки не читал, процессор не взламывал.
Этап 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 - температура процессора в градусах, хотя надо задавать температуру самой АКБ.
Результаты работы программы микроконтроллера выводятся в тестовое окно терминала:
А водителю результат будет выводится на отдельно установленный двухцветный светодиод в указанное место, для принятия решения - "Хорошо", "Зарядить", "Заменить".
Проверка на реальном автомобиле. Для корректной работы контроллера на автомобиле, необходимо было проверить условия для получения корректных измерений и выяснить что может этому помешать.
А мешает почти все, нельзя производить тестирование АКБ при работе двигателя автомобиля, аудиосистемы, вентилятора отопителя салона.
Так выглядит осциллограмма напряжения на АКБ и сигнала на входе АЦП при запуске автомобиля, с момента включения зажигания до начала работы двигателя.
Аналогичная осциллограмма при работе вентилятора отопителя салона при выключенном зажигании.
Осциллограмма работы аудиосистемы при выключенном зажигании.
Алгоритм работы контроллера сделан следующий:
Если подключены к USB шине компьютера - работаем как K-Line адаптер.
Если есть шум от работы каких либо компонентов автомобиля на входе АЦП - просто мигаем светодиодом, выводя состояние АКБ, хорошее или плохое.
Если есть команда включить ПП - выполняем процесс работы с ПП.
Если есть команда сбросить ошибки ПП - выполняем.
Если двигатель автомобиля не работает больше часа, и есть возможность провести тест АКБ (нет шумов) - делаем тест, и задаем новое время проведения теста через сутки. И каждые пять секунд мигаем светодиодом коротким импульсом о состоянии АКБ.
В остальное время контроллер засыпает для минимизации тока потребления. Импульсный блок питания очень экономичен, но сгорает при повышении питающего напряжения больше 24 Вольт, то есть питание от бортовой сети больше 12 Вольт не предусматривалось.
Контроллер монтировался в непосредственной близости от АКБ, и подключался к нему по четырехпроводной схеме непосредственно на клеммы АКБ (силовые и сигнальные провода на клемме зажимались не касаясь друг друга), и спокойно переживал тяготы и лишения, находясь под капотом рядом с двигателем.
Проверка сброса ошибок ПП с имитацией отказов внешних компонентов ПП, работа контроллера совместно с программой диагностики от производителя:
Проект к сожалению не был доведен до конца, сначала Ковид, взлет цен на компоненты и их дефицит, а потом и вообще пошло-поехало. Остался только задел готовых плат на будущее. Решил все это написать, может кому-то будет познавательно. Сейчас занимаюсь более серьезными проектами.
Получилось, что то много как-то написано-накидано, добавлю ссылку на код, функционал там по минимуму, но то что надо есть.
Комментарии (9)
Longenen
19.09.2023 10:02Это всё конечно занимательно, но есть мнение что зря. Общеизвестно, что у легковых "автономщиков" батареи живут максимум 1 сезон, и причины тому прозаичные - максимальная мощность у автономки при запуске порядка 130 Вт, или где-то 11А@12В, пока работает свеча накала. Запуск происходит до пяти минут, что уже неприятно для стартовой АКБ, токи то фигня, а вот время работы - большое. А потом когда печка разогрелась, и де-факто работает только вентилятор и насос (40Вт), токи конечно не ахти, но увы не рассчитана стартерная батарея на такой режим работы, пластин маловато. Из личного опыта эксплутации автономки, свежей стартерной батареи 70Ач хватает на 4-6 часов в зависимости от мощности, прежде чем китайский сухой фен 5 KW выкючится по недостатку питания. Поэтому, или вы отдельную ТЯГОВУЮ батарею на автономку устанавливаете, либо возите бустер, третьего не дано.
zatim
19.09.2023 10:02Для стартерной батареи токи что 11А, что 3А - это ниочем. Почему вы решили что на такой лайтовый режим батарея не рассчитана?
Про ваш личный опыт непонятно. Вы питали нагрузку 5 кВт от аккумулятора 4-6 часов?
Проблема с аккумуляторами зимой лежит в иной плоскости - химической. Как и любая химия, при пониженных температурах она существенно замедляется. Преобразование химической энергии в электрическую также замедляется. Хотя запасенная энергия из аккумулятора никуда не девается, она по-прежнему запасена в нем. При нагреве аккумулятора он снова оживает. Это необходимо учитывать при использовании химических источников тока.
kAIST
19.09.2023 10:02У меня на skoda yeti была установлена вебаста с завода. Заводской аккумулятор прожил 10 лет! Ну и какой запуск в 5 минут, минута не больше (у меня бензиновый вариант).
SergeyAstanin Автор
19.09.2023 10:02А если вы работаете например водителем в организации, и через год на новом автомобиле просите к примеру, бухгалтера, купить вам уже новый аккумулятор. Он в ответ вам укажет на документ, где: "срок службы аккумулятора 5-лет". Вам останется только ответить ему, не вслух, "жопа у вас-мое почтение....". А так есть показать - лампочка в автомобиле горит, что требуется заменить аккумулятор. Шутка конечно...
Sancho_SP
19.09.2023 10:02С автозапуском надо вебасту дружить и за генератором следить.
При нормально работающей зарядке достаточно при просадке напряжения запускать двигатель на некое расчетное время, затем глушить.
Clevelus
19.09.2023 10:02Все очень "сложно" ... У меня просто нормальная сигналка, через которую же запускаю Webasto (есть и пульт штатный, да и Websto штатно установленная, но его только при установке сигнализации использовали и с тех пор вообще не трогаю ...). И эта же сигналка запускает двигатель при просадке напряжения (а также после каждого запуска подогревателя по двум причинам: штатная логика автомобиля не дает запустить два раза подряд предпусковой, если машина не заводилась, ну и экспериментально на второй запуск аккумулятора может уже не хватить).
И так уже три года только с этим авто ))) Ну и штатная логика авто намекает - после каждого запуска предпускового подогревателя сразу нужно запустить двигатель. А это по сути просто автозапуск как функция сигнализации (которая умеет предварительно запускать предпусковой), запуск заодно и догревает (а запускает теплый двигатель), а ты приходишь к уже заведенной машине и полностью оттаявшей.
А для решения "поэтому может неожиданно подвести" никакие устройства "контроля" не помогут, к сожалению. Но и тут уже все придумано до нас. Нужно просто поставить второй аккумулятор, развязав его с первым реле типа УРА-200 (есть и китайские аналоги), выведя в авто кнопку подключения второго аккумулятора (реле позволяет). И тогда посадив первый аккумулятор просто нажимаешь кнопку и заводишь двигатель. Ну или держать дома ли в поездке повербанк с функцией запуска машины (у меня BERKUT JSL-20000, который иногда использовал в предыдущей машине, так как там за 8 лет аккумулятор (с такое же сигнализацией по сути) уже зимой сам по себе присаживался в сильные морозы, а менять его было лень)
DGN
19.09.2023 10:02Нагрузка довольно ощутимая на АКБ, если греть салон до запуска двигателя. По уму, сначало ПП греет малый круг, потом дает сигнал на автозапуск и продолжает греть, помогает движку прогреваться.
Jury_78
На китайском и корейском все цифры больше... :)
SergeyAstanin Автор
Был также опробован и такой вывод информации, беспроводной полностью, на все четыре колеса:
https://disk.yandex.ru/i/mYDFe0ONQE_Phw
Есть видео в движении по дороге, но оно большое.