Cum de a face un control al fluxului ventilatorului radiatorului buna pe vase

În acest articol vreau să împărtășesc experiența de design propriu al ansamblului ventilator de răcire controler adaptiv pentru injecție și carburator VAZ. Pe piață există deja mai multe astfel de opțiuni, și, probabil, cele mai populare dintre ele sunt controller „Borey“, produs de „Silych“. Dispozitivul descris în acest articol funcționează într-un mod similar. Numiți-o „de încredere ventilator de răcire controler VAZ2110 bazat pe“ Arduino „(experiență de dezvoltare).“


Aparatul utilizează un standard separat senzor de temperatură 423.3828, ceea ce permite să nu interfereze cu sistemul injectorului și despicate nominale perii cu cablarea și conectarea la senzorul de temperatură ordonată nativ sau a lichidului de răcire.

Cum de a face un control al fluxului ventilatorului radiatorului buna pe vase

Principiul de funcționare

Atunci când rulează regulatorul motorului monitorizează continuu indicațiile de la senzorul de suplimentare și:
  • când o temperatură de prag predeterminată (90 ° C), se pornește de la ventilator cu viteză redusă
  • crescând în același timp la o valoare maximă (95 ° C) accelerează lin până la ventilator de viteză maximă
  • temperatura este coborâtă - reducerea treptată cifre de afaceri și după depășirea unui prag sub 90 ° C - se oprește complet ventilatorul.

Dezvoltarea și punerea în aplicare

Pentru o bază a circuitului de control a fost preluat AVR microcontroler de familie mici, în cazul meu - ATTiny85. Dar, de asemenea, posibilitatea de a utiliza orice familie microcontroler Arduino-compatibil cu AVR Tiny, MEGA, precum și de bord gata Arduino, cu câteva adăugiri. Pentru unitatea de alimentare a fost folosit foarte puternic mosfet tranzistor IRF1405 (se poate utiliza mai puțin puternic). Prin depanare citirile senzorilor Arduino bord au fost luate la valorile prag de temperatură (90-95 C).

Astfel, scopul a fost de a dezvolta controlul implementării motorului suflantei cu un semnal PWM bazat pe citirile senzorilor de temperatură a lichidului de răcire. Cu o abordare serioasă pentru programarea microcontrolerelor încă am probleme))), astfel încât sa decis să utilizeze platforma Arduino cu un limbaj de programare naturală și foarte simplu pentru incepatori. Și pe baza multor exemple extrase de pe Internet, a fost dezvoltat un program pentru controlul microcontroler.


/ ** _____________________ Variabile: ______________________ ** /
int dc = 0;
int val;
int reg;
bal int;
/ ** // Variabile _____________________ ____________________ ** /
/ ** Inițializare ___________________ ____________________ ** /
configurare void ()
pinMode (1, OUTPUT); // picior (6): Reglarea pragului de afișare a temperaturii de comutare (LED)
pinMode (0, OUTPUT); // picior (5): Driverul de putere de ieșire tranzistor
pinMode (A2, INPUT); // picior (3): intrare Senzor de temperatură
pinMode (A3, INPUT); // picior (2): intrare potențiometru (prag de control)
bal = analogRead (A3);
bal = constrangere (bal, 1,1023);
reg = harta (bal, 1,1023,0,30);
val = (analogRead (A2)) + reg;
val = constrangere (val, 865895); // senzor decalaj pentru intervalul de reglare a temperaturii (!! a fost selectat de un valori experimentale sunt potrivite numai pentru vazovskogo (senzor injector în stare de funcționare teperatury 423.3828
dc = hartă (val, 865, 895, 1, 9999);
>
/ ** // Initializare ___________________ ____________________ ** /
/ ** ___________________ bucla principală: ______________________ ** /
// controler citește continuu valorile senzorilor, și, atunci când pragul de comutare pornește ventilatorul la o viteză proporțională cu valorile de creștere a temperaturii: cu creșterea valorilor teperatury - Cifra de afaceri venityatora a crescut; cu valori descrescătoare - zăbala sunt reduse; scade sub pragul, ventilatorul - este oprit; cu creșterea de mai sus de reglare a pragului - ventilatorul se rotește la viteza maximă
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);
>
altfel
delayMicroseconds (10000 - dc); // a regla frecvența de 100Hz (PWM)
>
dc = 0;
resetFunc ();
>
altfel
digitalWrite (3, LOW);
digitalWrite (13, LOW);
resetFunc ();
>
>
/ ** // bucla principală ___________________ ____________________ ** /

Diagrama schematică a dispozitivului este după cum urmează:

Cum de a face un control al fluxului ventilatorului radiatorului buna pe vase

Acest circuit modificat are o temperatură de reacție de reglare de prag. Puterea este furnizată de ieșire «D» Generator, care permite operatorului să funcționeze numai atunci când motorul în funcțiune, deși nu este critică și poate fi alimentat de la „contactul“. Schema este pus în aplicare pentru a stabiliza sursa de alimentare microcontroler (5V) pe baza convertor VR1. În rolul conducătorului auto al tranzistorului de putere-VT1 utilizat optocuplor-DD2. Tranzistorul trebuie răcit, deoarece trece prin acesta curenți mari (aproximativ 10 amperi). Adecvat orice suprafață de răcire a radiatorului de 30 mp. cm și mai sus.

De asemenea, asigurați-vă că pentru a instala siguranța pe „+“ controler de alimentare (nu mai puțin 100miliAmper), și lanțul de masă - cel puțin 20 Amperi (ca ventilator de comutare tranzistorul de putere este realizată exact în funcție de „greutate“)! Evaluări ale tuturor componentelor electronice trebuie să fie respectate în mod clar. frecvența semnalului PWM a fost ales de experimentare pentru a evita zgomotul de joasă frecvență în rețeaua de la bord, precum și pentru a reduce zgomotul înfășurărilor motorului ventilatorului la viteze mici, și este 100Hz.

Placa de circuit a fost proiectat „pe genunchi“, astfel încât carcasa și cablajul asamblat din materiale ușor disponibile:

Desenul PCB nu contează care sunt interesați în toate materialele din arhivă.