Hakkuritehola hteet 4.5.2012 Janne Askola Jari-Matti Hannula Jonas Nordfors Joni Kurvinen Semu Mäkinen
Fysikaalinen toiminta Buck-Boost -hakkuriteholähde on DC/DC -muunnin. Se on yhdistelmä Buck- ja Boost -hakkureista, koska sillä voidaan sekä laskea että nostaa tulojännitettä. Tässäkin hakkurissa tulojännitteen energia varastoidaan yhteen kelaan. Lähtöjännite voi itseisarvoltaan olla mitä vain melkein nollasta lähes äärettömään. Suurimpana erona Buck- ja Boost -hakkureihin on, että lähtöjännite on vastakkaismerkkinen tulojännitteeseen nähden. Piiritopologialtaan (kuva 1) Buck-Boost muistuttaa hyvin paljon Buckia tai Boostia. Buck-Boost on mahdollista toteuttaa myös sellaisella topologialla, jossa on Buckin perään kytketty Boost -hakkuri. Tällöin lähtöjännite ei ole invertoitu. Kuva 1: Buck-Boost -hakkuriteholähteen piirikaavio Kytkimen ollessa suljettu virta IL kasvaa ja kelaan varastoituu energiaa. Diodi on kytketty estosuuntaan, joten jännitelähde ei vaikuta kondensaattoriin ja kuormaan, vaan kondensaattoriin varastoitunut energia välittyy kuormalle. Kun kytkin avataan, kelaan varastoitunut energia purkautuu kondensaattorille ja kuormalle. Kuvassa 2 näkyy punaisella piirin osat joissa kulkee virtaa milloinkin. Kuvassa 3 on kuvattu virtoja piirin osissa ja jännitettä kelan yli. Kuva 2: Piirin tilat
Kuva 3: Kelan virta ja jännite sekä kondensaattorin ja kytkimen virta Mikäli kelan virta pysyy nollan yläpuolella, hakkuri on jatkuvuustilassa. Kytkimen ollessa kiinni (aika t = 0 t = dt, d on kytkentäsuhde, T on täysi jakso) kelan virran muutos on di L dt = V i L, josta integroimalla saadaan virran kasvu ΔI L,On = V idt. Vastaavasti kytkimen ollessa auki (t = 0 t = (1- d)t) virran muutos on di L = V o ja integroituna ΔI dt L L,Off = V o (1 d) L 0, voidaan ratkaista hakkurille V o = d ja edelleen kytkentäsuhteeksi d = V V i 1 d L. Koska on oltava ΔI L,On + ΔI L,Off = o V o V i. Mikäli kelan virtaa menee nollaan joskus syklin aikana, hakkuri on epäjatkuvuustilassa. Oletetaan, että syklin alussa virta on 0 A, joten kun t = dt virta on huipussaan ΔI L,max = V idt. Virta pienenee nollaan ajassa δt, joten I,max + V oδt L = 0. Näistä saadaan δ = V id V o. Kun kytkin on auki, L kuormavirta on I o = I,max δ. Yhdistämällä aiemmat tulokset tähän saadaan jännitevahvistukseksi V o V i = V id 2 T 2LI o. 2
Siirtofunktioiden laskenta
V g = 30 V D = 0,6 ja D = 1 D R = 10Ω L = 160μH = 160μ
Kompensaattorit Kompensaattoreita on vaiheenjohto (lead), vaiheenjättö (lag) sekä vaiheenjohto-jättö (lead-lag) - tyyppisiä. Buck-Boost -hakkuri on lead-lag -tyyppiä, jolloin kyseisellä kompensaattorilla saa parhaan säädetyn systeemin käsitellyssä tapauksessa aikaiseksi. Suunnittelimme ensin leadkompensaattorin systeemille, seuraavaksi lag-kompensaattorin ja viimeiseksi lead-lag - kompensaattorin yhdistäen aikaisemmin saadut kompensaattorit sekä muuttaen hieman niiden arvoja nopeamman vasteen saamiseksi. Kuva 4: Avoimen silmukan bode-kuvaaja Lead-kompensaattori Lead-kompensaattori vastaa suurin piirtein PD-säädintä, kuitenkin sillä erotuksella, että PDsäätimessä on napa origossa ja lead-kompensaattorissa se on negatiivisella reaaliakselilla. Lead-kompensaattoria suunnitellessa on arvioitu avoimen silmukan bode-kuvaajasta sopiva arvo 0 db:n taajuudelle (ω c = 60 10³ rad/s) sekä tarvittava vaiheen johto (θ = 75 ) yksikkövahvistuksella, minkä jälkeen on rakennettu kompensaattori R. W. Ericksonin Fundamentals 1+ s ωz of Power Electronics -kirjasta löytyvien kaavojen mukaan ( G c = G c0 1+ s, jossa G c0 = A ωp ω z ω p 1 sin (θ) sekä ω z = ω c ja ω 1+sin(θ) p = ω c 1+sin (θ) 1 sin(θ) ). Suuremman vahvistuksen takia asetettiin, että A = 1,3. Näillä arvoilla laskettiin kompensaattorille arvot, joista sitten etsittiin paremmat
haarukoimalla nimittäjän ja osoittajan arvoja eri suuntiin. Bode-kuvaajasta arvioiduilla arvoilla saimme kompensaattorin siirtofunktioksi G c = 2,167 10 5 s + 0,1711, ja tämän arvoja vaihdellen katsoimme millä arvoilla saisimme parhaan 2,194 10 6 s + 1 säädetyn systeemin aikaiseksi. Osoittaja Nimittäjä Lead 1 (10 ) 0 1 (10 6 ) 0 1 2,167 0,1711 2,194 1 2 2,2 0,2 2,2 1 3 2,1 0,1711 2,2 1 4 2 0,2 2,2 1 5 2 0,2 2,2 1,1 Taulukko 5: Haarukoituja arvoja siirtofunktiolle Simuloimme alla olevalla kytkennällä eri arvoja simulinkillä, ja vertailimme systeemin toimivuutta sekä sen häiriönsietoa. Kuva 6: Simulink-kytkentä lead-kompensaattorille Kuva 7: Lead 1 -kompensaattorilla säädetty systeemi
Kuva 8: Lead 2 -kompensaattorilla säädetty systeemi Kuva 9: Lead 3 -kompensaattorilla säädetty systeemi Kuva 10: Lead 4 -kompensaattorilla säädetty systeemi
Kuva 11: Lead 5 -kompensaattorilla säädetty systeemi Haarukoimista pyrittiin viemään jatkuvasti suuntaan, jossa kohinan määrä pienentyisi sekä käynnistyksestä syntyvän piikin korkeus pienentyisi, tässä selvästi onnistuen. Tämän perusteella päädyimme käyttämään taulukosta 5 kompensaattoria Lead 5, koska sen käyttäytyminen oli parasta, eikä kohinan amplitudia saanut pienemmäksi lead-kompensaattorilla mitenkään. Käynnistyksestä aiheutuva piikki on käytännön sovellutukseen aivan liian iso, eikä leadkompensaattori toimi sen poistamiseen. Kaikesta tästä johtuen saimme säätimelle siirtofunktion G c,lead = 2 10 5 s + 0,2. Hakkurin lähtöjännite asettui noin 43 voltin tuntumaan, mikä on 2,2 10 6 s +1,1 kohtuullisen lähellä haluttua 45 volttia. Mielenkiintoisena lisämainintana on haarukoidessa käyttämiemme kompensaattorien bodekuvaajat, joista näkee, että hyvin pienellä muutoksella saadaan suuri muutos systeemin suljetun siirtofunktion käyttäytymiselle. Kuva 12: Lead-kompensaattorien bode-kuvaajat (numerot vastaavat taulukko 5:n numeroita)
Kuva 13: Kompensoimaton ja Lead-kompensoitu systeemi Lead-kompensaattori häiriöllä Saatuamme hyvän vaiheenjohto-kompensaattorin, testasimme sen häiriön sietoa asettamalla kuva 3:n kytkennässä olevan nollan voltin askelfunktion neljään volttiin ja askeleen ajaksi asetimme ajanhetken kaksi sekuntia. Kuva 14: Lead-kompensaattori häiriöllä Tästä nähdään, että lead-kompensaattori ei pysty kompensoimaan askelmaista häiriötä pois, vaan ulostulossa näkyy häiriöstä johtuva vakiovirhe. Kuitenkaan samanlaista häiritsevää piikkiä ei muodostu kuten systeemiä käynnistettäessä.
Lag-kompensaattori Lag-kompensaattori vastaa yksi yhteen PI-säädintä, joten sen suunnittelukin on vastaavaa. Vaiheenjättö-kompensaattorin siirtofunktio on yleisessä muodossa G c = G c (1 + ω L ), jossa s G c vastaa PI-säätimen arvoa K ja ω L taasen arvoa T I. Avoimen silmukan bode-kuvaajasta arvioitiin taas sopiva arvo kulmanopeudelle (ω L = 1.25 10 4 rad/s), sekä yrityksen ja erehdyksen kautta päädyttiin, että G c täytyy olla hyvin pieni (3,2 10 4 ). Näillä arvoilla siirtofunktioksi saatiin G c = 3,2 10 4 s+4. Tästä tuloksesta taas aloimme s haarukoida sopivampia arvoja kuten vaiheenjohto-kompensaattorille. Osoittaja Nimittäjä Lag 1 (10 4 ) 0 1 1 3,2 4 1 2 4 4 1 3 2,6 4 1 4 3,2 5 1 5 3,2 2,5 1 Taulukko 15: Haarukoituja arvoja lag-kompensaattorille Kuva 16: Simulink-kytkentä lag-kompensaattorille Simuloimme taas arvoja simulinkillä, minkä johtopäätös oli, ettei arvojen pieni muuttaminen vaikuttanut merkittävästi systeemin vasteeseen. Kuitenkin kun osoittajan s 0 -termiä kasvatti ylöspäin, alkoi systeemi oskilloida selkeästi jo arvolla 5 (Lag 4) ja päätimme, ettei tätä termiä ole järkevää kasvattaa.
Kuva 17: Lag 1 -kompensaattori Kuva 18: Lag 2 -kompensaattori
Kuva 19: Lag 3 -kompensaattori Kuva 20: Lag 4 -kompensaattori
Kuva 21: Lag 5 -kompensaattori Simuloinneista näkee selkeästi, ettei vaiheenjättö-kompensaattori pysty kompensoimaan kohinaa pois sekä että se poistaa käynnistämisestä aiheutuvan jännitepiikin. Säätimien bode-kuvaajissa on paljon enemmän liikkumavaraa kuin aikaisemmin tutkittujen lead-kompensaattorien bodekuvaajissa oli. Tämän takia päätimme ottaa tarkempaan käsittelyyn Lag 1 -kompensaattorin, jonka siirtofunktio on G c,lag = 3,2 10 4 s+4 s. Huomataan myös, että ulostulon keskiarvo asettuu melko tarkkaan arvoon 45 volttia kuitenkin siten, että kohinaa on aivan liikaa järkevään sovellutukseen.
Kuva 22: Lag-kompensaattorien bode-kuvaajat (numerot vastaavat taulukko 15:n numeroita) Kuva 23: Kompensoimaton ja Lag-kompensoitu systeemi
Lag-kompensaattori häiriöllä Simuloimme saamaamme vaiheenjättökompensaattoria samanlaisella häiriöllä kuin vaiheenjohtokompensaattoria aikaisemmin (askelfunktio: 4 volttia ja ajanhetki 2 sekuntia). Kuva 24: Lag-kompensaattori häiriöllä Tästä nähdään, että lag-kompensaattori ei aiheuta pysyvää poikkeamaa ulostulossa, mutta se kuitenkin aiheuttaa piikin häiriön alkamis/loppumishetkellä. Lead-Lag -kompensaattori Kuten jo aiemmin on mainittu, on buck-boost -hakkurille paras kompensaattori vaiheenjohtojättötyyppinen. Tämän takia yhdistimme saamamme lead ja lag-kompensaattorit yhdeksi lead-lag - kompensaattoriksi. Tämä vastaa kohtuu hyvin PID-säädintä. Kuva 25: Lead-Lag -kompensaattori Kyseisellä kytkennällä saimme aikaan todella hyvän vasteen ulostulossa: häiriöitä ei nimeksikään, ei käynnistyksestä johtuvaa piikkiä sekä tarpeeksi nopea nousuaika.
Kuva 26: Lead-Lag -kompensaattorilla saatava vaste Kuva 27: Lead-Lag -kompensaattorilla aiheutuva särö ja nousuaika Nähdään, että vaste asettuu todella tarkasti 45 voltin tuntumaan (virhe 0,0002 volttia eli 0,00044 %) sekä että vaste asettuu loppuarvoonsa jo 0,08 sekunnin jälkeen. Myös käynnistyksestä aiheutuva piikki on kompensoitu kokonaan pois.
Lead-Lag -kompensaattori häiriöllä Syötimme taas samanlaista häiriötä systeemiin kuin aiemmin (askelfunktio: 4 V ja 2 s). Kuva 28: Lead-Lag -kompensaattori häiriöllä Kuvaajista huomataan hyvin, että vasteeseen ei jää pysyvää poikkeamaa kuten leadkompensaattorilla yksinään jäi, sekä että lag-kompensaattorilla esiintynyt häiriö saadaan kompensoitua pois. Kuitenkin häiriöstä aiheutuva hetkellinen poikkeuma on melko suuri ja aika, joka häiriön kompensoimiseen kuluu, on melko pitkä. Tästä johtuen päätimme muokata vaiheenjättökompensaattoria ja yrittää saada parempi vaste aikaiseksi. Lag 4 -kompensaattorilla (taulukko 15) oli vaste jo hiukan nopeampi. Kuva 29: Lead-Lag -kompensaattori häiriöllä (Lag 4 taulukko 11)
Seuraavaksi koitimme s 0 -termille yhä korkeampia arvoja vaiheenjättökompensaattorissa ja päädyimme siirtofunktioon G c,lag = 3,2 10 4 s+9,6, joka yksinään ei ole enää stabiili, mutta s käyttämämme lead-kompensaattorin kanssa se toimii hyvin. Kuva 30: Lead-Lag -kompensaattori (lag-kompensaattorin -termi on 9,6) Tässä tilanteessa vaste palaa nopeammin 45 volttiin ja vaikka värähtelyn amplitudi on suurempaa, ei sen maksimi käy niin suurissa arvoissa kuin muita arvoja käytettäessä. Kuva 31: Kompensoimattoman ja Lead-Lag -kompensoidun systeemin bode-kuvaajat
PID-säädin Sopivia säätimen arvoja haettiin simuloimalla järjestelmää Matlabilla seuraavan Simulink-mallin avulla. Takaisinkytkentä on mallissa positiivinen, sillä hakkurin oma siirtofunktio Gvd (mallissa Transfer Fcn) on invertoiva. Säätäminen aloitettiin kokeilemalla järjestelmää PID-säätimen arvoilla 1, 1, 1. Kuvaajasta kuitenkin nähdään, etteivät arvot ole lähelläkään todellisuutta, sillä ulostulojännite karkaa täysin käsistä jo 1.6*10^-6 sekunnin kohdalla. (Huom. Uout:in suuruusluokka. Jännite karkaa heti alusta alkaen, vaikkei sitä kuvaajasta erotakaan.) Seuraavaksi koitettiin PI-säädintä arvoilla 1, 1. Kuvaajasta tuli käytännössä samanlainen kuin säätämättömän systeemin askelvasteesta, mutta jännite kasvoi hieman hitaammin, kuin PID-
säätimellä. Jo tästä voitiin päätellä, että derivaattatermin arvon on oltava hyvin pieni. Derivaattatermi poistaa kuitenkin kohinaa, joten pelkkä PI-säädin ei riitä. Tässä yhteydessä koitettiin myös PD-säädintä, mutta kuvaajasta tuli lähes identtinen PID-säätimen kuvaajan kanssa, joten tämä säädin voitiin tässä vaiheessa unohtaa ja keskittyä säätämään PIDsäädintä. Säätäminen täytyi aloittaa hakemalla arvot, joilla järjestelmä oli stabiili. Käytännössä tämä tapahtui pienentämällä D- ja I-termiä reilusti. Myös juuriuraa koitettiin 1, 1, 1 arvoilla mutta koska järjestelmä oli näinkin kaukana todellisesta (kuten simulaatiosta nähdään), ei juuriurista saanut mitään irti. Tässä vaiheessa pienennettiin myös P-termin arvoa, sillä muiden termien suuruusluokan ollessa useamman dekadin alempana, häviää näiden vaikutus lähes kokonaan, sillä suurin osa signaalista menee ikään kuin säätimen ohi muuttumattomana. Kokeilemalla päädyttiin arvoihin P = 0.01 I = 0.1 D = 0.0001 Huomataan, että näillä arvoilla alkaa hakkuri jo toimia (eli on stabiili) ja haluttu lähtöjännite, 45 volttia, saavutetaan. Jännitteen asettuminen kestää kuitenkin noin sekunnin joten systeemi on vielä suhteellisen hidas. Toinen ongelma on alussa esiintyvä positiivinen jännitepiikki, joka on jopa 20 volttia. Pahimmassa tapauksessa tällainen piikki voisi hajottaa kuorman (vaikka todellisuudessa alun piikki voitaisiin suodattaa esimerkiksi kytkemällä kuorma pienellä viiveellä hakkuriin). Negatiivinen piikki ei sinänsä haittaa, sillä se ei missään vaiheessa ylitä asetetun lähtöjännitteen tasoa. Koska alussa huomattiin, että D -termi tekee järjestelmästä epästabiilimman, koetettiin jännitepiikki poistaa pienentämällä D -termiä vielä dekadin lisää.
Kuten kuvaajasta nähdään, piikki pienentyi siedettävälle tasolle. Seuraavaksi lähdettiin hakemaan systeemille nopeutta. Koetettiin kasvattaa integraalitermiä yhdellä dekadilla. Tässä vaiheessa otettiin simulaatioon mukaan myös häiriö (varianssiltaan 1 voltti). Kasvattamalla I-termiä saatiin systeemistä melko tarkasti kymmenen kertaa nopeampi. Tässä vaiheessa koetettiin kasvattaa integraalia vielä lisää, mutta systeemistä tuli epästabiili, joten jätettiin integraalitermin arvoksi 1. Häiriöt näkyvät näillä arvoilla kuitenkin melko voimakkaasti lähdössä. Kuten PID-säädön peukalosäännötkin sanovat, vähentää derivaattatermin kasvattaminen häiriöitä, sillä derivaatta reagoi nopeisiin muutoksiin. Suuri derivaatta kuitenkin kasvatti alun jännitepiikkiä, joten jouduttiin hakemaan kompromissi jännitepiikin koon ja häiriöiden suodattumisen välillä.
Kuvaajista havaittiin, että häiriön varianssi pienenee D-termin kasvaessa, kuten oletettiinkin. Lopulta täytyi kuitenkin tyytyä arvoon 0.00004, sillä tätä suuremmilla derivaatan arvoilla alkoi jännitepiikki kasvaa liian suureksi. Mikäli järjestelmään kuitenkin lisättäisiin pieni kytkentäviive, voitaisiin valita hieman isompi derivaatan arvo. Kuitenkin D-termin kasvattaminen yli 0.001 teki systeemistä jo epästabiilin. Seuraavaksi koetettiin simuloida järjestelmää myös askelmaisella häiriöllä:
Huomataan, että neljän voltin suuruinen askelhäiriö korjautuu alle kymmenesosasekunnissa, joten tämä derivaatan arvo on tyydyttävä kun jännitepiikki huomioidaan. Myöskään järjestelmän hidastaminen, eli käytännössä I-termin pienentäminen, ei vaimentanut häiriötä juuri nimeksikään, joten lopullisiksi arvoiksi PID-säätimelle valittiin siis P = 0.01 I = 1 D = 0.00004 joilla positiivinen jännitepiikki jäi noin 5 volttiin, asettumisaika noin 0.07 sekuntiin ja varianssiltaan yhden voltin häiriö näkyi ulostulossa noin +-0.8 voltin vaihteluna. PI-säädin Kokeilemalla havaittiin, ettei järjestelmästä saa millään P- ja I-termin arvoilla stabiilia, mikäli D- termi puuttuu. Tämä johtunee siitä, että järjestelmä on hyvin herkkä oskilloimaan ja tuottaa melko voimakkaan jännitepiikin heti käynnistettäessä ilman järkevää säätöä. Mikäli D-termiä ei ole vastustamassa nopeita jännitteenmuutoksia, alkaa oskillointi voimistua rajatta ja järjestelmä on siten epästabiili. Emme siis keskity PI-säätimeen tämän enempää, sillä se ei yksinkertaisesti toimi hakkurin säätimenä. PD-säädin Koska PID-säätimelle oli jo löydetty suhteellisen toimivat arvot, lähdettiin PD-säädintä virittämään samoilla arvoilla ilman I-termiä. Kuvaajasta tuli seuraavanlainen:
Simulaatiossa on mukana askelhäiriö kohdassa T = 2s. Kuvaaja osoittaa selkeästi, että integraalitermin puuttuessa pysyvä poikkeama ei korjaudu. Ainoa tapa saada haluttua ulostulojännitettä tässä tapauksessa on siis säätää proportionaalitermi sopivaksi. Tällöin ei kuitenkaan sisääntulevan jännitteen keskiarvo saa vaihdella, sillä muutoin ulostulokin vaihtelee. Koetetaan kuitenkin säätää P- ja D-termiä. Havaittiin, että D-termin ollessa 0.00004 tulee systeemistä epästabiili, mikäli P-termiä kasvattaa yli 0.6:n. Tasan 0.6:lla tosin saadaan lähtöjännite vakiintumaan 44.4 volttiin, joka on melko lähellä tavoiteltua 45 volttia. Kuten kuvasta näkyy, näillä arvoilla käynnistyksessä esiintyy voimakasta oskillointia (joka todennäköisesti hajottaisi kuorman). Oskillointia pyrittiin vähentämään pienentämällä D-termiä, jolloin myös huomattiin, että D-termiä muuttaessa täytyy P-termiäkin pienentää, muuten systeemistä tuli epästabiili. Loppujen lopuksi paras (tai vähiten huono) lopputulos saatiin arvoilla
P = 0.1 D = 0.00001 Tällöinkin tosin alussa esiintyi pahimmillaan lähes 80 voltin suuruista oskillointia, joka ei ole oikein millään mittapuulla hyväksyttävää. Päätelmiä Selkeästikin PID-säädin on näistä vaihtoehdoista ainoa toimiva ratkaisu. PI-säätimellä systeemiä ei saatu stabiiliksi ja PD-säätimellä värähtely jäi liian suureksi. Lisäksi PD-säädin ei poistanut pysyvää poikkeamaa, joten sisääntulojännitteen vaihtelu näkyi suoraan lähtöjännitteessä. Itse säätäminen oli helpointa suorittaa yksinkertaisesti simuloimalla systeemiä eri säätimen arvoilla peukalosääntöihin nojaten. Juuriurat piirrettiin useaan otteeseen, mutta havaittiin lopulta termien muuttamisen muuttavan juuriuria sen verran, ettei juuriurista nähnyt oikeastaan mitään ja niiden käyttö ainoastaan hidasti säätämisprosessia. PID-säätimellä saatiin järjestelmän vasteesta nopeuden ja jännitepiikkien suhteen varsin tyydyttävä, tosin häiriöt kytkeytyivät melko voimakkaasti ulostuloon (lähes samansuuruisena kuin sisääntuloonkin). Tästä syystä voisi sanoa kompensaattorin olevan parempi vaihtoehto buck-boost hakkurin säätämiseen.
Lähteet R. W. Erickson & D. Maksimovic: Fundamentals of Power Electronics (2. Ed.) tunnilla jaettu oppimateriaali