Автор предлагает усовершенствовать систему охлаждения двигателя с целью уменьшения нагрузки на бортовую сеть рациональным снижением оборотов электродвигателя вентилятора на малой скорости движения и его выключения при скорости движения более 40 км/ч установкой дополнительного блока, доступного для повторения большинству автолюбителей.

В жаркое время года при малой скорости движения автомобиля, в пробках его двигатель работает в условиях повышенных температур. Периодическое включение электродвигателя вентилятора (ЭДВ) системы охлаждения на полную мощность с последующим выключением снижает температуру двигателя, но не намного и не надолго. ЭДВ включается при температуре 93 °С охлаждающей жидкости в радиаторе, а отключается при 87 °С. Поскольку на малой скорости, тем более в пробках, обдув радиатора встречным потоком воздуха мал или отсутствует, двигатель автомобиля быстро нагревается после отключения ЭДВ. Происходит частое включение ЭДВ, ток потребления которого 7,5 А. Кроме того, коленвал вращается на малых оборотах, а значит, электрогенератор не способен отдать полную мощность (ток) в бортовую сеть. Поэтому часть нагрузки берёт на себя аккумулятор, что приводит его к нежелательной разрядке.

Предлагаемый блок управления вентилятором системы охлаждения решает эти проблемы. При скорости движения автомобиля меньше 40 км/ч блок управления включает ЭДВ только на треть мощности, снижая нагрузку на бортовую сеть. Это значение определено экспериментальным путём. В таком режиме температура двигателя автомобиля находится в интервале 85...89 °С, а ток, потребляемый электродвигателем вентилятора, - 2,5 А. В салоне шум от включённого ЭДВ становится не слышен. При скорости автомобиля более 40 км/ч ЭДВ отключается, поскольку встречного потока воздуха достаточно для нормального охлаждения радиатора. Контроль температуры производился бортовым компьютером Штат Unikomp 400L.

Схема блока управления приведена на рис. 1. Импульсы напряжения с датчика скорости (ДС), установленного в коробке передач, поступают на выпрямитель на элементах С1, VD1, VD2, R1, С2, R2. От импульсов напряжения с ДС заряжается конденсатор С2 на выходе выпрямителя. Чем выше скорость, тем до большего постоянного напряжения он заряжается. Это напряжение, пропорциональное скорости, через дополнительную интегрирующую цепь R7C3 поступает на неинвертирую-щий вход (вывод 2) компаратора DA1. Конденсатор С1 гальванически развязывает вход компаратора от сигнала с датчика Холла, установленного в ДС, когда магнит на валу ДС окажется напротив датчика Холла при неподвижном автомобиле. На инвертирующий вход (вывод 3) компаратора DA1 с движка резистора R4 через резистор R6 поступает образцовое напряжение около 3 В.

При скорости автомобиля менее 40 км/ч напряжение на неинвертирую-щем входе компаратора меньше, чем на инвертирующем. На его выходе (вывод 7) установится напряжение низкого уровня. Вывод 1 (-U) таймера DA2 подключается к общему проводу. На выходе таймера (вывод 3) появляется импульсное напряжение со скважностью 1,5 и периодом следования 4 мс, которое подаётся на затвор транзистора VT1. Электродвигатель вентилятора включается на треть мощности.

При скорости более 40 км/ч напряжение на неинвертирующем входе компаратора больше, чем на инвертирующем. На его выходе установится высокий уровень напряжения. Таймер будет обесточен и на его выходе также установится высокий уровень напряжения, транзистор VT1 закроется. ЭДВ перестанет вращаться, но для продувки радиатора охлаждения, чтобы двигатель автомобиля не перегревался, будет достаточно встречного потока воздуха.

Напряжение на движке резистора R4 определяет порог переключения компаратора. Больше напряжение - при большей скорости произойдёт отключение обдува радиатора, и наоборот.

Напряжение питания +14 В на блок подаётся с вывода "61" электрогенератора. Обозначения контактов даны в соответствии со схемой модели ВАЗ-21074. Этим же напряжением питается его обмотка возбуждения. Напряжение на этом выводе появляется только после запуска двигателя автомобиля. При неработающем двигателе и его запуске стартёром обратно смещённый диод VD4 и резистор R11 блокируют гальваническую связь затвора VT1 с общим проводом. Транзистор VT1 надёжно закрыт, ЭДВ отключён. Свечение светодиода HL1 информирует о включении ЭДВ. Светодиод и резистор R12 монтируются вне блока и показаны на схеме красным цветом.

Печатная плата выполнена из одностороннего фольгированного стеклотекстолита размерами 50x55 мм. Чертёж платы и расположение элементов на ней показаны на рис. 2. Печатные проводники цепей стока и истока транзистора VT1 необходимо продублировать отрезком медной проволоки диаметром 0,8...1 мм. Применены резисторы МЛТ, ОМЛТ или импортные. Конденсатор С4 - К50-35 или импортный, остальные - керамические, например, серии КМ. Микросхема DA2 КР1006ВИ1 - импортный аналог NE555. Стабилитрон КС207В (VD3) заменим любым маломощным на напряжение 12 В. Диод VD6 - любой, рассчитанный на прямой ток не менее 10 А и напряжение 50 В. Транзистор VT1 - мощный, с сопротивлением открытого канала не более 0,02 Ом, напряжением сток-исток более 50 В. ХР1, ХР2 - клеммы ножевые "вилка". Корпус РН14.121.3702 взят от регулятора напряжения автомобиля ВАЗ-2106. Печатная плата разработана под этот корпус. Алюминиевое основание корпуса служит теплоотводом для транзистора VT1. При сборке необходимо установить изолирующую прокладку между корпусом и транзистором. Электрический контакт общего провода печатной платы с корпусом осуществляется через два крепёжных винта МЗ, прижимающих транзистор к алюминиевому основанию.

Из корпуса выведены четыре провода. Два коротких провода сечением 0,5...1 мм2 с клеммами ножевыми "вилка" на концах припаяны: один - к контакту ДС, другой - к контакту G "61" (+14 В) печатной платы (рис. 2). Через ответные клеммы "розетка" двумя проводами нужной длины их необходимо подключить соответственно к выходу датчика скорости и плюсовой клемме генератора G "61". Ещё два провода сечением 1,5 мм.2 нужной длины через клеммы ножевые "розетка" провести от ХР1 до плюсовой клеммы аккумуляторной батареи, а от ХР2 - до красного провода питания +ЭДВ "ХТ1-1". В разрыв провода, идущего к плюсовой клемме, установить плавкую вставку (FU1-15 А) в держателе.

Смонтированный блок устанавливают на левом крыле автомобиля в удобном месте. При этом необходимо обеспечить надёжный электрический контакт основания корпуса блока с корпусом автомобиля, а выведенные четыре провода укрепить на корпусе. Светодиод HL1 встраивают, например, в шкалу указателя температуры двигателя. Вывод катода подключают отрезком изолированного провода в удобном месте к корпусу автомобиля. Один вывод резистора R12 припаивают к аноду светодиода и изолируют место пайки отрезком термоусадочной трубки. К другому выводу резистора припаивают отрезок провода сечением 0,5...0,75 мм2, место пайки изолируют аналогично. Свободный конец провода соединяют с проводом, идущим от ХР2 до красного провода питания +ЭДВ "ХТ1-1".

Собранный и установленный блок необходимо наладить. Для этого потребуется провести временный провод от точки соединения конденсатора С2 с резисторами R1, R2, R7 блока в салон автомобиля. Далее подключить к этому проводу плюсовой щуп мультиметра. Минусовый щуп соединить с корпусом автомобиля. На скорости автомобиля 40 км/ч измерить напряжение, затем это же напряжение выставить на движке резистора R4 в блоке при работающем двигателе, после чего удалить временный провод. Обороты электродвигателя вентилятора можно скорректировать подбором резистора R9, если в этом появится необходимость.

После установки данного блока температура двигателя автомобиля не поднималась выше 90 °С даже в жаркое время года и находилась при спокойном стиле вождения в интервале 85...89 °С. ЭДВ ни разу не включался от штатной системы охлаждения на полную мощность.

В процессе эксплуатации транспортного средства происходит нагревание двигателя. Чтобы предотвратить перегрев силового агрегата, автомобили оборудованы системой охлаждения. Главная деталь, которая обеспечивает обдув мотора и жидкости в радиаторе - это вентилятор системы охлаждения двигателя.

Приводное устройство вентилятора

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

Механический

Вращение на шкив от коленчатого вала через ременную передачу. Это простейшая установка, которая находится в постоянном зацеплении с коленвалом. Недостаток такого механизма в том, что для постоянного вращения вентилятора охлаждения радиатора ДВС затрачивает много полезной энергии.

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

Гидромеханичиеский

