Реле управления вентилятором охлаждения двигателя

Интеллектуальное реле управления вентилятором охлаждения двигателя

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

реле, управление, вентилятор, охлаждение

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

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

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

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

  • Алгоритм работы устройства предполагался следующий: измерялось напряжение на штатном датчике температуры двигателя; по достижении нижней пороговой температуры вентилятор начинал крутится на минимальных оборотах, и в случае дальнейшего роста линейно увеличивал скорость вращения вплоть до 100% в тот момент, когда по мнению ЭСУД (контроллера управления двигателем), пора бы включать вентилятор на полную мощность. То есть, величина температуры, соответствующая 100% включению могла быть получена при первом включении устройства, т.к. оно имеет вход, соответствующий выводу обмотки штатного реле. Нижний порог в первой версии нужно было каким-то образом установить, проведя таким образом через две точки линейную характеристику регулирования.
  • При токах порядка 20А очевидно, что для плавного регулирования применяется ШИМ, а в качестве ключевого элемента — мощный полевик.
  • Размещение устройства в корпусе обычного реле означает практическое отсутствие радиатора теплоотвода. А это в свою очередь накладывает жесткие требования к рассеиваемой ключевым элементом мощности в статическом (сопротивление канала) и динамическом (скорость переключения) режимах — исходя из теплового сопротивления кристалл-корпус она не должна превышать 1 Вт ни при каких условиях
  • Решением для п.1 может являться либо применение драйвера полевика, либо работа на низкой частоте ШИМ. В отличие от аналогов, из соображений компактности и помехозащищенности был выбран вариант с низкой частотой ШИМ — всего 200 Гц.
  • Работа устройства со штатной проводкой и датчиком температуры неминуемо приводит к ПОС, т.к. ТКС штатного датчика температуры — отрицательный, а при включенном вентиляторе из-за конечно сопротивления общего провода и ‘проседания’ бортсети измеряемое на датчике напряжение неминуемо падает. Стабилизировать же, или использовать четырехпроводную схему включения нельзя — изменения в штатной проводке запрещены. С этим решено было бороться программно — измерением напряжения на датчике только в тот момент, когда ключ ШИМ выключен — то есть паразитное падение напряжения отсутствует. Благо, низкая частота ШИМ оставляла достаточно времени для этого.
  • Программирование порога включения устройства должно быть либо очень простым, либо быть полностью автоматическим. Изначально в устройстве был установлен геркон, поднесением магнита к которому сквозь корпус программировался нижний порог (значение естественно, запоминалось в EEPROM). Верхний порог устанавливался сам в момент первого импульса от контроллера ЭСУД. В дальнейшем я придумал и реализовал алгоритм полностью автоматической установки порогов, основанный на нахождении термостабильной точки двигателя (точки срабатывания термостата) в условиях отсутствия насыщения по теплопередаче радиатор-воздух.
  • Устройство должно предоставлять диагностику пользователю. Для этого был добавлен светодиод, который промаргивал в двоичном коде два байта — текущий код АЦП и слово флагов состояния.

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

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

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

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

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

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

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

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

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

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

  • Шаг 2 — значение АЦП вне диапазона (слишком низкое или высокое). Диапазон автоконфигурации по коду АЦП 248.24 (11111000. 00011000). В этом случае реле просто не входит в режим автоконфигурации без установки флага ошибки.
  • Шаг 4 — в течение времени ожидания 3 секунд обнаружено снятие внешнего сигнала включения вентилятора.
  • Шаг 7 — во время снижения оборотов обнаружен активный внешний сигнал включения вентилятора Шаг 8 — во время ожидания обнаружен активный внешний сигнал включения вентилятора Шаг 11 — установленные пороги вне диапазона 248.24, либо разница C2 — C1 C1 — например, когда вентилятор на самом деле не срабатывает, и температура продолжает расти)
  • Если внешний сигнал активен — Preq = 100%
  • Если неактивен, то смотрится текущий код АЦП © и соответствующая ему температура T: T C2): Preq = 0% T T1 (C = C = C1): Preq = Pstart (100% — Pstart) (C2 — C) / (C2 — C1), где Pstart = начальная мощность (12%)
