Electronica de Putere Cu PSIM

13
Desfăşurarea aplicaţiei 1 ANALIZA FUNCŢIONĂRII CIRCUITELOR ELECTRONICE DE PUTERE CU AJUTORUL SIMULATORULUI DEDICAT PSIM 1. OBIECTUL APLICAŢIEI Aplicaţia are ca scop familiarizarea cu modalităţile de analiză şi proiectare cu ajutorul unui simulator dedicat circuitelor electronice de putere, PSIM. Prezentarea PSIM: PSIM este constituit dintr-un pachet de programe conceput special pentru circuite electronice de putere. Producătorul este Powersim Inc. Viteza mare de simulare, interfaţa utilizator prietenoasă şi funcţiile dedicate asigură un mediu de simulare performant şi avantajos pentru circuite electronice de putere, comandă şi reglare analogică / digitală şi acţionări electrice. Mediul integrat de simulare PSIM este constituit la bază din următoarele componente:

description

das

Transcript of Electronica de Putere Cu PSIM

Page 1: Electronica de Putere Cu PSIM

Desfăşurarea aplicaţiei 1

ANALIZA FUNCŢIONĂRII CIRCUITELOR ELECTRONICE DE PUTERE CU AJUTORUL SIMULATORULUI DEDICAT

PSIM 1. OBIECTUL APLICAŢIEI

Aplicaţia are ca scop familiarizarea cu modalităţile de analiză şi proiectare cu ajutorul unui simulator dedicat circuitelor electronice de putere, PSIM. Prezentarea PSIM: PSIM este constituit dintr-un pachet de programe conceput special pentru circuite electronice de putere. Producătorul este Powersim Inc. Viteza mare de simulare, interfaţa utilizator prietenoasă şi funcţiile dedicate asigură un mediu de simulare performant şi avantajos pentru circuite electronice de putere, comandă şi reglare analogică / digitală şi acţionări electrice.

Mediul integrat de simulare PSIM este constituit la bază din următoarele componente:

Page 2: Electronica de Putere Cu PSIM

Structura circuitului: Un circuit este reprezentat în PSIM prin 4 blocuri de bază, intercorelate precum urmează: Circuitul de putere este constituit din dispozitive comutatoare, ramuri RLC, transformatoare. Circuitul de control poate folosi pe lângă componentele electronice uzuale analogice şi digitale, blocuri cu funcţii de transfer definite în domeniile s sau z, componente neliniare (cum ar fi multiplicatoare şi divizoare), controlere PID, etc. Senzorii măsoară tensiunile şi curenţii din circuitul de putere şi transmit valorile circuitului de control. Acesta generează impulsurile de comandă care sunt transmise apoi comutatoarelor de putere. Programul încorporează, pe lângă elementele unui simulator clasic, următoarele module specializate:

• Motor Drive Module: modul de acţionări electrice cu modele predefinite ale diverselor maşini electrice şi sarcini mecanice,

• Digital Control Module: modul de control digital cu elemente discrete cum ar fi blocuri de eşantionare şi memorare, funcţii de transfer în domeniul z, blocuri de cuantizare, filtre digitale.

• SimCoupler Module: modul de interfaţă între PSIM şi Matlab/Simulink, pentru simulare corelată (co-simulare), în care o parte din sistemul electronic este simulată în PSIM şi o altă parte este simulată corelat în Matlab/Simulink.

• Thermal Module: permite calculul pierderilor în dispozitivele semiconductoare • MagCoupler Module: asigură interfaţa între PSIM şi programul de analiză a

câmpului electro-magnetc, JMAG. • SimCoder Module: permite generarea automată de cod C.

Circuit de putere

Comanda comutatoarelor

Senzori

Circuit de control

Page 3: Electronica de Putere Cu PSIM

Desfăşurarea aplicaţiei 3

În plus, PSIM poate fi conectat la alte aplicaţii software prin blocuri DLL. O imagine mai completă a mediului de simulare PSIM este următoarea:

În variantele mai noi, PSIM include şi:

• Modulul TI-F28335 Hardware Target: Deşi SimCoder permite generarea de cod C pornind de la schema electrică, codul are un caracter universal şi nu va rula ca atare pe procesoarele de semnal menite să îl implementeze fizic. Acest modul va genera însă direct cod C care va rula apoi ca atare pe plăci DSP care folosesc procesoarele în virgulă mobilă TI F283335.

• Extensia la Pachetul Renewable Energy, care cuprinde modelele şi blocurile necesare pentru aplicaţii de energie solară şi energie eoliană, cum ar fi celule solare, turbine eoliene, etc.

