Як зробити блок плавного управління вентилятором радіатора на ваз
У цій статті хочу поділитися досвідом власної розробки адаптивного контролера охолодження електровентилятору для інжекторних і карбюраторних ВАЗів. На ринку вже існують кілька подібних варіантів, і напевно найпопулярніший з них це контролер «Борей», виробництва фірми «Сілич'». Пристрій, описане в цій статті, працює схожим чином. Назвемо його «Надійний контролер вентилятора охолодження ВАЗ2110 на базі« Ардуіно »(досвід розробки)».
Пристрій використовує окремий стандартний датчик температури 423.3828, що дозволяє не втручатися в штатну систему інжектора і не мудрувати з проводкою і підключенням до приборке або рідному датчику температури ОЖ.

Принцип роботи
При запущеному двигуні контролер постійно стежить за показаннями з додаткового датчика, і:- при досягненні заданого порогу температури (90 o С) запускається вентилятор на малих обертах
- при підвищенні до максимального значення (95 o С) плавно розганяє вентилятор до максимальних обертів
- при зниженні температури - плавно знижує обертів, і після подолання порогу нижче 90 o С - повністю зупиняє вентилятор.
Розробка і реалізація
За основу схеми управління було взято AVR мікроконтролер сімейства Tiny, в моєму випадку - ATTiny85. Але також можна було використовувати будь-який Ардуіно-сумісний мікроконтролер сімейства AVR Tiny, MEGA, а також готові Ардуіно-плати з невеликими доповненнями. Для силової частини був використаний дуже потужний мосфети-транзистор IRF1405 (можна використовувати і менш потужний). За допомогою отладочной Ардуіно-плати були зняті показання датчика при порогових значеннях температури (90-95 С).
Таким чином, мета розробки полягала в реалізації управління електровентилятору ШІМ-сигналом на підставі показань датчика температури ОЖ. З серйозним підходом до програмування мікроконтролерів у мене поки проблеми))), так що було вирішено використовувати платформу Ардуіно з власною дитиною та дуже простою мовою програмування для початківців. І на підставі багатьох прикладів, взятих з інтернету, була розроблена програма для управління мікро контролером.
/ ** _____________________ ПЕРЕМІННІ: ______________________ ** /
int dc = 0;
int val;
int reg;
int bal;
/ ** _____________________ // ПЕРЕМІННІ ____________________ ** /
/ ** ___________________ Ініціалізація: ____________________ ** /
void setup ()
pinMode (1, OUTPUT); // нога (6): Індикація підстроювання порога температури спрацьовування (світлодіод)
pinMode (0, OUTPUT); // нога (5): Висновок драйвера силового транзистора
pinMode (A2, INPUT); // нога (3): Вхід датчика температури
pinMode (A3, INPUT); // нога (2): Вхід потенціометра (регулятора порога спрацьовування)
bal = analogRead (A3);
bal = constrain (bal, 1,1023);
reg = map (bal, 1,1023,0,30);
val = (analogRead (A2)) + reg;
val = constrain (val, 865,895); // Проміжок значень датчика для діапазону регулювання температури (!! підбирався експерементальних шляхом, значення підходять тільки для вазовского (справного инжекторного датчика теператури 423.3828
dc = map (val, 865, 895, 1, 9999);
>
/ ** ___________________ // Ініціалізація ____________________ ** /
/ ** ___________________ ОСНОВНИЙ ЦИКЛ: ______________________ ** /
// Контролер постійно зчитує значення датчика, і при спрацьовуванні порога включення запускає вентилятор зі швидкістю пропорційною зростанню значень температури: при збільшенні значень теператури - підвищуються обороти венітятора; при зменшенні значени - знижуються обротов; при зменшенні нижче порога спрацьовування, вентилятор - відключається; при збільшенні вище порога регулювання - вентилятор обертається на максимальних обертах
void loop ()
void (* resetFunc) (void) = 0;
if (dc> 1)
digitalWrite (13, HIGH);
digitalWrite (3, HIGH);
delayMicroseconds (dc);
digitalWrite (3, LOW);
if (dc> = 9999)
digitalWrite (3, HIGH);
>
else
delayMicroseconds (10000 - dc); // частота регулювання 100Гц (шим)
>
dc = 0;
resetFunc ();
>
else
digitalWrite (3, LOW);
digitalWrite (13, LOW);
resetFunc ();
>
>
/ ** ___________________ // ОСНОВНИЙ ЦИКЛ ____________________ ** /
Принципова схема пристрою виглядає наступним чином:

Це вже допрацьована схема з підстроюванням порога температури спрацьовування. Харчування здійснюється від виведення «D» генератора, що дозволяє контролеру працювати тільки при заведеному двигуні, хоча це не критично і можна живитися від «запалювання». У схемі реалізована стабілізація живлення мікроконтролера (5В) на базі перетворювача VR1. У ролі драйвера силового транзистора-VT1 використовується оптрон-DD2. Транзистор потребує охолодження, так як через нього проходять великі струми (близько 10 Ампер). Підійде будь-який радіатор площею охолоджуючої поверхні в 30 кв. см і вище.
Також обов'язкова установка запобіжників по «+» живлення контроллера (не менше 100міліАмпер), і по ланцюгу маси - не менше 20 Ампер (так як комутація вентилятора силовим транзистором здійснюється саме по «масі»)! Номінали всіх радіодеталей повинні бути чітко дотримано. Частота ШІМ-сигналу була підібрана експериментальним шляхом для уникнення низькочастотних перешкод в бортовій мережі, а також для зниження шумів обмоток електродвигуна вентилятора при малих обертах, і становить 100 Гц.
Друкована плата проектувалася «на коліні», тому корпус і проводка зібрана з підручних матеріалів:
Малюнок друкованої плати не принципове, кому цікаво все матеріали в архіві.