READ  Установка вытяжки haier hvx w672gb

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

Этот алгоритм работает только в рабочем режиме и при отсутствии внешнего сигнала включения:

Пусть Pcurr — текущая мощность вентилятора

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

Теперь про алгоритм оцифровки значения АЦП датчика и компенсации паразитной обратной связи при работе вентилятора:

При расчете мощности используется усредненное значение кода текущей температуры С (Washing machine. Расчет требуемой мощности), получаемое средним арифметическим последних 8 значений Сm1, Cm2, Cm3… Cm8. Усреднение происходит методом «скользящего окна» — то есть помещение нового значения в буфер из 8 значений выталкивает наиболее старое и вызывает пересчет среднеарифметического С. Цикл АЦП (и пересчет среднего) происходит каждые 640 мс.

«Сырое» (считанное из АЦП) значение Cadc, прежде чем попадет в буфер подсчета, участвует в следующем алгоритме:

  • Проверяется, что Cadc Cdisc, где Cdics — макс. Значение АЦП для неподключенного измерительного вывода.
  • Если Cadc Cdisc, то выставляется флаг «датчик не подключен (бит 6)», значение не попадает в буфер 8 последних значений, и пересчет среднего не выполняется
  • Если Cadc = Cdisc — то есть датчик подключен, то Сadc корректируется на определенную величину в зависимости от текущей мощности вентилятора и величины коррекции для 100% мощности (Washing machine. шаг 4 алгоритма автоустановки): Cadc = Cadc Кcurr, где Кcurr = К100 (Pcurr / 100%). Если при этом Кcurr 0, то устанавливается флаг «значение АЦП скорректировано (бит 7)». Алгоритм коррекции работает только в рабочем режиме и не работает в режиме автоконфигурации.
  • Выполняется ограничение отрицательной динамики Cadc, чтобы подавить резкие снижения С из-за импульсной нагрузки в общих с датчиком температуры цепях питания автомобиля: Если C — Cadc Сdelta, то Cadc = C — Cdelta. Ограничение не работает в течение первых 15 секунд после включения зажигания, для того, чтобы в буфере значений быстро сформировались правильные значения Cm1, Cm2. Cm8.
  • Скорректированное по мощности и динамике значение 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. Однако, со скрипом, но поместился! ЕМНИП, оставалось всего пару десятков свободных ячеек. Вот что такое сила Ассемблера 🙂

