Sari la conținut
ELFORUM - Forumul electronistilor

control viteza si directie de rotatie pentru motor de 12V 50W


vlad2005

Postări Recomandate

  • Răspunsuri 88
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • vlad2005

    33

  • Mircea

    15

  • Liviu M

    12

  • UDAR

    7

Top autori în acest subiect

Imagini postate

Deci ideea de fond este ca nu am experienta insa inteleg pricipiile de baza. Nu cunosc detalii subtile, poate nu ma exprim corect dar nici nu sunt genul care sa bat campii cu tampenii spuse exact pe dos decat sunt in realitate. Si chiar nu mi se pare productiv sa umplu topicul cu replici la replici. Ma intereseaza rezolvarea rapida si profesionista si eventual discutia se poate lungi pe o schema functionala in legatura cu imbunatatirea ei. Dupa cum vezi am incercat sa argumentez logic, de ce credeam ca nu trebuie acea dioda si cred ca observi ca vin cu argumente care arata ca inteleg rolul ei si fenomenele care se produc. Nu am banuit ca modulatia produsa de semnalul PWM trebuie protejata si ea de dioda. M-am lamurit ca trebuie. Sincer as prefera chestii mai constructive decat sugestii de genul "mai citeste" ca nu prea tin la mine deoarece chiar citesc si vreau sa inteleg corect si sa fac totul cum trebuie. Daca eram lazy ramaneam la varianta simpla cu punte de relee si gata. Sunt curios daca putem avea in final o punte H pe care sa o realizez si sa vad cum merge. Daca nu se poate, asta e.

@Liviu M - ambele. Tranzistorii mos au 4 pini din care doi se pare ca sunt conectati. Mai trebuie sa citesc despre ei. Despre comanda releului din arduino deja am facut asta cu un tranzistor si rezistenta, desi releul folosit era unul cu comanda low deci cred ca puteam sa folosesc direct din pin. De fapt am si testat dar am lasat pana la urma schema completa cu tranzisor si rezistenta. In prezent circuitul functioneaza pe post de termostat la un frigider mai vechi. Si functioneaza foarte bine.

Deja sunt 4 postari care nu aduc nimic nou la subiect. Putem trece a treaba?

Apropo, din ce citesc pe net:
"The Metal Oxide Semiconductor Field Effect Transistor, or MOSFET for short, has an extremely high input gate resistance with the current flowing through the channel between the source and drain being controlled by the gate voltage."

Aceasta inseamna ca ai nevoie de un semnal foarte mic pentru al comanda. In principiu ar trebui sa poate fi comandat direct din arduino fara nimic intermediar. De fapt am si gasit un video interesant in privinta aceasta cu o demonstratie de baza privind functionarea mosfet cu arduino.

Editat de vlad2005
Link spre comentariu

Eu ma refeream la tranzistorii montati intre Vcc (12V) si motor. Ca sa-i deschizi iti trebuie in baza/poarta o tensiune "ceva" mai mare decat cea in emitor/sursa.Cum scopul e sa-i "saturezi" *) cat mai tare ca sa minimizezi pierderile, inseamna ca tensiunea emitorului/sursei se va apropia de VCC. Asta inseamna ca si semnalul de comanda (in baza/poarta) trebuie sa se duca spre acelasi VCC. In conditiile in care lucrezi cu 12V, n-ai cum sa obtii un semnal de comanda potrivit direct din microcontroller.

Si cu asta ma opresc din postarile fara informatie.*) Stiu ca doar in cazul bipolarilor e saturare, dar imi e mai usor sa explic

Link spre comentariu

Ok, deci care este solutia? O schema ceva pe o foaie de hartie sau alt mod de la care sa pornim discutia concreta?Multumesc!

 

P.S. acuma am citit, se pare ca tranzistori bipolari sunt comandati de curent in timp ce mosfet sunt comandati de tensiune. Probabil de aceea spui ca imi trebuie cei 12V pentru comanda mosfetului. Gandeam ca la bipolari. Ok, continui sa invat.

Ca sa continui, sper ca nu singur, inteleg ca BUZ71 este potrivit pentru o punte H bridge. Are V_GS(TH) de 3V deci il pot comanda direct din arduino, tensiunea maxima suportata este de 50V iar curentul maxim I_sd (source to drain) este de 14A ceea ce este arhisuficient pentru mine. Putem pleca de aici?

Editat de vlad2005
Link spre comentariu

Pai e ciudat. Ma intrebi tu pe mine. Eu sunt cel care am nevoie de sfaturi.Curentul este dictat de tensiune. Ai tensiune, ai curent. Ideea era alta.Outputul este determinat de tensiunea gate-source la mosfet (voltage operated). La bipolari outputul este dat de curentul de intrare din baza. De aceea se spune ca mosfet este comandat de tesniune in timp ce bipolarii de curent. Sper ca am inteles bine.Deci, am gasit ceva functional, mai ramane sa vad cum fac si PWM ca sa nu raman doar cu schimbare de directie.In principiu este o punte H cu 4 mosfeti. 2 sunt P si doi N. Pentru ai comanda pe cei de tip P se folosesc doi tranzistori 2N2222. In esenta este un video pe youtube aici cu clarificarile de rigoare.https://www.youtube.com/watch?v=IjgvKJrAOS4Si cred ca am gasit si solutia completa. La schema din clip, mai pun un mosfet (probabil BUZ71 intre GND si H-bridge ca sa fac PWM pe intreaba punte. Am schitat ceva fara pretentie de rigoare, doar ca sa se vada ideea. M-am folosit de schita gasita aici:

post-183731-0-07175400-1454966028_thumb.png

Editat de vlad2005
Link spre comentariu

Schema asta pare OK. Daca te uiti la ea, observi ca in partea "de sus" comanda nu e directa microcontroller-tranzistori de putere, ci exista o translatare de nivele.

Nu mi-am permis sa-ti propun vreo schema pentru ca ai primit foarte ciudat toate sfaturile/informatiile primite. Am indraznit totusi sa-ti atrag atentia ca schema cu tranzistori cu care ai inceput nu e buna.

 

Spor!

Editat de Liviu M
Link spre comentariu

Nu am luat ciudat doar ca ..... in sfarsit. Am facut un update la postarea #22. Nu cred ca are o problema speciala circuitul anterior cu tranzistori bipolari, doar ca nu merge pentru curenti mari. Pana la urma principiul la H-bridge este acelasi. Implementarea este diferita in functie de curentul si tensiunea de lucru.Oricum, vad ca ar fi nevoie de 5 mosfeti, 2 bipolari si ceva rezistente ca sa faci un driver full pentru un motor de 12V si 3A. Destul de complicat pentru stadiul meu de incepator. In plus ar trebui sa apara si niste optocuplere pe acolo, deci cam mult.Cred ca am sa aplic prima data varianta cu relee (cu optocuplere) si un mosfet. Ies un pic mai scump, dar e un start bun si mai simplu. Daca merge, prind curaj si trec la varianta numai cu mosfet. Mai este de studiu si cu semnalul PWM, lucrul cu registrii, .... deci am ce face.

Link spre comentariu

Din ce am cititi pe un forum (nu mai stiu unde exact) puntea aceasta, cel putin cu tranzistorii IRF9630/IRF630 nu functiona cu semnal PWM. Practic, din ce spunea un user, motoarele porneau brusc pe masura ce crestea frecventa semnalului PWM. M-am uitat un pic pe caracteristicele celor doi tranzistori ( I_ds = f(V_gs) ) si arata destul de abrupt. Practic de la 4V curentul creste brusc.Am gasit niste tutoriale cu BUZ71 prin care se comanda un motor de 12V doar prin atingere a portii cu degetul. Din soft se controla usor turatia. Probabil ca ar trebui inlocuit IRF9630 cu o alta varianta care sa aiba o panta liniara a dependentei curent DS fata de tensiune GS pe domeniul 0-5V. Atasez mai jos caracteristicele de care am vorbit si schema puntii cu mosfetii IRF9630/IRF630 ca sa avem un reper al discutiei.P.S. pe schema sunt niste optocuplere care nu cred ca merg cu PWM. Dar se pot ignora evident in raport cu subiectul de fond

Am gasit si posarea pe forum arduino unde la final un user spune ca poate folosi aceasta punte daca mai monteaza pe GND inca un mosfet. Practic puntea e folosita pentru on/off si directie, iar al cincilea mosfet pentru pwmhttp://forum.arduino.cc/index.php?topic=302007.0Aici este clipul despre BUZ71: https://www.youtube.com/watch?v=Lzxuro0Z2Ew

post-183731-0-09811700-1455216746_thumb.jpg

post-183731-0-15596700-1455216756_thumb.png

Editat de vlad2005
Link spre comentariu

Vlade, focus pe ceva! Tu esti prea imprastiat. Sari la orice schema.Ce-i aia cu motoarele care porneau la cresterea frecventei? Un PWM implica modularea unui puls. Dar frecventa e constanta. La PWM modifici factorul de umplere. Pune mana si citeste, lasa aerele, ca stii mult mai putin decat crezi.Nu am chef in seara asta, dar maine iti fac o schema cu 4 mosfeti si un driver dedicat. Comanzi totul in 5V de la Arduino.Preferi punte cu mosfeti N (implica si un booster de tensiune pentru comanda) sau o punte N+ P?Mosfetii N sunt mai ieftini (la Rdson mic) decat cei P, dar si mai greu de gasit.Eu zic sa te opresti a studia cazul Id vs Uds. Nu intelegi prea multe din acele grafice.

Link spre comentariu

Vlad, nu vreau sa sun condescent, dar ar fi bine ca mai intai sa intelegi fenomenul de PWM. Foloseste un Arduino si printr-un tranzistor MOSFET fa un dimming pentru un LED. Ca sa te lamuresti.

Nu ai nici-o treaba cu partea lineara de functionare a Mosfet-ului. De fapt tu trebuie sa te straduiesti sa iesi din zona lineara cat mai repede, ca altfel o sa faca poc MOSFET-ii. In PWM totul este legat de switching ON - OFF nu de tinut tranzistorii MOSFET in zona lineara ...

 

LE: Hopa ca mi-a luat-o inainte Mircea :)

Editat de mars01
Link spre comentariu

@thunderer era suficient sa spui ca nu are treaba PWM cu modificare frecventei. Nu stiu de ce mi-a ramas ideea aceasta in minte, probabil pentru ca am mai dat si de subiectul despre frecventa semnalului PWM dat de arduino. De unde chestia cu aerele, dar ma rog, incep sa ma obisnuiesc cu modul acesta de a da replici. Sincer l-am intalnit in special pe zona IT-electronica, nu stiu de ce.In legatura cu acea caracteristica, nu ma intereseaza toata teoria mosfet-ului ca nu sunt student la electronica dar ideea este ca de acolo se poate observa cat de repede se ajunge la saturare plecand de la valoarea threshold. Incercam sa imi explic de ce nu ii functiona puntea userului de pe forumul arduino, ma gandeam ca ajunge prea repede la saturatie si motorul nu are pornirea lenta. Daca gresec corectati-ma.In ce priveste schema, probabil ca e util sa vedem una numai cu mosfeti n. Despre cost, am vazut ca pretul e relativ similar cel putin in cazul celor de pe schema. Apropo ce are rau in schema postata de mine (luata de la altii) si de ce se plangea un user pe forum ca nu reuseste sa regleze viteza de rotatie a motorului aplicand semnal PWM inputul puntii? Asta mi se pare interesant de aflat. Gresea ceva userul sau este ceva gresit in schema in sine (conceptie, tipuri de mosfeti). Cum ar trebui alesi mosfetii ca sa functioneze aceasta punte in schema data?In alta ordine de idei, este posibil sa fac greseli si confuzii pentru ca citesc din multe locuri, fiecare explica cumva asa cum vede el si este posibil sa mai inteleg si gresit niste lucruri. Le corectez.@mars01 In mintea mea (posibil gresit) lucrurile stau in felul urmator: o tensiune variabila GS duce la conductanta variabila DS si implicit la curent variabil. In acest fel se asigura turatia variabila a motorului. Avand o dependenta liniara ai practic cresterea curentului prin motor proportional cu cresterea tensiunii GS. Aceasta tensiune gate-source este asigurata de arduino prin semnal modulat PWM pe care il poti modifica sa spunem liniar in timp (daca vrei efect fade), sau ii poti stabili o valoarea anume. O iesire din zona liniara conduce la o functionare care seamana cu a unui switch, ceea ce nu ma intereseaza, adica mosfetul conduce brusc. Aceasta este modul meu de a intelege aceste lucruri legate de subiectul PWM-MOSFET. Pe mine ma intereseaza nu sa pornesc sau sa opresc un motor ci o implementare soft-start folosind PWM si MOSFET.Si acum cateva chestiuni cu caracter general. Incerc a inteleg acesta punte cu mosfeti nu ca utilitate imediata pentru ca nu o vad. Sunt decis sa merg pe relee deoarece nu se justifica alegerea mosfetilor in cazul de fata. O poarta nu se deschide de 10 ori pe secunda ca sa se puna problema ca cedeaza releele. Singura faza care voiam sa o implementez era acel soft start al motorului care evident ca nu poate fi facut din relee. Si cred ca planul final este o pereche de relee (ca in schema initiala) cu mosfet pe GND (probabil un BUZ71 despre care am vazut ca face exact ce vreau eu) ca sa incerc aplicarea de semnal PWM. La inceput mosfetul este deschis in sensul ca nu conduce pe DS. Inchid releul pentru directia de rotatie dorita si apoi aplic semnal PWM pentru a creste turatia progresiv. Mi se pare o solutie simpla, solida si usor realizabila cel putin pentru mine. Daca as face schema cu mosfeti se complica circuitul, probabil ca ar trebui un pcb pe doua fete ca sa poti aranja componentele frumos, eventual racire pe mosfeti, deci sincer cred ca este mai mult de munca si nici considerabil mai ieftin decat varianta cu relee. Postarea acesta ar fi frumos daca ar continua cu sugestii concrete si corecturi daca spun ceva gresit (ca unui elev pe care vrei sa il inveti) nu luat pe sus ca sincer mi se pare proasta crestere. Decat sa asist la tras de urechi mai bine rog moderatorul sa stearga topicul si multa sanatate. Multumesc celor care mi-au dat sfaturi concrete si sincer am sa evit acest forum pe viitor daca acesta este modul de discutie. Am constatat de-a lungul timpului ca sunt multi specialisti pe lume (unii veritabili fara indoiala) dar foarte putini stiu sa explice ceva. As prefera sa vorbesc cu cei dispusi sa explice, daca va fi cineva, daca nu asta e.

Editat de vlad2005
Link spre comentariu

Vlad, aici nu este vorba de contrare si nici de cine este "mai ca celalalt". Poti privi constructiv criticile sau le poti lua ca atac la persoana (multi se identifica cu informatiile care le au, cred ca se aplica si la mine, iar daca cineva critica ce spun au impresia ca sunt atacati personal) dar nu este cazul.

 

@mars01 In mintea mea (posibil gresit) lucrurile stau in felul urmator: o tensiune variabila GS duce la conductanta variabila DS si implicit la curent variabil. In acest fel se asigura turatia variabila a motorului. Avand o dependenta liniara ai practic cresterea curentului prin motor proportional cu cresterea tensiunii GS. Aceasta tensiune gate-source este asigurata de arduino prin semnal modulat PWM pe care il poti modifica sa spunem liniar in timp (daca vrei efect fade), sau ii poti stabili o valoarea anume. O iesire din zona liniara conduce la o functionare care seamana cu a unui switch, ceea ce nu ma intereseaza, adica mosfetul conduce brusc. Aceasta este modul meu de a intelege aceste lucruri legate de subiectul PWM-MOSFET. Pe mine ma intereseaza nu sa pornesc sau sa opresc un motor ci o implementare soft-start folosind PWM si MOSFET.

 

Ceea ce tu intelegi este ca mosfetul se comporta ca un rezistor variabil controlat in tensiune. Ceea ce este valabil pentru o anumita zona de functionare a tranzistorului MOSFET. Dar aceasta nu are legatura cu tehnica PWM.

 

In ceea ce numim PWM (pulse width modulation) nu se urmareste ca trazistorul MOSFET sa lucreze in zona lineara. Zona lineara presupune o disipare puternica de putere pe pastila MOSFET-ului si cam toate optimizarile pentru tehnica PWM urmaresc ca "switching-ul" sa aiba loc cu tranzitii cat mai rapide (ca sa se iasa din zona lineara cat mai repede), fara oscilatii la tranzitiile din nivel LOW in nivel HIGH (tranzistor OFF- tranzistor ON) si invers.

 

Pentru a intelege ceea ce este tehnica PWM, trebuie inteles ca aceasta are legatura cu varierea factorului de umplere, mai exact pe o perioada cat se sta ON si cat OFF.

Semnalul PWM este un semnal dreptunghiular adica este format din portiuni cand este ON si portiuni cand este OFF.

Un factor umplere PWM 100% inseamna ca semnalul PWM (provenit din Arduino sau mai stiu eu de unde) este ON continuu. Un factor PWM 0% inseamna ca acel semnal PWM este OFF continuu. Un semnal cu factor PWM 50% este ON pentru jumatate din perioada si OFF pentru cealalta jumatate din perioada.

 

Faptul ca acest switching ON-OFF are loc cu o viteza mare (frecventa PWM) face energia care ajunge la consumator sa fie controlata de factorul de umplere PWM. Integrarea acestor pulsuri de energie se face chiar in consumator.

Pentru mai multe informatii despre ce este PWM, se poate citi aici sau aici.

Editat de mars01
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