Sari la conținut
ELFORUM - Forumul electronistilor

divizor de tensiune


Vizitator Knut

Postări Recomandate

Vizitator Knut

Salutare!In cadrul unui proiect la scoala am de comandat un ventilator oprit/pornit, si in functie de aceasta si de temperatura inregistrata de un senzor trebuie sa comand apoi o sursa de incalzire. Folosesc un microcontroller. Ideea e ca atunci cand ventilatorul nu se invarte sau e defect (sau lipseste :d), trebuie ca sursa de incalzire sa fie oprita(comand asta prin soft, dupa ce detectez daca se invarte sau nu). Pentru a detecta acest lucru m-am gandit sa folosesc un divizor de tensiune (am atasat schema). Astfel, daca ventilatorul functioneaza, sa am un curent de aprox. 5V la pinul al doilea al micro-ului, iar daca nu functioneaza sa nu am tensiune. E buna schema? Ce rezistente ar trebui sa folosesc?Mentionez ca ventilatorul e de 12V, consumul e de 75 mA in regim normal, cand il blochez consuma pana la 150 mA.Multumesc anticipat!

Link spre comentariu
  • Răspunsuri 17
  • Creat
  • Ultimul Răspuns

Daca vrei 5volti prin R1 mai ramin doar 7volti pe motor si scare turatia .Daca pui pe R2 de 10 ohmi obtii o tensiune de comanda pentru un tranzistor NPN , ca cel care comanda motorul, de 0,75 volti . Aceasta tensiune o aplici prin R1 de 1kohm in baza unui tranzistor care are colectorul la +12v iar emitorul printr-un potentiometru de 4,7 Kohmi la masa.Cursorul potentiometrului sa fie dat la masa -minus ca sa nu aplici vreo tensiune mai mare la microcontroler iar apoi o reglezi la 5 volti.Dar si asa nu se rezolva toate cerintele proiectului pentru ca daca se arde R2 ,motorul nu se roteste iar prin R1 se aplica la tranzistor tens de aproape 12v ,iar daca se blocheaza axul motorului , tensiune pe R2 tot este.CEL MAI BINE ALEGE un sistem pe ax cu senzor de rotatie , optic=optocuplor in U led-fototranzistor si un disc cu fante ori si mai simplu o bariera optica intre palele ventilatorului de la care sa obtii tensiunea de cda pentru al 2-lea tranzistor .Vezi si in mouse-ul de calcuator ceva sa te inspire !! Succes!

Link spre comentariu
Vizitator georged

Salut, schema ta nu e buna. Nu poti inseria o rezistenta cu motorul, decat dc e de valoare foarte mica, pt sensarea curentului, ceea ce nu este cazul la tine. circuitul din poza iti va "spune" cand motorul functioneaza si cand nu. Iesirea, de pe colectorul tranzistorului T2, este compatibila TTL, si poate fi legata direct la pinul uC. R1 este optional, deoarece majoritatea motoarelor de DC au o rezistenta mica si pull-up-ul se face direct prin ele, dar nu strica sa il pui. Sper sa intelegi singur functionarea schemei. PS: sarcina pe care o comanda tranzistorul se pune in majoritatea cazurilor in colector.

Link spre comentariu
Vizitator georged

Sensare inseamna oarecum sesizare... Mai precis vine de la engl sensing. Nu cred ca exista acest cuvant, asa ca mea culpa ca l-am folosit aici. Sint obisnuit cu acest cuvant din mediul in care lucrez si de la scoala(facultate), asa ca nici nu mi-am dat seama ca s-ar putea sa nu fie inteles.Sint sigur ca ati vazut macar o data prin montaje vreun "Rsense". Aceasta este o rez de valoare mica, la bornele careia apare o tensiune data de trecerea curentului prin ea. Masurand tensiunea si cunoscand val rezistentei, obtinem valoarea curentului. Asta pentru mine se cheama sensare.

Link spre comentariu
Vizitator Knut

George, in ce program ai construit schema? Mi-am instalat un program de simulare a circuitelor electronice, se cheama Tina, dar nu stiu cum as putea adauga un motor in cadrul circuitului. Care program de simulare e mai bun, eventual mai usor de utilizat?Multumesc!

Link spre comentariu
Vizitator georged