• Capacitate de simulare interactivă: se pot schimba valorile parametrilor şi vedea evoluţia tensiunilor şi curenţilor în mijlocul unei simulări, asemenea reacţiei unui modul de test fizic.

2. DESFĂŞURAREA APLICAŢIEI:

Vom analiza cu ajutorul PSIM câteva circuite electronice de putere.

2.1. Redresor monalternanţă.

Pentru familiarizare, începem cu un circuit simplu, un redresor monoalternanţă:

Page 4: Electronica de Putere Cu PSIM

§ Deschideţi programul PSIM. Va apare următoarea interfaţă:

§ Deschideţi un nou circuit din meniul File / New.

§ Toate componentele se găsesc în meniul Elements şi în submeniurile sale. Componentele uzuale se găsesc şi în bara de jos, de unde pot fi selectate direct.

§ Desenăm circuitul redresorului, aducând componentele pe rând în spaţiul de lucru.

§ Faceţi click pe componente pentru a le selecta. Faceţi dublu-click pentru a schimba valorile, şi alegeţi valori realiste pentru acest circuit. Tot aici determinaţi dacă se vor afişa sau nu valorile şi denumirile componentelor. Faceţi click-dreapta pentru a roti componenta. Interconectaţi componentele prin elementul wire (bara de sus). Este necesară şi

introducerea unei sonde de tensiune pentru a putea vizualiza tensiunea în nodul respectiv, faţă de masă.

Page 5: Electronica de Putere Cu PSIM

Desfăşurarea aplicaţiei 5

§ Înainte de a începe simularea, selectaţi Simulation Control din meniul Simulate şi plasaţi simbolul ceasului într-un loc convenabil pe ecran. Apoi setaţi parametri simulării şi închideţi fereastra Simulation Control.

§ Simulate, Run Simulation sau apăsaţi F8 sau butonul Run Simulation din bara de sus. La sfârşitul simulării fereastra SIMVIEW se va deschide automat. Dacă nu se deschide, apăsaţi Alt+F8.

§ Selectaţi parametrul de reprezentat, în cazul acesta tensiunea V1.

§ Exploraţi opţiunile disponibile de zoom, cursor, selecţie axe, calcul FFT,

calcul THD. 2.2. Redresor monoalternanţă comandat, cu sarcină rezistivă. Realizaţi următorul circuit, construind cele patru blocuri de bază:

Page 6: Electronica de Putere Cu PSIM

§ Circuitul de putere - Sursă de tensiune alternativă, 220 Vef, 50 Hz, - Tiristor, - Rezistenţă de sarcină 10 Ohm, - Simbol de masă, - Voltmetre şi ampermetre,

§ Senzori - Voltage sensor. Citeşte valoarea tensiunii de alimentare şi realizează

separaţia dintre circuitul de putere şi circuitul de comandă şi control. § Circuit de control

- Comparatorul va genera semnal de sincronizare (high) pe durata alternanţei pozitive a tensiunii de alimentare.

§ Comanda comutatoarelor - Alpha controller: Din meniul Elements/Other/Switch Controllers/. Este

folosit pentru controlul unghiului de comandă în cazul tiristoarelor. Făcând dublu-click pe simbol se setează doi parametri: Frecvenţa cu care se dau impulsurile de comandă şi durata semnalului de comandă (în grade electrice). Controlerul are trei intrări:

§ Valoarea unghiului de comandă alpha (centru jos) § Semnal de sincronizare (stânga jos) § Semnal enable/disable (dreapta) pentru întregul controler.

Tranziţia semnalului de sincronizare de la low (0) la high (1) marchează momentul de referinţă de la care se calculează unghiul de comutaţie alpha. Un semnal de comandă va fi generat la ieşirea controlerului cu o întârziere de alpha grade.

- Sursă de tensiune continuă: valoarea sursei (V) semnifică exact valoarea unghiului alpha (grade electrice).

- Sursă de tensiune treaptă, activă din momentul 0. - Conectaţi ieşirea controlerului alpha prin intermediul etichetelor (label) la

poarta tiristorului. - Simboluri de masă. Atenţie: deşi simbolul de masă poate fi acelaşi ca la

circuitul de putere, simulatorul ştie să separe galvanic circuitele de comandă şi cel de putere, deci punctele de masă sunt şi ele distincte!

Page 7: Electronica de Putere Cu PSIM

Desfăşurarea aplicaţiei 7

§ Setaţi alpha = 30 grade. Obţineţi:

§ Setaţi alpha = 90 grade, alpha = 120 grade. Ce modificări apar în formele de undă de la ieşire?

§ Schimbaţi sarcina rezistivă (R=10 Ohm) cu o sarcină rezistiv-inductivă (R-L), din Meniul Elements/Power/RLC Branches/RL, de valoare R=10 Ohm, L=10 mH. Ce observaţi în urma simulării?

