Sari la conținut
ELFORUM - Forumul electronistilor

Inca un amplificator...


Akos

Postări Recomandate

D-le @vijelie02, nu mai spuneti asta, ca nu-i drept. Eu consider acest forum o platforma de dezbatere. Eu aduc argumente, dv-stra aduceti argumente. Ne batem cu argumente. Accept sfaturile. Ma bucur cand cineva impartaseste gandirea lui cu mine. Aici nu este loc de suparare. Deci, incerc sa explic mai bine. Arduino are rolul de a citi temperatura de la lm35. Valoarea pe care o citeste el este tot timpul comparata cu pragurile pe care le stabilim. Sa zicem ca acceptam pentru aceasta discutie un prag de 50 grade pana cand nu se intimpla nimic, adica ventilatorul sta si 100 grade cand ventilatorul are turatia maxima. deci avem un interval de 50 grade in care trebuie sa comandam ventilatorul de la zero la maxim. Cum facem ? Pai stim ca la turatie maxima senzorul hall ne da sa zicem pentru simplitate 100 impulsuri. Inseamna ca daca dorim ca ventilatorul sa aiba turatie maxima noi trebuie sa numaram 100 impulsuri intr-o secunda. Folosim un registru interna al lui arduino pentru a numara aceste impulsuri. Daca sunt mai putine, arduino incrementeaza registrul pwm in asa fel incat factorul de umplere sa creasca, ventilatorul se invarte mai repede. Si tot asa pana numarul de impulsuri sosite de la senzorul hall nu egaleaza ceea ce dorim. Daca este mai mare atunci se scade factorul de umplere. Partea frumoasa este ca toate aceste se fac la nivel de instructiuni. Necesitatile hard, ati vazut, sunt minime.

Link spre comentariu

Asta inseamna ca doriti sa implementati un soi de reactie negativa, setati o anumita referinta si-o comparati cu un rezultat.

In acest caz referinta fiind informatia de la senzorul de temperatura iar rezultatul ar fi informatia de la senzorul hall.

Nu sunt convins insa cum veti aborda implementarea practica devreme ce inchiderea unei bucle de reactie presupune cunoasterea/stabilirea rezultatului final, in cazul de fata presupune cunoasterea sau alegerea unei game exacte de turatie pentru ventilator. Si-apoi orice bucla inchisa de reactie negativa necesita si o oarecare forma de compensare pentru a preveni instabilitatea. 

In cazul de fata habar n-am cum s-ar comporta. 

Imi pastrez convingerea ca va complicati prea mult, dar e alegerea dvs.

Link spre comentariu

Scuze pentru intervenție. Să zicem că mecanismul funcționează așa cum este descris mai sus . Avem 75°C pe radiator, să zicem. Cum stabilesc turația necesară ? Că nu există o relație liniară temperatură - turația ventilatorului . 

Constat că temperatura nu a scăzut și corectez?

Păi atunci la ce mai e bună informația de turație (decât să știu că merge ventilatorul)?

Link spre comentariu

Eu inteleg ca initiatorul pleaca de la turatia maxima a ventilatorului (care e cunoscuta) pe care o leaga de temperatura maxima admisa (ex100*C). In cazul asta nu stim daca pt 100*C este necesara turatia maxima. 

Turatia maxima e scazuta dupa o anumita lege (?) pana la 0 care este legata de 50*C.

Link spre comentariu
Acum 51 minute, Akos a spus:

D-le @Sonic, complicatia consta in utlizarea unei intrari in arduino. Beneficiul este foarte mare pentru ca aceste motoare brushless nu se comporta civilizat la comanda cu pwm. Nu se poate regla liniar turatia cu pwm. Cand are chef se invirte mai repede, cand nu, mai incet. De aceea socot ca trebuie inchis in bucla. Acolo nu exista discutii ca are chef sau nu sa se invirta cum trebuie. Daca nu se primeste feedbackul asteptat se modifica pwm-ul si se corecteaza turatia. M-am uitat la tme, sunt motoare cu trei fire, la care al treilea fir este iesirea unui senzor hall. Cum eu am cumparat mai demult aceste ventilatoare care au numai doua fire, o s-o aplic pe a treia cu mana mea. (Aceasta se numeste lucru manual...)

Nu stiu cat de neliniar poate fi, dar cred ca nici nu conteaza prea tare, plus ca ventilatoarele nu au senzor hall integrat.

La noi este o vorba " De ce simplu cand se poate complicat"

Este alegerea dv. spor!

Link spre comentariu

Din pacate PC-uriile mele nu suporta PWM direct pe alimentare (ambele au mufe cu 4 pini), deci nu pot ajuta cu masurarea frecventei :26.

 

Daca am inteles bine @Akos incearca sa faca controlul ventilatorului folosind in software un tabel RPM/teperatura in loc de clasicele tensiune/teperatura si umplere(PWM)/teperatura.

 

1 oră în urmă, sonic11 a spus:

plus ca ventilatoarele nu au senzor hall integrat.