Schema e desenata in OrCAD. In OrCAD se pot face de asemena si simulari, are simulatorul Spice integrat. Acu ceva ani mai faceam si eu cateva simulari in acest program si pot sa-ti zic ca e bunicel pt simulari simple, nepretentioase. Are librarii cu majoritatea componentelor uzuale. Trebuie insa sa te invete cineva sa-l folosesti, altfel s-ar putea sa nu ai rabdare sa-i dai de cap.Un alt program cu care te poti juca este Electronic Workbench, din cate mi-l amintesc eu era destul de prietenos, potrivit pt incepatori. Este mai usor de utilizat decat Orcad, care are multi parametri setabili pt simulari, in care te poti pierde.Referitor la simularea unui motor in circuit, nu te astepta sa pui simbolul de DC MOTOR, si sa poti simula linistit. Este ca si cum ai pune un rezistor in schema, cu valoarea generica R si atat. Motoarele sint de f multe tipuri, iar simbolul ala e bun doar pt desenat schema. Dc vrei sa faci simularea circuitului, inlocuieste motorul cu un rezistor de valoare corespunzatoare, R=12v/75mA. Iar dc nu ai ce face, pune si o bobina serie, ca sa emulezi cat mai bine motorul (nerecomandat in cazul tau). Valoarea bobinei este mai greu de ghicit insa.

Link spre comentariu

schema postata de georged este aproape corecta dar nu 100%

 

La partea de comanda:

Daca beta tranzistorului T1 este mic (si fiind un tranzistor de putere cam asa si este) de ex un beta 25 cu un curent de 2 mA in baza, tranzistorul nu se va satura => tensiunea livrata catre motor mai ales la pornire va fi mai mica... Ori se micsoreaza Rin, ori se pune un darlington in locul lui T1. Sincer eu as prefera un tranzistor darlington de putere (un BD de exemplu) si as lasa R1 1K. Atentie! Unele microcontrolere nu stiu decat 2mA pe un port. In acest caz mareste R1 !!! altfel arzi portul respectiv !

 

Cea ce este FOARTE important este ca in loc de R1 sa pui o dioda de protectie polarizata invers !!! Motorul, se comporta inductiv. Astfel daca tranzistorul se blocheaza, la bornele motorului va apare o tensiune inversa care poate fi si de 3 ori mai mare decat 12V care adaugata la 12 V duce la varfuri chiar de 40-50 de V intre E si C tranzistorului! Deci iti poate arde tranzistorul. Este obligatoriu sa ai aceasta dioda!

 

La partea de detectie cea mai simpla si eleganta metoda este folosirea unei singure rezistente si ADC-ul microcontrolerului. Aceasta rezistenta se conecteaza in emitorul lui T1 si va avea o valoare astfel aleasa incat pe ea in mod normal sa cada 200-300 mV. Daca motorul este blocat sau lipseste vei avea mai mult de 300mV (1V sau cat o fi) iara daca nu va merge vei avea aproape 0V (<100mV dar nu 0 din cauza curentului de baza a tranzistorului => curentul intra de la microcontoler prin B si iese prin E-ul tranzistorului).

 

Fiind un motor de mica putere, asta este solutia "standard" de a diagnostica functionarea motorului. La motoare de putere mare (la cele care ridica si coboara geamurile de la masini de ex) se face diagnosticarea (pentru a preveni ranirea copiilor cand ridica geamul sa nu-si prinda gatul) prin folosirea unor drivere de mare putere si care au o iesire in curent pentru diagnosticare. Curentul pe aceasta iesire este direct proportional cu un anumit factor (400:1 de ex) si daca ai 10 A prin motor pe aceasta iesire vei avea 10A/400 => 25mA. Acest curent se aplica pe o rezistenta si ce citeste tensiunea cu un ADC.

 

Asta in cazul in care microcontrolerul tau are un ADC! Daca nu are atunci trebuie modificata schema si mai trebuie adaugate niste circuite. Daca vrei iti pot face schema si o sa o postez...

 

Ah si inca ceva! Nu citi intrarile imediat dupa ce pornesti motorul. Asteapta cel putin o secunda pentru ca motorul sa ajunga la turatia nominala de functionala. Din cauza inertiei, curentul absorbit in primele momente de la pornire va fi mare, dupa care scade foarte mult. Ca sa-ti dau un exemplu: un motor care in gol suge 2 A, in primele 40 de ms de la pornire suge pe undeva de pe la 17 A !!! In cazul motorasului tau nu va fi asa de mare curentul la pornire (inrush current) dar va fi mult mai mare decat curentul absorbit pe parcursul functionarii sale...

 

Spor !

Link spre comentariu
Vizitator Knut

In primul rand multumesc pentru raspunsuri!Microcontrollerul pe care il folosesc este un AtMega8 si dispune de ADC-uri pe portul C, deci e ok.Totusi am o nelamurire:"Atentie! Unele microcontrolere nu stiu decat 2mA pe un port. In acest caz mareste R1 !!! altfel arzi portul respectiv ! Cea ce este FOARTE important este ca in loc de R1 sa pui o dioda de protectie polarizata invers !!! "Pastrez R1 sau o inlocuiesc cu dioda respectiva? Si daca o pastrez cum imi dau seama daca Atmega8 "stie" si altceva decat 2mA?

Link spre comentariu