2.3. AC Sweep Răspunsul în frecvenţă al unui circuit sau al unei bucle de comandă poate fi obţinut cu ajutorul unei analize AC Sweep. Un avantaj al analizei AC în PSIM este acela că circuitul poate rămâne în versiunea sa originală, cu elemente în comutaţie, nefiind necesar un model mediat. Prezenţa unui model mediat va scurta totuşi timpul de analiză. Principiul unei analize ac constă în injecţia unui semnal mic de excitaţie şi acelaşi semnal, de aceeaşi frecvenţă dar de altă amplitudine e extras la ieşire. Pentru a obţine rezultate valabile, amplitudinea semnalului de excitaţie trebuie să fie destul de mică pentru ca perturbaţia să rămână în regiunea liniară şi trebuie să fie suficient de mare ca semnalul de ieşire să nu fie afectat de erori numerice. În general, un sistem fizic are atenuare slabă la frecvenţe joase şi atenuare mare la frecvenţe înalte. Uneori, după efectuarea unei analize ac, este afişat următorul mesaj de avertizare:

Warning: The program did not reach the steady state after 60 cycles. See File “message.doc” for more details.

Acest mesaj apare atunci când programul eşuează în detectare punctului static de funcţionare după 60 de cicluri. Pentru a rezolva această problemă putem

Page 8: Electronica de Putere Cu PSIM

creşte atenuarea în circuit, de exemplu prin introducerea de rezistenţe parazite) sau să ajustăm amplitudinea sursei de excitaţie, sau să reducem pasul de simulare. Fişierul “message.doc” ne indică frecvenţa la cere se produce această eroare cât şi eroarea relativă, care indică cât de departe suntem de valoarea stabilă. Ca aplicaţie, să analizăm un convertor Buck în buclă deschisă, cu următoarele elemente:

§ Circuitul de putere: Sursă de tensiune continuă Vdc=12V, comutator realizat cu IGBT cu diodă în antiparalel, dioda, L=0,1 mH, C=47 uF, R=5 Ohm.

§ Senzori: nu avem, comanda realizându-se în buclă deschisă. § Circuit de comandă: impulsul de comandă pentru IGBT se obţine prin

intersecţia unei tensiuni triunghiulare de frecvenţă 50 kHz şi amplitudine 1 V cu o tensiune continuă.

§ Comanda comutatorului: Observăm că la ieşirea comparatorului apare obligatoriu şi un On-off switch controller care face trecerea de la circuitul de comandă la cel de putere.

Efectuăm o simulare pe o durată de 3 ms şi observăm valoarea tensiunii de ieşire, corespunzător relaţiei Vout = D * Vin, D fiind factorul de umplere al impulsului de comandă. Observăm modul de formare al impulsurilor de comandă şi măsurăm D. În continuare vom efectua o analiză AC Sweep:

§ Introducem o sursă de excitaţie sinusoidală Vacsweep, § Plasăm elementul de măsură ACSWEEP_OUT în punctul de măsură dorit (

la ieşirea convertorului), din meniul Elements/Other/Probes/AC sweep probe. § Plasăm elementul .ACSWEEP (Elements/Other/.ACSWEEP) lângă circuitul

electric şi setăm valorile pentru analiza ac: Start Frequency=200Hz, End Frequency=20kHz, No. Of points: 50, Flag=0 (distribuţie logaritmică a punctelor de măsură), Source Name = Vacsweep, Start Amplitude=End Amplitude=0.1V.

§ Rulăm PSIM.

Page 9: Electronica de Putere Cu PSIM

Desfăşurarea aplicaţiei 9

Rezultatul analizei AC arată răspunsul în buclă deschisă al tensiunii de ieşire în funcţie de semnalul de modulaţie. 2.4. Folosirea blocurilor DLL În acest capitol vom urmări să folosim blocuri de tip DLL (Dynamic Link Library) pentru a conecta cod C/C++ cu PSIM. 1.Construiţi în PSIM următorul circuit:

Vom calcula valoarea efectivă (rms) a tensiunii unei surse de 220 V, 50 Hz atât cu ajutorul blocului integrat în PSIM (Elements/Control/Computational Blocks/RMS) cât şi prin intermediul unui bloc DLL (Elements/Other/Function Blocks/DLL Block (1-input)), care foloseşte un fişier de tip DLL generat dintr-o rutină C/C++. Codul acesteia este conţinut în fişierul msvc_dll.c şi este: //  This  sample  program  calculates  the  rms  of  a  50-­‐Hz  input  in[0],  and  //  stores  the  output  in  out[0].    //  You  may  change  the  variable  names  (say  from  "t"  to  "Time").  //  But  DO  NOT  change  the  function  name,  number  of  variables,   variable  type,  and  sequence.  

