Плавное включение вентилятора охлаждения ваз

Добавил пользователь Владимир З.
Обновлено: 19.09.2024

1. Большая нагрузка на бортовую сеть (генератор, аккумулятор, проводка).
2. Большая механическая нагрузка на подшипник и на крепления электро вентилятора.
3. Использование необоснованно большого предохранителя. Пусковой ток электродвигателя 20 - 30А в зависимости от модели, и редко превышает 4 - 8А на ходу.

По этому решено было собрать некий "софт-старт".

Устройство представляет собой ШИМ генератор импульсов. ШИМ запускается и начинает генерировать импульсы на выходе 3 с постоянной частотой и изменяющийся во времени шириной следования импульса. Время задается емкостью конденсатора С3. Далее, эти импульсы подаются на драйвер мощного полевого транзистора который управляет нагрузкой на выходе устройства. Драйвер для IRF4905 собран на отечественном транзисторе КТ315. Время полного открытия затвора IRF4905 напрямую зависит от емкости конденсатора и скорости его заряда. Диод на выходе служит для сглаживание обратных выбросов электродвигателя. В качестве диода я применял диодную сборку Шоттки с общим катодом. Полевик Р-канальный, так как должен регулировать положительное напряжение. Можно было бы использовать и N-канальный, но тогда бы пришлось переделывать всю проводку связанную с электроникой охлаждения. Все выводы на схемы указаны с учетом выходов контактов реле. Схема простая и выполнена в SMD, поэтому удалось ее поместить на плате размером с автомобильное реле. Некоторая часть схемы выполнена навесным, плотным монтажом, а другая на маленькой печатной плате.

Плату я рисовал ЛУТом, всем известным, далее травил хлорным железом. На этом сайте я много встречал людей у которых процесс травление занимает более 2-х часом, лично у меня это занимает 5-7 минут. Дело в том, что бы протравить плату (не важно какого размера) нужно подогреть раствор до температуры 60-70 градусов,при этом нужно как можно чаще болтать текстолит в растворе, и периодически на него поглядывать.

Первым делом необходимо достать реле. Оно может быть рабочим так и нет, собственно нас это не интересует. Главное размер! Теперь нужно разобрать его и аккуратно извлечь внутренности, оставив выходные клеммы.

Должно получиться примерно так.

После того как мы отрезали все ненужное, займемся навесным монтажом. Навесная часть, будет вся правая часть схема, все что выходит с 3 ножки NE555. "Почему нельзя спаять все на плате?" Да потому что, ни по длине ни по ширине оно не влезет. Это относиться только к стандартному (по размерам) реле.

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

Теперь впаиваем обрезанную плату в реле.

Осталось допаять перемычки и можно переходить к креплению радиатора (через изоляционную прокладку) и обрезанию крышки реле.

Собственно устройство готово. Осталось покрыть его лаком или залить канифолью. Хотя если реле будет стоять под приборной панелью, то вскрытие лаком можно исключить. После окончательной сборки устройство не требует настройки, подходит к любым (по мощности) электродвигателям, так как имеет максимальный ток в 74А! Это все таки автомобиль, должен быть 200% запас по мощности. Чтобы ничего не работало в пике своих характеристик. IRF4905 довольно дешевый, распространенный, проблем с его приобретением возникнуть не должно.

Так как Вентилятор Системы Охлаждения Двигателя (ВСОД) на ВАЗ 2110 имеет только одну скорость работы, то многим не нравится скачкообразное поведение стрелки ОЖ на приборной панели. Да и резкое включение вентилятора радиатора хочется как то сгладить :) Решение вопроса есть и даже не одно !

  1. Наличие эффекта "термокачки" (температура в жаркий период времени постоянно колеблется от точки включения вентилятора радиатора (карлсона) до точки его выключения).
  2. Ударные электрические (токовые) нагрузки на бортовую сеть.

Истории наших читателей

"Гребаный таз. "


Всем привет! Меня зовут Михаил, сейчас расскажу историю о том, как мне удалось обменять двенашку на камри 2010г. Все началось с того, что меня стали дико раздражать поломки двенашки, вроде ничего серьезного не ломалось, но по мелочи, блин, столько всего, что реально начинало бесить. Тут и зародилась идея о том, что пора менять машину на иномарку. Выбор пал на таёту камри десятых годов.

Многим не нравится, что в жаркую погоду при не быстрой езде температура охлаждающей жидкости двигателя по приборной панели поднимается в плотную к красной зоне, после чего запускается вентилятор системы охлаждения и стрелка падает вниз. И так туда - сюда. Вообще для ВАЗ 2110 такое скачкообразное поведение стрелки считается нормой.
Конечно, тут возможно врет приборная панель и по Бортовому Компьютеру показания совсем другие. Но все же эффект неприятный и всегда настораживает. Хочется как то сделать контроль температуры плавным, а не скачками. Что бы температура поддерживалась все время на одном уровне благодаря разной скорости вращения карлсона или за счет более раннего включения вентилятора.