Интеллектуальное реле управления вентилятором охлаждения двигателя

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

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

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

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

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

  • Алгоритм работы устройства предполагался следующий: измерялось напряжение на штатном датчике температуры двигателя; по достижении нижней пороговой температуры вентилятор начинал крутится на минимальных оборотах, и в случае дальнейшего роста линейно увеличивал скорость вращения вплоть до 100% в тот момент, когда по мнению ЭСУД (контроллера управления двигателем), пора бы включать вентилятор на полную мощность. То есть, величина температуры, соответствующая 100% включению могла быть получена при первом включении устройства, т.к. оно имеет вход, соответствующий выводу обмотки штатного реле. Нижний порог в первой версии нужно было каким-то образом установить, проведя таким образом через две точки линейную характеристику регулирования.
  • При токах порядка 20А очевидно, что для плавного регулирования применяется ШИМ, а в качестве ключевого элемента — мощный полевик.
  • Размещение устройства в корпусе обычного реле означает практическое отсутствие радиатора теплоотвода. А это в свою очередь накладывает жесткие требования к рассеиваемой ключевым элементом мощности в статическом (сопротивление канала) и динамическом (скорость переключения) режимах — исходя из теплового сопротивления кристалл-корпус она не должна превышать 1 Вт ни при каких условиях
  • Решением для п.1 может являться либо применение драйвера полевика, либо работа на низкой частоте ШИМ. В отличие от аналогов, из соображений компактности и помехозащищенности был выбран вариант с низкой частотой ШИМ — всего 200 Гц.
  • Работа устройства со штатной проводкой и датчиком температуры неминуемо приводит к ПОС, т.к. ТКС штатного датчика температуры — отрицательный, а при включенном вентиляторе из-за конечно сопротивления общего провода и ‘проседания’ бортсети измеряемое на датчике напряжение неминуемо падает. Стабилизировать же, или использовать четырехпроводную схему включения нельзя — изменения в штатной проводке запрещены. С этим решено было бороться программно — измерением напряжения на датчике только в тот момент, когда ключ ШИМ выключен — то есть паразитное падение напряжения отсутствует. Благо, низкая частота ШИМ оставляла достаточно времени для этого.
  • Программирование порога включения устройства должно быть либо очень простым, либо быть полностью автоматическим. Изначально в устройстве был установлен геркон, поднесением магнита к которому сквозь корпус программировался нижний порог (значение естественно, запоминалось в EEPROM). Верхний порог устанавливался сам в момент первого импульса от контроллера ЭСУД. В дальнейшем я придумал и реализовал алгоритм полностью автоматической установки порогов, основанный на нахождении термостабильной точки двигателя (точки срабатывания термостата) в условиях отсутствия насыщения по теплопередаче радиатор-воздух.
  • Устройство должно предоставлять диагностику пользователю. Для этого был добавлен светодиод, который промаргивал в двоичном коде два байта — текущий код АЦП и слово флагов состояния.

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

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

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

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

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

READ  Что делать если потекла вода с кондиционера

реле вентилятора.

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

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

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

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

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

  • Шаг 2 — значение АЦП вне диапазона (слишком низкое или высокое). Диапазон автоконфигурации по коду АЦП 248.24 (11111000. 00011000). В этом случае реле просто не входит в режим автоконфигурации без установки флага ошибки.
  • Шаг 4 — в течение времени ожидания 3 секунд обнаружено снятие внешнего сигнала включения вентилятора.
  • Шаг 7 — во время снижения оборотов обнаружен активный внешний сигнал включения вентилятора Шаг 8 — во время ожидания обнаружен активный внешний сигнал включения вентилятора Шаг 11 — установленные пороги вне диапазона 248.24, либо разница C2 — C1 C1 — например, когда вентилятор на самом деле не срабатывает, и температура продолжает расти)
  • Если внешний сигнал активен — Preq = 100%
  • Если неактивен, то смотрится текущий код АЦП © и соответствующая ему температура T: T C2): Preq = 0% T T1 (C = C = C1): Preq = Pstart (100% — Pstart) (C2 — C) / (C2 — C1), где Pstart = начальная мощность (12%)

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

Этот алгоритм работает только в рабочем режиме и при отсутствии внешнего сигнала включения:

Пусть Pcurr — текущая мощность вентилятора

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

Теперь про алгоритм оцифровки значения АЦП датчика и компенсации паразитной обратной связи при работе вентилятора:

При расчете мощности используется усредненное значение кода текущей температуры С (Washing machine. Расчет требуемой мощности), получаемое средним арифметическим последних 8 значений Сm1, Cm2, Cm3… Cm8. Усреднение происходит методом «скользящего окна» — то есть помещение нового значения в буфер из 8 значений выталкивает наиболее старое и вызывает пересчет среднеарифметического С. Цикл АЦП (и пересчет среднего) происходит каждые 640 мс.