Page 10: Electronica de Putere Cu PSIM

 //  Variables:  //            t:  Time,  passed  from  PSIM  by  value  //      delt:  Time  step,  passed  from  PSIM  by  value  //          in:  input  array,  passed  from  PSIM  by  reference  //        out:  output  array,  sent  back  to  PSIM  (Note:  the  values  of  out[*]  can  //                  be  modified  in  PSIM)    //  The  maximum  length  of  the  input  and  output  array  "in"  and  "out"  is  30.    //  Warning:  Global  variables  above  the  function  ms_user0  (t,delt,in,out)  //                    are  not  allowed!!!    #include  <math.h>    __declspec(dllexport)  void  simuser  (t,  delt,  in,  out)    //  Note  that  all  the  variables  must  be  defined  as  "double"  double  t,  delt;  double  *in,  *out;    {  //  Place  your  code  here............begin    //    Define  "sum"  as  "static"  in  order  to  retain  its  value.     static  double  nsum=0.,  sum=0.,  rms;     double  Tperiod;       Tperiod=1./60.;       if  (t  >=  nsum*Tperiod)     {       nsum=nsum+1.;       rms  =  sqrt(sum*delt/Tperiod);       sum=0.;     }       out[0]  =  rms;     sum=sum+in[0]*in[0];    

Page 11: Electronica de Putere Cu PSIM

Desfăşurarea aplicaţiei 11

//  Place  your  code  here............end  }  2.Salvaţi circuitul în alt director, de exemplu C:/Temp/dll-rms.sch 3. Copiaţi codul msvc_dll.c în acelaşi director (C:/Temp/msvc_dll.c) 4. Folosind un compilator C, de exemplu Visual C++, generăm din sursa msvc_dll.c un fişier dll, test_msvc_dll.dll pe care îl salvăm în acelaşi director C:/Temp. Acest pas este deja efectuat şi găsiţi fişierul test_msvc_dll.dll în directorul C:/Temp. 5. În circuit specificaţi numele fişierului DLL folosit (dublu-click pe blocul DLL).

 6. Rulaţi simularea şi comparaţi rezultatele. Precizări:

- PSIM cheamă rutina DLL la fiecare pas de simulare. Dacă intrările blocului DLL sunt conectate la ieşirile unui bloc discret (zero-order hold ZOH, unit delay UDELAY, integrator I_D, differentiator D_D, z-domain transfer function block TFCTN_D, sau filtre digitale), atunci blocul DLL este considerat şi el un element discret şi va fi apelat numai la momente discrete, fiind astfel inclus automat în simularea discretă a elementelor menţionate mai sus.

- Blocul DLL primeşte de la PSIM valori ca date de intrare, realizează calculele şi întoarce rezultatele către PSIM. Nodurile de intrare sunt la stânga şi cele de ieşire la dreapta. Dacă avem mai multe intrări, se citesc de sus în jos.

- Numele fişierului DLL poate fi arbitrar, dar fişierul trebuie să fie plasat în acelaşi director ca fişierul de circuit din care este apelat.

2.5. Analiza parametrică Vom urmări să realizăm o analiză parametrică, deci varierea valorii unei componente pentru a constata influenţa acesteia asupra funcţionării circuitului.

1. Construiţi următorul filtru de ordinul 2:

Page 12: Electronica de Putere Cu PSIM

Blocul Param Sweep îl găsiţi în Elements/Other/.PARAMSWEEP. Faceţi dublu-click pe acest bloc şi setaţi:

- Valoarea de început, Start Value, - Valoarea de sfârşit, End Value, - Pasul de incrementare, Increment Step, - Numele parametrului de variat, Parameter to be Swept

Rezistenţa de sarcină va avea în loc de valoare, numele parametrului care va fi variat.

Page 13: Electronica de Putere Cu PSIM

Desfăşurarea aplicaţiei 13

2. Efectuaţi o simulare pe durata de 3ms şi vizualizaţi formele undă pentru cele 4 valori ale rezistenţei.

Precizări: Într-un circuit pot fi variaţi următorii parametri:

- Rezistenţe, inductanţe şi capacităţi - Amplificarea blocurilor proporţionale (P) - Constantele de timp ale integratoarelor (I) - Amplificarea şi constantele de timp ale controlerelor PI - Amplificarea, frecvenţa de tăiere şi factorul de amortizare pentru filtre de

ordinul 2 (FILTER_LP2/FILTER_HP2) - Amplificarea, frecvenţa centrală şi banda de trecere/oprire pentru filtre

trece-bandă şi opreşte-bandă (FILTER_BP2/FILTER_BS2)