Lasthoek controle van een BLDC motor Tim Devolder Promotoren: Florian Verbelen, Jasper De Viaene Masterproef ingediend tot het behalen van de academische graad van Master of Science in de industriële wetenschappen: elektromechanica Vakgroep Elektrische energie, Systemen en Automatisering Voorzitter: prof. dr. ir. Jan Melkebeek Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2015-2016 Masterproefverslag Lasthoek controle van een BLDC motor Studiegebied Industriële wetenschappen en technologie Opleiding Master of Science in de industriële wetenschappen: elektromechanica Afstudeerrich ng Elektromechanica Academiejaar 2015-2016 Tim Devolder Academische bachelor- en masteropleidingen, Graaf Karel de Goedelaan 5, 8500 Kortrijk Voorwoord Na vier leerrijke jaren, was deze thesis de kans om al mijn verworven kennis aan te wenden in een specifiek thema. Mijn keuze ging vooral naar regelen van bepaalde processen, daarom sprak de lasthoekcontrole van een BLDC motor mij meteen aan. Het uitwerken en schrijven van de thesis ging gepaard met zwoegen en zweten, toch is het mooi om na het zelfstandig zoeken naar oplossingen mooie resultaten te bekomen. In de maand augustus kon ik meteen al beginnen met het begrijpen van simula emodellen omtrent de lasthoekregeling van een BLDC motor. Eerst en vooral wil ik mijn promotor ing. F. Verbelen bedanken voor de kans om jdens mijn masterjaar mij verder te verdiepen in dit onderwerp. Ik bedank hem voor de begeleiding gedurende het hele jaar, op iedere moment kon ik hem om raad vragen en beantwoordde hij met plezier mijn vragen. De lasthoekcontrole van de BLDC motor is een vervolg op de masterproef ”Energie-efficiën e sensorloze controle van een BLDC motor” van ing. J. De Viaene. Ik bedank hem daarom ook voor het ter beschikking stellen van zijn masterproef alsook voor het beantwoordden van al mijn vragen gedurende het hele jaar. Een dankwoord gaat ook naar dr. ig. S. Derammelaere. Dankzij zijn doctoraatstudie ”Sensorloze detec e en regeling van de lasthoek bij hybride stappenmotoren” verkreeg ik de nodige kennis omtrent de lasthoekregeling. Ik wens hem ook te bedanken voor de jd die hij kon vrijmaken indien ik vragen had over de lasthoekregeling. Mij medestudenten wil ik bedanken voor de goede sfeer jdens en buiten de schooluren en de gezellige momenten in het labo. Tim Devolder Juni 2016 i Abstract Lasthoek controle van een BLDC motor Tim Devolder Promotoren: Florian Verbelen, Jasper De Viaene Academiejaar 2015-2016 Universiteit Gent Faculteit Ingenieurwetenschappen en Architectuur Een BLDC motor kan zonder kennis van de hoekposi e niet aangestuurd worden. Standaard zijn er daarom Hall sensoren ingebouwd in een BLDC motor. Deze verminderen de levensduur van de motor en daarom worden sensorloze algoritmen veel belangrijker. Een BLDC motor hee een trapezoïdale TEMK. Daarom wordt deze motor aangestuurd met blokvormige stromen. Uit prak sche me ngen blijkt dat de TEMK van een BLDC motor niet perfect trapezoïdaal te zijn. Daarom wordt onderzocht of het mogelijk is om de BLDC motor aan te sturen met sinusvormige stromen. Hierdoor zou de energie-efficiën e en het koppelrimpel van de aansturing verbeteren. Om de nodige kennis omtrent de BLDC motor en de verschillende aansturingen volledig te verkrijgen wordt eerst gekeken naar verschillende modellen: het model van de standaard aansturing met Hall sensoren en het model met de lasthoekregeling. Zelfstandig moeten deze modellen overlopen worden en hierdoor wordt een goeie kennis van de BLDC motor verworven. Een conclusie van de vorige masterproef is dat de hardware niet voldoende krach g is om een hysterese stroomregelaar te implementeren. De schakelfrequen e van 10 kHz is niet voldoende en daarom wordt onderzocht of dit met behulp van een FPGA wel mogelijk is. Er moet eerst kunnen gewerkt worden met de FPGA, daarom wordt hiervan een handleiding gemaakt. In deze handleiding komt alles aan bod om te kunnen programmeren in een FPGA alsook verschillende voorbeelden en errors. Dankzij de FPGA is er een hogere samplefrequen e mogelijk en daardoor ook een hogere schakelfrequen e. De interface tussen FPGA, DSP en de laptop is zeer belangrijk, alsook de manier van programmeren en builden. Uit me ngen blijkt dat met behulp van een FPGA het mogelijk is om sinusoïdale stromen in de BLDC motor te krijgen. Kernwoorden: BLDC motor, Hall sensoren, blokvormige stromen, lasthoekregeling, sinusoïdale stromen, FPGA ii 1 Samenva ng A. Opbouw BLDC motor Een BLDC motor is een permanent magneet synchrone motor met trapezoïdale TEMK. De motor bestaat uit een permanent magneet rotor en een stator die de driefasige in ster geschakelde wikkelingen bevat. Een driefasige brug regelt de stromen in de drie fasen (figuur 1). 101 S1 S3 S5 00 1 A n a b n Vdc c c B S2 S4 S6 C b a 110 Een conclusie van de vorige masterproef [1] was dat de hardware niet voldoende krachtig was om een hysterese regelaar te implementeren. De schakelfrequentie van de brug was 10kHz en dit is niet II. Opbouw en aansturing BLDC motor 0 10 In een vorige masterproef [1] werd onderzocht of de Hall sensoren kunnen worden vervangen door sensorloze algoritmes die de hoekpositie schatten uit spannings- en stroommetingen. De eerste toegepaste methode schat op basis van de TEMK de positie van de rotor. Dit is een goed alternatief want het levert vergelijkbare hoekpositie informatie als dat van de Hall sensoren. Een nadeel van deze methode is dat de motor in open lus opgestart moet worden omdat er bij stilstand geen TEMK is. Uit rendementsmetingen [1] blijkt dat het aansturen van sinusoïdale t.o.v. blokvormige stromen energie-efficiënter is. Als de motor wordt aangestuurd met sinusoïdale stromen kunnen de Hall sensoren en zerocrossing niet meer gebruikt worden. Dit komt omdat de Hall sensoren maar om de 60° positie informatie geven en hiermee is het niet mogelijk om een sinusvormige stroom te maken. Bij de zerocrossing is er een moment nodig waar de stroom 0A is om de nuldoorgang van de TEMK te detecteren. Een blokgolf voldoet hieraan maar een sinus niet. Hierdoor dringt er een andere methode zich op. Deze methode schat de lasthoek uit de spannings- en stroommeting, waarna de lasthoek geregeld wordt zodat de aansturing stabiel en energie-effciënt werkt. Voor die sturing moet de stroomregelaar zorgen voor perfecte sinusoïdale stromen, anders is de lasthoek niet stabiel en regelbaar. 011 Een brushless DC motor kan zonder kennis van de hoekpositie niet aangestuurd worden. Vandaag de dag wordt de BLDC motor het meest aangestuurd met behulp van Hall sensoren. Hoewel Hall sensoren goedkoop en gemakkelijk in gebruik zijn, verminderen ze de levensduur van de motor. n 010 I. Inleiding voldoende. De regelaar werkt trager dan de dynamica van het systeem waardoor de wensstroom en effectieve stroom niet overeen kwamen. In deze masterproef moet een FPGA dit probleem verhelpen. Dankzij de hogere schakelfrequentie zal de hysterese stroomregeling in staat zijn om een sinusvormige stroom in de BLDC motor te krijgen. Hierdoor kan de lasthoek correct geschat en geregeld worden. De meerwaarde van dit project is een nieuwe aansturing die de BLDC motor efficiënt en stabiel aandrijft. Figuur 1: Buitenloper met driefasige geconcentreerde wikkelingen in de stator en trapezoïdale TEMK B. Werking BLDC motor met Hall sensoren Het koppel van de motor is afhankelijk van het product van de stroomvector i en de TEMK-vector e. Om een constant koppel te verkrijgen moet er stroom gestuurd worden als de TEMK in die fase constant is (figuur 2). Met behulp van de Hall sensoren wordt beslist wanneer de fasestroom positief, iii 2 negatief of nul moet zijn en welke schakelaars van de driefasige brug aangestuurd worden. 100 110 010 011 001 fase b positief, en de stroom in fase c negatief. Vervolgens kijkt de stroomregelaar naar de fout om te weten of de schakeltoestanden hoog of laag moeten zijn. 101 III. Lasthoekregeling Ha Hb A. Lasthoek en invloeden Hc Een groot verschil met de Hall sensoren en de zerocrossing is de vorm van de stroom. Bij Hall sensoren en zerocrossing zijn blokvormige stromen nodig, bij de lasthoekregeling zijn dit sinusvormige stromen. Deze stromen kunnen voorgesteld worden als ronddraaiende vectoren. (figuur 4). ea ia eb ib Is E ec ic statorveld δ π 0° 60° 120° 180° 240° 300° 360° θ Figuur 2: De TEMK (blauw) en de stromen (oranje) in de fasen met bijhorende uitgangen van de Hall sensoren (zwart) i.f.v. de elektrische hoek De stroom in een BLDC motor kan snel toenemen en afnemen. Een hysterese stroomregeling (figuur 3) met een hoge samplefrequentie is noodzakelijk. De stroomregelaar heeft zes inputs en zes outputs. De drie gewenste stromen en de drie fouten op die gewenste stromen zijn de inputs, de outputs zijn de schakeltoestanden. De stroomregelaar activeert bij iedere sample de juiste schakeltoestanden. Stroomregelaar fout Ia + - fout Ib Istart fout Ic BLDC motor Va Vb 101 A n a b n c c Vc C B b a n Ia De lasthoek δ is de hoek tussen het statorveld en het rotorveld, het is afhankelijk van de stroom en het lastkoppel. Als de stroom daalt bij een constante lastkoppel zal de lasthoek stijgen en omgekeerd. Bij een toenemend lastkoppel en een constante stroom stijgt de lasthoek, de stijging van de lasthoek zorgt voor een groter motorkoppel. In het ideale geval is de lasthoek 90○ , de TEMK-vector E en het statorveld Is liggen op elkaar en zorgen voor het maximum koppel, dit heeft een hoge energieefficiëntie. Toch wordt de lasthoek geregeld op 75○ om een marge te krijgen met de kritische lasthoek 90°. Tijdens het versnellen van een last of inertie kan de lasthoek kortstondig groter zijn dan de kritische lasthoek. Zolang de lasthoek in de steady state toestand kleiner is dan de kritische lasthoek is het systeem stabiel. 110 Geschatte lasthoek Geval fout a>0 fout b>0 fout c>0 fout a≤0 fout b≤0 fout c≤0 1 S1 S2 / / / S6 2 S1 / / / S5 S6 3 S1 / S3 / S5 / 4 / S2 / S4 / S6 5 / S2 S3 S4 / / 6 / / S3 S4 S5 / 7 S1 / / / S5 / 8 S1 / / / / S6 9 / S2 / S4 / / 10 / / S3 S4 / / 11 / S2 / / / S6 12 / / S3 / S5 / Driefasige brug 0 10 Gewenste lasthoek S1 S2 S3 S4 S5 S6 00 1 I c* Wenssnelheid 1 01 I b* I* B. Lasthoekschatter 010 I a* β Figuur 4: Vectordiagram lasthoek C. Hysterese stroomregeling Wensstroom Geval Geval fase A Geval fase B Geval fase C 1 IA > 0 IB > 0 IC < 0 2 IA > 0 IB < 0 IC < 0 3 IA > 0 IB < 0 IC > 0 Sinus 4 IA < 0 IB > 0 IC < 0 5 IA < 0 IB > 0 IC > 0 6 IA < 0 IB < 0 IC > 0 7 IA > 0 IB < 0 IC = 0 8 IA > 0 IB = 0 IC < 0 9 IA < 0 IB > 0 IC = 0 Blokgolf 10 IA < 0 IB = 0 IC > 0 Controller 11 IA = 0 IB > 0 IC < 0 12 IA = 0 IB < 0 IC > 0 Ψr rotorveld 2 Ib Figuur 3: Hysterese stroomregelaar De stroomregelaar wordt opgesplitst in 12 gevallen, 6 gevallen voor een sinus en 6 gevallen voor een blokgolf. De stroomregelaar kijkt eerst in welk geval het zit. In geval 1 is de stroom in fase a en Ic De lasthoekschatter [2] maakt gebruik van het SDFT algoritme om de grondgolf van de fasespanning en de fasestroom te bepalen. Met behulp van formule 1 kan de grondgolf van de TEMK Es1 bepaald worden. Hiervoor moeten de elektrische parameters (R en L) van de BLDC motor gekend zijn. Es1 = us1 − Rs .is1 − Ls . dis1 dt (1) iv 3 Aan de hand van figuur 4 kan een formule voor de lasthoek opgesteld worden: (2) C. Lasthoekregelaar De lasthoekregeling is een regeling die de motor in frequentie aanstuurt. De wenssnelheid bepaalt de snelheid van de ronddraaiende stroomvector. Deze snelheid wordt geïntegreerd en zo wordt een oplopende hoek verkregen. De positie van de stroomvector legt de positie van de rotor op, dit is fictieve terugkoppeling. 1/s Beta mechanisch I Beta elektrisch p/2 Stroomvector βelektrisch Amplitude Figuur 5: Vector als gewenste stroom Bij de opstart van de BLDC motor kan de lasthoek nog niet geschat worden en is er een hoge stroom nodig namelijk de startstroom (figuur 6). Wanneer de lasthoek kan geschat worden zal de lasthoekregelaar de amplitude van de stroomvector regelen. De amplitude wordt geregeld zodat de werkelijke lasthoek gelijk is aan de gewenste lasthoek (ideaal 90°). Overzicht implementatie De DSpace box bestaat uit twee delen: DSP/Simulink en FPGA (figuur 7). De modellen die opgebouwd zijn in Matlab Simulink worden gebuild naar deze twee delen. DSP staat voor Digitaal Signaal Processor. De lasthoekschatter, de lasthoekregeling en berekening van de stroomvectoren komen hierin terecht. Dit hoeft niet in de FPGA omdat dit niet snel hoeft uitgerekend te worden, de FPGA wordt dan niet overbelast met deze berekeningen. Door te meten in het fysisch proces krijgt de DSP de terugkoppeling van de fasespanning en fasestroom voor de lasthoekschatter. Via Control Desk komen de gewenste lasthoek, de startstroom en de gewenste hoeksnelheid in de DSP terecht. Control Desk is een programma waarin parameters kunnen veranderd worden en signalen worden opgemeten. De drie gewenste fasestromen gaan naar de FPGA, de drie werkelijke fasestromen worden gemeten in het fysisch proces en gaan via een Analog In naar de FPGA. De juiste schakeltoestanden worden in de FPGA berekend. Via Digital Out kunnen de schakeltoestanden verbonden worden met de driefasige brug. DSpace DSP / Simulink Lasthoekregelaar HysteresestroomregelaarS1 Driefasige brug δ S2 I* Ib* S3 A n a b n c c S4 Vc S5 B C b a 110 Ic* Istart Vb Control Desk / Laptop π 2 ( Es1 Is1 ) Is SDFT Amplitude stroom I Iamp Stroomvectoren 1/s Beta mech Beta βelektrisch elek p/2 βelektrisch Register Out Us1 Is SDFT Fysisch proces Brug S1 S2 S3 S4 Werkelijke stromen Is1 Terugkoppeling fasespanning en fasestroom voor lasthoekschatter Us Us S6 Communicatie DSP/FPGA Va Vc Vb Ia 101 A FPGA δ* Ib n c c Ic HysteresestroomregelaarS1 ω* Ia* Register In n a b B S3 b a n BLDC Motor Meten S2 I* Ib* C 110 δ = US1 β ω* Istart Lasthoekschatter IS1 Is1 ) Es1 0 10 Ic ( S5 Ufase Ifase Ib π 2 n S6 δ Ia δ Istart Lasthoekschatter δ = I 1 01 Is 101 00 1 E BLDC Motor Va 0 10 δ* Ia* E 010 ω* 1 01 Lasthoekregelaar δ δ* 00 1 Omega B. 010 π − (∠(Es1 ) − ∠(is1 ) 2 δ̂ = worden en een hogere samplefrequentie mogelijk is. Digital Out S4 Ic* S5 S6 Ia Ib Ic Analog In Figuur 6: Model lasthoekregeling IV. FPGA Figuur 7: Volledig schema implementatie DSP en FPGA A. Wat is een FPGA? FPGA staat voor Field Programmable Gate Array, het is opgebouwd uit een groot aantal logische blokken die op een gestructureerde manier zijn opgesteld in een matrix. Een FPGA kan alle taken verdelen over de verschillende blokken, hierdoor kunnen bewerkingen parallel worden uitgevoerd. Een gevolg hiervan is dat taken sneller afgewerkt Referenties [1] J. D. Viaene, “Energie-efficiënte sensorloze controle van een BLDC motor.” 2015. [2] S. Derammelaere, Sensorloze detectie en regeling van de lasthoek bij hybride stappenmotoren. PhD thesis, Universiteit Gent, 2013. v Is Us Meten 1 Extended abstract A. Construction and control BLDC motor Construction BLDC motor A BLDC motor is a permanent magnet synchronous motor with trapezoidal back EMF. The motor consists of a permanent magnet rotor and a stator which contains the three-phase in starconnected windings. A three-phase bridge regulates the currents in the three phases (Figure 1). 101 S1 S3 S5 00 1 A n a b n Vdc c c B S2 S4 S6 C b a 110 A conclusion of the previous master thesis [1] was that the hardware was not powerful enough to implement a hysteresis current controller. The switching frequency of the bridge was 10kHz, and this is not sufficient. The controller works slower than the dynamics of the system so that the desired II. 0 10 In a previous master’s thesis [1] examined whether the Hall sensors can be replaced by sensorless algorithms that estimate the angular position from voltage and current measurements. The first method used estimates on basis of the TEMK the position of the rotor. This is a good alternative, because it provides comparable angled position information as that of the Hall sensors. A disadvantage of this method is that the engine must be started in open loop because at standstill there is no TEMK. From efficiency measurements [1] shows that sinusoidal currents are more efficient then square currents. If the motor is driven with sinusoidal currents the Hall sensors and zero crossing can not be used. This is because the Hall sensors give position information every 60 electrical degrees, and whit this it is not possible to create a sinusoidal current. At the zero crossing, there is a moment required where the current is 0A to detect the zero crossing of the TEMK. A square current has this requirement but a sinus current has this not. As a result, another method is here needed. This method estimates the load angle from the voltage and current measurement , whereafter the load angle is controlled so that the engine is stable and energy efficient. Before that the current controller must ensure perfect sinusoidal currents, otherwise the load angle is not stable and controllable. 011 A brushless DC motor can not be controlled without knowledge of the angular position. Today, the BLDC motor is most commonly controlled by Hall sensors. Although Hall sensors are cheap and easy in use, they reduce the life of the engine. n 010 I. Introduction current and real current did not match. In this master thesis an FPGA must resolve this issue. Thanks to the higher switching frequency, the hysteresis current control will be able to get a sinusoidal current in the BLDC motor. As a result, the load angle can be estimated correctly and be arranged. The added value of this project is a new controller which drives the BLDC motor energy efficient and stable. Figure 1: BLDC motor with the three-phase concentrated windings in the stator and trapzoidal back EMF and the three-phase bridge B. BLDC motor with Hall sensors The torque of the motor is dependent on the product of the current vector i, and the back EMFvector e. In order to obtain a constant torque must a current be sent in the phase when the back EMF is constant in this phase (Figure 2). With the aid of the Hall sensors is decided when the phase current should be positive, negative or zero, and which switches of the three-phase bridge are controlled. vi 2 III. 100 110 010 011 001 A. 101 Ha Load angle control Load angle and influences A big difference with the Hall sensors and the zero crossing is the shape of the current. With Hall sensors and zero crossing are block-shaped currents required, with the load angle control the currents are sinusoidal. These currents can be represented as rotating vectors. (Figure 4). Hb Hc ea ia Is E eb ib statorfield δ π 2 θ ec ic 0° 60° 120° 180° 240° 300° 360° The load angle δ is the angle between the stator field and the rotor field, it is dependent on the current and the load torque. If the current decreases at a constant load torque the load angle will increase and vice versa. With an increasing load torque, and a constant current the load angle increases, the increase of the load angle provides a larger motor torque. In the ideal case, the load angle is 90°, the back EMF vector E and the stator field Is lie on each other and provide maximum torque, this has a high energy efficience. However, the load angle is controlled at 75° to get a margin with the critical load angle 90°. During acceleration of a load the load angle can briefly exceed the critical load angle. As long as the load angle in the steady state condition is less than the critical load angle, the system is stable. C. Hysteresis current control The current in a BLDC motor can rapidly increase and decrease. A hysteresis current control (Figure 3) with a high sampling rate is required. The current controller has six inputs and six outputs. The three desired currents and the three errors of the required currents are the inputs, the outputs are the switching states. The current controller activates at each sample the correct switching states. Current Controller Square Controller Wenssnelheid error Ia + error Ib Istart - error Ic IB < 0 IB = 0 IB > 0 IB = 0 IB > 0 IB < 0 IC = 0 IC < 0 IC = 0 IC > 0 IC < 0 IC > 0 Case error a>0 error b>0 error c>0 error a≤0 error b≤0 error c≤0 1S S1 S2 / / / S6 2S S1 / / / S5 S6 3S S1 / S3 / S5 / 4S / S2 / S4 / S6 5S / S2 S3 S4 / / 6S / / S3 S4 S5 / 1B 2B 3B 4B 5B 6B S1 S1 / / / / / / S2 / S2 / / / / S3 / S3 / / S4 S4 / / S5 / / / / S5 S1 S2 S3 S4 S5 S6 Three phase bridge BLDC motor Va Vb n a c c Vc / S6 / / S6 / B. Load angle estimator 101 A b n B C b a 110 Geschatte lasthoek IA > 0 IA > 0 IA < 0 IA < 0 IA = 0 IA = 0 0 10 Gewenste lasthoek 1B 2B 3B 4B 5B 6B 00 1 I c* 1 01 I b* Desired current Case Case phase A Case phase B Case phase C 1S IA > 0 IB > 0 IC < 0 2S IA > 0 IB < 0 IC < 0 3S IA > 0 IB < 0 IC > 0 Sinus 4S IA < 0 IB > 0 IC < 0 5S IA < 0 IB > 0 IC > 0 6S IA < 0 IB < 0 IC > 0 n 010 I a* β Figure 4: Vectordiagram load angle Figure 2: The back EMF (blue) and the currents (orange) and the signals of the Hall sensors (black) in function of the electrical angle I* Ψr rotorfield Ia Ib Figure 3: Hysteresis current controller The current controller is broken down into twelve cases, six cases for a sinus and six cases for a square current. The current controller first looks in which case it is. In case 1S, the current in phase A and phase B is positive, and the current in phase c negative. Then, the current controller looks at the fault to know whether the switching conditions must be high or low. Ic The load angle estimator [2] makes use of the SDFT algorithm to determine the fundamental wave of the phase voltage and the phase current. Using formula 1 ground wave TEMK Es1 can be determined. To do this, the electrical parameters (R and L) must be known of the BLDC motor. dis1 (1) dt On the basis of figure 4 can a formula be prepared for the load angle: Es1 = us1 − Rs .is1 − Ls . δ̂ = π − (∠(Es1 ) − ∠(is1 ) 2 (2) vii 3 C. Load angle controller B. The load angle control is a system that controls the motor in frequency. The desire speed determines the speed of the rotating current vector. This speed is integrated, and an ascending angle is obtained (Figure 5). The position of the current vector places the position of the rotor, this is a fictive feedback. The DSpace box consists of two parts: DSP/FPGA and Simulink (Figure 7). The models are constructed in Matlab Simulink and can be build to these two parts. DSP stands for Digital Signal Processor. The load angle estimator, the load angle control and calculation of the current vectors arrive herein. This does not need to be in the FPGA because this does not need to be computed quickly, the FPGA will not be overloaded with these calculations. By measuring the physical process, the DSP receives the feedback of the phase voltage and phase current to the load angle estimator. Control Desk gets the desired load angle, the starting current and the desired angular velocity into the DSP. Control Desk is a program in which parameters can be changed and signals are measured. The desired three-phase current goes to the FPGA, the actual three-phase currents are measured in the physical process and go through an ’Analog In’ in to the FPGA. The appropriate switching states are calculated in the FPGA. With the ’Digital Out’ the switching states can be connected to the threephase bridge. Omega 1/s Beta mechanical I Beta electrical p/2 Current vector βelectrical Amplitude Figure 5: Vector as desired current At the start of the BLDC motor load angle can not yet be estimated and requires a high current: the starting current (Figure 6). When the load angle can be estimated, the load angle controller will control the amplitude of the current vector. The amplitude is controlled so that the actual load angle is equal to the desired load angle (ideal 90 °). Overview implementation DSpace Hysteresis Load angle controller current controller S1 Ia* δ S3 Vb c c C n S6 Ufase Ifase δ E Control Desk / Laptop Load angle estimator π δ = I δ Istart B b a 110 Vc S5 δ δ* n a b n S4 Ic* Load angle controller 101 A 00 1 I* Ib* Istart BLDC Motor Va S2 1 01 Is 010 E DSP / Simulink 0 10 ω* δ* Three phase bridge 2 ( IS1 Is1 ) Es1 US1 Is SDFT Feedback phase voltage and phase current for load angle estimator Us Amplitude current β ω* I Iamp Current Vectors 1/s Beta mech Beta βelectrical elec p/2 βelectrical Register Out Physical process Bridge S1 S2 S3 S4 Ia Ib Real currents Ic S5 S6 Communicatie DSP/FPGA Va Vc Vb Ia ( Es1 Is1 ) Us1 SDFT Us n c c B 1 01 Istart S3 n Measure S2 I* Ib* b a BLDC Motor S1 Register In C Ic Hysteresis current controller ω* Ia* Figure 6: Model load angle controlling 00 1 Ib 010 π 2 FPGA δ* 110 δ = Is Is1 n a 0 10 Load angle estimator 101 A b Digital Out S4 Ic* S5 S6 Ia Ib Ic Analog In IV. FPGA A. Wat is a FPGA? FPGA stands for Field Programmable Gate Array, it is made up of a large number of logical blocks which are arranged in a structured manner in a matrix. An FPGA can therefore distribute operations among the logical blocks, hereby can the operations be performed in parallel. One consequence is that tasks are completed more quickly and may have a higher sampling frequency. Figure 7: Full schedule implementation DSP and FPGA References [1] J. D. Viaene, “Energie-efficiënte sensorloze controle van een BLDC motor.” 2015. [2] S. Derammelaere, Sensorloze detectie en regeling van de lasthoek bij hybride stappenmotoren. PhD thesis, Universiteit Gent, 2013. viii Is Us Measure Contents 1 Inleiding 1 2 Opbouw en aansturing BLDC motor 2.1 Inleiding . . . . . . . . . . . . . . . . . . . . 2.2 Opbouw . . . . . . . . . . . . . . . . . . . . 2.3 Werking BLDC motor met Hall sensoren . . . 2.4 Werking BLDC met zerocrossing . . . . . . . 2.5 Stroomregeling . . . . . . . . . . . . . . . . 2.5.1 Inleiding . . . . . . . . . . . . . . . . 2.5.2 Hysterese regeling . . . . . . . . . . 2.6 Voorbeeld stroomverloop in een BLDC motor 2.6.1 Stroomopbouw . . . . . . . . . . . . 2.6.2 Strooma ouw . . . . . . . . . . . . 2.7 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 8 10 10 12 15 15 15 16 . . . . . . . . . . . . 17 17 17 18 19 19 20 22 22 24 24 24 27 . . . . . . . . . . . . 28 28 28 29 30 30 32 33 33 33 34 36 36 5 Conclusie 5.1 Behaalde resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Sugges es voor verder onderzoek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Lasthoekregeling 3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Verklaring overgang naar sinusvormige stromen 3.2 Lasthoek . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Invloeden van de lasthoek . . . . . . . . . . . . . . . . 3.3.1 Invloed lastkoppel . . . . . . . . . . . . . . . . 3.3.2 Invloed stroom . . . . . . . . . . . . . . . . . . 3.4 Lasthoekscha er . . . . . . . . . . . . . . . . . . . . . 3.4.1 Scha en van de TEMK . . . . . . . . . . . . . . 3.5 Lasthoekregeling . . . . . . . . . . . . . . . . . . . . . 3.5.1 De stroomvector . . . . . . . . . . . . . . . . . 3.5.2 De lasthoekregelaar . . . . . . . . . . . . . . . 3.6 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 FPGA 4.1 Inleiding . . . . . . . . . . . . . . . . . 4.2 Wat is een FPGA? . . . . . . . . . . . . 4.3 Overzicht interface laptop, FPGA en DSP 4.4 Overzicht implementa e . . . . . . . . 4.4.1 Control Desk / Laptop . . . . . 4.4.2 DSpace . . . . . . . . . . . . . 4.4.3 Fysisch proces . . . . . . . . . . 4.5 Me ngen . . . . . . . . . . . . . . . . 4.5.1 Blokgolven . . . . . . . . . . . 4.5.2 Sinussen . . . . . . . . . . . . 4.5.3 Besluit me ngen . . . . . . . . 4.6 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix A BLDC motor: Transmotec B8686-24 39 B MicroAutoBox II dSpace 40 C Motor Driver ON Semiconductor 41 D Inhoudstabel handleiding FPGA 43 E 44 Matlab code RMS berekenen me ngen x List of Tables 2.1 2.2 2.3 My cap on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 De 12 gevallen die voorkomen in een stroomregelaar als de wensstroom een blokgolf of een sinus is 14 Schakeltoestanden die hoog zijn bij de verschillende fouten . . . . . . . . . . . . . . . . . . . . . 14 4.1 Besluit me ngen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 xi List of Figures 1.1 Schema sche voorstelling van de testopstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1 2.2 2.3 2.4 2.5 2.6 Buitenloper met driefasige geconcentreerde wikkelingen in de stator . . . . . . . . . . . . . . . . BLDC motor met uitstekende magneten in de rotor en geconcentreerde wikkelingen in de stator . PMSM met verzonken magneten in rotor en sinusoïdale wikkelingen in de stator . . . . . . . . . Uitgangen Hall sensoren bij rotor met 2 poolparen . . . . . . . . . . . . . . . . . . . . . . . . . Schema sche voorstelling van een BLDC motor . . . . . . . . . . . . . . . . . . . . . . . . . . . De TEMK (blauw) en de stromen (oranje) in de fasen met bijhorende uitgangen van de Hall sensoren (zwart) in func e van de elektrische hoek . . . . . . . . . . . . . . . . . . . . . . . . . . . Driefasige brug verbonden met de drie fasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . Detecteren zerocrossings van de TEMK en aanpassen van de stromen i.f.v. elektrische hoek . . . . Model zerocrossing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RL kring fase motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transferfunc e proces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stap responsie stroom met een bronspanning van 12V . . . . . . . . . . . . . . . . . . . . . . . Stap responsie stroom met een bronspanning van 12V ingezoomd . . . . . . . . . . . . . . . . . Stroomregelaar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verloop stroomopbouw in een BLDC motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verloop strooma ouw in een BLDC motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 5 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 3.1 3.2 3.3 3.4 6 7 9 9 10 10 11 12 13 15 15 Prak sche me ng TEMK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vectordiagram lasthoek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Het elektromagne sch koppel i.f.v. de lasthoek . . . . . . . . . . . . . . . . . . . . . . . . . . . Het elektromagne sch koppel i.f.v. de lasthoek voor een lastkoppel en stapresponsies van de lasthoek bij rela ef hoge statorstroom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Het elektromagne sch koppel i.f.v. de lasthoek voor een lastkoppel en stapresponsies van de lasthoek bij rela ef lage statorstroom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Lasthoek i.f.v. de stroom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Driefasige brug met equivalent schema motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Vector als gewenste stroom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Model lasthoekregeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Overgangsfase lasthoek jdens de opstart bij verschillende stroomwaardes . . . . . . . . . . . . 3.11 Lasthoekregeling door de stroom te laten dalen . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 19 20 4.1 4.2 4.3 4.4 4.5 4.6 28 29 30 31 32 4.7 4.8 Werkelijke en gewenste stromen van blokgolf en sinus bij een schakelfrequen e van 10 kHz . . . Structuur FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overzicht interface laptop, FPGA en DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Volledig schema implementa e DSP en FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . Werking DFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Werkelijke en gewenste stromen van een blokgolf met amplitude 2A bij een schakelfrequen e van 10 en 20 kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Werkelijke en gewenste stromen van een blokgolf met amplitude 6A bij een schakelfrequen e van 10 en 20 kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Werkelijke en gewenste stromen van een sinus met amplitude 2A bij een schakelfrequen e van 10 en 20 kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 21 21 22 24 25 25 26 33 34 35 xii 4.9 Werkelijke en gewenste stromen van een sinus met amplitude 6A bij een schakelfrequen e van 10 en 20 kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 A.1 Brushless Dc motor, merk Transmotec, type B8686-24 . . . . . . . . . . . . . . . . . . . . . . . . 39 B.1 Datasheet MicroAutobox II dSpace: ds1401 - 1511/1512 (DSP/FPGA) . . . . . . . . . . . . . . . . 40 C.1 C.2 Motor driver ontworpen door ON Semiconductors Oudenaarde, p1 . . . . . . . . . . . . . . . . Motor driver ontworpen door ON Semiconductors Oudenaarde, p2 . . . . . . . . . . . . . . . . 41 42 D.1 Inhoudstabel handleiding FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 E.1 44 Code Matlab RMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Lijst met a or ngen B BLDC motor Brushless DC motor of borstelloze gelijkstroommotor F FFT FPGA Fast Fourier Transforma e Field Programmable Gate Array P p PHS PMSM aantal poolparen motor Peripheral High-Speed Permanent Magneet Synchrone Motor R RAM RMS RPM Random-Access Memory Root Mean Square Rounds Per Minute S SDFT Sliding Discrete Fourier Transform T TEMK Tegen elektromotorische kracht xiv 1 Inleiding Een brushless DC motor (BLDC motor) hee talloze toepassingen zoals het transport, vervoer, ven la e ... Het grote voordeel t.o.v. DC motoren is dat de motor geen borstels hee . Hierdoor is er minder onderhoud nodig aan de motor. Het gevolg is dat de commuta e niet meer mechanisch gebeurt maar door een algoritme. De driefasige brug zorgt voor de stromen in de fasen. Een vereiste om een BLDC motor aan te sturen is de kennis van de rotorposi e die zowel met sensoren als sensorloos kan bepaald worden. Het verschil hierin is dat met sensoren de rotorposi e gemeten wordt, dit door bijvoorbeeld Hall-sensoren. Bij een sensorloze aansturing wordt de rotorposi e geschat, een voorbeeld hiervan is het detecteren van nuldoorgangen van de tegen elektromotorische kracht (TEMK). Tot op heden wordt de BLDC motor aangestuurd met behulp van Hall-sensoren, zerocrossing... Een BLDC motor wordt standaard aangestuurd met blokvormige stromen, dit door de vorm van TEMK (trapezoïdaal). De ingebouwde Hall sensoren worden gebruikt om de hoekposi e te bepalen. De hoekposi e kan ook sensorloos geschat worden (dus zonder Hall sensoren of encoder). Een voorbeeld hiervan is de zerocrossing, door signaalanalyse van spanningen kan de posi e geschat worden door het detecteren van nuldoorgangen TEMK. In deze masterproef wordt nog een andere sensorloze aansturing voorgesteld namelijk de lasthoekregeling. Het doel van deze masterproef is om de lasthoekregeling te kunnen toepassen bij een BLDC. Hiervoor moet de stroom in de fasen sinusvormig zijn. Bij de vorige masterproef lukte het niet om sinusvormige stromen te sturen door beperking van de apparatuur. Nu er een FPGA ter beschikking is zal de hysterese stroomregeling voor een sinusvormige stroom zorgen in de fasen. De lasthoek kan dan bepaald en geregeld worden. De meerwaarde van dit project is een nieuwe aansturing die de BLDC motor efficiënt en stabiel aandrij . In hoofdstuk 2 wordt de opbouw en de standaardaansturingen van de BLDC motor besproken. De verschillende bouwvormen van de BLDC worden vergeleken met elkaar. De aansturing van de BLDC en de verschillende methoden om de kennis van de rotorposi e te verkrijgen worden hierin besproken. De stroomregeling wordt hierin ook uitgelegd. Hoofdstuk 3 gaat over de lasthoekregeling. Er wordt uitgelegd waarom de lasthoekregeling juist gebruikt wordt. Daarna wordt er verklaard wat de lasthoek juist is en welke parameters de lasthoek beïnvloeden. De lasthoekschatter wordt hierin ook uitgelegd. Ten slo e wordt de nodige informa e gegeven over de werking van de lasthoekregelaar. Hoofdstuk 4 gaat over de FPGA. Daarin staat een korte bespreking wat een FPGA juist doet en waarom deze hier van toepassing is. De interface tussen laptop, FPGA en DSP wordt besproken en er volgt een volledig overzicht van de implementa e van de lasthoekregeling en de stroomregeling. Als laatste worden meetresultaten besproken. Deze worden met behulp van de testopstelling (zie figuur 1.1) verkregen. 1 dSpace MicroAutobox II Bron FPGA 12 / 24 V DSP Sinamic S120 drive servo koppel mode TM41 Inverter brug T Schakelstanden ω PMSM BLDCMOTOR encoder PMSM Lastmotor BLDC motor Figure 1.1: Schema sche voorstelling van de testopstelling In hoofdstuk 5 wordt een algemene conclusie over de masterproef samengevat en eventuele sugges es voor verder onderzoek worden meegedeeld. 2 2 Opbouw en aansturing BLDC motor 2.1 Inleiding In dit hoofdstuk is de theorie van de BLDC motor verwerkt. De opbouw, de werking en verschillende soorten sturingen van de BLDC motor zullen hier verduidelijkt worden. Tot slot wordt de stroomregeling besproken. Dit hoofdstuk is gebaseerd op [1]. 2.2 Opbouw Een BLDC motor bestaat uit een stator met wikkelingen en een permanent magneet rotor. Er bestaan 2 bouwtypes van BLDC motoren, dit zijn de binnenloper en de buitenloper. Bij een binnenloper zi en de permanente magneten op de rotor, de stator zit rond de rotor. Bij een buitenloper is de stator de kern, de rotor zit rond de stator (zie figuur 2.1). De BLDC motor gebruikt bij de opstelling (zie figuur 1.1) is een binnenloper. Figure 2.1: Buitenloper met driefasige geconcentreerde wikkelingen in de stator Naast de opbouw van de BLDC motor is er ook nog een ander onderscheid van belang. Wanneer de rotor draait wordt een spanning geïnduceerd in de wikkelingen, deze spanning noemt men de tegen elektromotorische kracht (TEMK). De vorm van de TEMK is a ankelijk van de plaatsing van de magneten op de rotor. Bij een BLDC motor steken de magneten uit en zijn de wikkelingen geconcentreerd in de stator (figuur 2.2). Deze opbouw zorgt voor een trapezoïdale TEMK. b’ N Z c a a’ c’ Z N b Figure 2.2: BLDC motor met uitstekende magneten in de rotor en geconcentreerde wikkelingen in de stator N 3 Z Z a’ c’ N b Bij een permanent magneet synchrone motor (PMSM) liggen de magneten niet over de omtrek verspreid maar zijn ze verzonken in de rotor. De wikkelingen van een PMSM zijn sinusoïdaal verdeeld (zie figuur 2.3). Deze opbouw zorgt voor een sinusoïdale TEMK. N Z Z N Figure 2.3: PMSM met verzonken magneten in rotor en sinusoïdale wikkelingen in de stator Om een constant koppel te verkrijgen is het belangrijk dat bij een bepaalde vorm van de TEMK de juiste stroom gestuurd wordt. Bij de BLDC motor is de TEMK trapezoïdaal, daarom moet de stroom blokvormig zijn (zie paragraaf 2.3). Bij de PMSM is de TEMK sinusoïdaal, daarom moet de stroom sinusvormig zijn. De stroom die gewenst is in de motor is a ankelijk van de vorm van de TEMK. 2.3 Werking BLDC motor met Hall sensoren Door het ontbreken van de koolsto orstels is mechanische commuta e niet mogelijk. De commuta e van een BLDC motor gebeurt aan de hand van een algoritme. Dit algoritme is zeer belangrijk. Om te commuteren moet de aansturing informa e krijgen over de posi e van de rotor, deze wordt in de meeste gevallen verkregen door drie Hall sensoren. De drie Hall sensoren zijn ruimtelijk geordend zodat ze 120° t.o.v. elkaar verschoven zijn (figuur 2.4). Als de Hall sensor een noordpool ziet wordt de uitgang hoog, bij een zuidpool wordt de uitgang laag. Bij een volledige mechanische omwenteling veranderen de uitgangen van de drie Hall sensoren tezamen 12 keer. Dit betekent dat de Hall sensoren een elektrische hoek kunnen detecteren van 60° (720°/12). Ha 100 110 010 N Hb S S N N 001 101 100 110 010 011 001 101 Ha N Z 011 Hb Z Hc Hc 0° 0° 60° 120° 180° 240° 300° 360° 420° 480° 540° 600° 660° 720° 60° 120° 180° 240° 300° 360° e m Figure 2.4: Uitgangen Hall sensoren bij rotor met 2 poolparen Een belangrijk gegeven van de BLDC motor is het aantal poolparen. In figuur 2.4 hee de rotor twee poolparen, daarom is de elektrische hoekverdraaiing twee keer zo groot als de mechanische hoekverdraaiing. Hoe meer poolparen er zijn, hoe groter de elektrische hoekverdraaiing (formule 2.1). 4 θe (2.1) = p.θm = elektrische hoekverdraaiing [rad] met θe p = θm aantal poolparen = mechanische hoekverdraaiing [rad] Figuur 2.5 gee een schema sche voorstelling van de BLDC motor weer. De stator hee zes wikkelingen, twee voor elke fase, de rotor bevat één poolpaar. De fasen zijn in ster geschakeld met als gemeenschappelijk sterpunt n. Elke fase kan apart aangestuurd worden. I2 I3 Ia 101 A S5 a b n n 0 10 S3 00 1 A Ua c c 011 b a Ic 110 C Uc B n S6 S4 Ib C n Ub B 010 Figure 2.5: Schema sche voorstelling van een BLDC motor Als de rotor ronddraait zullen de permanente magneten ervoor zorgen dat een spanning geïnduceerd wordt in elke fase, dit is de TEMK. Formule 2.2 toont aan dat de TEMK (E) a ankelijk is van de rotorposi e en dat de amplitude van de TEMK a ankelijk is van de snelheid. Hoe sneller de rotor draait hoe hoger de amplitude van de TEMK. E = k.ω.F (θ) E = TEMK [V] k = TEMK constante [V/toeren/min] ω = hoeksnelheid [rad/s] (2.2) met F (θ) = trapezoïdale vorm 5 1 1 − 6 (θ − 2 π) π 3 F (θ) = −1 −1 + π6 (θ − 53 π) voor θ ∈ [0, 23 π[ voor θ ∈ [ 23 π, π[ voor θ ∈ [π, 35 π[ voor θ ∈ [ 53 π, 2π[ In figuur 2.6 staan de TEMK’s in de verschillende fasen in het blauw, de uitgangen van de Hall sensoren in het zwart en de bijhorende stromen in elke fase in het oranje. Er moet 6 keer per omwenteling gecommuteerd worden, de s ppellijnen tonen deze jds ppen aan. 100 110 010 011 001 101 Ha Hb Hc ea ia eb ib ec ic 0° 60° 120° 180° 240° 300° 360° Figure 2.6: De TEMK (blauw) en de stromen (oranje) in de fasen met bijhorende uitgangen van de Hall sensoren (zwart) in func e van de elektrische hoek Bij een trapezoïdale TEMK moet de stroom blokvormig zijn om een constant koppel te verkrijgen. Formule 2.3 gee het koppel weer in func e van de stroom en de trapezoïdale vorm van de TEMK. Uit deze formule kan afgeleid worden dat wanneer TEMK en stroom constant zijn, het koppel constant is. Nu zal het geval van fase a besproken worden (zie figuur 2.6). Als de Hall sensoren 100 en 110 weergeven dan is de TEMK in fase a constant. In dit geval moet er een stroom vloeien in fase a. Als de Hall sensoren 010 weergeven dan verandert de TEMK. Op dit moment mag er geen stroom vloeien in fase a, dit zou een variabel koppel geven en dit is niet gewenst. Het koppel van de motor wordt wel behouden doordat op dat moment een andere fase het koppel levert. Als de Hall sensoren 011 en 001 weergeven dan is de TEMK weer constant maar nega ef. In fase a moet er dan een stroom vloeien maar deze keer in nega eve rich ng om de rich ng van het koppel gelijk te houden. Tijdens de overgangen is er koppelrimpel aanwezig, dit is te wijten aan het feit dat perfect commuteren quasi onmogelijk is en omdat de stroom geregeld wordt. Dit is een nadeel van de BLDC motor. 6 (2.3) T = KT .I.F (θ) met T = koppel [Nm] KT = Koppelconstante [Nm/A] I = stroom [A] F (θ) = trapezoïdale vorm TEMK Door de complexe aansturing kan de motor niet rechtstreeks op het net worden aangesloten, er is nood aan een omvormer die de juiste stromen stuurt. Het regelen van de stroom gebeurt met een driefasige brug (zie figuur 2.7). Als de Hall sensoren 100 weergeven dan moet de stroom in fase a posi ef zijn, de stroom in fase b nega ef en in fase c mag er geen stroom zijn (zie figuur 2.6). Om die stromen te verkrijgen moeten S1 en S5 van de driefasige brug gesloten worden (zie figuur 2.7). Door het sluiten van S1 en S5 komt de voedingsspanning VDC te staan over fasen a en b. Hierdoor zal de stroom in beide fase toenemen (ongeacht de rich ng). In fase a is die stroom posi ef, in fase b is die stroom nega ef. Fase c zal in dit geval stroomloos zijn. Vervolgens gaan de Hall sensoren 110 weergeven, dit betekent dat gecommuteerd moet worden want fase c moet overnemen van fase b. De stroom in fase a moet posi ef blijven, er mag geen stroom vloeien in fase b en in fase c moet stroom nega ef zijn (zie figuur 2.6). Om dit te bekomen blij S1 nog al jd gesloten zijn maar S5 wordt geopend en S6 wordt gesloten. Door het sluiten van S1 en S6 komt de voedingsspanning VDC te staan over fasen a en c. Fase b zal nu stroomloos zijn en in fase c is er een nega eve stroom. De schakeltoestanden S1 tot en met S6 zijn dus a ankelijk van de gewenste stromen en de fout tussen de gewenste stroom en de werkelijke stroom (zie hysterese regeling 2.5.2). De gewenste stroom is in dit geval een blokgolf. I1 I2 Ia S3 S2 S1 I3 Ua V DC Uc Ic S5 S4 I4 S6 I5 Ub Ib I6 Figure 2.7: Driefasige brug verbonden met de drie fasen 7 Tabel 2.1 toont welke schakelaars van de inverter worden aangestuurd en welke stroom er zal vloeien bij de zes toestanden van de Hall sensoren. Table 2.1: My cap on Hall sensoren Ha Hb Hc 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 Hoek interval 0° - 60° 60° - 120° 120° - 180° 180° - 240° 240° - 300° 300° - 360° Schakelaar 1 1 2 2 3 3 5 6 6 4 4 5 Stromen A B C + - 0 + 0 0 + - + 0 - 0 + 0 - + 2.4 Werking BLDC met zerocrossing Een andere methode om een BLDC motor aan te sturen is de zerocrossing methode, deze methode is sensorloos. Dit is een methode om de commuta e van de stromen te laten lopen aan de hand van de nuldoorgangen van de TEMK’s in de fasen. Volgens formule 3.11 is de TEMK a ankelijk van de rotorposi e. De controller hee om de 60 elektrische graden informa e nodig om te commuteren. Dit komt overeen met het hoekverschil tussen 2 opeenvolgende nuldoorgangen van de TEMK’s (zie figuur 2.8). Daarom is het mogelijk om de commuta e te laten gebeuren aan de hand van die nuldoorgangen. Het is echter wel onmogelijk om de TEMK rechtstreeks op te meten, daarom wordt de fasespanning gemeten. Op het moment dat de fase stroomloos is, dan vallen sommige termen in formule 2.4 weg. De fasespanning is dan gelijk aan de TEMK en de halve voedingsspanning tezamen. Als de fasespanning dus gelijk is aan de halve voedingsspanning dan is de TEMK nul en is er op dat moment een nuldoorgang. Vf di + VDC + L = E + R.i dt 2 (2.4) met Vf = fasespanning[V] E = TEMK [V] R = Ohmse weerstand [Ω] L = inductan e [H] i = fasestroom [A] VDC = voedingsspanning [V] Als de nuldoorgang van de TEMK gedetecteerd is dan moet nog 30 elektrische graden gewacht worden vooraleer gecommuteerd wordt. De fasestromen worden 30 elektrische graden na iedere detec e aangepast (zie figuur 2.8). Een posi eve puls betekent dat er een posi eve stroom nodig is en nega eve puls betekent dat er een nega eve stroom nodig is. 8 Ea 30° ia 30° Eb ib Ec ic 0° 60° 120° 180° 240° 300° 360° Figure 2.8: Detecteren zerocrossings van de TEMK en aanpassen van de stromen i.f.v. elektrische hoek De zerocrossing controller krijgt de drie fasespanningen van de motor binnen (zie figuur 2.9). De controller controleert of deze fasespanningen gelijk zijn aan een halve voedingsspanning. Het detecteren van die nuldoorgangen is niet genoeg, de controller moet ook nog weten wanneer de commuta e plaats vindt. De jd moet worden bijgehouden tussen de nuldoorgangen, hiermee kan de duur dat de commuta e moet worden uitgesteld berekend worden. In figuur 2.8 is er om de 60 elektrische graden een puls. Er moet 30 elektrische graden gewacht worden om te commuteren, dit is dus de hel van die 60 elektrische graden. De hel van de berekende jd komt overeen met de duur dat de commuta e wordt uitgesteld. Het schakelmoment wordt geschat waardoor de commuta e niet perfect verloopt. Brug Controller Ia* Iamp Ib* Va Vb Vc Ic* Va Vb Vc Figure 2.9: Model zerocrossing 9 2.5 Stroomregeling 2.5.1 Inleiding De stroomregelaar zorgt ervoor dat de gewenste stromen die bepaald worden door de controller, effec ef in de fasen van de motor vloeien. De TEMK is a ankelijk van de posi e, daardoor hoort bij iedere rotorposi e een ideale wensstroom. De schakelaars in de driefasige brug (zie figuur 2.7) worden aangestuurd zodat de werkelijke stroom in de motor de ideale wensstroom zo goed mogelijk benadert. De bovenste schakelaars zorgen ervoor dat de stroom in elke fase kan oplopen, de onderste schakelaars zorgen ervoor dat de stroom in elke fase kan afnemen. De fase van de motor is te vergelijken met een RL kring (zie figuur 2.10). i Uweerstand Ubron Uspoel Figure 2.10: RL kring fase motor Ubron (UB ) veroorzaakt een stroom i door de weerstand en de spoel. Hierdoor komt er een spanning te staan over de weerstand Uweerstand (UR ) en een spanning over de spoel Uspoel (UL ). Volgende formule hee dit weer: (2.5) UB = UR + UL De spanning UB is de ingang van het systeem, de stroom is de uitgang van het systeem. Het proces hee een bepaalde transferfunc e. UB Transferfunctie proces i Figure 2.11: Transferfunc e proces De uitgang i moet bepaald worden. De spanning over de weerstand en de spoel kunnen uitgedrukt worden in func e van de stroom: UB = i.R + L. di dt (2.6) 10 Er wordt nu over gegaan naar het s-domein om de transferfunc e te kunnen bepalen: (2.7) UB (s) = i(s).R + L.s.i(s) De transferfunc e (TF) is gelijk aan de uitgang op de ingang: i(s) 1 = UB (s) L.s + R TF = (2.8) Nu wordt de transferfunc e anders geschreven: TF = 1 R L R .s (2.9) +1 L Dit is een eerste orde systeem met een jdconstante van R . De weerstand en de zelfinduc ecoëfficiënt van een BLDC motor zijn klein maar doordat L veel kleiner is dan R is de jdconstante klein. Een logische waarde voor L en R zijn respec evelijk 0,23 mH en 91 mΩ. De jdconstante is dan 0,23 91 en dit is ongeveer 2.53 ms. De teller van 1 de TF is R1 en dit is gelijk aan 0,091 . Hierdoor zal de stroom 10,989 groter zijn per volt er aan de fase aangelegd wordt. TF = 10, 989 0, 00253.s + 1 (2.10) Een realis sche spanningswaarde voor Ub is 12 V. Figuur 2.12 toont de stroom in func e van de jd als er een stap van 12 V aan het proces wordt gelegd. De stroom s jgt enorm snel, in 10 ms is de stroom al gestegen van 0A naar 129 A. Step Response stroom 140 System: untitled1 Time (milliseconds): 10 Amplitude: 129 120 Amplitude (A) 100 80 60 40 20 0 0 5 10 15 20 25 Time (milliseconds) Figure 2.12: Stap responsie stroom met een bronspanning van 12V 11 Een stroomwaarde van 129A is in het geval van een BLDC motor niet realis sch, daarom wordt er wat ingezoomd in de figuur. Op die manier wordt figuur 2.13 verkregen (Let op: de schaal staat hier wel in microseconden). Step Response stroom 10 9 8 Amplitude (A) 7 6 5 4 3 2 1 0 0 50 100 150 200 Time (microseconds) Figure 2.13: Stap responsie stroom met een bronspanning van 12V ingezoomd In 200 microseconden s jgt de stroom van 0 A naar 10 A, een conclusie hiervan is dat het proces zeer dynamisch is. De stroom in een BLDC motor kan snel toenemen en afnemen. Het doel van de stroomregelaar is om het verschil tussen de wensstroom en de effec eve stroom zo klein mogelijk te houden. In de volgende paragraaf wordt de hysterese regeling besproken. 2.5.2 Hysterese regeling In figuur 2.14 staat het schema van de hysterese regeling. De gewenste stromen zijn a ankelijk van de controller, deze kunnen verkregen worden via Hall sensoren, de zerocrossing methode of de lasthoekregelaar (zie hoofdstuk 3). De stroomregelaar hee zes inputs en zes outputs. De drie gewenste stromen en de drie fouten op die gewenste stromen zijn de input. In Simulink is hiervoor code in Matlab geschreven. Belangrijk om te weten is dat de stroomregelaar bij iedere sample de juiste schakeltoestanden ac veert. De schakelfrequen e van de brug is volledig a ankelijk van de ingestelde samplefrequen e van de apparatuur. Is deze schakelfrequen e te laag dan kunnen er grote schommelingen optreden in de stroom. Zoals reeds vermeld kan de stroom in de motor hier zeer snel wijzigen (zie paragraaf 2.5.1), daarom is het aangewezen om met een hoge schakelfrequen e te werken. 12 Stroomregelaar Wenssnelheid fout Ia - fout Ib Istart fout Ic 1B 2B 3B 4B 5B 6B S1 S1 / / / / / / S2 / S2 / / / / S3 / S3 / / S4 S4 / / S5 / / / / S5 S1 S2 S3 S4 S5 S6 / S6 / / S6 / Driefasige brug BLDC motor Va 101 A Vb n a b n c c Vc C B b a 110 + IB < 0 IC = 0 IB = 0 IC < 0 IB > 0 IC = 0 Blokgolf IB = 0 IC > 0 Controller IB > 0 IC < 0 IB < 0 IC > 0 Geval fout a>0 fout b>0 fout c>0 fout a≤0 fout b≤0 fout c≤0 1S S1 S2 / / / S6 2S S1 / / / S5 S6 3S S1 / S3 / S5 / 4S / S2 / S4 / S6 5S / S2 S3 S4 / / 6S / / S3 S4 S5 / 0 10 Gewenste lasthoek Geschatte lasthoek IA > 0 IA > 0 IA < 0 IA < 0 IA = 0 IA = 0 00 1 I c* 1B 2B 3B 4B 5B 6B 1 01 I b* I* n 010 I a* Wensstroom Geval Geval fase A Geval fase B Geval fase C 1S IA > 0 IB > 0 IC < 0 2S IA > 0 IB < 0 IC < 0 3S IA > 0 IB < 0 IC > 0 Sinus 4S IA < 0 IB > 0 IC < 0 5S IA < 0 IB > 0 IC > 0 6S IA < 0 IB < 0 IC > 0 Ia Ib Figure 2.14: Stroomregelaar De regelaar wordt gebruikt om blokvormige- en sinusoïdale stromen te sturen. Met behulp van code in Matlab kan een if-then structuur gemaakt worden om de juiste schakeltoestanden te bepalen. Als eerste wordt de code in Matlab opgesplitst in twee mogelijkheden, namelijk de wensstroom is een sinus of een blokgolf. Dit moet opgesplitst worden omdat bij een sinus de stroom niet nul moet zijn voor een bepaalde jd. Bij een blokgolf is dit wel het geval (zie tabel 2.2). Als de gewenste stroom 0 A is bij een fase dan mogen de schakeltoestanden van die fase niet schakelen. Daarom zijn er bij blokvormige stromen telkens maar twee schakeltoestanden ac ef als er een fout is. Bij sinusvormige stromen zijn dat er drie (zie tabel 2.3). De stroomregelaar kijkt eerst in welk geval het zit. Zit de stroomregelaar in geval 1S dan is de stroom in fase a en fase b posi ef, en de stroom in fase c nega ef. Vervolgens kijkt de stroomregelaar naar de fout om te weten of de schakeltoestanden hoog of laag moeten zijn. Tabel 2.3 gee de schakeltoestanden weer wanneer deze hoog moeten zijn. Is de fout in stroom a>0 dan moet S1 hoog zijn om de stroom te doen toenemen. Is de fout in stroom a 6 0 dan zal S1 laag zijn en de stroom zal dalen. Voor alle andere gevallen is dit hetzelfde principe. 13 Ic Table 2.2: De 12 gevallen die voorkomen in een stroomregelaar als de wensstroom een blokgolf of een sinus is Wensstroom Geval Geval fase A Geval fase B Geval fase C 1S IA > 0 IB > 0 IC < 0 2S IA > 0 IB < 0 IC < 0 3S IA > 0 IB < 0 IC > 0 Sinus 4S IA < 0 IB > 0 IC < 0 5S IA < 0 IB > 0 IC > 0 6S IA < 0 IB < 0 IC > 0 Blokgolf 1B 2B 3B 4B 5B 6B IA > 0 IA > 0 IA < 0 IA < 0 IA = 0 IA = 0 IB < 0 IB = 0 IB > 0 IB = 0 IB > 0 IB < 0 IC = 0 IC < 0 IC = 0 IC > 0 IC < 0 IC > 0 Table 2.3: Schakeltoestanden die hoog zijn bij de verschillende fouten Geval fout a>0 fout b>0 fout c>0 fout a≤0 fout b≤0 fout c≤0 1S S1 S2 / / / S6 2S S1 / / / S5 S6 3S S1 / S3 / S5 / 4S / S2 / S4 / S6 5S / S2 S3 S4 / / 6S / / S3 S4 S5 / 1B 2B 3B 4B 5B 6B S1 S1 / / / / / / S2 / S2 / / / / S3 / S3 / / S4 S4 / / S5 / / / / S5 / S6 / / S6 / 14 2.6 Voorbeeld stroomverloop in een BLDC motor 2.6.1 Stroomopbouw Stel dat geval 1B (zie tabellen 2.2 en 2.3) zich voor doet. De stroom in fase A moet posi ef zijn, de stroom in fase B moet nega ef zijn, de stroom in fase C is nul A. Stel dat de werkelijke stroom kleiner is dan de wensstroom, dit betekent dat de fout op de stromen groter is dan nul A. Hierdoor worden schakeltoestanden S1 en S5 gesloten. In figuur 2.15 staat het stroomverloop. Nu is er een stroomopbouw, de stroom in fase A neemt toe posi ef en de stroom in fase B neemt toe nega ef. In fase C vloeit er geen stroom. S1 S3 S2 ia La ea +- a ib V DC c S5 Rb Lb eb +- b S4 Ra ic Rc Lc n ec +- S6 Figure 2.15: Verloop stroomopbouw in een BLDC motor 2.6.2 Strooma ouw Wanneer de werkelijke stromen groter zijn dan de wensstromen wordt zullen de schakelaars S1 en S5 openen. Figuur 2.16 hee het stroomverloop bij strooma ouw weer. De stroom wilt in dezelfde rich ng blijven vloeien di maar kan nergens weg. Door een vermindering van de stroom zal dt toenemen. Deze verandering zorgt voor een induc espanning waardoor het punt ’b’ onder een hoge spanning komt te staan. Ub wordt hoger dan de spanning VDC , waardoor de diode parallel over S2 zal geleiden, de stroom gaat dan naar de ba erij. Hetzelfde kan gezegd worden van punt ’a’ maar deze hee een nega eve spanning. De stroom zal van de massa van de bron door de diode parallel over S4 naar punt ’a’ vloeien. De werkelijke stroom zal zich zo a ouwen tot het onder de gewenste stroom komt. Daarna zullen de schakeltoestanden S1 en S5 weer ac ef worden zodat de stroomopbouw weer kan beginnen. Op die manier schommelt de werkelijke stroom rond de gewenste stroom. S1 S3 S2 ia La ea +- a ib V DC c S5 Rb Lb eb +- b S4 Ra ic Rc Lc n ec +- S6 Figure 2.16: Verloop strooma ouw in een BLDC motor 15 2.7 Besluit Allereerst is het belangrijk om de werking van een permanent magneet motor te begrijpen. Er bestaan twee types permanent magneet motoren, namelijk BLDC motor en PMSM. Het onderscheid tussen deze twee types is dat de rotor en de stator niet gelijk zijn opgebouwd. De bouw van de rotor en de soort wikkeling in de stator bepaalt de vorm van de TEMK. De stroom die nodig is in de motor is volledig a ankelijk van die TEMK. Bij een BLDC motor is de TEMK trapezoïdaal en is de stroom blokvormig. Bij een PMSM is de TEMK sinusoïdaal en moet de controller accurater zijn om sinusvormige stromen te genereren in de motor. Als tweede komen de controllers aan bod. In dit hoofdstuk worden er 2 verschillende controllers ontworpen om een BLDC motor aan te sturen. Eén controller die gebruik maakt van rechtstreekse terugkoppeling van de hoekposi e, namelijk de Hall sensoren. De andere controller maakt gebruik van een sensorloze algoritme. Bij zerocrossing worden de fasespanningen teruggekoppeld. De nauwkeurigheid van deze methode hangt af van de detec e van de nuldoorgangen van de TEMK en de jd die berekend wordt om de commuta e uit te stellen. Als laatste komt de stroomregelaar aan bod. De controller hee de wensstromen bepaald. De taak van de stroomregelaar is om de driefasige brug aan te sturen zodat de effec eve stromen gelijk zijn aan de wensstromen. Er is één methode besproken om de stroom in de motor te controleren, namelijk de hysterese regeling. Dit is een eenvoudige regeling maar de snelheid van de regeling is a ankelijk van de samplefrequen e van de apparatuur. Is de samplefrequen e te laag, dan zal de schakelfrequen e van de brug ook te laag zijn waardoor de stromen te veel ongewenste pieken beva en. 16 3 Lasthoekregeling 3.1 Inleiding Hall sensoren worden vaak gebruikt om een BLDC motor aan te sturen. Een nadeel hiervan is dat de Hall sensoren fragiel zijn. Bijgevolg verminderen ze de levensduur van de aansturing. Er zijn ook andere methoden om de BLDC motor aan te sturen, namelijk sensorloze aansturingen. In hoofdstuk 2 kwam zerocrossing al aan bod. In dit hoofdstuk wordt een andere sensorloze aansturing besproken, namelijk de lasthoekregeling. Een groot verschil met de Hall sensoren en de zerocrossing is de vorm van de stroom. Bij Hall sensoren en zerocrossing zijn blokvormige stromen nodig, bij de lasthoekregeling zijn dit sinusvormige stromen. Blokvormige stromen hebben in vergelijking met sinusvormige stromen enkele voordelen: - Er moet maar zes keer per elektrische omwenteling gecommuteerd worden. - Er is telkens een fase die stroomloos is. - Een eenvoudige sensorloze algoritme is beschikbaar. - De aansturing hee geen encoder nodig. Ondanks die voordelen zijn er ook vele nadelen. Die zullen in paragraaf 3.1.1 verklaard worden. 3.1.1 Verklaring overgang naar sinusvormige stromen De stroom in BLDC motor moet omwille van de trapezoïdale TEMK blokvormig zijn. Dit is echter theore sch, de TEMK van BLDC motor is a ankelijk van de afwerking van de motor. Figuur 3.1 toont de prak sche meetresultaten van de TEMK in een fase. De amplitude van de TEMK s jgt als de snelheid toeneemt (zie formule 2.2). De vorm van de TEMK is niet perfect trapezoïdaal, er zijn afrondingen en het toe- en afnemen van de TEMK is niet lineair. Daarom wordt er de vraag gesteld of het mogelijk is om de BLDC motor aan te sturen met sinusvormige stromen. TEMK BLDC motor 500 rpm 750 rpm 1000 rpm Spanning [V] 5 0 −5 0 0.01 0.02 0.03 Tijd [s] Figure 3.1: Prak sche me ng TEMK 17 De reden waarom het aansturen met sinusvormige stromen onderzocht wordt is omdat naast de vele voordelen van blokvormige stromen ook veel nadelen zijn. Ten eerste verloopt de stroom in sprongen, bij een sinus is dit niet geval. Deze stroomsprongen kunnen leiden tot koppelrimpel. Ten tweede is de TEMK prak sch niet perfect trapezoïdaal, hierdoor zal er ook koppelrimpel optreden. Een laatste reden gaat dan naar de energie-efficiën e van de aandrijving [1]. De root mean square (RMS) waarden van een blokvormige stroom en een sinusvormige stroom worden hiervoor berekend met volgende formule: √ IRM S = 1 T ∫ T i2 (t)dt (3.1) 0 De RMS-waarde van een blokvormige stroom kan berekend worden: √ IRM S,blok = 2 I ≈ 0, 82I 3 (3.2) De RMS-waarde van een sinusvormige stroom kan berekend worden: 1 IRM S,sinus = √ I ≈ 0, 71I 2 (3.3) Als de amplitudes van sinus-en blokvormige stromen even groot zijn dan toont volgende formule de verhouding van de RMS stromen: IRM S,blok 2 = √ ≈ 1, 155 IRM S,sinus 3 (3.4) De RMS stroom van blokvormige stromen is 15,5 % groter dan de RMS stroom van sinusvormige stromen bij gelijke amplitude. Voor een zelfde RMS stroom zijn de verliezen groter als de motor wordt aangestuurd met blokvormige stromen. Hieruit kan geconcludeerd worden dat de motor aansturen met sinusoïdale stromen energie-efficiënter is. Al die redenen leiden ertoe dat sinusvormige stromen beter zijn dan blokvormige stromen. Er is een manier nodig om de motor stabiel te laten draaien met sinusvormige stromen. Dit kan gedaan worden met behulp van een encoder, maar dit is een extra kost vandaar dat een sensorloze methode nodig is, namelijk de lasthoekregeling. Doordat het sinusvormige stormen zijn kan de stroom worden voorgesteld als een vector die ronddraait. In dit hoofdstuk wordt uitgelegd wat de lasthoek juist is en hoe deze geschat wordt. Het regelschema zelf komt ook aan bod. Dit hoofdstuk is gebaseerd op [1] en [2]. 3.2 Lasthoek Figuur 3.2 is een vectordiagram waarin de lasthoek δ verklaard wordt. Het is de hoek tussen het statorveld en het rotorveld. Het statorveld wordt opgewekt door de stromen in de stator en draait rond met de hoek β. Het rotorveld wordt opgewekt door de permanente rotormagneten en draait rond met de hoek θ. Het verschil tussen β en θ is de lasthoek δ (zie formule 3.5). De TEMK E ijlt 90° voor op het rotorveld. 18 Is E statorveld δ π Ψr rotorveld 2 θ β Figure 3.2: Vectordiagram lasthoek Als de motor een wenssnelheid opgelegd krijgt dan zal de stroomvector beginnen draaien, de stroom wekt een statorveld op dat ronddraait. Het rotorveld zal worden meegetrokken door het roterende statorveld. Door de dynamische eigenschappen van de rotor (wrijving, demping en iner e) zal bij opstart het rotorveld niet perfect synchroon volgen. Eenmaal de rotor op toeren is draaien het statorveld en het rotorveld aan dezelfde snelheid maar deze twee roterende velden zijn echter niet in fase, deze faseverschuiving is de lasthoek (zie formule 3.5 en figuur 3.2). δ =β−θ (3.5) met δ = Lasthoek [°] β = Hoek stroomvector [°] θ = Hoek rotorveld [°] 3.3 Invloeden van de lasthoek 3.3.1 Invloed lastkoppel Het elektromagne sch koppel (Tem ) geproduceerd door de motor is het vectorieel product van het statorveld (Is ) Ψr ): en het rotorveld (Ψ Tem = Is x Ψ r (3.6) Het vectorieel product kan worden uitgerekend met de hoek tussen de vectoren Is en Ψ r , deze hoek is lasthoek: Tem = Is . Ψr . sin(δ) (3.7) Het elektromagne sch koppel is in func e van de stroom, het rotorveld en de lasthoek. Figuur 3.3 gee het elektromagne sch koppel weer in func e van de lasthoek voor een constante stroom en rotorveld. Voor een hogere stroom in de stator zal het maximum koppel in figuur 3.3 s jgen. Als het lastkoppel toeneemt wordt een groter koppel gevraagd van de motor, hierdoor s jgt de lasthoek. Dit geldt voor een lasthoek van 0 tot π2 rad, vanaf dat δ groter wordt dan π2 rad zal sin(δ) dalen en daalt ook Tem . 19 Tem Tlast δ π 2 Figure 3.3: Het elektromagne sch koppel i.f.v. de lasthoek Wanneer het lastkoppel nog meer s jgt zodat de lasthoek groter wordt dan π2 rad dan is Tem niet meer in staat om de last aan te drijven. Tem neemt af en de motor valt s l, de lasthoek van π2 rad is een zeer kri sch punt. In dat punt wordt de motor het efficiëntst aangedreven, de TEMK E en de statorstroom Is liggen in fase. Er is hier een trade-off tussen stabiele werking en efficiën e: hoe efficiënter hoe kri scher de werking. Het is belangrijk dat een lasthoek groter dan π2 rad vermeden wordt, maar een te kleine lasthoek is inefficiënt. 3.3.2 Invloed stroom Links op de figuur 3.4 wordt het elektromagne sch koppel i.f.v. de lasthoek voor een bepaalde lastkoppel Tlast afgebeeld. Door de hoge statorstroom ligt het lastkoppel lager dan het maximum motorkoppel (Tmax ) van de motor, hierdoor is er een overschot aan koppel dat gebruikt kan worden om te versnellen (gearceerde deel). Bij een snelheidstoename zal er dus genoeg koppel zijn om te versnellen, hierdoor zal de lasthoek snel stabiliseren naar een eindwaarde die veel kleiner is dan π2 rad. Rechts op figuur 3.4 staan 2 stapresponsies van de lasthoek bij opstart van de motor. De ene responsie komt voor als de versnelling van de stroomvector hoog is (oranje) en de ander responsie komt voor bij een lage versnelling (blauw). Hoe groter de versnelling van de stroomvector, hoe groter de versnelling van de last en hoe sneller de lasthoek toeneemt. δ Tem π Tmax 2 Tlast δ π2 δ t Figure 3.4: Het elektromagne sch koppel i.f.v. de lasthoek voor een lastkoppel en stapresponsies van de lasthoek bij rela ef hoge statorstroom Figuur 3.5 toont opnieuw het elektromagne sch koppel i.f.v. de lasthoek en de stapresponsies van de lasthoek maar deze keer is het maximum elektromagne sch koppel rela ef kleiner door een lagere statorstroom. Het elektromagne sch koppel dat beschikbaar is kan nog net de last aandrijven. Wanneer de versnelling te groot is, zal door de traagheid van opstelling en de lage marge aan versnellingkoppel, de lasthoek toenemen. Het elektromagne sch koppel neemt hierdoor af en volstaat niet meer om de last aan te drijven. De lasthoek zal con nu 20 variëren en de motor zal s lvallen (oranje responsie). Het rotorveld kan de versnelling van de stroomvector niet volgen. De enige manier om de last hier op snelheid te krijgen is om geleidelijk aan de snelheid op te drijven. De stroomvector zal hierdoor traag versnellen waardoor de lasthoek trager toeneemt (blauwe responsie). De kri sche lasthoek van π2 rad wordt dan niet bereikt. De lasthoek zal stabiliseren dicht bij het kri sche punt omdat bijna het maximum koppel bij een gegeven stroom benut wordt. π 2 Tlast t δ δπ 2 Figure 3.5: Het elektromagne sch koppel i.f.v. de lasthoek voor een lastkoppel en stapresponsies van de lasthoek bij rela ef lage statorstroom Het verlagen van de versnelling van de stroomvector is niet het enige dat helpt bij het voorkomen van de kri sche lasthoek. De amplitude van de stroomvector kan gebruikt worden om instabiliteit te vermijden. Figuur 3.6 toont de lasthoek i.f.v. de amplitude van de stroomvector. Als de statorstroom wordt verlaagd dan zal het maximum koppel dalen en zal de lasthoek na stabilisa e dichter bij de kri sche hoek liggen. De statorstroom trekt dus het maximum elektromagne sch koppel omhoog (zie figuur 3.4) of omlaag (zie figuur 3.5). Op figuur 3.6 is de op male amplitude van de stroom af te lezen, deze stroom is efficiënt maar door de kri sche lasthoek π2 rad is dit realis sch gezien niet mogelijk. De stroom zal al jd wat hoger geregeld worden (Ireal ) om een marge te hebben met de kri sche lasthoek. De lasthoek is dan gelijk aan 1.3 rad of 75°. Een stroomregelaar is prak sch niet perfect en daardoor is er een marge nodig anders is er kans op instabiliteit. Deze marge is er hoofdzakelijk om een belastingsstoot op te vangen. Verder is het ook niet nu g de stroom verder te verlagen omdat de winst in efficiën e niet opweegt tegen het verlies in stabiliteit. In paragraaf 3.5 wordt dieper ingegaan op de lasthoekregeling. 2 t max δ Tem 1,3 2 I Iopt Ireal Figure 3.6: Lasthoek i.f.v. de stroom T 21 3.4 Lasthoekscha er De lasthoekregeling maakt gebruik van een lasthoekscha er die op basis van I, U, ω en de R en L van een fase van de motor de lasthoek schat. Om de lasthoek te scha en wordt vertrokken vanuit het vectordiagram in figuur 3.2. Op basis van de wet van Lenz kan de TEMK vector E, geïnduceerd door de rotorflux Ψ r geschreven worden als formule 3.8. E = C. Ψr dΨ dt (3.8) met E = TEMK vector C = consante Ψr = rotorfluxvector t = jd Dit komt neer op een fase voorsprong van 90° van de TEMK vector E ten opzichte van de flux vector Ψ r (zie figuur 3.2). De hoek tussen de TEMK vector E en de stroomvector is is dus π/2 - δ. Met behulp van de TEMK vector E en de statorstroom is van één van de drie fasen kan de lasthoek geschat worden (zie formule 3.9). π (3.9) − (∠(E) − ∠(is )) 2 Aangezien de stroom eenvoudig kan gemeten worden, kan het scha en van de lasthoek herleid worden tot het scha en van de TEMK vector E. δ̂ = 3.4.1 Scha en van de TEMK De ogenblikkelijke spanning over een statorfase kan geschreven worden als formule 3.10 (zie figuur 3.7 [3]). S1 S3 S2 ia La ea +- a Vab V DC Vbc c S5 ib Rb Lb eb +- b S4 Ra Vca Rc Lc n ec +- ic S6 Figure 3.7: Driefasige brug met equivalent schema motor 22 us = Rs .is + Ls . di + es dt (3.10) De spanning gemeten over een statorfase bestaat uit een een Ohmse spanningsval, een induc eve spanningsval en de TEMK. Aangezien de stroom, net als de fasespanning, eenvoudig kan gemeten worden zou formule 3.11 gebruikt kunnen worden om de TEMK te bepalen. es = us − Rs .is − Ls . di dt (3.11) Het bepalen van de TEMK volgens formule 3.11 vereist dat de afgeleide van de stroom bepaald wordt. Er mag verondersteld worden dat de stroomme ng in meer of minder mate verstoord zal worden door meetruis. Het afleiden van het stroomsignaal zou dus leiden tot sterk vervormde TEMK scha ngen. Het toepassen van ruisfilters is geen op e aangezien deze het dynamisch gedrag van de scha er zouden vertragen. Omwille van de problemen met het afleiden van de stroom wordt er overgegaan naar het s-domein (zie formule 3.12). Deze formule wordt verkregen door de Laplace transforma e te nemen van formule 3.11. Es (s) Us (s) − Rs .Is (s) − s.Ls .Is (s) = (3.12) Voor sinussignalen met pulsa e ω kan in formule 3.12 s vervangen worden door jω: Es (jω) = Us (jω) − Rs .Is (jω) − s.Ls .Is (jω) (3.13) Er moeten 2 vectoren berekend worden om de lasthoek te bepalen (U en is zie formule 3.9). Een vector die ronddraait is hetzelfde als een sinus in func e van de jd. De twee gemeten signalen zijn discreet, dit wel zeggen een aantal samples per seconde. Deze signalen zijn niet perfect sinusvormig, naast de grondgolf beva en de stroomen spanningssignalen ook hogere harmonischen. In eerste instan e wordt nu enkel de grondgolf van spanning en stroom beschouwd want deze componenten bepalen het gemiddelde koppel en dus de gemiddelde lasthoek. Deze fundamentele componenten worden aangegeven met respec evelijk Us1 en Is1 waarbij subscript 1 staat voor de eerste harmonische component of grondgolf. Om de grondgolf te bekomen van de gemeten signalen wordt gebruik gemaakt van de Sliding Discrete Fourier Transform (SDFT). De SDFT is een algoritme dat frequen edomein updates biedt op een discreet signaal met een aanzienlijk minder aantal berekeningen dan de Fast Fourier Transforma e (FFT) voor elke update. Op die manier wordt Us1 (jω) en Is1 (jω) berekend en kan via formule 3.13 Es1 (jω) bepaald worden. Zo kan de amplitude |es1 | en de fase ∠Es1 van het fundamentele TEMK signaal es1 bepaald worden. Als de hogere harmonischen verwaarloosd worden, kan de gescha e lasthoek δ̂ geschreven worden als formule 3.14. δ̂ = π − (∠(Es1 ) − ∠(is1 ) 2 (3.14) Door het verwaarlozen van de hogere harmonischen wordt er een fout begaan. Deze fout kan worden verwaarloosd doordat de hogere harmonischen in het stroom- en spanningssignaal hier amper bijdragen tot het gemiddeld koppel [2]. Let wel, de lasthoek is een scha ng van de effec eve lasthoek. 23 3.5 Lasthoekregeling De lasthoekregelaar regelt de amplitude van de stroom. A ankelijk van de fout tussen de gewenste lasthoek en de gescha e lasthoek zal de lasthoekregelaar de amplitude van de wensstroom laten s jgen of dalen. 3.5.1 De stroomvector De lasthoekregeling is een regeling die de motor in frequen e aanstuurt. De wenssnelheid bepaalt de snelheid van de ronddraaiende stroomvector. Deze snelheid wordt geïntegreerd en zo wordt een oplopende hoek β verkregen (zie figuur 3.2 en 3.8). Deze hoek loopt con nu op in func e van de jd en kan gebruikt worden als de fic eve terugkoppeling van de rotorposi e. Met fic eve terugkoppeling wordt bedoeld dat de stroomvector de posi e van de rotor oplegt. De amplitude van de stroom, a oms g van de lasthoekregelaar, bepaalt de groo e van de stroomvector. Er ontstaat nu een draaiend statordraaiveld. Het rotorveld zal trachten het statordraaiveld te volgen. De snelheid van het draaiend statordraaiveld mag niet te bruusk worden opgedreven. Indien dit gebeurt is er kans dan de rotor het statordraaiveld niet meer zal volgen. De kri sche lasthoek zal overschreden worden. Omega 1/s Beta mechanisch p/2 Beta elektrisch I Stroomvector βelektrisch Amplitude Figure 3.8: Vector als gewenste stroom 3.5.2 De lasthoekregelaar In figuur 3.9 staat de uitwerking van de lasthoekregeling. De vorm van de wensstroom is a ankelijk van β en dus de wenssnelheid. De lasthoekregelaar bepaalt a ankelijk van de gewenste lasthoek (1.3 rad of 75°), de gescha e lasthoek en de startstroom de amplitude van die wensstroom. De startstroom is de waarde van de amplitude van de stroom die bij de opstart van de motor door de fasen zal stromen. Deze stroom is redelijk hoog (8A) en dient om het maximum motorkoppel bij opstart hoog te houden. Hierdoor kan voor een voldoende grote versnelling gekozen worden bij opstart zonder dat de kri sche lasthoek π2 bereikt wordt (zie figuur 3.10). Dit is nodig omdat er in het begin geen kennis is van de lasthoek. Wanneer de motor op toeren is, is de TEMK voldoende groot en kan de lasthoek geschat worden. Op dit moment wordt de startstroom niet meer gebruikt als amplitude van de gewenste stroom, dit wordt bepaald door de lasthoekregelaar. In paragraaf 3.4 is uitgelegd hoe de lasthoek geschat wordt. De gewenste stromen worden dan vervolgens naar de stroomregelaar gestuurd. De fout tussen de gewenste stromen en de werkelijke stromen wordt ook bepaald en doorgestuurd naar de stroomregelaar. De stroomregeling is in paragraaf 2.5 besproken. Uit de stroomregelaar komen de 6 schakeltoestanden voor de driefasige brug, die zorgen voor de juiste stromen in de fasen van de motor. 24 HysteresestroomregelaarS1 Driefasige brug Ia* I* Ib* δ S3 A Vb n a b n c c S4 Vc S5 C B b a 110 Ic* Istart 101 Va S2 00 1 Is 0 10 δ* E BLDC Motor n S6 010 ω* 1 01 Lasthoekregelaar Ufase Ifase δ Ia Ib Lasthoekschatter δ = π 2 ( Es1 Is1 ) Ic Werkelijke stromen Is Is1 Us1 SDFT Us Figure 3.9: Model lasthoekregeling In figuur 3.10 worden voor verschillende stromen de lasthoek in func e van de jd afgebeeld. Bij 8A is de lasthoek en de schommeling in het begin het kleinst. Dit is te wijten aan het feit dat het maximum elektromagne sch koppel bij 8A het grootst is. Bij 5A is dat maximum elektromagne sch koppel minder groot, toch is nog hetzelfde koppel nodig waardoor de lasthoek groter wordt. In het begin wordt de lasthoek zelfs groter dan de kri sche lasthoek, dit is te wijten aan een opstarteffect die a ankelijk is van de iner e. Als dit voor een korte jd is en als de grootste lasthoek niet veel groter is dan de kri sche lasthoek zal er toch een steady state toestand ontstaan want dan leidt deze instabiele situa e niet tot het s l vallen van de motor. Het is belangrijk dat jdens de steady state toestand de lasthoek kleiner is dan de kri sche lasthoek. Bij 2A is de stroom te laag en zal de lasthoek con nu variëren, de lasthoek kan hier onmogelijk geregeld worden en bijgevolg valt de motor s l. δ I=2A π 2 I=5A I=8A t Figure 3.10: Overgangsfase lasthoek jdens de opstart bij verschillende stroomwaardes 25 Als de lasthoek kleiner is dan de gewenste lasthoek dan wordt het stroomniveau verminderd. Figuur 3.11 toont wat er juist gebeurt als de stroom daalt. De motorsnelheid en het lastkoppel blijven constant. Hierdoor moet het geproduceerde motorkoppel gelijk blijven. Door de constante snelheid is de TEMK E constant. Als de stroom daalt dan zal de lasthoek moeten s jgen om toch hetzelfde motorkoppel te blijven behouden (zie formule 3.15). De stroom en de TEMK komen dan meer in fase te liggen. E E’ I E I I’ E’ I’ 90° 90° I I Figure 3.11: Lasthoekregeling door de stroom te laten dalen 2 2 T1 = T2 T1 = EIsin(δ) T2 = E ′ I ′ sin(δ ′ ) I I (3.15) met T1 , T2 E, E I, I ′ ′ δ, δ ′ = Motorkoppel [Nm] = TEMK [V] = stroom [A] = lasthoek [° of rad] De lasthoekregelaar is dus geschikt om de aandrijving zo efficiënt mogelijk aan te drijven en de stabiliteit te garanderen. De gewenste lasthoek is 1.3 rad, hierdoor zal het rendement iets lager liggen doordat de TEMK en de stroom niet perfect in fase zijn. De marge is wel voldoende zodat de aansturing zeker stabiel blij . De lasthoek is niet enkel a ankelijk van de stroom. Als het lastkoppel of het wrijvingskoppel (a ankelijk van de snelheid) varieert dan zal de lasthoek ook veranderen (zie figuur 3.3). 26 3.6 Besluit De Hall sensoren en de zerocrossing leveren blokvormige wensstromen op. Dit hee vele voordelen maar ook vele nadelen, daarom wordt overgegaan naar sinusvormige wensstromen. De Hall sensoren en de zerocrossing leveren niet genoeg posi e informa e op een sinusvormige wensstroom te leveren, daarom wordt overgegaan naar een andere aansturing namelijk de lasthoekregeling. Deze regeling hee als doel de motor te laten draaien met een stroom die voldoende groot is zodat het s l vallen van de motor niet voorkomt. De lasthoek is de hoek tussen het statorveld en het rotorveld. De lasthoek wordt beïnvloed door het lastkoppel en de stroom. Als het lastkoppel toeneemt dan zal de lasthoek toenemen, bij een afname van het lastkoppel zal de lasthoek afnemen. Bij een afname van de stroom zal de lasthoek toenemen. Het maximum motorkoppel ligt dan lager, bij een toename geldt het omgekeerde. De lasthoekscha er schat de lasthoek door gebruik te maken van het SDFT algoritme. Dit bepaalt de grondgolf van de fasespanning en de fasestroom. Zo kan de grondgolf van de TEMK bepaald worden, en dit leidt tot de gescha e lasthoek. In de controller van de lasthoekregeling wordt de gewenste lasthoek vergeleken met de gescha e lasthoek. Het verschil bepaalt of de lasthoekregelaar het stroomniveau van de wensstromen moet aanpassen of niet. Het stroomniveau wordt aangepast zodat de gewenste lasthoek bereikt wordt. De wenssnelheid bepaalt de frequen e van de wensstromen. De lasthoekregeling is dus een regeling die de motor in frequen e aanstuurt en de lasthoek regelt zodat de sturing stabiel is en de aandrijving een hoog rendement hee . De lasthoek zal bij opstart sterk toenemen en variëren om dan daarna bij regime te stabiliseren. Zolang de lasthoek in steady state kleiner is dan kri sche lasthoek is er geen probleem. Als de lasthoek kortstondig groter is dan de kri sche lasthoek dan is dit te wijten aan het opstarteffect. Dit opstarteffect is a ankelijk van de iner e. 27 4 FPGA 4.1 Inleiding Een conclusie van de vorige masterproef is dat de hardware niet voldoende krach g is om een hysterese regelaar te implementeren. De schakelfrequen e van de hardware is 10kHz en dit is niet voldoende om de stroom goed te kunnen regelen (zie figuur 4.1). De regelaar werkt trager dan de dynamica van het systeem waardoor de wensstroom en effec eve stroom niet overeen komen. In deze masterproef zal de Field Programmable Gate Array (FPGA) dit probleem verhelpen. Schakelfrequentie 10kHz blokgolf Schakelfrequentie 10kHz sinus 12 12 Gewenste stroom werkelijke stroom Gewenste stroom werkelijke stroom 10 8 8 6 6 4 4 Stroom [A] Stroom [A] 10 2 0 2 0 −2 −2 −4 −4 −6 −6 −8 −8 0 0.2 0.4 Tijd [s] 0.6 0.8 0 0.2 0.4 0.6 0.8 Tijd [s] Figure 4.1: Werkelijke en gewenste stromen van blokgolf en sinus bij een schakelfrequen e van 10 kHz In dit hoofdstuk wordt besproken wat een FPGA juist is, daarna wordt de interface tussen FPGA, DSP (Digitaal Signaal Processor) en laptop besproken. Vervolgens komt een volledig overzicht van de implementa e aan bod. Ten slo e worden de me ngen besproken. Er is een handleiding [4] gemaakt voor de FPGA, de inhoudsopgave hiervan staat in bijlage D. 4.2 Wat is een FPGA? FPGA staat voor Field Programmable Gate Array. De FPGA is opgebouwd uit een groot aantal logische blokken die op een gestructureerde manier zijn opgesteld in een matrix. Figuur 4.2 gee de structuur weer. Tussen die logische blokken lopen verbindingspaden, zowel horizontaal als ver caal, om de blokken met elkaar te verbinden. Op de randen bevinden zich de I/O-cellen of de registers. Deze zijn diens g als interface met de buitenwereld, in dit geval Simulink. 28 Verbindingspaden Logische blok Register Figure 4.2: Structuur FPGA Een FPGA kan alle taken dus verdelen over de verschillende blokken, hierdoor kunnen bewerkingen parallel worden uitgevoerd. Een gevolg hiervan is dat taken sneller afgewerkt worden en een hogere schakelfrequen e mogelijk is. 4.3 Overzicht interface laptop, FPGA en DSP Het is belangrijk dat de verbindingen tussen de laptop, DSpace box en het proces dat aangestuurd wordt duidelijk zijn. In figuur 4.3 staat het overzicht van de interfaces. Links in het groen staat de laptop met de programma’s Matlab, Simulink en Control Desk. In het rood staat de DSpace box met de DSP en de FPGA in (zie bijlage B). Het fysisch proces staat in het oranje en dit is de brug en de motor (zie bijlage C en A). De DSpace box stuurt het fysisch proces aan, er zijn ook me ngen van de motor die teruggekoppeld worden naar de DSpace box. De DSP hee een samplefrequen e van 20 kHz, de FPGA hee een samplefrequen e van 100 MHz. Er is communica e voorzien tussen de DSP en FPGA via registers en buffers [4]. In Simulink wordt blokschema sch een programma opgesteld in de FPGA, via een FPGA build kan dit programma vertaald worden in code. De FPGA is op dit moment geprogrammeerd. Als de FPGA gebuild is kan overgegaan worden naar processor mode. Er moet blokschemasch een programma aangemaakt in Simulink en via een processor build komt dit programma terecht in de DSP. Als laatste zorgt Control Desk voor de communica e tussen de laptop en de DSP. Control Desk is een computerprogramma waar parameters van het proces kunnen veranderd worden. Uitgangen kunnen ook geplot worden in grafieken. Voor een uitgebreide uitleg over het programmeren van de FPGA en het werken met Control Desk wordt er verwezen naar de handleiding van de FPGA [4]. 29 PROCESSOR BUILD - MATLAB COMMUNICATIE CONTROL DESK/DSP DSPACE DSP 20 kHz Fysisch proces AANSTUREN COMMUNICATIE DSP/FPGA - SIMULINK - CONTROL DESK FPGA BUILD FPGA 100 MHz BRUG EN MOTOR TERUGKOPPELING Figure 4.3: Overzicht interface laptop, FPGA en DSP 4.4 Overzicht implementa e In figuur 4.4 staat de volledige implementa e van de lasthoekregeling van de BLDC motor. 4.4.1 Control Desk / Laptop In Control Desk wordt de gewenste lasthoek δ ∗ , de startstroom en de gewenste hoeksnelheid ω ∗ ingegeven. Hier kunnen eventueel ook gegevens van de DSpace geplot worden. Op de laptop staan de programma’s Matlab en Simulink, hiermee kunnen blokschema sch programma’s voor de FPGA en de DSP worden opgebouwd. 30 ω* Istart δ* Control Desk / Laptop E Beta mech p/2 β δ π 2 Iamp ( Es1 Beta βelektrisch elek Amplitude stroom δ = Ic* Ia Analog In Ib Ic S6 S5 S4 S3 S2 Us Register Out Stroomvectoren Digital Out I SDFT Is Ic Ib Ia Meten S6 S5 S4 S3 S2 S1 n a A 101 n a Vb b n c Vc B BLDC Motor C c b Va Brug Us Is Meten Fysisch proces Terugkoppeling fasespanning en fasestroom voor lasthoekschatter 110 I* Ib* Ia* HysteresestroomregelaarS1 FPGA IS1 US1 βelektrisch Is1 ) Lasthoekschatter Communicatie DSP/FPGA Register In 1/s ω* Istart δ δ* I Lasthoekregelaar DSP / Simulink 00 1 DSpace 010 1 01 0 10 Figure 4.4: Volledig schema implementa e DSP en FPGA 31 4.4.2 DSpace Dit is opgesplitst in DSP / Simulink en FPGA. De lasthoekregelaar, de lasthoekregeling en berekening van de stroomvectoren komen terecht in DSP / Simulink. De drie gewenste fasestromen gaan naar de FPGA via Register Out. De FPGA leest de stromen binnen via Register In. De juiste configura e instellingen moeten gemaakt worden in de FPGA [4]. De drie werkelijke fasestromen worden gemeten en gaan via een Analog In naar de FPGA. De juiste schakeltoestanden worden in de FPGA berekend. Via de digitale uitgangen kunnen de schakeltoestanden verbonden worden met de brug. De reden waarom de hysterese stroomregeling terecht komt in de FPGA is al gekend, maar een te grote schakelfrequen e is ook niet goed. De brug hee beperking hierop, het fysisch openen en sluiten van de schakeltoestanden duurt een bepaalde jd. De schakeltoestanden van een zelfde fase moeten ook voorzien zijn van een dode jd, anders is kortslui ng mogelijk. Om de schakelfrequen e van de FPGA te regelen wordt gebruikt gemaakt van een D-Flipflop schakeling. Dit is een schakeling met als ingang een signaal ’D’ en een klok ’Clk’ (zie figuur 4.5). De uitgang ’Q’ van die schakeling is het signaal maar dan iedere keer overgenomen op de posi eve flanken van de klok. Als de klok varieert in frequen e zal de uitgang dus ook variëren in frequen e. De klok zal dus voor een beperking in frequen e zorgen. D Q CLK CLK D Q Figure 4.5: Werking DFF De D-Flipflop schakeling wordt zes keer uitgevoerd voor iedere schakeltoestand in de FPGA. Aan de klok wordt een blokgolf gehangen met een frequen e die kan veranderd worden in Control Desk. Zo kunnen verschillende schakelfrequen es getest worden in een zelfde project. 32 4.4.3 Fysisch proces De drie werkelijke fasestromen worden hier gemeten door de FPGA. De fasespanning en de fasestroom van één bepaalde fase gaan naar de lasthoekscha er. Zo kan de gescha e lasthoek berekend worden in DSP / Simulink. 4.5 Me ngen Met behulp van de testopstelling in figuur 1.1 kunnen me ngen worden uitgevoerd. De PMSM, die werkt als lastmotor, wordt hierin niet gebruikt aangezien enkel gefocust wordt op de vorm van de stromen. In deze paragraaf zullen verschillende me ngen vergeleken worden met mekaar. De schakelfrequen e 10 en 20 kHz worden getest op zowel sinussen en blokgolven met verschillende amplitudes. Op de me ngen zal een RMS fout berekend worden zodat het niet enkel visueel duidelijk is dat de stromen beter zijn bij hogere schakelfrequen es. 4.5.1 Blokgolven Figuur 4.6 toont de me ngen van een blokgolf met amplitude 2A bij een schakelfrequen e van 10 en 20 kHz. Er is visueel duidelijk een verschil merkbaar, de me ng met schakelfrequen e 20 kHz ziet er beter uit. Schakelfrequentie 10kHz Schakelfrequentie 20kHz 8 8 Gewenste stroom Werkelijke stroom 6 6 4 4 Stroom [A] Stroom [A] Gewenste stroom Werkelijke stroom 2 0 2 0 −2 −2 −4 −4 −6 0 0.2 0.4 Tijd [s] 0.6 0.8 −6 0 0.2 0.4 0.6 0.8 Tijd [s] Figure 4.6: Werkelijke en gewenste stromen van een blokgolf met amplitude 2A bij een schakelfrequen e van 10 en 20 kHz Met behulp van bijlage E kan de gemiddelde RMS fout berekend worden. Met een schakelfrequen e van 10kHz komt een RMS van 0,9715 overeen. Als de schakelfrequen e 20 kHz dan is de RMS 0,7103. Gemiddeld is er dus minder afwijking bij een schakelfrequen e van 20 kHz. De RMS fout is in vergelijking met de amplitude van de stroom (2A) te groot. In figuur 4.7 wordt daarom de amplitude van de wensstroom verhoogt naar 6A. 33 Schakelfrequentie 10kHz Schakelfrequentie 20kHz 12 12 Gewenste stroom Werkelijke stroom Gewenste stroom Werkelijke stroom 10 8 8 6 6 4 4 Stroom [A] Stroom [A] 10 2 0 2 0 −2 −2 −4 −4 −6 −6 −8 −8 0 0.2 0.4 Tijd [s] 0.6 0.8 0 0.2 0.4 0.6 0.8 Tijd [s] Figure 4.7: Werkelijke en gewenste stromen van een blokgolf met amplitude 6A bij een schakelfrequen e van 10 en 20 kHz De RMS waarde bij 10 kHz bedraagt hier 1,2716 en bij 20 kHz 0,6789. Doordat de amplitude van de gewenste stroom hoger is, is de werkelijke stroom veel beter. De werkelijk stroom hee een ruis van ongeveer 1A en wanneer een amplitude van 2A gewenst is zit de werkelijke stroom er soms 50% naast. 4.5.2 Sinussen In figuur 4.8 is de gewenste stroom een sinus, de amplitude is 2A. Visueel is meteen zichtbaar dat een hogere schakelfrequen e beter is. De RMS fout van een schakelfrequen e van 10 kHz is 1,3736. Bij 20 kHz is dat 0,7910. In figuur 4.9 is de gewenste stroom een sinus, de amplitude is 6A. Visueel is meteen zichtbaar dat een hogere schakelfrequen e beter is. De RMS fout van een schakelfrequen e van 10 kHz is 1,7685. Bij 20 kHz is dat 0,8125. 34 Schakelfrequentie 10kHz Schakelfrequentie 20kHz 10 10 Gewenste stroom Werkelijke stroom 8 6 6 4 4 Stroom [A] Stroom [A] 8 2 0 2 0 −2 −2 −4 −4 −6 −6 −8 0 0.1 0.2 0.3 Gewenste stroom Werkelijke stroom −8 0 0.4 0.1 Tijd [s] 0.2 0.3 0.4 Tijd [s] Figure 4.8: Werkelijke en gewenste stromen van een sinus met amplitude 2A bij een schakelfrequen e van 10 en 20 kHz Schakelfrequentie 10kHz Gewenste stroom Werkelijke stroom 10 Gewenste stroom Werkelijke stroom 10 8 8 6 6 4 4 Stroom [A] Stroom [A] Schakelfrequentie 20kHz 2 0 2 0 −2 −2 −4 −4 −6 −6 −8 −8 0 0.1 0.2 Tijd [s] 0.3 0.4 0 0.1 0.2 0.3 0.4 Tijd [s] Figure 4.9: Werkelijke en gewenste stromen van een sinus met amplitude 6A bij een schakelfrequen e van 10 en 20 kHz 35 4.5.3 Besluit me ngen In tabel 4.1 zijn de RMS-fouten en de procentuele afwijkingen ten opzichte van de amplitudes bij verschillende vormen van wensstromen uitgezet. Het is duidelijk dat de RMS-fout daalt bij een hogere schakelfrequen e. Hieruit kan geconcludeerd worden dat de werkelijke stromen beter zijn bij een hogere schakelfrequen e. Bij wensstromen met een kleine amplitude is de procentuele afwijking ten op zicht van de amplitude groot. Om de RMS-fout en de procentuele afwijking ten opzicht van de amplitude nog kleiner te krijgen moet de schakelfrequen e nog opgedreven worden. De beperking van de schakelfrequen e ligt dan bij de brug, deze bedraagt maximaal 50 kHz. De reden waarom maar beperkt wordt tot 20 kHz ligt dan bij de schakelverliezen. Door het verhogen van de schakelfrequen e s jgen de schakelverliezen. Bij 20kHz is de werkelijke stroom van de sinus met een amplitude 6A al goed genoeg. Het opdrijven van de schakelfrequen e zou leiden tot meer verliezen. Table 4.1: Besluit me ngen Vorm wensstroom Blokgolf Sinus Amplitude wensstroom 2A 4A 6A 2A 4A 6A Schakelfrequen e 10 kHz 20 kHz 10 kHz 20 kHz RMS-fout % afwijking t.o.v. amp 0,9715 0,7103 48,6 35,5 1,3527 0,6779 33,8 17,0 1,2716 0,6789 21,2 11,3 1,3736 0,7910 68,7 39,6 1,3094 0,8052 32,7 20,1 1,7685 0,8125 29,5 13,5 4.6 Besluit De schakelfrequen e is een belangrijk gegeven bij de hysterese stroomregeling. Doordat het proces zeer dynamisch is, is een hoge schakelfrequen e noodzakelijk. Dit kan verkregen worden met behulp van een FPGA. Deze zorgt voor snellere rekenkracht dankzij logische blokken die het werk verdelen. Hierdoor is een hogere samplefrequen e mogelijk en dus een hogere schakelfrequen e. De interface tussen laptop, FPGA en DSP is belangrijk. Het programma wordt blokschema sch opgebouwd in de FPGA en DSP. Via Control Desk kunnen online parameters worden aangepast. Bij de implementa e van de lasthoekregeling en de stroomregeling is het belangrijk dat de lasthoekregeling in de DSP terecht komt, en de stroomregeling in de FPGA. Een FPGA hee een samplefrequen e van 100 MHz. Dit levert een schakelfrequen e van 50MHz op en dit is te hoog. Daarom zorgt een D-Flipflop schakeling voor een beperking van frequen e. De schakelfrequen e kan op die manier geregeld worden. De keuze hiervan is zeer belangrijk, een te hoge schakelfrequen e leidt tot veel schakelverliezen. Een te lage schakelfrequen e leidt tot slechte stromen. Daarom moet er een evenwicht gezocht worden tussen beide. Indien er wenst gewerkt te worden met de FPGA is het aangeraden om de handleiding [4] van de FPGA goed te lezen. De verschillende zaken om een FPGA te programmeren komen in de handleiding aan bod. Er zijn ook nog extra documenten [5], [6], [7] en [8] die nog meer info geven dan deze handleiding. 36 5 Conclusie 5.1 Behaalde resultaten In deze masterproef is er enorm veel aandacht besteed aan het leren werken met de FPGA. Het resultaat hiervan is een handleiding [4] die punt per punt beschrij wat er juist moet gebeuren om een werkend programma te verkrijgen in de FPGA en DSP. De inhoudsopgave van deze handleiding staat in bijlage D. Het aanmaken van een nieuw project in Control Desk wordt stap per stap beschreven. Om het voor de lezer wat interac ever te maken zijn er stap per stap een aantal simpele voorbeelden uitgelegd zoals bijvoorbeeld het binnenlezen van de Hall sensoren en de encoder, koppel sturen naar de PMSM, het programmeren van een vermenigvuldiging ... Als laatste worden een aantal errors die gedurende het hele jaar meerdere keren voorkwamen besproken. Voor elke error wordt een oplossing voorgesteld. Het aansturen van een BLDC motor met sinusvormige stromen is gelukt. Er is blokschema sch een programma aangemaakt zowel in de FPGA als DSP waarin een hysterese stroomregeling zit verwerkt met een variabele schakelfrequen e. Een verhoging van de schakelfrequen e van 10 kHz naar 20 kHz levert al een serieuze verbetering op van de werkelijke stromen. De schakelfrequen e mag niet te hoog worden ingesteld, de brug is hierbij een beperking. 5.2 Sugges es voor verder onderzoek Naarmate de schakelfrequen e toeneemt verbeterd de vorm van de werkelijke stroom. Nu het mogelijk is om een sinusvormige stroom in de BLDC motor krijgt kan de lasthoekregeling prak sch geïmplementeerd worden. Na het implementeren van de lasthoekregeling kan met behulp van het regelen van de schakelfrequen e de beste schakelfrequen e bepaalt worden. Een hoge schakelfrequen e levert hogere schakelverliezen op, een te lage schakelfrequen e levert slechte stromen op. Hierin moet een evenwicht gezocht worden. 37 Literatuurlijst [1] J. D. Viaene, “Energie-efficiënte sensorloze controle van een BLDC motor.” 2015. [2] S. Derammelaere, Sensorloze detec e en regeling van de lasthoek bij hybride stappenmotoren. PhD thesis, Universiteit Gent, 2013. [3] F. Verbelen, S. Derammelaere, C. Debruyne, and K. Stockman, “A general model for 6 switch voltage source inverter The generalized model,” European Conference on Power Electronics and Applica ons, pp. 1–7, 2014. [4] T. Devolder, “Handleiding FPGA,” 2016. [5] Dspace, “FPGA Interface Reference,” no. November, pp. 1–200, 2010. [6] DSpace, “Processor Interface Reference,” no. May, pp. 1–46, 2011. [7] DSpace, “XSG AC Motor Control Library,” pp. 1–106, 2014. [8] DSpace, “XSG U ls Library,” pp. 1–323, 2013. 38 A BLDC motor: Transmotec B8686-24 Figure A.1: Brushless Dc motor, merk Transmotec, type B8686-24 39 B MicroAutoBox II dSpace De MicroAutoBox II 1401/1511/1512 van dSpace bestaat uit twee modules, DSP 1511 en FPGA 1512. De FPGA is in combina e met de AC Motor Control Solu on blockset gebruikt om de BLDC motor aan te sturen. De AC Motor Control Solu on blockset bevat onder andere blokken om de Hall sensoren en de encoder binnen te lezen. De blockset bevat ook de blokken die de digitale- en analoge in- en uitgangen controleren en de sinus- en blok commuta e blokken. Figure B.1: Datasheet MicroAutobox II dSpace: ds1401 - 1511/1512 (DSP/FPGA) 40 C Motor Driver ON Semiconductor Figure C.1: Motor driver ontworpen door ON Semiconductors Oudenaarde, p1 41 Figure C.2: Motor driver ontworpen door ON Semiconductors Oudenaarde, p2 42 D Inhoudstabel handleiding FPGA Inhoudsopgave 1 Inleiding 1 2 Opstarten Matlab 2.1 Matlab opstarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 Processor en FPGA interface 3.1 FPGA setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Processor setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6 7 4 Configura e FPGA 4.1 Register en buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Instellen parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 5 Het genereren van een FPGA model 5.1 FPGA Timing Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 FPGA Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Processor Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 12 6 Control Desk 6.1 Control Desk opstarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Nieuw programma maken in Control Desk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 17 7 Voorbeelden 7.1 Hall sensoren en encoder 7.2 Koppel sturen . . . . . . 7.3 Dode Tijd . . . . . . . . 7.4 Puls 100 ns . . . . . . . 7.5 Demo PI regelaar . . . . 7.6 Mul ply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 25 27 29 29 32 8 Errors en oplossingen 8.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 TLC compiler error . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Oplossing . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Block reduc on error . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 Oplossing . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Timer task error . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.1 Oplossing . . . . . . . . . . . . . . . . . . . . . . . . . 8.5 CmdLoader werkt niet . . . . . . . . . . . . . . . . . . . . . . 8.5.1 Oplossing . . . . . . . . . . . . . . . . . . . . . . . . . 8.6 RTI build error . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.1 Oplossing . . . . . . . . . . . . . . . . . . . . . . . . . 8.7 Control Desk errors . . . . . . . . . . . . . . . . . . . . . . . . 8.7.1 Bepaalde “out” waarden kunnen niet uitgelezen worden 8.7.2 Unable to ini alize the message module dspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 35 35 36 37 37 37 37 38 38 38 39 39 39 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Bijlage 1 Uitleg AddSub, Mult en Overflow 42 Figure D.1: Inhoudstabel handleiding FPGA ii 43 E Matlab code RMS berekenen me ngen %Gegevens binnen krijgen StroomW20 = Ib40kHz2AB.Y(1).Data; StroomG20 = Ib40kHz2AB.Y(2).Data; %Aantal samples bepalen AantalSamples = size(StroomW20) %Bij start RMSoptellen = 0; %Code RMSoptellen berekenen for i=1:1:AantalSamples(1,2) fout = StroomW20(1,i)- StroomG20(1,i); RMS1 = sqrt(fout^2); RMSoptellen = RMSoptellen + RMS1; end %Gemiddelde RMS bepalen over alle samples RMS = RMSoptellen/AantalSamples(1,2) Figure E.1: Code Matlab RMS 44