«Сырое» (считанное из АЦП) значение Cadc, прежде чем попадет в буфер подсчета, участвует в следующем алгоритме:

  • Проверяется, что Cadc Cdisc, где Cdics — макс. Значение АЦП для неподключенного измерительного вывода.
  • Если Cadc Cdisc, то выставляется флаг «датчик не подключен (бит 6)», значение не попадает в буфер 8 последних значений, и пересчет среднего не выполняется
  • Если Cadc = Cdisc — то есть датчик подключен, то Сadc корректируется на определенную величину в зависимости от текущей мощности вентилятора и величины коррекции для 100% мощности (Washing machine. шаг 4 алгоритма автоустановки): Cadc = Cadc Кcurr, где Кcurr = К100 (Pcurr / 100%). Если при этом Кcurr 0, то устанавливается флаг «значение АЦП скорректировано (бит 7)». Алгоритм коррекции работает только в рабочем режиме и не работает в режиме автоконфигурации.
  • Выполняется ограничение отрицательной динамики Cadc, чтобы подавить резкие снижения С из-за импульсной нагрузки в общих с датчиком температуры цепях питания автомобиля: Если C — Cadc Сdelta, то Cadc = C — Cdelta. Ограничение не работает в течение первых 15 секунд после включения зажигания, для того, чтобы в буфере значений быстро сформировались правильные значения Cm1, Cm2. Cm8.
  • Скорректированное по мощности и динамике значение 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. Однако, со скрипом, но поместился! ЕМНИП, оставалось всего пару десятков свободных ячеек. Вот что такое сила Ассемблера 🙂

Реле управления вентилятором охлаждения двигателя

Общие сведенияЭлектронное реле PwmFan-99 предназначено для плавного управления скоростью вращения вентилятора в зависимости от температуры двигателя и устанавливается вместо штатного реле на автомобилях, оборудованных датчиком температуры охлаждающей жидкости (ДТОЖ) с отрицательным ТКН (с ростом температуры напряжение на выходе датчика уменьшается).Назначение контактов реле: «86» — вход для управляющего сигнала отрицательной полярности от блока управления двигателем. При соединении этого контакта с корпусом вентилятор включается на полную скорость. «85» — вход для 12В от замка зажигания. На этом контакте должно присутствовать 12В при включенном зажигании. «30» — вход для 12В от АКБ (борт. сети). «87» — нормально-разомкнутый выход (к нагрузке).Перед установкой PwmFan-99 необходимо убедиться в точном соответствии контактов реле и штатной колодки. дополнительный контакт (присоединять первым, отсоединять последним!):— черный — постоянное соединение с корпусом;— желтый — вход для подключения ДТОЖ.

АлгоритмПри появлении управляющего сигнала от блока управления двигателем вентилятор быстро (за 0.1-0.2 сек.), но плавно включится на полную мощность. При пропадании — немедленно выключится.В отсутствие управляющего сигнала от блока управления, электронное реле PwmFan-99 будет управлять скоростью вращения вентилятора только на запущенном двигателе и в пределах правильно заданных температурных порогов.

READ  Установка вертикальной вытяжки на кухне

НастройкаДля работы устройства однократно задаются температурные пороги включения и отключения вентилятора, что происходит автоматически при его первом включении блоком управления при выполнении следующих условий:— двигатель должен быть запущен;— перед включением вентилятор должен быть выключен;— вентилятор проработал не менее 5 секунд;— после отключения вентилятора двигатель работал не менее 5 секунд.При невыполнении любого из выше перечисленных условий пороги записаны не будут и устройство будет включать вентилятор только по командам блока управления двигателем.Другими словами, для записи порогов после их сброса (или после установки PwmFan-99) надо при первом включении вентилятора блоком управления не глушить двигатель в течение 5 секунд после отключения вентилятора.При успешной записи порогов устройство будет в дальнейшем запускать вентилятор на малую скорость при температуре двигателя на 20% выше порога отключения. Например, блок управления включает вентилятор при температуре 103°С, а отключает — при 98°С. Тогда при успешно записанных порогах устройство включит вентилятор на 20% мощности при температуре двигателя 99°С. Если температура двигателя продолжит расти, то скорость вращения вентилятора будет пропорционально увеличена и при 103°С достигнет максимума. При температуре ниже 98°С вентилятор будет выключен.Для сброса записанных порогов необходимо при включенном зажигании и неработающем вентиляторе удерживать в нажатом состоянии более 5 секунд кнопку сброса. Признаком сброса порогов будет являться кратковременное (на 1-2 секунды) включение вентилятора на полную мощность после ее отпускания.

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

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

КонструкцияПечатка разведена вот под такое реле.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проверка силового блока (реле) управления вентилятором охлаждения двигателя Citroen C4

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

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

В любом двигателе внутреннего сгорания должна стоять эффективная система охлаждения. Без которой мотор перегреется и все его подвижные части могут выйти из строя. Современные автомобили оборудованы системой охлаждения, в которой циркулирует охлаждающая жидкость. Циркуляция осуществляется при помощи специального насоса – помпы. Любая охлаждающая жидкость при долговременном её нагреве начинает кипеть. Для предотвращения этого в системе охлаждения предусмотрен радиатор. Радиатор охлаждения двигателя состоит из множества тонких трубок, к которым крепятся специальные ламели, для увеличения площади охлаждения. При движении автомобиля воздух проходит сквозь ламели радиатора и охлаждает металл, тем самым снижая температуру охлаждающей жидкости. Но на малых скоростях или при стоянии в пробке радиатор не в состоянии в одиночку противостоять перегреву двигателя. В такой ситуации на помощь приходит электровентилятор, который активируется автоматически при определённой температуре охлаждающей жидкости. Если вентилятор системы охлаждения выйдет из строя, мотор будет перегреваться. Далее мы рассмотрим, из-за чего не включается вентилятор радиатора, а также возможные причины и неисправности, которые к этому приводят и методы их устранение.

Что же такое электровентилятор радиатора?

Вентилятор системы охлаждения автомобиля – это обычный электродвигатель, который питается от бортовой сети авто. К его валу прикреплена крыльчатка, которая направляет сильный поток воздуха на радиатор, к передней части которого он и прикреплён с помощью специальной станины. Для более эффективной работы система охлаждения оснащается диффузором вентилятора. Большинство автомобилей имеют один вентилятор, но бывают авто и с двумя независимыми электромоторами с крыльчаткой, которые включаются одновременно. Два вентилятора ставится для того, чтобы охлаждение мотора происходило быстрее.

Каким образом включается вентилятор?

В разных моделях автомобилей устройство запускается по-разному. В карбюраторном двигателе стоит датчик включения вентилятора, который посылает сигнал на реле после того, как жидкость нагреется до установленной температуры (100-105 ۫). Затем срабатывает реле вентилятора и подаёт напряжение на электродвигатель. В инжекторном двигателе управление происходит при помощи электронного блока, который сначала анализирует информацию, полученную контролёром, а затем передаёт на реле.

Замена предохранительного клапана бочка радиатора

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

Проверка электропроводки

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

Проверка исправности реле запуска электровентилятора и предохранителей

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

Как проверить вентилятор радиатора

Самым первым делом, при отказе работы вентилятора охлаждения, следует проверить электродвигатель привода вентилятора. Для этого необходимо взять два провода и подключить их напрямую от аккумулятора к электродвигателю. Если он заработал, значит, проблему следует искать в чем-то другом. Сразу же можно проверить качество контактов подключения электромотора. Иногда бывает, что они окисляются или в них попадает грязь и пыль. Если же электромотор не запустился после подключения его напрямую, скорее всего он вышел из строя. Причиной неисправности, могут быть стёртые щётки электродвигателя, замена которых решит проблему. Бывают поломки, и посерьёзней, например, обрыв обмотки, разрушение коллектора. В такой ситуации ремонт вентилятора радиатора не поможет, необходима замена вентилятора радиатора.