Дебаты по этому вопросы ведутся давно и решение проблемы есть !
Вариант 1: Можно попробовать снизить скорость вращения карлсона и запускать электродвигатель плавно, и на более низкой температуре охлаждающей жидкости (запускать раньше, чем обычно). См. фотоотчет "Плавный пуск вентилятора охлаждающей жидкости.", который сделали автолюбители из семейства "Самары". Но принцип остается такой же и для ВАЗ 2110. Данный варинт довольно сложный для человека, который не сильно разбирается в электрике автомобиля. Да и выглядит вся конструкция, как то не очень надежно из-за такого количества проводов.
Вариант 2: Метод попроще - это сделать принудительное включение карлсона от кнопки. См. фотоотчет "Включение вентилятора радиатора (карлсона) от кнопки". После данной доработки у вас в салоне появляется кнопка (можете на ней нарисовать карслона :) ). Летом в пробках Вы нажимаете кнопку и у Вас плавно включается карлсон, который работает пока нажата кнопка на малых оборотах (этой скорости достаточно, что бы температура ОЖ не поднималась выше 90-95 градусов). Но если вдруг она поднимется выше, то включается штатная 2ая максимальная скорость.
Вариант 3: Третий подход, на мой взгляд и по мнению многих автолюбителей является пусть не самый дешевый, но самый правильный и надежный это установка Блока плавного Управления Электровентилятором Радиатора Автомобиля (БУ ЭВСО) - "СИЛИЧЪ-БОРЕЙ".
Вкратце - это объединение достоинств и исключение недостатков традиционных систем охлаждения двигателя путем внедрения принципиально нового алгоритма плавного управления скоростью вращения электровентилятора для стабилизации температуры двигателя автомобиля.
Основа алгоритма "Силичъ" - изменение скорости вращения вентилятора в зависимости от температуры двигателя. (как у вискомуфты). Цена такого устройства около 1200р.
Вариант 4: Как вариант можно рассмотреть и Регулятор пуска вентилятора РПВ автомобилей LADA. Этот переходник вставляется в разрыв цепи питания вентилятора и производит плавное включение вентилятора системы охлаждения двигателя, что значительно повышает его срок службы.

Плавный пуск вентилятора охлаждающей жидкости. Фотоотчет.

  1. Производительность вентилятора избыточна. Температура радиатора быстро снижается, что приводит к частым "старт-стоп" электродвигателя вентилятора.
  2. Температура срабатывания датчика ОЖ слишком высока. Стрелка индикатора приближается к красной зоне, двигатель работает неустойчиво, может "закипеть".

Тепловой режим работы двигателя поддерживается термостатом и электровентилятором радиатора. Последний включается датчиком, ввернутым в левый бачок радиатора (на карбюраторном двигателе ВАЗ 2110) или через реле по сигналу ЭБУ (на инжекторных двигателях ВАЗ 2111, -2112).

Если старый радиатор не подлежит больше ремонту и Вы его решили заменить, тогда хорошая возможность выбрать и купить новый. Например, радиатор Лузар приспособлен, как для инжекторных, так и для карбюраторных моторов (есть возможность установить датчик температуры охлаждающей жидкости (ДТОЖ) от карбюратора).

Если установить дополнительный датчик охлаждающей жидкости (ДТОЖ) в радиатор/патрубок, тогда получится так: При достижении температуры охлаждающей жидкости до уровня датчика, вентилятор включается в пол силы. А если температура будет расти и поднимется до уровня срабатывания по ЭБУ, то он начнет работать в полную силу.

Альтернативные схемы подключения, но смысл один и тот же:

Результаты и выводы: На трассе и в пробках стрелка указателя температуры ОЖ стояла в нормальном режиме как привязанная. Чтобы услышать пуск электродвигателя вентилятора нужно прислушиваться. На перевале было конечно тяжело, но температура ОЖ не превышала ту, которая ранее была при простое в "пробке".

Включение вентилятора радиатора (карлсона) от кнопки.

После данной доработки у вас в салоне появляется кнопка (можете на ней нарисовать карслона :) ). Летом в пробках Вы нажимаете кнопку и у Вас плавно включается карлсон, который работает пока нажата кнопка на малых оборотах (этой скорости достаточно, что бы температура ОЖ не поднималась выше 90-95 градусов). Но если вдруг она поднимется выше, то включается штатная 2ая максимальная скорость.

  1. Температура ОЖ уже более стабильна и не прыгает как раньше
  2. Нет резких скачков напряжения от включения вентилятора.
  1. Реле 4-х контактное
  2. Сопротивление отопителя ВАЗ 2110
  3. Провода
  4. Кнопка (поставил со снежинкой)
  5. Клеммы мама + папа (много штук)

Снимаем клемму с АКБ.
Залезаем под торпеду с пассажирской стороны в ногах откручиваем крышку и видим 3 реле. Нам нужно реле вентилятора.

Ищем тонкий розово-черный провод, идущий от главного реле (контакт 85*) и толстый силовой бело-черный провод (контакт 87) и подцепляем наше реле к ним.
* по книжке на разных моделях ВАЗ 10-го семейства розово-черный провод главного реле может приходить как на контакт 86, так и на 85. Ориентируемся по цвету проводов. Черно-пурпурный (черно-красный) тонкий провод, идущий от контроллера, мы не трогаем.

Далее устанавливаем сопротивление отопителя. В магазинах продаются разные сопротивления, желательно в изоляции. (например, для Нивы или десятки), которые, судя по всему, можно без всяких последствий размещать тут же – в салоне под торпедой, рядом с реле. Именно такие я и советую приобретать, если не хотите испытать дополнительные трудности при установке.

Советую взять сопротивление отопителя 2110

Возвращаемся к блоку реле:
Контакт 1 сопротивления - к контакту 30
Контакт 3 - на массу автомобиля
Кнопку – к контакту 86 нашего реле.
Второй контакт кнопки - на "массу".
Устанавливаем штатные реле на место. Наше дополнительное реле привинчиваем за ухо к кронштейну контроллера.

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

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

Почему гасящий резистор греется ?
Потому что на нём выделяется довольно много мощности. В абсолютных цифрах это выглядит примерно так:
Макс ток, который потребляет вентилятор - 15,3А (источник); предположим что это пусковой ток, а рабочий к примеру 10А. Включив последовательно ему резистор отопителя ВАЗ 2110 с сопротивлением 0,23 Ом (источник) мы ограничиваем ток и соответственно обороты. Но при этом через резистор будет протекать ток ~8,57А, т.е. на резисторе будет падать 1,97 В. Соответственно 8,57А умножаем на 1,97В - получаем 16,88 Вт, что немало. А если потребляемый вентилятором ток в установившемся режиме больше десяти ампер, то и мощность, выделяемая на добавочном резисторе соответственно будет большей.

Заключение

Сказать, что я доволен первым результатом – ничего не сказать. Я просто тихо тащусь. Вентилятор на малой скорости работает практически бесшумно, звук его сопоставим со звуком бензонасоса. На полной скорости он теперь либо совсем не включается, либо включается очень редко Включение происходит плавно, без ударной нагрузки на генератор и просадки напряжения.
При +30 температура ОЖ плавала в интервале 93-95 и не поднималась выше 96.

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

Принцип работы

  • при достижении заданного порога температуры (90 o С) запускается вентилятор на малых оборотах
  • при повышении до максимального значения (95 o С) плавно разгоняет вентилятор до максимальных оборотов
  • при понижении температуры - плавно снижает обороты, и после преодоления порога ниже 90 o С – полностью останавливает вентилятор.

Разработка и реализация

За основу схемы управления был взят AVR микроконтроллер семейства Tiny, в моем случае – ATTiny85. Но также можно было использовать любой ардуино-совместимый микроконтроллер семейства AVR Tiny, MEGA, а также готовые ардуино-платы с небольшими дополнениями. Для силовой части был использован очень мощный мосфет-транзистор IRF1405 (можно использовать и менее мощный). С помощью отладочной ардуино-платы были сняты показания датчика при пороговых значениях температуры (90-95 С).

Истории наших читателей

"Гребаный таз. "


Всем привет! Меня зовут Михаил, сейчас расскажу историю о том, как мне удалось обменять двенашку на камри 2010г. Все началось с того, что меня стали дико раздражать поломки двенашки, вроде ничего серьезного не ломалось, но по мелочи, блин, столько всего, что реально начинало бесить. Тут и зародилась идея о том, что пора менять машину на иномарку. Выбор пал на таёту камри десятых годов.

Принцип регулировки оборотов вентилятора - обычный ШИМ. В двух словах, для тех, кто не знает, что такое ШИМ (широтно-импульсная модуляция) - это изменение ширины импульсов (в нашем случае постоянного тока с напряжением 12В) определённой частоты для регулировки силы тока на нагрузке (в нашем случае вентиляторе), что обеспечивает управление скоростью вращения любого электродвигателя постоянного тока (анимация и видео ниже):

Таким образом, цель разработки заключалась в реализации управления электровентилятора ШИМ-сигналом на основании показаний датчика температуры ОЖ. С серьезным подходом к программированию микроконтроллеров у меня пока проблемы ))), так что было решено использовать платформу ардуино с собственным и очень простым языком программирования для начинающих. И на основании многих примеров, взятых из интернета, была разработана программа для управления микроконтроллером.


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


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

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

