Управление вентилятором охлаждения
Интеллектуальное реле управления вентилятором охлаждения двигателя
Прочитав пост mrsom о пересадке микроконтроллерной начинки в ретротахометр от Жигулей, решил рассказать об одной своей давней микроконтроллерной разработке (2006 год), сделанной для плавного управления электровентилятором охлаждения двигателей переднеприводных моделей ВАЗа.
Надо сказать, что на тот момент уже существовало немало разнообразных решений — от чисто аналоговых до микроконтроллерных, с той или иной степенью совершенства выполняющих нужную функцию. Одним из них был контроллер вентилятора компании Силычъ (то, что сейчас выглядит вот так, известной среди интересующихся своим автоматическим регулятором опережения зажигания, программно детектирующим детонационные стуки двигателя. Я некоторое время следил за форумом изготовителя этих устройств, пытаясь определить, чтов устройстве получилось хорошо, а что — не очень, и в результате решил разработать свое.
По задумке, в отличие от существующих на то время решений, новый девайс должен был a) помещаться в корпус обычного автомобильного реле;
б) не требовать изменений в штатной проводке автомобиля; в) не иметь регулировочных элементов; г) надежно и устойчиво работать в реальных условиях эксплуатации.
История появления девайса и алгоритм работы первой версии обсуждалась здесь — для тех, кто не хочет кликать, опишу ключевые вещи инлайн:
-1. Алгоритм работы устройства предполагался следующий: измерялось напряжение на штатном датчике температуры двигателя; по достижении нижней пороговой температуры вентилятор начинал крутится на минимальных оборотах, и в случае дальнейшего роста линейно увеличивал скорость вращения вплоть до 100% в тот момент, когда по мнению ЭСУД (контроллера управления двигателем), пора бы включать вентилятор на полную мощность.
То есть, величина температуры, соответствующая 100% включению могла быть получена при первом включении устройства, т.к. оно имеет вход, соответствующий выводу обмотки штатного реле.
Нижний порог в первой версии нужно было каким-то образом установить, проведя таким образом через две точки линейную характеристику регулирования.
0. При токах порядка 20А очевидно, что для плавного регулирования применяется ШИМ, а в качестве ключевого элемента — мощный полевик.
1. Размещение устройства в корпусе обычного реле означает практическое отсутствие радиатора теплоотвода. А это в свою очередь накладывает жесткие требования к рассеиваемой ключевым элементом мощности в статическом (сопротивление канала) и динамическом (скорость переключения) режимах — исходя из теплового сопротивления кристалл-корпус она не должна превышать 1 Вт ни при каких условиях
2. Решением для п.1 может являться либо применение драйвера полевика, либо работа на низкой частоте ШИМ.
В отличие от аналогов, из соображений компактности и помехозащищенности был выбран вариант с низкой частотой ШИМ — всего 200 Гц.
3. Работа устройства со штатной проводкой и датчиком температуры неминуемо приводит к ПОС, т.к. ТКС штатного датчика температуры — отрицательный, а при включенном вентиляторе из-за конечно сопротивления общего провода и ‘проседания’ бортсети измеряемое на датчике напряжение неминуемо падает. Стабилизировать же, или использовать четырехпроводную схему включения нельзя — изменения в штатной проводке запрещены.
С этим решено было бороться программно — измерением напряжения на датчике только в тот момент, когда ключ ШИМ выключен — то есть паразитное падение напряжения отсутствует. Благо, низкая частота ШИМ оставляла достаточно времени для этого.
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 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
Теперь про алгоритм оцифровки значения АЦП датчика и компенсации паразитной обратной связи при работе вентилятора:
При расчете мощности используется усредненное значение кода текущей температуры С (см. Расчет требуемой мощности), получаемое средним арифметическим последних 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. Однако, со скрипом, но поместился! ЕМНИП, оставалось всего пару десятков свободных ячеек. Вот что такое сила Ассемблера 🙂
Радио-как хобби
Система автоматического управления вентилятором своими руками.
Часто в радиолюбительской практике возникает необходимость охлаждать методом обдува какие-либо мощные активные элементы: регулирующие транзисторы в блоках питания, в выходных каскадах мощных УНЧ, радиолампы в выходных каскадах передатчиков и т.д.
Конечно, проще всего включить вентилятор на полные обороты. Но это не самый лучший выход-шум вентилятора будет напрягать и мешать.
Система автоматического управления вентилятором-вот что может быть выходом из ситуации.
Такая система автоматического управления вентилятором, будет управлять включением/выключением и оборотами вентилятора в зависимости от температуры.
В данной статье предложен простой, бюджетный выход из ситуации…
Итак, некоторое время тому назад знакомый товарищ попросил изготовить ему систему автоматического регулирования оборотов вентилятора охлаждения для зарядного устройства. Поскольку готового решения у меня не было-пришлось поискать что-либо подходящее в интернете.
Всегда руководствуюсь принципом –«делать жизнь как можно проще», поэтому подыскивал схемы попроще, без всяких там микроконтроллеров, которые сейчас суют где надо, и где не надо. Попалась на глаза статья :http://dl2kq.de/pa/1-11.htm. Решено было испытать описанные в ней автоматы управления вентилятором…
Система автоматического управления вентилятором №1.
Принципиальная схема устройства показана ниже:
В данном случае применен вентилятор с рабочим напряжением 12 В.
Схема питается напряжением 15…18 В. Интегральный стабилизатор типа 7805 задает начальное напряжение на вентиляторе. Транзистор VT1 управляет работой интегрального стабилизатора. В качестве датчиков температуры использованы кремниевые транзисторы (VT2 и VT3) в диодном включении.
Схема работает следующим образом: в холодном состоянии датчиков температуры напряжение на них максимально. Транзистор VT1 полностью открыт, напряжение на его коллекторе ( а значит и на выводе 2 интегрального стабилизатора) составляет десятые доли вольта. Напряжение, подаваемое на вентилятор почти равно паспортному выходному напряжению микросхемы LM7805, и вентилятор вращается на небольших оборотах.
По мере прогрева датчиков температуры ( одного любого из них, или обеих) напряжение на базе VT1 начинает уменьшаться. Транзистор VT1 начинает закрываться, напряжение на его коллекторе увеличивается, а соответственно, увеличивается и напряжение на выходе микросхемы LM7805.
Обороты вентилятора также увеличиваются и плавно достигают максимальных. По мере остывания датчиков температуры происходит обратный процесс и обороты вентилятора уменьшаются.
Количество датчиков может быть от одного до нескольких ( мною опробовано три параллельно включенных датчика). Датчики могут быть установлены как рядом друг с другом ( для повышения надежности срабатывания), так и размещены в разных местах.
Изначально данная схема разрабатывалась для применения в мощном ламповом усилителе мощности КВ диапазона, отсюда большое количество блокировочных конденсаторов. При применении данной системы автоматического управления режимом работы вентилятора, скажем, в блоках питания, или в мощных усилителях НЧ блокировочные конденсаторы можно не устанавливать.
Данная схема интересна еще и тем, что датчики температуры могут быть как закреплены на радиаторах мощных транзисторов, диодов и иметь непосредственный тепловой контакт с ними,так и установлены на весу, в потоке теплого воздуха.
В качестве транзисторов VT1…VT3 можно применить любые кремниевые транзисторы в пластиковом корпусе и структуры n-p-n. Мною успешно испытаны транзисторы КТ503, КТ315, КТ3102, S9013, 2N3904. Подстроечный резистор R2 служит для установки минимальных оборотов вентилятора.
При настройке данной системы автоматического управления режимом работы вентилятора подстроечным резистором R2 устанавливают минимальные обороты вентилятора. Затем, нагревая датчик, или датчики, каким-либо источником тепла убеждаются в работоспособности системы и возможность срабатывания её от разных датчиков независимо.
Данная схема достаточно чувствительна-можно настроить её на срабатывание даже от нагевания датчика температуры рукой. Важное замечание. Схема измеряет не абсолютную температуру, а разность температур между переходами транзистора VT1 и датчиков VT2 и VT3. Поэтому плата устройства должна быть размещена в месте, исключающем дополнительный нагрев. Интегральный стабилизатор должен быть снабжен небольшим радиатором.
Система автоматического управления вентилятором №2.
Здесь описано аналогичное устройство, но имеющее некоторые особенности.
Дело вот в чем. Часто бывают случаи, когда система автоматического управления режимом работы вентилятора установлена в изделии, где имеется всего лишь одно питающее напряжение -12В, но и вентилятор рассчитан на работу от напряжения 12 В.
Для достижения максимальных оборотов вентилятора необходимо подать на него полное напряжение,или, другими словами, регулирующий элемент системы автоматического управления режимом работы вентилятора должен иметь практически близкое к нулю падение напряжения на нем. И в этом смысле схема, описание которой изложено выше, не подходит.
В этом случае применимо другое устройство, схема которого представлена ниже:
Регулирующим элементом служит полевой транзистор с очень низким сопротивлением канала в открытом состоянии. Мною использован транзистор типа PHD55N03.
Он имеет следующие характеристики: максимальное напряжение сток-исток -25 В, максимальный ток стока- 55 А, сопротивлением канала в открытом состоянии -0,14 мОм.
Подобные транзисторы применяются на материнских платах и платах видеокарт. Я добыл этот транзистор на старой материнской плате:
Цоколевка этого транзистора:
Именно очень низкое сопротивление канала в открытом состоянии и позволяет приложить к вентилятору практически полное напряжение питания.
В этой схеме датчиком температуры служит терморезистор R1 номиналом 10 кОм. Терморезистор должен быть с отрицательным температурным коэффициентом сопротивления ( типа NTC).
Номинал терморезистора R1 может быть от 10 до 100 кОм, соответственно нужно изменить и номинал подстроечного резистора R2. Так, для терморезистора номиналом 100 кОм, сопротивление подстроечного резистора R2 должно быть 51 или 68 кОм. Подстроечным резистором R2 в данной схеме устанавливается порог срабатывания схемы.
Данная схема работает по принципу термоуправляемого реле: вентилятор включен/выключен в зависимости от температуры датчика.
Конструктивно, терморезистор R1 размещается на радиаторе транзисторов, которые обдувает вентилятор. Подстроечным резистором R2 при настройке схемы добиваются старта вентилятора при пороговой (начальной) температуре.
В качестве VT1 подойдет любой полевой транзистор с напряжением стока выше 20 В и сопротивлением канала в открытом состоянии менее 0,5 Ома.
Если напряжение питания не стабилизировано, то порог срабатывания схемы будет плавать, со всеми вытекающими последствиями. В этом случае полезно будет запитать терморезистор от стабильного источника питания, например -78L09.
Ниже приведен модернизированный вариант этой схемы. В данной схеме предусмотрена возможность независимой регулировки как минимальных оборотов при нормальной температуре, так и температуру, с которой обороты вентилятора начинают увеличиваться.
Здесь цепь R5, R6,VD2 позволяет установить минимальные обороты вентилятора при нормальной ( начальной) температуре при помощи подстроечного резистора R5. А резистором R7 устанавливают температуру, с которой вентилятор переходит на повышенные обороты.
Как и в предыдущих схемах, блокировочные конденсаторы необходимы при эксплуатации устройства в условиях воздействия мощных высокочастотных наводок-например ламповый усилитель мощности КВ диапазона. В других случаях в их установке нет необходимости.
Терморезисторов-датчиков температуры может быть несколько и установленных в разных местах. Вентиляторов тоже может быть несколько. В этом случае возможно ( но необязательно) будет необходимым предусмотреть небольшой радиатор для регулирующего транзистора.
Вид собранной платы системы автоматического управления обдувом, управляющий транзистор установлен со стороны печатных проводников:
Печатная плата, вид со стороны проводящих дорожек:
Все три схемы, приведенные в этой статье мною опробованы и продемонстрировали надежную и стабильную работу.
Обновление от 13.01.2020
Изготовил еще два варианта подобных регуляторов. Без использования терморезисторов.
Введение
Компактные электрические вентиляторы, благодаря невысокой цене, используются для охлаждения оборудования уже больше полувека. Тем не менее только в последние годы технологии управления вентиляторами стали значительно развиваться. В этой статье описано как и почему это развитие имело место быть и предложены некоторые полезные решения для разработчиков.
Тепловыделение и охлаждение
Один из трендов электроники – это создание компактных устройств, обладающих богатой функциональностью. Поэтому большинство электронных компонентов приобретают все меньшие размеры. Один из очевидных примеров – современные ноутбуки. Толщина и вес ноутбуков значительно уменьшается, но потребляемая мощность остается прежней или увеличивается. Другой пример – проекционные системы и телевизионные ресиверы.
В ноутбуках большая часть тепла выделяется процессором, в проекторе – источником света. Это тепло необходимо бесшумно и эффективно удалять из системы. Самый тихий способ избавления от тепла – это использование пассивных охлаждающих компонентов, таких как радиаторы или тепловые трубки. Однако для многих популярных пользовательских устройств такой способ неэффективен и дорог.
Другой способ удаления тепла – это активное охлаждение с использованием вентиляторов, создающих поток воздуха вокруг нагревающихся компонентов. Однако вентилятор являются источником шума и, кроме того, увеличивает суммарное энергопотребление устройства, что может быть критично при питании от аккумулятора. Также добавление вентилятора увеличивает количество механических компонентов в системе, что отрицательно сказывается на надежности изделия.
Контроль скорости вращения вентилятора позволяет уменьшить описанные недостатки. Поскольку запуск вентилятора на меньших оборотах снижает шум и энергопотребление и увеличивает срок его службы.
Существует несколько типов вентиляторов и способов их контроля. Один из вариантов классификации вентиляторов может быть таким:
1. 2-х проводные вентиляторы
2. 3-х проводные вентиляторы
3. 4-х проводные вентиляторы
Методы управления вентиляторами, обсуждаемые в этой статье, такие:
1. управление отсутствует
2. on/ff управление
3. линейное управление
4. низкочастотная широтно-импульсная модуляция (ШИМ, PWM)
5. высокочастотное управление
Типы вентиляторов
2-х проводные вентиляторы имеют только выводы питания – плюс и земля. В 3-х проводных вентиляторах добавляется тахометрический выход. На этом выходе присутствует сигнал, частота которого пропорциональна скорости вращения вентилятора. 4-х проводные вентиляторы, помимо выводов питания и тахометрического выхода, имеют вход управления. На этот вход подается ШИМ сигнал и ширина импульса этого сигнала определяет скорость вращения вентилятора.
2-х проводными вентиляторами можно управлять регулируя напряжение питания или скважность ШИМ сигнала. Однако без тахометрического сигнала невозможно понять на сколько быстро вентилятор вращается. Такая форма управления скоростью вращения вентилятора называется открытым контуром (open-loop).
3-х проводными вентиляторами можно управлять аналогичным образом, но в этом случае у нас есть обратная связь. Можно анализировать тахосигнал и устанавливать требуемую скорость. Такая форма управления называется закрытым контуром (closed-loop).
Если управлять вентилятором регулируя напряжение питания, тахосигнал будет иметь форму меандра. И в этом случае тахосигнал будет всегда валидным, пока на вентиляторе есть напряжение. Такой сигнал показан на рисунке 1 (ideal tach).
При управлении вентилятором с помощью ШИМ – ситуация сложнее. Тахометрический выход вентилятора обычно представляет собой открытый коллектор. Поэтому тахосигнал будет валидным только при наличии напряжения на вентиляторе (on фаза ШИМ сигнала), а при отсутствии (off фаза) он будет подтягиваться к высокому логическому уровню. Таким образом тахосигнал становится “порубленным” управляющим ШИМ сигналом и по нему уже нельзя достоверно определять скорость вращения. Этот сигнал показан на рисунке 1 (tach).
Рисунок 1. Идеальный тахосигнал и тахосигнал при внешнем ШИМ управлении.
Для решения данной проблемы, необходимо периодически включать вентилятор на такой отрезок времени, который позволит получить несколько достоверных циклов тахосигнала. Такой подход реализован в некоторых контроллерах фирмы Analog Device, например в ADM1031 и ADT7460.
4-х проводные вентиляторы имеют ШИМ вход, который управляет коммутацией обмоток вентилятора к плюсовой шине источника питания. Такая схема управления не портит тахосигнал, в отличии от стандартной, где используется внешний ключ и коммутируется отрицательная шина. Переключение обмоток вентилятора создает коммутационный шум. Чтобы “сдвинуть” этот шум за пределы звукового диапазона частоту ШИМ сигнала обычно выбирают больше 20 кГц.
Еще одно преимущество 4-х проводных вентиляторов – это возможность задания низкой скорости вращения – до 10% от максимальной скорости. На рисунке 2 показана разница между 3-х и 4-х проводными вентиляторами.
Рисунок 2. 3-х и 4-х проводные вентиляторы
Управление вентилятором
Простейший метод управления вентилятором – отсутствие какого-либо управления вообще. Вентилятор просто запускается на максимальной скорости и работает все время. Преимущества такого управления – гарантированное стабильное охлаждение и очень простые внешние цепи. Недостатки – уменьшение срока службы вентилятора, максимальное энергопотребление, даже когда охлаждение не требуется, и непрерывный шум.
Следующий простейший метод управления – термостатический или on/off. В этом случае вентилятор включается только тогда, когда требуется охлаждение. Условие включения вентилятора устанавливает пользователь, обычно это какое-то пороговое значение температуры.
Подходящий датчик для on/off управления – это ADM1032. Он имеет выход THERM, который управляется внутренним компаратором. В нормальном состоянии на этом выходе высокий логический уровень, а при превышении порогового температурного значения он переключается на низкий. На рисунке 3 показан пример цепи с использованием ADM1032.
Рисунок 3. Пример on/off управления
Недостаток on/off контроля – это его ограниченность. При включении вентилятора, он запускается на максимальной скорости вращения и создает шум. При выключении он полностью останавливается и шум тоже прекращается. Это очень заметно на слух, поэтому с точки зрения комфорта такой способ управления далеко не оптимальный.
При линейном управлении скорость вращения вентилятора изменяется за счет изменения напряжения питания. Для получения низких оборотов напряжение уменьшается, для получения высоких увеличивается. Конечно, есть определенные границы изменения напряжения питания.
Рассмотрим, например, вентилятор на 12 вольт. Для запуска ему требуется не меньше 7 В и при этом напряжении он, вероятно, будет вращаться с половинной скоростью от своего максимального значения. Когда вентилятор запущен, для поддержания вращения требуется уже меньшее напряжение. Чтобы замедлить вентилятор, мы можем понижать напряжение питание, но до определенного предела, допустим, до 4-х вольт, после чего вентилятор остановится. Эти значения будут отличаться в зависимости от производителя, модели вентилятора и конкретного экземпляра.
5-и вольтовые вентиляторы позволяют регулировать скорость вращения в еще меньшем диапазоне, поскольку их стартовое напряжение близко к 5 В. Это принципиальный недостаток данного метода.
Линейное управление вентилятором можно реализовать на микросхеме ADM1028. Она имеет управляющий аналоговый выход, интерфейс для подключения диодного температурного датчика, который обычно используется в процессорах и ПЛИС, и работает от напряжения 3 – 5.5 В. На рисунке 4 показан пример схемы для реализации линейного управления. Микросхема ADM1028 подключается ко входу DAC.
Рисунок 4. Схема для реализации линейного управления 12-и вольтового вентилятора
Линейный метод управления тише, чем предыдущие. Однако, как вы могли заметить, он обеспечивает маленький диапазон регулировки скорости вращения вентилятора. 12-и вольтовые вентиляторы при напряжении питания от 7 до 12 В, позволяют устанавливать скорость вращения от 1/2 от максимума до максимальной. 5-и вольтовые вентиляторы при запуске от 3,5 – 4 В, вращаются практически с максимальной скоростью и диапазон регулирования у них еще меньше. Кроме того, линейный метод регулирования не оптимален с точки зрения энергопотребления, потому что снижение напряжения питания вентилятора выполняется за счет рассеяния мощности на транзисторе (смотри рисунок 4). И последний недостаток – относительная дороговизна схемы управления.
ШИМ управление
Наиболее популярный метод управления скоростью вращения вентилятора – это ШИМ управление. При таком методе управления вентилятор подключается к минусой шине питания через ключ, а на управляющий вход ключа подается ШИМ сигнал. В данном случае к вентилятору всегда приложено либо нулевое, либо рабочее напряжение питания и не возникает таких энергопотерь, как при линейном методе управления. На рисунке 5 показана типовая схема реализующая ШИМ управление.
Рисунок 5. ШИМ управление.
Преимущество данного метода управления – простота реализации, дешевизна, эффективность и широкий диапазон регулирования скорости вращения. Однако недостатки у этого метода тоже есть.
Один из недостатков ШИМ управления – это “порча” тахосигнала. Этот недостаток можно устранить, используя так называемую pulse stretching технику, то есть удлиняя импульс ШИМ сигнала на несколько периодов тахосигнала. Конечно, при этом скорость вращения вентилятора может немного увеличится. На рисунке 6 показан пример.
Рисунок 6. Удлинение импульса для получения информации о скорости вращения.
Другой недостаток ШИМ управления – это коммутационный шум. Во-первых коммутация индуктивной нагрузки вызывает появление помех в цепях питания, во-вторых может возникать акустический шум – пищание, жужжание. Электрические шумы подавляют фильтрами, а для борьбы с акустический шумом частоту ШИМ сигнала поднимают до 20 кГц.
Также стоит снова упомянуть о 4-х проводных вентиляторах, в которых схема управления уже встроена. В таких вентиляторах коммутируется плюсовая шина питания, что помогает избежать проблем с тахосигналом. Одна из микросхем, предназначенных для реализации ШИМ управления 4-х проводными вентиляторами, – это ADT7467. Условная схема приведена на рисунке 7.
Рисунок 7. Схема ШИМ управления 4-х проводным вентилятором
Заключение
Подводя итоги можно сказать, что наиболее предпочтительный метод управления вентилятором – это высокочастотное ШИМ управление, реализованное в 4-х проводных вентиляторах. При таком управлении отсутствует акустический шум, значительные энергопотери и проблемы с тахосигналом. Кроме того, он позволяет менять скорость вращения вентилятора в широком диапазоне. Схема ШИМ управления с коммутацией отрицательной шины обладает практически теми же достоинствами и является более дешевой, но портит тахосигнал.
Как сделать блок плавного управления вентилятором радиатора на ВАЗ
В этой статье хочу поделиться опытом собственной разработки адаптивного контроллера охлаждения электровентилятора для инжекторных и карбюраторных ВАЗов. На рынке уже существуют несколько подобных вариантов, и наверное самый популярный из них это контроллер «Борей», производства фирмы «Силычъ». Устройство, описанное в этой статье, работает схожим образом. Назовем его «Надёжный контроллер вентилятора охлаждения ВАЗ2110 на базе «ардуино» (опыт разработки)». |
Принцип работы
Таким образом, рабочая температура двигателя на малых скоростях и в летних пробках фактически не превышает 90-92 o C, за исключением конечно аномальной летней жары. За 9 месяцев работы контроллера (с апреля по декабрь) и 15 000 км пробега, на моём ВАЗ 2110 1.6 16V (+ГБО) двигатель ни разу не нагревался больше 95 o C, и соответственно ни разу не сработала штатная система охлаждения.
Разработка и реализация
За основу схемы управления был взят AVR микроконтроллер семейства Tiny, в моем случае – ATTiny85. Но также можно было использовать любой ардуино-совместимый микроконтроллер семейства AVR Tiny, MEGA, а также готовые ардуино-платы с небольшими дополнениями. Для силовой части был использован очень мощный мосфет-транзистор IRF1405 (можно использовать и менее мощный). С помощью отладочной ардуино-платы были сняты показания датчика при пороговых значениях температуры (90-95 С).
Истории наших читателей
“Гребаный таз. “
Всем привет! Меня зовут Михаил, сейчас расскажу историю о том, как мне удалось обменять двенашку на камри 2010г. Все началось с того, что меня стали дико раздражать поломки двенашки, вроде ничего серьезного не ломалось, но по мелочи, блин, столько всего, что реально начинало бесить. Тут и зародилась идея о том, что пора менять машину на иномарку. Выбор пал на таёту камри десятых годов.
Да, морально то я созрел, а вот финансово никак не мог потянуть. Сразу скажу, что я против кредитов и брать машину, тем более не новую, в кредит это неразумно. Зарплата у меня 24к в месяц, так что насобирать 600-700 тысяч для меня практически нереально. Начал искать различные способы заработка в интернете. Вы не представляете сколько там развода, чего только не пробовал: и ставки на спорт, и сетевой маркетинг, и даже казино вулкан, в котором удачно проиграл около 10 тысяч(( Единственным направлением, в котором мне, казалось, можно заработать – это торговля валютой на бирже, это называют форексом. Но когда начал вникать, понял что это оочень сложно для меня. Продолжил копать дальше и наткнулся на бинарные опционы. Суть та же, что на форексе, но разобраться намного проще. Начал читать форумы, изучать трейдерские стратегии. Попробовал на демо счете, потом завел реальный счет. Если честно начать зарабатывать удалось не сразу, пока понял всю механику опционов, слил около 3000 рублей, но как оказалось это был драгоценный опыт. Сейчас зарабатываю 5-7 тыс. рублей в день. Машину удалось купить спустя пол года, но как по мне это неплохой результат, да и дело не в машине, у меня изменилась жизнь, с работы естественно уволился, появилось больше свободного времени на себя и семью. Будете смеяться, но работаю прямо на телефоне)) Если ты хочешь изменить свою жизнь как я, то вот что советую сделать прямо сейчас:
1. Зарегистрируйтесь на сайте
2. Потренируйтесь на Демо-счете (это бесплатно).
3. Как только что-то будет получаться на Демо-счете, пополняйте РЕАЛЬНЫЙ СЧЕТ и вперед, к НАСТОЯЩИМ ДЕНЬГАМ!
Также советую скачать приложение на телефон, с телефона работать намного удобнее. Скачать тут.
Принцип регулировки оборотов вентилятора – обычный ШИМ. В двух словах, для тех, кто не знает, что такое ШИМ (широтно-импульсная модуляция) – это изменение ширины импульсов (в нашем случае постоянного тока с напряжением 12В) определённой частоты для регулировки силы тока на нагрузке (в нашем случае вентиляторе), что обеспечивает управление скоростью вращения любого электродвигателя постоянного тока (анимация и видео ниже):
Т.е. чем шире импульс, тем больше ток, и тем быстрее скорость вращения вентилятора и наоборот.
На видео «крутилка» (потенциометр) имитирует показания с датчика ОЖ. при повышении/понижении температуры.
Таким образом, цель разработки заключалась в реализации управления электровентилятора ШИМ-сигналом на основании показаний датчика температуры ОЖ. С серьезным подходом к программированию микроконтроллеров у меня пока проблемы ))), так что было решено использовать платформу ардуино с собственным и очень простым языком программирования для начинающих. И на основании многих примеров, взятых из интернета, была разработана программа для управления микроконтроллером.
Принципиальная схема устройства выглядит следующим образом:
Это уже доработанная схема с подстройкой порога температуры срабатывания. Питание осуществляется от вывода «D» генератора, что позволяет контроллеру работать только при заведенном двигателе, хотя это не критично и можно запитываться от «зажигания». В схеме реализована стабилизация питания микроконтроллера (5В) на базе преобразователя VR1. В роли драйвера силового транзистора-VT1 используется оптрон-DD2. Транзистор нуждается в охлаждении, так как через него проходят большие токи (около 10 Ампер). Подойдет любой радиатор площадью охлаждающей поверхности в 30 кв. см и выше.
Также обязательна установка предохранителей по «+» питания контроллера (не мене 100милиАмпер), и по цепи массы – не менее 20 Ампер (так как коммутация вентилятора силовым транзистором осуществляется именно по «массе»)! Номиналы всех радиодеталей должны быть четко соблюдены. Частота ШИМ-сигнала была подобрана экспериментальным путем во избежании низкочастотных помех в бортовой сети, а также для снижения шумов обмоток электродвигателя вентилятора при малых оборотах, и составляет 100Гц.
Печатная плата проектировалась «на коленке», поэтому корпус и проводка собрана из подручных материалов:
Рисунок печатной платы не принципиальный, кому интересно все материалы в архиве.
Подключение. Крыльчатка вентилятора используется 8-лопасная, так как от стандартной 4-лопасной крыльчатки эффекта на низких оборотах очень мало + лишня вибрация никогда не добавляла комфорта.
Видео испытаний, подключение:
По итогам сборки заморочек получилось, конечно, много, но себестоимость устройства составила около 10 у.е.))) и это хорошо! Любые вопросы пишите в комментариях.
Читайте также другие доработки пуска и работы вентилятора радиатора автомобилей ВАЗ.
Как лучше доработать пуск вентилятора двигателя?
Автоматическая регулировка оборотов кулеров для снижения шума
Порой гул от системного блока не позволяет насладиться тишиной или сосредоточиться. В этой статье я расскажу как регулировать обороты кулеров с помощью специальной программы для Windows XP/7/8/10, а в конце покажу на видео более подробно весь процесс.
Почему вентиляторы шумят и какие есть способы это исправить
За исключением особых безвентиляторных модификаций, в каждом компьютере установлено два и более кулера: в блоке питания, на процессоре, видеокарте, в корпусе и другие. И каждый по-своему шумит, и это плохая новость. Многие просто привыкли к шуму своего системника и считают что так и должно быть. Может быть и должно, но необязательно! В 99% случаев шум от компьютера можно уменьшить на 10%-90%, и это хорошая новость.
Как вы уже поняли, бесшумность достигается уменьшением шума от кулеров. Это возможно с помощью применения более тихих, по своей природе, кулеров, либо с помощью уменьшения оборотов уже имеющихся. Естественно, уменьшать скорость можно до значений не угрожающих перегреву компьютера! В этой статье речь пойдёт именно об этом способе. Ещё больше снизить шум помогут программы для уменьшения треска от жёсткого диска.
Итак, чтобы уменьшить обороты вращения кулера можно использовать один из вариантов:
- Программа для управления скоростью вращения кулеров
- «Интеллектуальная» система контроля оборотов, зашитая в BIOS
- Утилиты от производителя материнской платы, ноутбука или видеокарты
- Использовать специальное устройство – реобас
- Искусственно занизить напряжение питания вентилятора
У кого нормально работает управление из BIOS, могут дальше не читать. Но частенько BIOS лишь поверхностно регулирует обороты, не занижая их до бесшумных, и при этом всё ещё приемлемых, значений. Утилиты от производителя, порой, единственный способ влияния на вентиляторы потому что сторонние программы часто не работают на необычных материнских платах и ноутбуках. Разберём самый оптимальный – первый способ.
Программа для управления кулерами SpeedFan
Это многофункциональная и полностью бесплатная программа. Наверное сразу немного огорчу, сказав что эта программа работает не на всех ноутбуках, но можно пробовать, и не будет регулировать обороты тех вентиляторов, которыми не умеет управлять материнская плата из BIOS. Например, из моего BIOS можно включить функцию управления кулером SmartFan только для центрального процессора. Хотя смотреть текущие обороты можно ещё для двух. Для управления кулером ноутбука есть другая программа.
Иначе может произойти следующая ситуация. В момент загрузки программы SpeedFan считываются текущие обороты и принимаются за максимальные. Соответственно, если к этому времени BIOS не раскрутит вентилятор до максимальных оборотов, то и программа не сможет это сделать.
У меня так один раз случилось, что в момент загрузки программы кулер на процессоре крутился со скоростью 1100 об/мин, и SpeedFan не мог установить бОльшее значение. В итоге процессор нагрелся до 86 градусов! А заметил я это случайно, когда в момент большой нагрузки не дождался шума от вентилятора. Благо ничего не сгорело, а ведь компьютер мог больше не включиться…
Запуск и внешний вид программы
Скачайте и установите приложение с официального сайта.
При первом запуске возникнет обычное окошко с предложением помощи по функциям программы. Можете поставить галочку, чтобы оно больше не появлялось и закройте его. Далее SpeedFan считает параметры микросхем на материнской плате и значения датчиков. Признаком успешного выполнения будет список с текущими значениями оборотов вентиляторов и температур компонентов. Если вентиляторы не обнаружены, значит программа вам ничем не сможет помочь. Сразу перейдите в «Configure -> Options» и поменяйте язык на «Russian».
Как видим, здесь также показана загрузка процессора и информация с датчиков напряжения.
В блоке «1» располагается список обнаруженных датчиков скорости вращения кулеров с названиями Fan1, Fan2…, причём их количество может быть больше, чем есть на самом деле (как на картинке). Обращаем внимание на значения, например Fan2 и второй Fan1 имеют реальные показатели 2837 и 3358 RPM (оборотов в минуту), а остальные по нулям или с мусором (на картинке 12 RPM это мусор). Лишние мы потом уберём.
В блоке «2» показываются обнаруженные датчики температур. GPU – это графический чипсет, HD0 – жёсткий диск, CPU – центральный процессор (вместо CPU на картинке Temp3), а остальное мусор (не может быть 17 или 127 градусов). В этом недостаток программы, что нужно угадывать где что (но потом мы сами переименуем датчики как нужно). Правда, на сайте можно скачать известные конфигурации, но процедура не из простых и усложнена английским языком.
Если непонятно какой параметр за что отвечает, то можно посмотреть значения в какой-нибудь другой программе для определения параметров компьютера и датчиков, например AIDA64 и сравнить с теми что определила программа SpeedFan, чтобы точно знать где какие показания скорости и температуры (на видео под статьёй всё покажу).
И в блоке «3» у нас регулировки скоростей Speed01, Speed02…, с помощью которых можно задавать скорость вращения в процентах (может показываться как Pwm1, Pwm2…, подробнее смотрите на видео). Пока что нам надо определить какой Speed01-06 на какие FanX влияет. Для этого меняем значения каждого со 100% до 80-50% и смотрим изменилась ли скорость какого-нибудь Fan. Запоминаем какой Speed на какой Fan повлиял.
Настройка SpeedFan
Вот и добрались до настроек. Нажимаем кнопку «Конфигурация» и первым делом назовём все датчики понятными именами. На своём примере я буду программно управлять кулером процессора.
На вкладке «Температуры» находим определённый на предыдущем шаге датчик температуры процессора (у меня Temp3) и кликаем на него сначала один раз, а потом через секунду ещё раз – теперь можно вписать любое имя, например «CPU Temp». В настройках ниже вписываем желаемую температуру, которую будет поддерживать программа с минимально-возможной скоростью вращения кулера, и температуру тревоги, при которой включаются максимальные обороты.
Я устанавливаю 55 и 65 градусов соответственно, но для каждого это индивидуально, поэкспериментируйте. При сильно низкой установленной температуре, вентиляторы будут крутиться всегда на максимальных оборотах.
Далее разворачиваем ветку и снимаем все галочки, кроме той Speed0X, которая регулирует FanX процессора (это мы уже определили ранее). В моём примере это Speed04. И также снимаем галочки со всех остальных температур, которые мы не хотим видеть в главном окне программы.
На вкладке вентиляторы просто находим нужные вентиляторы, называем их как хочется, а ненужные отключаем.
Идём дальше на вкладку «Скорости». Становимся на тот Speed0X, который отвечает за нужный кулер, переименовываем его (например в CPU Speed) и выставляем параметры:
- Минимум – минимальный процент от максимальных оборотов, который программа сможет установить
- Максимум – соответственно максимальный процент.
У меня минимум стоит 55%, а максимум 80%. Ничего страшного, что программа не сможет установить значение на 100%, ведь на вкладке «Температуры», мы задали пороговое значение тревоги, при котором принудительно будет 100% оборотов. Также для автоматического регулирования не забываем поставить галочку «Автоизменение».
В принципе это всё. Теперь переходим в главное окно SpeedFan и ставим галочку «Автоскорость вент-ров» и наслаждаемся автоматической регулировкой скорости вращения 🙂 С первого раза не получится оптимально настроить под себя, поэкспериментируйте и оставьте подходящие параметры, оно того стоит!
Дополнительные параметры
Программка SpeedFan имеет ещё кучу функций и параметров, но я не буду в них углубляться, т.к. это тема отдельной статьи. Давайте поставим ещё несколько нужных галочек на вкладке «Конфигурация -> Опции»
- Запуск свёрнуто – чтобы SpeedFan запускался сразу в свёрнутом виде. Если не поставить, то при запуске Windows главное окно программы будет висеть на рабочем столе. Если программа не запускается вместе с Windows, то просто добавьте её ярлык в автозагрузку.
- Static icon – предпочитаю установить, чтобы в системном трее вместо цифр отображался просто значок программы
- Сворачивать при закрытии – установите чтобы при нажатии на «крестик» программа не закрывалась, а сворачивалась в системный трей (возле часиков)
- Полная скорость вентиляторов при выходе – если не установить, то после выхода из программы обороты кулеров останутся в том состоянии, в котором были на момент закрытия. А так как управлять ими больше будет некому, то возможен перегрев компьютера.
Ну как, всё получилось, программа работает, обороты регулируются автоматически? Или может вы используете другие способы? Надеюсь, информация оказалась для вас полезной. Не поленитесь поделиться ей с друзьями, я буду вам премного благодарен!
А теперь видео с подробной настройкой SpeedFan. Примечание: на видео произошёл небольшой сбой. После ручного регулирования вентилятора процессора Fan1 его значение не вернулось в 3400 RPM, а осталось почему-то в 2200 RPM. После перезапуска программы всё нормализовалось. В последних версиях SpeedFan на моём компьютере такого не было.