ГЛАВНАЯ Визы Виза в Грецию Виза в Грецию для россиян в 2016 году: нужна ли, как сделать

Простая схема управление вентилятором или кулером охлаждения. Система охлаждения двигателя с электронным регулированием Адаптивный регулятор оборотов вентилятора охлаждения радиатора схема

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

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

Описание работы схемы управления вентилятором

Когда температура низкая, сопротивление термистора высокое и, следовательно, первый транзистор закрыт, потому что на его базе напряжение ниже 0,6 вольт. В это время конденсатор на 100 мкФ разряжен. Второй PNP-транзистор так же закрыт, поскольку напряжение на базе равно напряжению на его эмиттере. И третий транзистор так же заперт.

При повышении температуры, сопротивление термистора уменьшается. Таким образом, напряжение на базе первого транзистора увеличивается. Когда это напряжение превысит 0,6 В, первый транзистор начинает пропускать ток заряжая конденсатор 100 мкФ и подает отрицательный потенциал на базу второго транзистора, который открывается и включает третий транзистор, который в свою очередь активирует реле.

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

Подстроичный резистор (показан на схеме как 10 ком) должен иметь значение сопротивления около 10% от сопротивления термистора при 25 градусах. Термистор применен марки EPCOS NTC B57164K104J на 100 кОм. Таким образом, сопротивление подстрочного резистора (10%) получается 10 кОм. Если вы не можете найти эту модель можно использовать другой. Например, при использовании термистора 470 кОм сопротивление подстроичного составит 47 кОм.

Схема подключения вентилятора с питанием от 12 вольт.

Схема подключения вентилятора с питанием от 220 вольт

В печатной плате можно увидеть два подстроичных резистора. Первый на 10 кОм для регулирования порога срабатывания вентилятора, второй на 1 мОм позволяет регулировать время работы после нормализации температуры. Если вам нужен больший интервал времени, то конденсатор на 100 мкФ можно увеличить до 470 мкФ. Диод 1N4005 используется для защиты транзистора от индуктивных выбросов в реле.

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

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

Чтобы шума при работе вентиляторов было меньше без уменьшения эффективности охлаждения, желательно придерживаться следующих принципов:

  1. Вентиляторы большого диаметра работают эффективнее, чем маленькие.
  2. Максимальная эффективность охлаждения наблюдается у кулеров с тепловыми трубками.
  3. Четырехконтактные вентиляторы предпочтительнее, чем трехконтактные.

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

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

Способы управления скоростью вращения вентилятора

Вернуться к оглавлению

Первый способ: переключение в BIOS функции, регулирующей работу вентиляторов

Функции Q-Fan control, Smart fan control и т. д. поддерживаемые частью материнских плат, увеличивают частоту вращения вентиляторов при возрастании нагрузки и уменьшают при ее падении. Нужно обратить внимание на способ такого управления скоростью вентилятора на примере Q-Fan control. Необходимо выполнить последовательность действий:

  1. Войти в BIOS. Чаще всего для этого нужно перед загрузкой компьютера нажать клавишу «Delete». Если перед загрузкой в нижней части экрана вместо надписи «Press Del to enter Setup» появляется предложение нажать другую клавишу, сделайте это.
  2. Открыть раздел «Power».
  3. Перейти на строчку «Hardware Monitor».
  4. Заменить на «Enabled» значение функций CPU Q-Fan control и Chassis Q-Fan Control в правой части экрана.
  5. В появившихся строках CPU и Chassis Fan Profile выбрать один из трех уровней производительности: усиленный (Perfomans), тихий (Silent) и оптимальный (Optimal).
  6. Нажав клавишу F10, сохранить выбранную настройку.

Вернуться к оглавлению

Второй способ: управление скоростью вентилятора методом переключения

Рисунок 1. Распределение напряжений на контактах.

Для большинства вентиляторов номинальным является напряжение в 12 В. При уменьшении этого напряжения число оборотов в единицу времени уменьшается — вентилятор вращается медленнее и меньше шумит. Можно воспользоваться этим обстоятельством, переключая вентилятор на несколько номиналов напряжения с помощью обыкновенного Molex-разъема.

Распределение напряжений на контактах этого разъема показано на рис. 1а. Получается, что с него можно снять три различных значения напряжений: 5 В, 7 В и 12 В.

Для обеспечения такого способа изменения скорости вращения вентилятора нужно:

  1. Открыв корпус обесточенного компьютера, вынуть коннектор вентилятора из своего гнезда. Провода, идущие к вентилятору источника питания, проще выпаять из платы или просто перекусить.
  2. Используя иголку или шило, освободить соответствующие ножки (чаще всего провод красного цвета — это плюс, а черного — минус) от разъема.
  3. Подключить провода вентилятора к контактам Molex-разъема на требуемое напряжение (см. рис. 1б).

Двигатель с номинальной скоростью вращения 2000 об/мин при напряжении в 7 В будет давать в минуту 1300, при напряжении в 5 В — 900 оборотов. Двигатель с номиналом 3500 об/мин — 2200 и 1600 оборотов, соответственно.

Рисунок 2. Схема последовательного подключения двух одинаковых вентиляторов.

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

Схема такого подключения показана на рис. 2. Разъем левого вентилятора подключается к материнке, как обычно.

На разъем правого устанавливается перемычка, которая фиксируется изолентой или скотчем.

Вернуться к оглавлению

Третий способ: регулировка скорости вращения вентилятора изменением величины питающего тока

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

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

Рисунок 3. Электронная схема регулировки частоты вращения.

Рациональнее применить электронную схему регулировки частоты вращения. Ее несложный вариант показан на рис. 3. Эта схема представляет собой стабилизатор с возможностью регулировки выходного напряжения. На вход микросхемы DA1 (КР142ЕН5А) подается напряжение в 12 В. На 8-усиленный выход транзистором VT1 подается сигнал с ее же выхода. Уровень этого сигнала можно регулировать переменным резистором R2. В качестве R1 лучше использовать подстроечный резистор.

Если ток нагрузки не более 0,2 А (один вентилятор), микросхема КР142ЕН5А может быть использована без теплоотвода. При его наличии выходной ток может достигать значения 3 А. На входе схемы желательно включить керамический конденсатор небольшой емкости.

Вернуться к оглавлению

Четвертый способ: регулировка скорости вращения вентилятора с помощью реобаса

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

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

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

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

Сравнительно несложная схема, соответствующая этим условиям, представлена на рис. 4. Имея соответствующие навыки, ее возможно изготовить своими руками.

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

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

Рисунок 4. Схема регулировки с помощью реобаса.

Основа узла, осуществляющего управление работой компьютерных вентиляторов, интегральный таймер DA3 и полевой транзистор VT3. На основе таймера собран импульсный генератор с частотой следования импульсов 10-15 Гц. Скважность этих импульсов можно менять с помощью подстроечного резистора R5, входящего в состав времязадающей RC-цепочки R5-С2. Благодаря этому можно плавно изменять скорость вращения вентиляторов при сохранении необходимой величины тока в момент пуска.

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

Основой аналогичного узла управления процессорным кулером являются микросхема DA2 и полевой транзистор VT2. Отличие только в том, что при появлении на выходе операционного усилителя DA1 напряжения оно, благодаря диодам VD5 и VD6, накладывается на выходное напряжение таймера DA2. В результате VT2 полностью открывается и вентилятор кулера начинает вращаться максимально быстро.

Почему быстрый старт вентилятора охлаждения неприемлем для автомобиля? Тут несколько ответов:

1. На бортовую сеть идет большая нагрузка (это проводка, аккумулятор, генератор);
2. Помимо предыдущего идет и большая физическая нагрузка на крепления вентилятора и его подшипник;
3. Приходится использовать необоснованно большой предохранитель, так как пусковой ток может составлять до 30А.

Теперь определимся с задачами, которые мы поставим перед собой:

1. Главная наша задача – создать, так сказать, соф-старт.
2. Для этого использовать только штатную проводку.
3. Ограничится уже имеющимися кнопками.
4. Изначально автомобиль не обладал реле включения вентилятора, поэтому исправим это.

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

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

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

В представленном устройстве часть элементов выполнена навесными, а другая – прикреплена на печатную плату.

Рисовка карты производилась в ЛУТе, а травка – хлорным железом.

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



Отрезав все ненужное, приступим к навесному монтажу.

Навесной у нас будет вся правая часть схемы, то есть все, что выходит с 3 ножки NE555. Если паять это все на плате, то размеров платы вообще не хватит.


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


Следующий шаг – впаиваем обрезанную плату в реле.



Напоследок осталось впаять перемычки и прикрепить радиатор.




Вот и все. Устройство уже готово. Теперь его нужно покрыть лаком или попробовать залить канифолью. Собранное устройство не требует никаких настроек и оно подойдет к любому электродвигателю, так как ее максимальный ток составляет 74А. Использованный контролер IRF4905 дешевый, его легко найти в любом магазине электротоваров.

Вот вам вид готового к работе устройства.

Решил рассказать об одной своей давней микроконтроллерной разработке (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. Однако, со скрипом, но поместился! ЕМНИП, оставалось всего пару десятков свободных ячеек. Вот что такое сила Ассемблера:)