Imi cer scuze :prayer: am scris aiurea :rolleyes: Uite am atasat schema asa cum o vad eu.R1 poate fi lejer 1K. Conform datasheetului, curentul maxim suportat pe un pin este de 40 mA. Dar nu este bine sa te intinzi prea mult. Cred ca cel mai bine este sa lasi 1K si sa folosesti un tranzistor darlington.R3 este rezistenta pe care se citeste curentul prin motor. Eu as pune-o 2.2 ohmi avand in vedere ca ADC-ul tau lucreaza pe 10 biti poti vedea lejer curentul prin motor.R2 am pus-o acolo pentru a proteja portul in caz de tranzistor ars, scurt circuit etc. Daca faci un scurt circuit pe motor, si se arde tranzistorul si ai scurtcircuit intre E si C, va apare tensiunea de alimentare pe R3. Daca nu ar fi R2, tensiunea asta va apare pe port si il va arde. Cu ea, tensiunea maxima pe port va fi Vcc+0.5V iar curentul in acest caz va fi limitat. In functionare normala ea are o influenta foarte mica deoarece curentul de scurgere pe port cand este intrare este de aprox 1uA iar eroarea introdusa este sub 3LSB.Tranzitorul trebuie sa fie un NPN darlington cum ar fi: BD643,645,675,677,TIP122 etc. Dioda poate fi una normala dar este preferabil sa poata sa duca peste 1A.

Link spre comentariu
Vizitator Knut

Am gasit o schema foarte asemanatoare cu a lui Bala, insa e vorba de 2 diode in loc de una singura. E vreo diferenta in functionare? E vreo varianta incorecta?Multumesc!

Link spre comentariu

Knut, dioda D1 este cum a zis si niq_ro pentru a proteja tranzistorul de varfurile de tensiune care apar din cauza comportamentului inductiv al motorului.

Fenomenul se intampla cam asa:

 

- de la microcontroler se trimite un 1 logic si tranzistorul intra in conductie. Apare astfel tensiunea de 12V la bornele motorului si acesta se porneste. In acest caz, borna 1 este + si borna 2 a motorului este -. Tensiunea intre cele 2 borne este de aprox 12V;

 

- cand de la microcontroler se comanda oprirea motorului, se trimite un 0 logic. In urmatorul moment, tranzistorul iese din conductie. Tensiunea de la bornele motorului scade. In cazul in care avem o sarcina rezistiva (bec, rezistenta) tensiunea va scade pana la 0V. Numai ca aici avem un motor care are un comportament inductiv.

 

-dupa ce tensiunea a ajuns la 0V pe motor, variatia ei nu se opreste aici! Ci energia magnetica acumulata in infasurarile motorului (campul magnetic initial care s-a format in jurul bobinei, scade deoarece si curentul prin bobina scade => se modifica, campul magnetic din jurul bobinei (scade) => modificarea campului magnetic din jurul bobinei duce la aparitia unei tensiuni electromotoare induse de sens contrar tensiunii initiale aplicate pe bobina=> la bornele bobinei va apare o tensiune inversa - asta dupa ce tranzistorul a iesit din conductie - care poate fi chiar si de 3 ori mai mare decat tensiunea aplicata initial

 

- apare deci la bornele bobinei motorului o teniune de sa zicem 36V cu plusul la borna 2 si cu minusul la borna 1. Tensiunea CE de pe tranzistor va fi de 36V+12V = 48V ! (problema 1)

 

- Dupa ce tensiune inversa a atins maximul, ea va scade => duce la paritia unor mici oscilatii si pe parcursul acestor oscilatii, tensiunea de la bornele bobinei poate fi mai mare de 12V (+ borna 1 si - borna 2) care duce la o tensiune pe tranzistor CE <0V (problema 2)

 

Solutii:

-pentru problema 1 se folosesc cateva metode de a proteja tranzistorul. cea mai simpla este folosirea unei dioda polarizate invers. La functionarea normala a circuitului, dioda este polarizata invers si nu are efect. La iesirea tranzistorului din conductie, cand apare tensiunea inversa pe bobina motorului, dioda se va polariza direct. Va limita astfel tensiunea inversa. Curentul prin dioda poate fi mare. din cate stiu eu este bine ca dioda sa suporte cel putin curentul nominal care trece prin motor la o functionare normala. Dar nu sunt sigur. Daca o pui de 1A va rezista cu siguranta.

-pentru problema 2: Daca inca de la inceput, tensiunea inversa de pe bobina este de valoare mica (tensiunea de deschidere a diodei) nu vor apare oscilatii de o amplitudine mare care sa poata duce la tensiuni negative intre C-ul si E-ul tranzistorului. Deci a doua dioda care este legata in paralel cu tranzistorul eu nu as mai pune-o. Daca prima dioda D1 isi face treaba nu vad sensul lui D2.

Link spre comentariu

Arhivat

Acest subiect este acum arhivat și este închis pentru alte răspunsuri.




×
×
  • 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