данную схему нашел на просторах инета, а вот разводку делал сам)

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

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

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

1. Большая нагрузка на бортовую сеть (генератор, аккумулятор, проводка).
2. Большая механическая нагрузка на подшипник и на крепления электро вентилятора.
3. Использование необоснованно большого предохранителя. Пусковой ток электродвигателя 20 – 30А в зависимости от модели, и редко превышает 4 – 8А на ходу.

Устройство представляет собой ШИМ генератор импульсов. ШИМ запускается и начинает генерировать импульсы на выходе 3 с постоянной частотой и изменяющийся во времени шириной следования импульса. Время задается емкостью конденсатора С3. Далее, эти импульсы подаются на драйвер мощного полевого транзистора который управляет нагрузкой на выходе устройства. Драйвер для IRF4905 собран на отечественном транзисторе КТ315. Время полного открытия затвора IRF4905 напрямую зависит от емкости конденсатора и скорости его заряда. Диод на выходе служит для сглаживание обратных выбросов электродвигателя. В качестве диода я применял диодную сборку Шоттки с общим катодом. Полевик Р-канальный, так как должен регулировать положительное напряжение. Можно было бы использовать и N-канальный, но тогда бы пришлось переделывать всю проводку связанную с электроникой охлаждения. Все выводы на схемы указаны с учетом выходов контактов реле. Схема простая и выполнена в SMD, поэтому удалось ее поместить на плате размером с автомобильное реле. Некоторая часть схемы выполнена навесным, плотным монтажом, а другая на маленькой печатной плате.

Плату я рисовал ЛУТом, всем известным, далее травил хлорным железом. На этом сайте я много встречал людей у которых процесс травление занимает более 2-х часом, лично у меня это занимает 5-7 минут. Дело в том, что бы протравить плату (не важно какого размера) нужно подогреть раствор до температуры 60-70 градусов,при этом нужно как можно чаще болтать текстолит в растворе, и периодически на него поглядывать.

Первым делом необходимо достать реле. Оно может быть рабочим так и нет, собственно нас это не интересует. Главное размер! Теперь нужно разобрать его и аккуратно извлечь внутренности, оставив выходные клеммы.

Должно получится примерно следущее

После того как мы отрезали все ненужное, займемся навесным монтажом. Навесная часть, будет вся правая часть схема, все что выходит с 3 ножки NE555. "Почему нельзя спаять все на плате?" Да потому что, ни по длине ни по ширине оно не влезет. Это относиться только к стандартному (по размерам) реле.

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

Теперь впаиваем обрезанную плату в реле.

Осталось допаять перемычки и можно переходить к креплению радиатора (через изоляционную прокладку) и обрезанию крышки реле.

Собственно устройство готово. Осталось покрыть его лаком или залить канифолью. Хотя если реле будет стоять под приборной панелью, то вскрытие лаком можно исключить. После окончательной сборки устройство не требует настройки, подходит к любым (по мощности) электродвигателям, так как имеет максимальный ток в 74А! Это все таки автомобиль, должен быть 200% запас по мощности. Чтобы ничего не работало в пике своих характеристик. IRF4905 довольно дешевый, распространенный, проблем с его приобретением возникнуть не должно.

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


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

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

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

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

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

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

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

3. Работа устройства со штатной проводкой и датчиком температуры неминуемо приводит к ПОС, т.к. ТКС штатного датчика температуры — отрицательный, а при включенном вентиляторе из-за конечно сопротивления общего провода и ‘проседания’ бортсети измеряемое на датчике напряжение неминуемо падает. Стабилизировать же, или использовать четырехпроводную схему включения нельзя — изменения в штатной проводке запрещены.
С этим решено было бороться программно — измерением напряжения на датчике только в тот момент, когда ключ ШИМ выключен — то есть паразитное падение напряжения отсутствует. Благо, низкая частота ШИМ оставляла достаточно времени для этого.

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

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

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


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

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


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

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

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

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

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

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

Расчет требуемой мощности (Preq)
1. Если внешний сигнал активен — Preq = 100% 2. Если неактивен, то смотрится текущий код АЦП © и соответствующая ему температура T:
T C2): Preq = 0%
T > T1 (C = 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, то набор скорости вращения ограничивается сверху величиной примерно 1.5% в секунду (кроме случая, когда включение вентилятора запрашивается внешним сигналом) — то есть если Preq — Pcurr > Pdelta, то Pcurr = Pcurr + Pdelta, иначе Pcurr = Preq

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

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

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

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

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

image

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

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

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

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

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

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

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

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

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

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

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

image

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

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

image

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

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

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

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

Ошибки ловятся такие:
Шаг 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 = 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

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

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

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

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

Читайте также: