Sari la conținut
ELFORUM - Forumul electronistilor

buck-converter ( controler MPPT )


Bandi Szasz

Postări Recomandate

As vrea sa experimentez cu un controler MPPT pus in functiune de un PIC. Am cautat niste scheme/proiecte si am gasit mai peste tot diverse modificari unei scheme facuta de un asa numit Tim Nolan care este bazat pe un arduino( la soft nu prea e problema ca il transcriu pentru un PIC), insa se pare ca exista o problema in partea de conversie dc-dc mai precis in buck-converter cu half-bridge controlat de un driver IR2104. Am gasit schema pe "instructables" unde lumea se plage ca mosfetul pe partea de LO ( notat cu Q7 ) mai tot timpul crapa cand bateria este conectata. Se discuta ca in anumite situatii ca Q7 face scrut  la bateriei ( baterie -> Q7 -> Gnd = fum) pe un alt forum un nene se lauda ca tot acea schema ( modificata usor dar partea de conversie este exact la fel, modificarie apareau in soft/ senzorul de curent etc.. ). 

 

Inainte sa ma apuc sa-l fac as vrea sa cer niste pareri daca se poate findca personal nu prea ma pricep la convertoare buck deci nu prea stiu ce sa cred merge - nu merge, etc... Pe instructables mai mentiona cineva ca daca semnalul PWM scade sub 20% duty cycle sau urca peste 95% atunci este unul dintre momente cand se intampla acel scrut si bubie mosfet-ul.

 

Posted Image

Editat de bandi12
Link spre comentariu
  • Răspunsuri 14
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Bandi Szasz

    6

  • UDAR

    5

  • Marian

    4

Top autori în acest subiect

Nu sunt sigur ca inteleg scopul celui de-al 3-lea mosfet ( Q5 ), dar in principiu ce ai tu acolo este un buck sincron. D1 este in plus, ma indoiesc ca performantele sale sunt mai bune decat cele ale diodei interne a mosfetului. C1 si R14 nu inteleg ce cauta acolo. Conectand iesirea la bornele unui acumulator, mosfetul de jos face scurt pe acesta atunci cand se deschide, se intampla asta indiferent de timpul de conductie ( deci indiferent de umplere ), pentru a evita distrugerea sa trebuie inseriata o doda de sens pe plus, o dioda de putere inseriata pe plus dupa inductanta, va disipa produsul dintre curentul maxim si Vf, deci posibil destul de mult, dar este inevitabil. Trebuie o dioda dimensionata astfel incat sa suporte curentul maxim de sarcina si macar dublul tensiunii de iesire setate, si va avea nevoie de un radiator generos, preferabil dioda skhottky pentru Vf mai mic.

 

Unde sunt condensatorii de filtrare de dupa inductanta? Ca nu se vad in schema. Apoi pentru stabilitatea buclei de reactie, ar trebui sa o izolezi pe aceasta in AC de iesire, asta presupune o alta inductanta inseriata pe iesire, macar cateva zeci de uH.

Link spre comentariu

Q5 cred că este pentru a preveni trecerea curentului de la baterie spre restul schemei . În rest , cred că folosirea unui buck nesincron este soluția problemei - nu știu acum , la prima strigare , dacă asta nu afectează vreo altă funcționalitate a regulatorului. Altfel ( adică cu sincron ) trebuie prevenită intrarea buck-ului în regimul FCM ( Forced Current Mode ) .

Link spre comentariu

schema de pe instructables :  http://www.instructables.com/files/orig/FL2/2QOI/I6EXG10K/FL22QOII6EXG10K.jpg  ( putin diferit de cel postat inainte, se vede putin neclar ). Si proiectul in sine :http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-Version-30/.

 

Q5 sau Q1 in schema de pe instructables , este folosit pentru a preveni scurgerea bateriei inapoi in panoul solar pe timp de noapte.

 

@UDAR da am gasit pe youtube un sir de videouri ( vro 22 ) cu un nene care a inceput de la 0 si la final a dezvoltat tot un fell de MPPT el folosea un buck nesincron cu un singur mosfet o dioda si un inductor cu un condensator de vro 4700uF dupa inductor. Lumea zicea ca nu ar avea performanta prea mare cu un buck nesincron asa ca am mai cautat gasind schema cu probleme. In plus el avea si o baterie de 9V cu care prin 2 optocuploare comanda acel mosfet. Putin incomod sa mai existe si o baterie pe acolo, deci cred ca este posibil de modificat tot cu un IR2104 dar care sa fie pus nesincron ? 

Editat de bandi12
Link spre comentariu

Bandi12, este adevarat ca randamentul unui buck cu dioda este mai slab decat unul sincron, dar pentru aplicatia asta folosirea de buck sincron nu ajuta la nimic, ce castigi undeva, pierzi altundeva.

 

http://www.mediafire.com/view/866ze8jwnewiijl/mppt_controller_v-3__updated_on_16-06-15.pdf

 

Aceea pare-se a fi schema finala. Si cateva din explicatiile autorului:

 

-R6 si C8 sunt un snubber pe inductanta.  Marturisesc ca este prima data cand aud de asa ceva...

 

-Q1 blocheaza tensiunea de la acumulator sa ajunga in panou noaptea, Q1 se activeaza simultan cu Q2 prin D1, iar R5 blocheaza pe Q1 cand Q2 se blocheaza. Am cateva probleme cu chestiunea asta, se foloseste un mosfet canal N cu sursa dusa catre plusul alimentarii de la panou, pentru ca acest mosfet sa se deschida, trebuie ca poarta sa fie mai pozitiva cu macar 8-10V decat sursa, adica in poarta trebuie sa fie macar 8-10V mai mult decat ceea ce da panoul, cum oare se intampla asta atunci cand integratul care comanda portile mosfetilor se alimenteaza de la iesire, si deci automat si inevitabil de la o tensiune mai mica decat ceea ce da panoul? Apoi R5 care cica ar bloca acel Q1, pai 470k nu vi se pare cam mult pentru a bloca suficient de rapid un mosfet? Aici din punctul meu de vedere, ceea ce alimenteaza regulatorul nu este mosfetul Q1 in sine, ci dioda sa interna, deci Q1 este in plus.

 

-D3 mareste eficienta ajutand mosfetul de jos pe perioada timpului mort. Ca sa se intample asta, D3 trebuie sa aiba niste timpi net superiori diodei interne a mosfetului, ori UF4007 are Trr tipic de 75nS pe cand dioda mosfetului folosit are 63nS, pai in loc sa fie mai buna, este de fapt mai slaba, adica asa cum am zis, este in plus.

 

-D2 si C7 evident reteaua de bootstrap. Problema mea aici este cu valoarea C7 care la cei 100n trebuie sa asigure un curent de varf suficient pentru comanda eficienta a 2 IRFZ44 in paralel... macar 470n-1uF ar fi trebuit acolo.

 

Nu se specifica in schema configuratia buclei de reactie negativa, inteleg ca se comanda intrarea analogica a arduino, dar cum ramane cu compensarea si deci stabilitatea acestei bucle de reactie negativa? mai cu seama ca nu este izolata de acumulator si deci de capacitatea imensa cu care acesta contribuie la LC-ul din bucla...

 

Sfatul meu ar fi sa uiti ca ai gasit proiectul ala, stabileste-ti tu insuti niste parametrii de lucru ce se aplica in cazul tau, si de la ei se poate pleca in proiectarea unui regulator potrivit tie.

Link spre comentariu

Performanțele buck-ului sincron ( eficiența sporită ) sunt semnificative la tensiuni de intrare relativ mari , tensiuni de ieșire mici și curenți mari . În acest caz tensiunea de ieșire este de 12V  , tensiunea de intrare nu este cu mult mai mare deci pierderile la folosirea unui nesincron sunt acceptabile . 

Ca idee , dacă am 18V la intrare , 12V la ieșire și 10A pierd cam 2 W pe diodă în cazul buck nesincron față de circa  0.5W pe MOSFET-ul de jos , în cazul buck sincron . Dacă pui o diodă serie să eviți returul din baterie spre convertor , pierderile sunt mai mari .

Modificarea este simplă , se renunță pur și simplu la MOSFET-ul de jos și se înlocuiește dioda D1 cu una mai puternică , în funcție de curent - să zicem un MBR1645 pentru 10A .

 

Observație - această modificare rezolvă doar problema returului de la baterie spre convertor nu și cea spre panou .

 

PS Am citit între timp observațiile lui Marian - sunt de acord cu ele , cu excepția buclei de reglaj, unde și eu am dubii că algoritmul din µC poate asigura stabilitatea dar nu vreau să fiu categoric - n-am niciun chef să studiez algoritmul cu pricina.

 

PS2 Din nou nu sunt la fel de categoric ca Marian când îți sugerează să uiți proiectul ăla . Eu îți sugerez doar să te convingi că a fost realizat și funcționează OK. Din puținul care l-am citit am înțeles că ar fi realizat - dar cum merge ?

Editat de UDAR
Link spre comentariu

De construit a fost construit de functionat nu prea,am citit cateva comentarii de pe hackaday.io unde a fost postat schema pentru un concurs si lumea se cam plangea de Mosfet care se cam prajeste, cineva mentiona ca a prajit deja 4 bucat + condensatorul de la IR2104 se cam incalzeste probabil cum Marian zice trebuie pus unul mai mare.

 

Pana la urma ma opresc la un buck nesincron, este suficient pentru conostintele mele. Dupa ce am urmarit niste videouri a lui Jullian Ilett ( daca este cineva interesat se pot viziona aicea https://www.youtube.com/watch?v=MSz4-cr3EJw&index=1&list=PLjzGSu1yGFjWv4KeN-7TSYeQIcicM9Ghl ) am vazut ca cu un buck nesincron storcea inca 10W dintrun panou de 60w fata de cat se obtinea cu o legatura directa intre baterie si panou , daca storc si eu inca vro 15-20W dintrun panou de 100W pe care il am ar fi suficient ( momental asa de test am folosit un amarat de LM338 cum bateria trage voltajul panoului la 12.4V scoteam cam 3.8/4Amp din el deci undeva de 50W, intr-o baterie de 56Ah care duce un invertor care are nevoie de vro 4A sa duca o pompa de apa, putin peste cat scoteam din panou asa daca pot scoate inca vro 10-15W pot tine si bateria incarcata si merge si invertorul fara sa manance din baterie). 

 

Schema lui Jullian : http://www.256.co.uk/wordpress/wp-content/uploads/2014/03/MPPTschematic.jpg

 

O sa ma apuc azi sa refac schema pentru nevoile mele , deci am intelesc ca renunt la Mosfet-ul de jos si pun o dioda schotty la 10A ( panoul cel mult daca scoate 5A deci e ok ),  as inlocuii si mosfet ul pentru blocarea bateriei cu un P-Mosfet care sa fie comandat de PIC sau din ce am inteles ar trebuii sa functioneze si acel N-Mosfet numai ca este mai greu pt driver sa comande ambele. 

 

Nu prea stiu multe de bucla acea de reactie negativa, se poate rezolva cu niste componente in plus ? sau este ceva legat de soft ? ( o sa caut pe wiki care e treaba cu el ). 

Editat de bandi12
Link spre comentariu

Revin cu chema obtinuta ( poate este putin greu de verificat sunt un pic neindemanatic la desenat scheme ) , traseele lasate in "aer" o sa fie conectate la PIC.  Am pus in locul lui Q1 un Mosfet canal-P are un Rds in jur de 20mOhm fata de Mosfetul canal-N initial care are 17mOhm diferenta este destul de mica si mi se pare mai simplu de utilizat unul cu canal P , cand Pic-ul vede ca scade Voltajul de la panou sub 12V inchide 2N-ul,Mosfetul se inchide si am rezolvat scurgerea bateriei inapoi in panou, de asemenea trimite semnal de oprire la IR2104 si o sa intre in mod de "economisire" adica o sa citeasca numai voltajul panoului ( oprind tot alogirtmul, LCD-ul care o sa fie pus langa PIC ca sa minimizeze consumul in timp de noapte care o sa fie luat din baterie cu un LM7805 sau un step-down pe care o sa-l comand de pe eBay imprenuna cu sensorul de current ) , cand vede ca au apurt cei 12V+ porneste din nou driver-ul si ruleaza algoritmul MPPT care va fii unul cu "perturb and observe".

 

Mai ramane acea bucla de reactie negativa cu care daca putei sa ma ajutati un pic ca ma depaseste, inductorul este unul de 100uH ( luat din chema lui Jullian) la el rula cam la 15Khz eu vrea sa urc putin undeva la 45-50Khz daca ar fi ok ? Am inteles ca cu cat creste frecventa cu atat scade valoarea inductorului deci o sa fie ok acei 100uH ( la 6A ) sau trebuie mai mic/mare. Eventual daca mai trebuie ceva in pus / valorile condensatorilor ( care sunt tot din schema lui Jullian).

 

Referitor la alimentarea lui IR2104 ar fi o mica problema, daca mosfet-ul trebuie sa fie mai poztiv cu 10V dacat ce da panoul nu ar fii in regula sa-l alimentez de la baterie ci din panou dar apare o problema anume ca este specificat ca lucreaza intre 10-20V, in timp de incarcare a bateriei nu ar fii o problema findca panoul o sa coboare sub 20V dar daca dintr-un anume motiv bateria se deconecteaza sau este incarcat complet si panou ramane aproape fara sarcina probabil o sa urce peste 20V. Deci in aceste situatii ar merge sa-l alimentez de la panou cu un zener de 20V si o rezistenta care l-ar proteja daca panoul urca peste 20V sau o sa scot fum din zener ?

 

C2 l-am pus invers din greseala o sa corectez. 

 

Posted Image

Editat de bandi12
Link spre comentariu

Sunt mai multe de spus ...

1. Comanda lui Q1 nu e corecta. Potentialul pe poarta trebuie referit la sursa. Asa cum e acuma poti sa ai potential pe sursa suficient de ridicat incat Q1 sa fie in conductie chiar si cu Q4 blocat.

2. C2 poate fi periculos pentru Q1 . Deschiderea brusca a lui Q1 cu C2 descarcat poate duce la socuri mari de curent , eventual distrugerea lui Q1 . Probabil ca C2 poate fi micsorat sau luata o alta masura de prevenire/diminuare a impulsului de curent .

3. Frecventa maxima a semnalului PWM e posibil sa fie limitata de alti factori ce tin de µC si de algoritm . Daca marirea ei este posibila atunci inductanta poate fi micsorata . 100µH e cam mica la 15kHz  dar e buna la 40-50 kHz. 

4. Reactia negativa o face practic algoritmul de control , din punctul de vedere al buck-ului putem spune oarecum ca avem un feed forward, adica factorul de umplere este determinat in afara convertorului . E drept ca informatia care o foloseste µC e luata tot de la iesirea buck-ului ( printre altele ) , deci caracterul de reactie negativa poate fi prezent . Depinde de algoritm daca aceasta bucla este sau nu stabila . 

 

 

Oooops ! Nu poti pune MOSFET P la Q1 , dioda lui intrinseca ii anuleaza functionalitatea .

Editat de UDAR
Link spre comentariu

Am schimbat la loc Q1 cum a fost in schema originala cu mosfet canal-N. Si am mutat C2 inainte de cei doi Mosfeti,

 

Daca aveti alte idei / modificari pe care as putea sa-l fac as fi recunoscator. Si in legatura cu alimentarea lui IR2104 sunt cam fortat sa-l leg la baterie findca nu suparta mai mult de 20V in caz ca panoul ramane fara sarcina ar urca la 23V nu stiu daca IR2104 ar fi in largul lui, daca ar fi sa il leg de panou dar cu un zener de 20V si o rezistenta ar fi ok ? sau nu ar face fata zener-ul ? cand o sa fie functional voltajul scade findca panoul o sa fie pe sarcina si o sa fie in jur de 17V. Singurul moment la care ma pot gandi este la deconectarea bateriei moment in care PIC ul o sa se opreasca findca este alimentat de la baterie si driver-ul ramane fara nici o comanda moment in care nu stiu cum o sa reactioneze un alt posibil caz ar fii la protectia de supraincarcare a bateriei dar PIC ul ar tine driver-ul pe ShutDown sa opreasca incarcarea efectuand doar mici reveniri pt functia de "float" deci consumul ar fii destul de mic pe shutdown incat zener-ul sa faca fata. 

 

PIC-ul ar fi un PIC16F1507 care in datasheet mentioneaza in tabelul 19-1 ca cu o frecventa de lucru la 20Mhz ar fi capabil de 19.53 kHz  cu o rezulutie de 10 biti , 78.12 kHz cu 8 biti si  208.3 kHz la 6 biti, deci as putea obtine destul de usor un 40-50Khz, totusi se pare ca in MikroC Pro exista ceva probleme cu libraria PWM sau am uitat eu sa setez niste biti ( teoretic ar fii doar Init_PWM cu set_duty si start) findca la un  Init de 5khz simulat in Proteus scoate un PWM cu 1.2ms  care este total ridicol calculat undeva la 0.8Khz.

 

 

Posted Image

Link spre comentariu

Păi acum ai readus problema la cea inițială - comanda proastă pentru cele două MOSFET-uri ; vezi ce zicea Marian mai sus.

Eu aș folosi pur și simplu un releu în locul lui Q1 care se atrage când panoul furnizează . Se face o electronică simplă , se asigură un histerezis decent și gata . 

Driver-ul trebuie să aibă o tensiune de alimentare de minim 10 maxim 20V . El formează o tensiune ”săltată” față de punctul unde este conecat Vs . De aceea este greu spre imposibil să ataci corect două tranzistoare cu sursele legate separat .  Dacă vrei totuși să folosești MOSFET la Q1 atunci sau ajungi la povestea cu bateria și cu foto MOSFET fie improvizezi o tensiunea corectă cu un mic invertor cu 555 + tranzistor  , etc . 

Revin ....

Link spre comentariu

Bandi, nu ai citit observatiile mele, asa cum e ultima schema, Q1 nu se va deschide niciodata pe timpul zilei, am explicat mai sus de ce, adica e fix in plus, o dioda e tot ceea ce ai nevoie acolo, sau eventual pentru randament mai bun faci cum zice UDAR cu releu.

Link spre comentariu

În legătură cu PWM-ul la PIC nu sunt mare expert dar aici cred că este vorba de limitările simulatorului nu ale compilatorului . Cred că ”vrea” doar la 4MHz.

Oricum , așa cum am mai spus , trebuie văzut dacă frecvența PWM nu este legată și de restul algoritmului de control.

Link spre comentariu

Am rezolvat cu PIC-ul a doua oara cand am pornit simulatorul arata corect cei 5Khz si scoate usor si cei 45Khz.

 

Si da am fost neatent cand am citit despre Q1 ( am citit de pe mai multe forum-uri si am incercat sa pun totul cap la cap ). Am luat legatura cu cineva care a modificat usor schema si zice ca la folosit aproape 2 luni. El a pus cate o rezistenta de 20ohm la portile lui Q1 si Q2 dupa care pur si simplu lea legat impreuna probabil nu a rezolvat mare chestie cu el. Zice ca in cele doua luni singura cheste pe care a observat este ca a trebuit sa schimbe condensatorul de 100nF de bootstrap findca se incalzeau si dupa un timp ceda. Ma gandesc daca solutia mentionata de a schimba valoarea lui la 470nF, 1uF ar schimba ceva. La final a mai  trecut ca a pus si un ventilator o sa-l intreb daca a fost chiar nevoit sa-l puna , ma gandesc ca cum ziceti acel Q1 nu se deschide corect si genereaza ceva caldura. Deci cred ca o sa recurg ori la un releu sau l-a o dioda.

Atasez si modificarile facute de el.

 

Posted Image

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