Это приводное устройство, работающее от разницы давления в муфте. Муфты бывают двух типов: гидравлическая и вязкостная. Частота вращения последнего равна входным оборотам коленчатого вала. Поэтому, для сохранения крыльчатки и лопастей при высоких оборотах мотора используют вязкостную муфту.

Как она работает

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

Гидравлическая конструкция работает в зависимости от изменения объема масла. Момент блокировки не зависит от частоты вращения коленвала. В режиме высоких оборотов ДВС муфта не дает крыльчатки разгонятся, предохраняя ее от разрушения. Первоначальной задачей системы управления вентилятором является удерживать оптимальные обороты необходимые для эффективного охлаждения.

Электронное приводное устройство

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

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

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

Методы управление вентилятором системы охлаждения двигателя:

  • термовыключатель;
  • блок управления.

Технические показатели.

Термовыключатель использовался на ранних этапах производства автомобилей. По показателям с датчика температуры в радиаторе, механизм определяет, включится или отключится вентилятор охлаждения двигателя. В агрегатах с термовыключателя вентилятор системы охлаждения двигателя работает в узком температурном диапазоне. Включается вентилятор охлаждения при прогреве блока до 85 С°, отключение происходит при остывании до 70 С°.

Принцип работы механизма

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

Схема управления с ЭБУ

Чтобы узнать, как работает вентилятор охлаждения двигателя с ЭБУ, необходимо ознакомится с ее строением.

Стандартное электронное управление состоит из таких элементов:

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

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

Для более точного определения режима работы движка установлены модуль частоты вращения и воздухомер. Показания с датчиков поступают на центральный блок. ЦБ обрабатывает информацию и задает программу работы на реле.

Сохранность системы охлаждения

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

Перегрузку получают такие элементы:

  • генератор, аккумуляторная батарея, электропроводка;
  • детали крепления, подшипники;
  • датчики температуры, вследствие эффекта термокачки.

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

Известно несколько способов плавного включения вентилятора охлаждения двигателя самостоятельно.

  1. Установить в свой радиатор датчик охлаждения с более низкой температурой срабатывания.

Особенности функционирования штатного устройства:

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

Хорошую производительность обеспечит невысокие обороты привода и плавное срабатывание.

  1. Установка кнопки принудительного обдува. Такой способ позлит водителю самостоятельно решать, когда включится вентилятор охлаждения двигателя. Такое решение поддерживает стабильную температуру ОЖ и сохраняет систему от резкого скачка напряжения. Это обеспечивается благодаря установке дополнительного реле с большим сопротивлением.
  2. Монтаж генератора пуска. Метод подходит для водителей, которые знакомы с устройством электрики и методами пайки. Регулятор придется переделать индивидуально для автомобиля и установить в цепь питания устройства. Как работает генератор: после подачи напряжения на устройство, для определения момента открытия затвора, ток проходит через драйвер транзисторов, диоды и конденсатор. Величина и плавность открытия заслонки зависит от емкости конденсатора. Инструкции по подключению можно найти на форумах.
  3. Эффективный, но дорогостоящий вариант - это установить блок управления. Его эффективность заключается в постепенном изменении оборотов электромотора в зависимости от изменения температуры ОЖ.

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

Управление вентилятором охлаждения выполняет две задачи :

  1. предотвращение перегрева мотора;
  2. охлаждение фреона в конденсаторе.

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

Неисправность блока управления

Одна из бед системы охлаждения - выход из строя вентилятором охлаждения, что не даёт сработку вентилятора и вызывает перегрев мотора, а при использовании кондиционера - перегрев фреона, повышение давления, а в результате повреждение системы кондиционирования.

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

Управление вентилятором охлаждения не подразумевает , но отремонтировать его можно. Два слабых места это полевые транзисторы IRF477. Они N-канальные транзисторы с напряжением 450В и током 8,8А. При ремонте заменяются на IRF640, так как в продаже 477-ые встречаются редко и их сложно найти в магазинах.

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

Ремонт блока управления

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

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

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

После подачи питания вентилятор не должен крутиться, а при замыкании управляющего провода на «–» должен крутиться на средних оборотах. С помощью имитатора, легко регулировать скорость вращения во всем диапазоне.

На схеме не указано - VD3 - КС522

Измеренная температура двигателя отображается в диапазоне от 0 до 99 градусов. Если температура ниже нуля градусов, то на дисплее высвечивается Lo (низкая), а когда больше 99 градусов - высвечивается Hi (высокая). Хотя предел индикации 99 градусов, термометр все равно продолжает измерять температуру. Как только температура дойдет до 110 градусов (что для двигателя мерседеса считается нормально, он не кипит при такой температуре) - то на дисплее будет высвечено Ot (перегрев). А на выходе RA4 микроконтроллера появляется сигнал логического 0 - ошибка, этот сигнал можно использовать для включения светодиода в салоне, или для управления бипером. Сигнал на RA4 будет сброшен только после выключения зажигания, снижение температуры двигателя никакого влияния на этот сигнал уже не окажет. При температуре ниже 40 градусов будет включен подогреватель впускного коллектора. Аналогично при температуре 89 градусов будет включен вентилятор охлаждения. Чтобы снизить нагрузку на аккумулятор, устройство имеет вход который соединяется с реле стартера. Когда включен стартер, не зависимо от температуры двигателя, выключаются вентилятор и подогреватель, как только стартер будет выключен, ветилятор и подогреватель включаться согласно измеренной температуры.

Сам термометр-термостат собран на печатной плате и размещен в пластиковом корпусе. Корпус закреплен двумя саморезами прямо в моторном отсеке. Размещать прибор нужно так, чтобы он был максимально удален от высоковольтных проводов зажигания и других силовых проводов, а также как можно дальше от горячих деталей двигателя. Очень желательно применить микроконтроллер в расширенном температурным исполнением - PIC16F628A-E/P, но можно и в промышленном - PIC16F628A-I/P. Плата разработана под сдвоенный светодиодный индикатор фирмы Bright LED - BD-A816RD. По большому счету индикатор в этом устройстве и не нужен, но я его установил, чтобы не было устройство совсем простым, а так же, чтобы прямо под капотом можно увидеть температуру двигателя. Микросхемный стабилизатор 7805 нужно установить на малогабаритный радиатор - полоску алюминия. Электролитические конденсаторы нужно выбирать из морозостойких экземпляров.

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

Решил рассказать об одной своей давней микроконтроллерной разработке (2006 год), сделанной для плавного управления электровентилятором охлаждения двигателей переднеприводных моделей ВАЗа.

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

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

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

1. Алгоритм работы устройства предполагался следующий: измерялось напряжение на штатном датчике температуры двигателя; по достижении нижней пороговой температуры вентилятор начинал крутится на минимальных оборотах, и в случае дальнейшего роста линейно увеличивал скорость вращения вплоть до 100% в тот момент, когда по мнению ЭСУД (контроллера управления двигателем), пора бы включать вентилятор на полную мощность.
То есть, величина температуры, соответствующая 100% включению могла быть получена при первом включении устройства, т.к. оно имеет вход, соответствующий выводу обмотки штатного реле.
Нижний порог в первой версии нужно было каким-то образом установить, проведя таким образом через две точки линейную характеристику регулирования.

0. При токах порядка 20А очевидно, что для плавного регулирования применяется ШИМ, а в качестве ключевого элемента - мощный полевик.

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

2. Решением для п.1 может являться либо применение драйвера полевика, либо работа на низкой частоте ШИМ.
В отличие от аналогов, из соображений компактности и помехозащищенности был выбран вариант с низкой частотой ШИМ - всего 200 Гц.

4. Программирование порога включения устройства должно быть либо очень простым, либо быть полностью автоматическим. Изначально в устройстве был установлен геркон, поднесением магнита к которому сквозь корпус программировался нижний порог (значение естественно, запоминалось в EEPROM). Верхний порог устанавливался сам в момент первого импульса от контроллера ЭСУД.
В дальнейшем я придумал и реализовал алгоритм полностью автоматической установки порогов, основанный на нахождении термостабильной точки двигателя (точки срабатывания термостата) в условиях отсутствия насыщения по теплопередаче радиатор-воздух.

5. Устройство должно предоставлять диагностику пользователю. Для этого был добавлен светодиод, который промаргивал в двоичном коде два байта - текущий код АЦП и слово флагов состояния.

Устройство было собрано частично навесным монтажом прямо на выводах бывшего реле, частично на подвернувшейся откуда-то печатной платке.
Силовой MOSFET выводом стока был припаян прямо к ламелю вывода реле, что увеличило запас по рассеиваемой мощности. Устройство без глюков проработало на ВАЗ-2112 c 2006 по 2010 год, когда я его снял перед продажей, и побывало не только в холодном питерском климате, но и на горных крымских дорогах (да еще на машине в наддувном варианте - стоял у меня на впуске приводной компрессор), несмотря на монтаж уровня прототипа и контроллер в панельке.

Вот оригинальная схема (рисовал только на бумаге):

А это вид устройства изнутри:

Устройство было повторено несколькими людьми, один из них (офф-роудер Геннадий Оломуцкий из Киева) применил его на УАЗе, нарисовав схему в sPlan и разведя печатную плату - в его варианте это выглядит так:

А вот кусок из переписки с одним из повторивших этот девайс - в нем впервые детально выписан алгоритм (!) - до этого писал прямо из мозга в ассемблер:
Теперь идея и реализация собственно алгоритма автоустановки (все шаги ниже соответствуют неустановленным порогам):

1. Ждем сигнала включения вентилятора от ЭСУД (либо от датчика температуры в радиаторе в варианте Геннадия)
2. Запоминаем температуру в момент появления сигнала как T1 (реально запоминается код канала АЦП оцифровки сигнала датчика - назовем его C1)
3. Включаем вентилятор на 100%. Ставим флаг «режим автоустановки активен (бит 3)»
4. Через 3 секунды считываем код АЦП (назовем его C1"). Это действие нужно для того, чтобы определить величину компенсации значения температуры из-за влияния тока, протекающего через вентилятор, и вызванного им падения напряжения в измерительной цепи, на оцифрованное значение температуры. Реально за 3 секунды мотор не успевает охладиться, зато вентилятор стартует и выходит на номинальный ток.
5. Вычисляем коррекцию АЦП для 100% мощности вентилятора (назовем ее K100 = C1 - C1"). Запоминаем К100.
6. Ждем снятия сигнала включения вентилятора от ЭСУД (либо отключения датчика в радиаторе).
7. Плавно снижаем мощность с 75% до 12% примерно на 1.5% в секунду.
8. Выключаем вентилятор, ждем 60 секунд.
9. Запоминаем температуру как T2 (код АЦП С2).
10. Корректируем нижний порог (увеличиваем на 1/8 разницы между верхним и нижним), для того, чтобы он был выше термостабильной точки термостата. T2 = T2 + (T1 - T2) / 8. В кодах АЦП это C2 = C2 - (C2 - C1) / 8, т.к. напряжение на датчике с ростом температуры падает.
11. Сохраняем C1, C2, K100 во внутреннем EEPROM реле.
12. Устанавливаем флаг «пороги установлены» (бит 5), снимаем флаг «режим автоустановки активен», выходим из режима автоустановки в рабочий режим

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

Во время автоустановки реле воспринимает сигнал с геркона в течение шагов 7 и 8 - поднесение магнита к реле в эти моменты вызывает последовательность шагов 9, 11, 12. Коррекция порога на шаге 10 при этом не производится).

Если во время автоустановки нарушились некоторые ожидаемые реле условия, устанавливается флаг «ошибка автоконфигурации (бит 4)» и реле выходит из режима автоустановки. Чтобы реле опять смогло войти в этот режим по условию шага 1, надо выключить и включить питание реле.

Ошибки ловятся такие:
Шаг 2 - значение АЦП вне диапазона (слишком низкое или высокое). Диапазон автоконфигурации по коду АЦП 248..24 (11111000...00011000). В этом случае реле просто не входит в режим автоконфигурации без установки флага ошибки.
Шаг 4 - в течение времени ожидания 3 секунд обнаружено снятие внешнего сигнала включения вентилятора.
Шаг 7 - во время снижения оборотов обнаружен активный внешний сигнал включения вентилятора Шаг 8 - во время ожидания обнаружен активный внешний сигнал включения вентилятора Шаг 11 - установленные пороги вне диапазона 248..24, либо разница C2 - C1 < 4 (то есть они слишком близко друг к другу, либо по какой-то причине C2 > C1 - например, когда вентилятор на самом деле не срабатывает, и температура продолжает расти)

Теперь рабочий режим:

Расчет требуемой мощности (Preq)
1. Если внешний сигнал активен - Preq = 100% 2. Если неактивен, то смотрится текущий код АЦП © и соответствующая ему температура T:
T < T2 (C > C2): Preq = 0%
T > T1 (C < C1): Preq = 100%
T2 <= T <= T1 (C2 >= C >= C1): Preq = Pstart + (100% - Pstart) * (C2 - C) / (C2 - C1), где Pstart = начальная мощность (12%)

При этом, требуемая мощность не сразу подается на вентилятор, а проходит через алгоритм плавного разгона и органичения частоты пуска/останова вентилятора.
Этот алгоритм работает только в рабочем режиме и при отсутствии внешнего сигнала включения:
Пусть Pcurr - текущая мощность вентилятора
1. Если Pcurr > 0 и Preq = 0, либо Pcurr = 0 и Preq > 0 - то есть требуется запуск остановленного или останов работающего вентилятора, то:
- Смотрится время находжения вентилятора в данном состоянии (запущен или остановлен). Если время меньше порога - состояние вентилятора не меняется.
- При этом, если Pcurr > Pstart и Preq = 0, то на остаток времени запущенного состояния устанавливается Pcurr = Pstart (то есть вентилятор крутится на минимальных оборотах) 2. Если п.1 не выполняется, либо время нахождения в состоянии прошло, то:
- Если Preq < Pcurr, то устанавливается Pcurr = Preq (то изменение скорости вращения в сторону снижения происходит сразу, как рассчитано новое значение)
- Если Preq > Pcurr, то набор скорости вращения ограничивается сверху величиной примерно 1.5% в секунду (кроме случая, когда включение вентилятора запрашивается внешним сигналом) - то есть если Preq - Pcurr > Pdelta, то Pcurr = Pcurr + Pdelta, иначе Pcurr = Preq

При расчете мощности используется усредненное значение кода текущей температуры С (см. Расчет требуемой мощности), получаемое средним арифметическим последних 8 значений Сm1, Cm2, Cm3… Cm8. Усреднение происходит методом «скользящего окна» - то есть помещение нового значения в буфер из 8 значений выталкивает наиболее старое и вызывает пересчет среднеарифметического С. Цикл АЦП (и пересчет среднего) происходит каждые 640 мс.
«Сырое» (считанное из АЦП) значение Cadc, прежде чем попадет в буфер подсчета, участвует в следующем алгоритме:
1. Проверяется, что Cadc > Cdisc, где Cdics - макс. Значение АЦП для неподключенного измерительного вывода.
2. Если Cadc > Cdisc, то выставляется флаг «датчик не подключен (бит 6)», значение не попадает в буфер 8 последних значений, и пересчет среднего не выполняется.
3. Если Cadc >= Cdisc - то есть датчик подключен, то Сadc корректируется на определенную величину в зависимости от текущей мощности вентилятора и величины коррекции для 100% мощности (см. шаг 4 алгоритма автоустановки): Cadc = Cadc + Кcurr, где Кcurr = К100 * (Pcurr / 100%). Если при этом Кcurr > 0, то устанавливается флаг «значение АЦП скорректировано (бит 7)». Алгоритм коррекции работает только в рабочем режиме и не работает в режиме автоконфигурации.
4. Выполняется ограничение отрицательной динамики Cadc, чтобы подавить резкие снижения С из-за импульсной нагрузки в общих с датчиком температуры цепях питания автомобиля: Если C - Cadc > Сdelta, то Cadc = C - Cdelta. Ограничение не работает в течение первых 15 секунд после включения зажигания, для того, чтобы в буфере значений быстро сформировались правильные значения Cm1, Cm2...Cm8.
5. Скорректированное по мощности и динамике значение Cadc заталкивается в буфер значений для усреднения как Cm1..Cm8 в зависимости от текущего значения указателя головы буфера (буфер циклический, указатель головы принимает значения от 1 до 8).

Теперь про диагностику светодиодом:

Первый байт - это «сырой» код АЦП (в ранних версиях здесь индицировалось среднее значение C) Второй байт - слово состояния Между первым и вторым байтом пауза порядка 1.5 секунд.
Между циклами индикации пауза 3-4 секунды.
Байты индицируются побитно, начиная со старшего (бит 7, бит 6,… бит 0).
Длинная вспышка соответствует биту, установленному в «1», короткая - в «0».

Расшифровка слова состояния:
Бит 7 - значение АЦП откорректировано по текущей мощности вентилятора
Бит 6 - датчик температуры не подключен
Бит 5 - пороги установлены
Бит 4 - ошибка установки порогов
Бит 3 - режим автоконфигурации активен
Бит 2 - внутренний сброс процессора из-за зависания - нештатная ситуация
Бит 1 - внешний сигнал включения вентилятора активен
Бит 0 - режим продувки при остановке двигателя активен

Когда я описал алгоритм, то удивился как его удалось впихнуть в 1024 слова программной памяти tiny15. Однако, со скрипом, но поместился! ЕМНИП, оставалось всего пару десятков свободных ячеек. Вот что такое сила Ассемблера:)