Aproape toate ventilatoarele pentru PC pe care le-am desfacut aveau senzor hall conectat la ESC indiferent daca aveau sau nu iesire tacho, inclusiv sunon-urile din sursele ATX aveau senzor hall.

Link spre comentariu
Acum 11 ore, vijelie02 a spus:

...Nu mai intervin pe topicul dansului.

 

Nu doream sa va ofensez. Imi pare rau ca reactionati asa.

 

Acum 11 ore, UDAR a spus:

Scuze pentru intervenție. Să zicem că mecanismul funcționează așa cum este descris mai sus . Avem 75°C pe radiator, să zicem. Cum stabilesc turația necesară ? Că nu există o relație liniară temperatură - turația ventilatorului . 

Constat că temperatura nu a scăzut și corectez?

Păi atunci la ce mai e bună informația de turație (decât să știu că merge ventilatorul)?

 

Exista o relatie intre temperatura si turatia ventilatorului. Si este liniara. Nv=0 la 50 grade, Nv=Nv_maxim la 100 grade, Nv=Nv_maxim/2 la 75 grade etc. Aceste valori le calculeaza arduino ele fiind valorile prescrise si le compara cu ce vine de la senzorul hall.

Link spre comentariu

Turatia ventilatorului este zero la 50 grade si este maxima la 100 grade. La turatia maxima stiu ca senzorul hall imi da un anumit numar de impulsuri pe baza careia pot calcula cate o sa fie la jumatate sau la orice valoare. Probabil multora li se pare complicat pentru ca nu s-a mai lucrat cu pic-uri sau cu arduino. Eu am avut ocazia sa mai fac unele aplicatii si cu pic-uri si cu arduino. Lucrul cu aceste chestii iti schimba un pic gandirea. Gandesti in algoritmi, in pasi multipli de a solutiona diverse sarcini. E o alta abordare. Multi care fac de astea nici nu se mai intorc la electronica clasica, care cum a subliniat un coleg de forum, miroase a saciz. Lucrind la aceste softuri, nu te mai murdaresti pe mana, nu transpiri, etc. Esti mai domn si-i privesti un pic mai de sus pe ceilalti care au ramas sa bage piese cu farasul in diverse constructii. Eu macar cel putin am incercat sa ramin acelasi si dupa ce-am avut de-a face cu aceste integrate destepte...

Editat de Akos
Link spre comentariu
10 minutes ago, Akos said:

La turatia maxima stiu ca senzorul hall imi da un anumit numar de impulsuri pe baza careia pot calcula cate o sa fie la jumatate sau la orice valoare

Care e acel numar de impulsuri? 

Cum alegeti turatia maxima exacta? 
Ca nu o puteti masura dupa implementare, ci trebuie sa o stiti exact dinainte de scrierea codului. 

La surse spre exemplu eu cand inchid o bucla de reactie o fac alegand o tensiune dorit a fi stabilizata, si cunoscand o referinta e simplu sa-mi aleg un divizor potrivit.

Dvs trebuie sa stiti dinainte cu exactitate turatia maxima, pe aia o introduceti in cod, dar tot nu vad cum veti face corelarile cu diferitele temperaturi...

In fine, ma depaseste, deci succes :)

 

Link spre comentariu

Alimentez ventilatorul la 24 V (tensiunea lui maxima de alimentare) si pe osciloscop ma uit ce frecventa au impulsurile de la senzorul hall. Corelarea este liniara. La jumatate din turatia maxima am jumatate din numarul maxim de impulsuri determinat ca mai sus, etc.

Editat de Akos
Link spre comentariu
10 minutes ago, Marian said:

La surse spre exemplu eu cand inchid o bucla de reactie o fac alegand o tensiune dorit a fi stabilizata, si cunoscand o referinta e simplu sa-mi aleg un divizor potrivit.

Continuand comparatia, ce vreti dvs sa faceti e ca si cum eu la surse as avea o referinta variabila in limite largi sau foarte largi, dar as dori totusi o tensiune de iesire exacta...

Ok, nu mai insist.

Link spre comentariu

Nu este asa complicat. E mult mai simplu. Ati vazut ce haotic raspunde ventilatorul la c-da in pwm. Inchizind in bucla ea va functiona dupa legea pe care o impunem noi si nu dupa cum vrea ea. Atit. Prescrisa de turatie este liniar dependenta de temperatura. Punct. Sa stiti ca nu eu am inventat asta. Eu numai aplic ce am invatat.

Editat de Akos
Link spre comentariu

Din ce am citit, se doreste ca turatia ventilatorului de racure sa fie dependenta de temperatura radiatorului, adica, cu cât e mai cald, cu atât turatia sa fie mai mare, intre ele suspectându-se o relatie lineara. In toata aceasta treaba, poate nu am fost eu atent, se uita de temperatura mediului ambiant. Pentru ca, una este un debit de aer la temperatura de 20 grade, si alta, acelasi debit, dar  la temperatura de 35 grade. Daca s-a vorbit de asta si nu am fost atent, imi cer scuze.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări