Masterproef Modelleren en simuleren van positioneersystemen Studiegebied Industriële wetenschappen en technologie Opleiding Master of Science in de industriële wetenschappen: elektromechanica Academiejaar 2012-2013
Jens Vandenberghen
Academische bachelor- en masteropleidingen, Graaf Karel de Goedelaan 5, 8500 Kortrijk
Academische bachelor- en masteropleidingen, Graaf Karel de Goedelaan 5, 8500 Kortrijk
Masterproef Modelleren en simuleren van positioneersystemen Studiegebied Industriële wetenschappen en technologie Opleiding Master of Science in de industriële wetenschappen: elektromechanica Academiejaar 2012-2013
Jens Vandenberghen
Academische bachelor- en masteropleidingen, Graaf Karel de Goedelaan 5, 8500 Kortrijk
Voorwoord Nadat ik mijn diploma Bachelor Elektromechanica behaald had, startte ik het schakelprogramma industrieel Ingenieur Elektromechanica optie Elektromechanica aan de Hogeschool West-Vlaanderen, campus te Kortrijk. Begin 2de semester van dit schakelprogramma wordt gevraagd om je keuze te maken in verband met de masterproef. Daarbij is er keuze uit een hele lijst van voorstellen. Uit die lijst kreeg ik de suggestie om een interne masterproef te doen met als titel “Modelleren en simuleren van positioneersystemen”. Uit de titel is meteen duidelijk dat dit een nieuw concept is voor het ontwikkelen van machines, waarbij de kennis die verworven is in het laatste jaar van toepassing is. Om dit project tot een goed einde te brengen kon ik steeds rekenen op de hulp van mijn begeleiders namelijk dhr. Vanwalleghem en dhr. Houwen. Als laatste wens ik ook nog mijn ouders te bedanken voor de steun en mogelijkheid die ze mij gegeven hebben om verder te studeren.
Modelleren en simuleren van positioneersystemen
I
Abstract When machine builders develop a new machine, they often appeal to CAD-programs. This results in a mechanical 3D-model of the machine. Based on this, a first prototype can be built. Any kinematic or technical drive problems will then remain. This results in an expensive and time-consuming optimization cycle. With a motion simulation software tool its possible, building on the 3D model, to analyze the kinematics and dynamics of a system. This makes it possible to build a simulation model in which, beside the mechanical structure, also the drive technical and control technical functions are integrated. Therefore a first optimization of the entire drive is possible during the design of the machine. This leads to a shorter design cycle time and a reduction in the development cost. The software that is used to realize this simulation is NX Motion Control Simulation. This enables you to control a motion mechanism using a control system diagram modeled in Matlab Simulink. This co-simulation helps the design engineers to test the interaction between the mechanical and electronic systems. To demonstrate the possibilities of such a simulation tool, two applications will be developed in a virtual model. Those applications are linear positioning systems with different transmissions. These applications can be used as a model for many industrial linear positioning systems, such as cutting machines where the precision of the milling head is very important.
Modelleren en simuleren van positioneersystemen
II
Inhoudsopgave VOORWOORD ................................................................................................................................ I ABSTRACT .....................................................................................................................................II SYMBOLENLIJST........................................................................................................................... V LIJST MET FIGUREN ................................................................................................................. VII LIJST MET TABELLEN ................................................................................................................. X 1
INLEIDING ............................................................................................................................... 1
1.1. Probleemstelling ........................................................................................................................................ 1 1.2. Doelstelling ................................................................................................................................................ 1
2
AANPAK................................................................................................................................... 3
2.1. Simulatie .................................................................................................................................................... 3 2.2. NX.............................................................................................................................................................. 3 2.3. Simulink ..................................................................................................................................................... 4 2.4. Besluit........................................................................................................................................................ 5
3
DE DEMONSTRATOR............................................................................................................ 6
3.1. Mechanische werking................................................................................................................................. 6 3.2. Aansturing ................................................................................................................................................. 7 3.3. Performantie.............................................................................................................................................. 9
4
MOTION SIMULATIE ..........................................................................................................10
4.1. Links ........................................................................................................................................................ 11 4.2. Joints en couplers..................................................................................................................................... 13 4.3. Connectors............................................................................................................................................... 13 4.4. Besluit...................................................................................................................................................... 16
5
CO-SIMULATIE .....................................................................................................................17
5.1. Algemeen................................................................................................................................................. 17 5.2. Cascaderegeling ....................................................................................................................................... 17 5.2.1. Inleiding ............................................................................................................................................ 17 5.2.2. Snelheidsregeling .............................................................................................................................. 18 5.2.3. Positieregeling................................................................................................................................... 18 5.2.4. Begrenzingen .................................................................................................................................... 19 5.2.5. Feedforward-compensatie................................................................................................................. 19 5.3. Aanpak..................................................................................................................................................... 19 5.3.1. Motion plant block ............................................................................................................................ 19 5.3.2. Regelkring ......................................................................................................................................... 20 5.3.3. Analogie drive ................................................................................................................................... 20
6
INSTELLEN REGELAARS ....................................................................................................22
6.1. Controle motion simulatie ........................................................................................................................ 22 6.1.1. Koppelpuls ........................................................................................................................................ 22 Modelleren en simuleren van positioneersystemen
III
6.1.2. Systeemidentificatie .......................................................................................................................... 24 6.1.3. Effect wrijving in bode ....................................................................................................................... 26 6.2. Snelheidsregelaar instellen....................................................................................................................... 29 6.2.1. Systeemidentificatie .......................................................................................................................... 29 6.2.2. Controle snelheidsregelaar ................................................................................................................ 34 6.3. Positieregelaar ......................................................................................................................................... 34 6.4. Controle simulatie .................................................................................................................................... 35 6.5. Feedforward ............................................................................................................................................ 37
7
BESLUIT.................................................................................................................................38
8
DE LITERATUURLIJST .......................................................................................................39
9
BIJLAGEN...............................................................................................................................40
9.1. Bijlage 1: Exploded view testbank ............................................................................................................. 40 9.2. Bijlage 2: Power modules PM340.............................................................................................................. 41 9.3. Bijlage 3: Encoder module SMC20 ............................................................................................................ 43 9.4. Bijlage 4: Aansluiting torque motor aan drive ........................................................................................... 45 9.5. Bijlage 5: Performantie tandwieloverbrenging .......................................................................................... 46 9.5.1. Versnellingen en vertragingen van de slede ....................................................................................... 46 9.5.2. Bewegings- en Koppeldiagram ........................................................................................................... 48 9.5.3. Positioneernauwkeurigheid ............................................................................................................... 50 9.6. Bijlage 6: Probleemstelling rack & pinion .................................................................................................. 51 9.7. Bijlage 7: Wrijving importeren in NX ......................................................................................................... 54 9.8. Bijlage 8: Matlab script, aanmaken traject ................................................................................................ 55 9.9. Bijlage 9: Aanmaken bode in Matlab......................................................................................................... 60 9.10. Bijlage 10: Bepalen transfertfunctie van systeem .................................................................................... 62 9.11. Bijlage 11: Symmetrisch optimum........................................................................................................... 64 Contr ol e sym m etr i sch opti m um ....................................................................................................... 65 9.12. Bijlage 10: Autotuning drive ................................................................................................................... 69 9.13. Bijlage 12: Project tandriemoverbrenging ............................................................................................... 72 9.13.1. Proefopstelling ................................................................................................................................ 72 9.13.2. Simulatie model............................................................................................................................... 76 9.13.3. Co-simulatie .................................................................................................................................... 79 9.13.4. Instellen regelaars tandriemoverbrenging........................................................................................ 81 9.14. Bijlage 14: Updaten motion plant block .................................................................................................. 86 9.15. Bijlage 15: Aanmaken project in Starter .................................................................................................. 88
Modelleren en simuleren van positioneersystemen
IV
SYMBOLENLIJST I I M
(A) (A) (Nm)
nominale stroom die de drive nodig heeft maximale stroom die de drive kan leveren elektromechanisch koppel
K
(
motorconstante
I M M I F m μ g M a M J α η J
(A) (Nm) (Nm) (A) (N) (kg) () (m/s²) (Nm) (m/s²) (Nm) (kgm²) (rad/s²) (%) (kgm²)
J J D v n t t s s s t ∆s β i LU
(kgm²) motorinertie (kgm²) inertie van de tandwielen (m) steekcirkeldiameter van het aangedreven tandwiel (m/s) maximale snelheid slede (tr/min) maximaal toerental aangedreven tandwiel (s) tijd nodig om te versnellen tot maximale snelheid (s) tijd nodig om tot stilstand te komen (m) afstand nodig om tot maximale snelheid te komen (m) afstand nodig om tot stilstand te komen (m) afstand waar de motor op maximale snelheid draait (s) tijd dat de motor op maximale snelheid draait (m) speling (°) spelingshoek () overbrengingsverhouding () Lenght units (ms) drive traagheid
L R
(mH) (ohm) (ms) (ms) (ms) (ms) (ms) (m) (
√
)
)
ankerstroom versnellingskoppel maximale koppel dat de motor kan leveren maximale stroom dat de motor kan leveren statische wrijvingskracht lastmassa wrijvingscoëfficient van de last versnelling van de zwaartekracht lastkoppel versnelling van de slede vertragingskoppel totale inertie rotatieversnelling rendement van de last equivalent van de lastinertie
anker inductantie anker weerstand integrator PI regelaar som kleine tijdsconstanten tijdsvertraging door encoder som de tijdsconstanten dode tijd vertraging door afvlakfilter motor versterking
Modelleren en simuleren van positioneersystemen
V
()
versterking voor PI regelaar
(ms) equivalente integratietijdsconstante () versterking positieregelaar () versterking voor PI regelaar (Hz) maximale bandbreedte (ms) sampling tijd Proportioneel Integrerend (°) fasemarge
Modelleren en simuleren van positioneersystemen
VI
LIJST MET FIGUREN Figuur 1.1: Validatie simulatie met demonstrator .............................................................................................. 2 Figuur 2.1: Aanmaken simulatie ........................................................................................................................ 3 Figuur 2.2: Mechanische validatie van de simulatie met demonstrator .............................................................. 3 Figuur 2.3: Controle regelaars en simulatie........................................................................................................ 4 Figuur 3.1: Proefopstelling met tandwiel-tandheugel overbrenging ................................................................... 6 Figuur 3.2: Aangedreven tandwiel ..................................................................................................................... 7 Figuur 3.3: Aansturing torque motor ................................................................................................................. 9 Figuur 4.1: Motion simulatie van het 3D model ............................................................................................... 10 Figuur 4.2: Exploded view slede ....................................................................................................................... 11 Figuur 4.3: Exploded view aangedreven tandwiel en vilttandwiel ..................................................................... 12 Figuur 4.4: Exploded view onderstel ................................................................................................................ 12 Figuur 4.5: Tandwiel-tandheugel overbrenging................................................................................................ 13 Figuur 4.6: Algemene wrijvingskarakteristiek [6] ............................................................................................. 14 Figuur 4.7: Wrijvingskarakteristiek & motorkoppel .......................................................................................... 15 Figuur 4.8: Inertie............................................................................................................................................ 16 Figuur 4.9: Motion simulatie project................................................................................................................ 16 Figuur 5.1: Interactie motion simulation (NX) met co-simulatie (Simulink) [7]................................................... 17 Figuur 5.2: Cascaderegelkring [4] .................................................................................................................... 18 Figuur 5.3: Motion plant block ........................................................................................................................ 19 Figuur 5.4: Cascaderegeling in Simulink ........................................................................................................... 20 Figuur 5.5: Analogie regelkring Simulink met de drive...................................................................................... 20 Figuur 6.1: Controle motion simulatie.............................................................................................................. 22 Figuur 6.2: Aanmaken koppelpuls in SImulink .................................................................................................. 22 Figuur 6.3: Snelheidsresponsie door koppelpuls ............................................................................................... 23 Figuur 6.4: Identificatie a.d.h.v. spectraalanalyse [8] ....................................................................................... 24 Figuur 6.5: Bepalen systeemidentificatie in Simulink ........................................................................................ 25 Figuur 6.6: Open lus-bodes simulatie en demonstrator .................................................................................... 26 Figuur 6.7: Schematische voorstelling regelstructuur ....................................................................................... 27 Figuur 6.8: Wrijving gedimensioneerd in het s-domein ..................................................................................... 27 Figuur 6.9: Bodeplots voor K, 1/(τs + 1) en 1/s [5] ............................................................................................ 27 Figuur 6.10: Open-lus bodes zonder wrijving en met wrijving ........................................................................... 28 Figuur 6.11: Instellen snelheidsregelaar in SImulink ......................................................................................... 29 Figuur 6.12: De open-lus bodekarakteristiek van een optimaal geregeld systeem [5]........................................ 30 Figuur 6.13: Aanmaken bode in Simulink ......................................................................................................... 30 Figuur 6.14: Het nulpunt trekt de fase omhoog [5]........................................................................................... 31 Figuur 6.15: Open-lus bode simulatie .............................................................................................................. 32 Figuur 6.16: Bode integrator ........................................................................................................................... 33 Figuur 6.17: Snelheidsresponsie door systeemidentificatie ............................................................................... 34 Figuur 6.18: Instellen positieregelaar............................................................................................................... 34 Figuur 6.19: Aanleggen traject in Simulink....................................................................................................... 35 Figuur 6.20: Trajectopvolging simulatie & demonstrator ................................................................................. 36 Figuur 6.21: Volgfout demonstrator & simulatie .............................................................................................. 37 Figuur 6.22: Volgfout met feedforward demonstrator & simulatie ................................................................... 37 Figuur 9.1: Principe gekoppelde stijfheid [6] .................................................................................................... 47 Figuur 9.2: Koppel-/snelheidsdiagram motor ................................................................................................... 49 Modelleren en simuleren van positioneersystemen
VII
Figuur 9.3: Aanmaken links ............................................................................................................................. 51 Figuur 9.4: Aanmaken joints............................................................................................................................ 51 Figuur 9.5: Aanmaken couplers ....................................................................................................................... 52 Figuur 9.6: Instellen joints van de tandwielen .................................................................................................. 52 Figuur 9.7: Instellen joint slede ........................................................................................................................ 53 Figuur 9.8: Aanmaken excel bestand in NX ...................................................................................................... 54 Figuur 9.9: Aangemaakt wrijvingsprofiel in NX ................................................................................................ 54 Figuur 9.10: Aanmaken traject Simulink .......................................................................................................... 55 Figuur 9.11: Aangemaakt traject drive & Simulink ........................................................................................... 55 Figuur 9.12: Uitlezen van het ingangs/uitgangssignaal .................................................................................... 60 Figuur 9.13: Wrijvingskarakteristiek ................................................................................................................ 62 Figuur 9.14: Vervangingsschema snelheidsregelaar ......................................................................................... 64 Figuur 9.15: Stroomopbouw drive ................................................................................................................... 64 Figuur 9.16: Stapresponsie in geval van symmetrisch optimum zonder en met vertragingsnetwerk. 66 Figuur 9.17: Stap aanleggen in de simulatie .................................................................................................... 66 Figuur 9.18: Stapresponsie symmetrisch optimum ........................................................................................... 67 Figuur 9.19: Stapresponsie symmetrisch optimum .................................................................................. 67 Figuur 9.20: Simulinkschema zonder motion simulation ......................................................................... 68 Figuur 9.21: Snelheidsresponsie zonder co-simulatie .............................................................................. 68 Figuur 9.22: Autotuning drive .......................................................................................................................... 69 Figuur 9.23: Ruis aanleggen ............................................................................................................................ 69 Figuur 9.24: Stroomopbouw drive ................................................................................................................... 70 Figuur 9.25: Instellen PI regelaar in Starter ...................................................................................................... 71 Figuur 9.26: Demonstrator tandriemoverbrenging........................................................................................... 72 Figuur 9.27: Exploded view tandriemoverbrenging .......................................................................................... 72 Figuur 9.28: Aansturing tandriemoverbrenging ............................................................................................... 73 Figuur 9.29: Bepalen van inertie slede ............................................................................................................. 75 Figuur 9.30: Proefstand met tandriemoverbrenging in NX................................................................................ 76 Figuur 9.31: Instellen links ............................................................................................................................... 76 Figuur 9.32: Motion project riemoverbrenging ................................................................................................ 77 Figuur 9.33: Wrijvings-en motorkoppelkarakteristiek....................................................................................... 77 Figuur 9.34: Inertie.......................................................................................................................................... 78 Figuur 9.35: Wrijvingskarakteristiek in NX ....................................................................................................... 78 Figuur 9.36: Cascaderegeling Simotion ............................................................................................................ 79 Figuur 9.37: Snelheidsresponsie simulatie en demonstrator ............................................................................. 79 Figuur 9.38: Open-lus bodes demonstrator en simulatie .................................................................................. 80 Figuur 9.39: Open-lus bode simulatie .............................................................................................................. 82 Figuur 9.40: Bode integrator ........................................................................................................................... 83 Figuur 9.41: Snelheidsresponsie demonstrator en simulatie ............................................................................. 83 Figuur 9.42: Trajectopvolging simulatie en demonstrator ................................................................................ 85 Figuur 9.43: Updaten motion plant block......................................................................................................... 86 Figuur 9.44: Updaten motin plant block........................................................................................................... 86 Figuur 9.45: Opnieuw aanmaken motion plant block ....................................................................................... 87 Figuur 9.46: Aansluitingen encoder ................................................................................................................. 88 Figuur 9.47: Instellen drive .............................................................................................................................. 89 Figuur 9.48: Type motor .................................................................................................................................. 89 Figuur 9.49: Motorgegevens ........................................................................................................................... 90 Figuur 9.50: Encoder data ............................................................................................................................... 90 Modelleren en simuleren van positioneersystemen VIII
Figuur 9.51: Overbrengingsverhouding............................................................................................................ 91
Modelleren en simuleren van positioneersystemen
IX
LIJST MET TABELLEN Tabel 3.1: Specificaties Hiwin torque motor ....................................................................................................... 7 Tabel 3.2: Performantie tandwieloverbrenging .................................................................................................. 9 Tabel 6.1: Koppelpulsen .................................................................................................................................. 23 Tabel 6.2: Aanmaken traject ........................................................................................................................... 35 Tabel 9.1: Specificaties Siemens pmsm ............................................................................................................ 74 Tabel 9.2: Performantie tandriemaandrijving .................................................................................................. 74
Modelleren en simuleren van positioneersystemen
X
1 Inleiding 1.1. Probleemstelling Als machinebouwers een nieuwe machine willen ontwikkelen wordt er vaak gebruik gemaakt van een 3D CAD programma. In een dergelijk pakket wordt de geometrie van de machine uitgetekend. Op basis hiervan wordt er veelal eerst een prototype gebouwd. Eventuele kinematische of aandrijftechnische problemen zullen dan pas naar voren komen. Dit resulteert in een dure en tijdsintensieve optimalisatie cyclus. In een motion simulatiepakket kunnen, verder bouwend op het 3D model, de kinematische en dynamische eigenschappen van een systeem gedefinieerd worden. Hierdoor is het mogelijk om een simulatiemodel op te bouwen waarin, naast de mechanische structuur, ook de aandrijftechnische en regeltechnische functionaliteiten geïntegreerd worden. Een eerste optimalisatie van de volledige aandrijving gebeurt dus tijdens de ontwerpfase van de machine. Dit leidt tot een kortere ontwerpcyclus en een reductie van de ontwikkelkosten.
1.2. Doelstelling Het doel van deze masterproef is om van een 3D model een simulatiemodel op te bouwen. In dit model moeten de dynamische eigenschappen van de aandrijving correct gedefinieerd worden. Eens deze gedefinieerd zijn kunnen meetcampagnes uitgevoerd worden om dit model te valideren. Dit zal gedaan worden voor twee lineaire positioneersystemen. Waarbij de eerste gebruik maakt van een tandwiel-tandheugel overbrenging met een torque motor als aandrijving. De tweede gebruikt een tandriemoverbrenging met een standaard PMSM als aandrijving. Het simulatie model wordt ontworpen in Siemens NX als motion co-simulatie met Matlab Simulink. Via NX zal het mechanische aspect ontworpen worden, dit houdt in dat er rekening gehouden wordt met inerties, wrijving,… In Simulink wordt de regelstructuur ontworpen, dit is een tweede doelstelling van het project. Deze bestaat erin om een regelstructuur op te bouwen identiek als die van een commercieel beschikbare drive. Zodra die voorhanden is kan elke applicatie die van deze drive gebruik maakt virtueel geoptimaliseerd worden. Dergelijke co-simulaties kunnen reeds in ontwerpfase uitgevoerd worden aangezien deze vertrekken van het 3D-model van de machine. Eens een werkende simulatie verkregen is, dan kan deze model staan voor andere projecten met lineaire positioneerapplicaties. Dan moet er enkel maar een nieuw mechanisch model aangemaakt worden in NX en kunnen hier eenvoudig aanpassingen gedaan worden. Zoals het inbrengen van wrijving, massa, overbrengingen,… wat veel eenvoudiger is dan telkens het prototype te moeten aanpassen. Figuur 1.1 toont de werkwijze voor de applicatie met de tandwieloverbrenging. Waarbij het simulatie model zal aangepast worden tot de simulatieresultaten overeenkomen met meetcampagnes op de demonstrator. Als aandrijving wordt een torque motor van Hiwin gebruikt die aangestuurd wordt door een Siemens drive. Dit is de applicatie die als leidraad zal dienen in deze thesis. De applicatie met tandriemoverbrenging is uitgewerkt in bijlage 13.
Modelleren en simuleren van positioneersystemen
1
Figuur 1.1: Validatie simulatie met demonstrator
Modelleren en simuleren van positioneersystemen
2
2 Aanpak Hier zal er stap voor stap uitgelegd worden, aan de hand van een flowchart, hoe er van een 3D model een simulatie gemaakt wordt.
2.1. Simulatie Vanuit het 3D model kan er een motion simulatie (Figuur 2.1) aangemaakt worden in NX, dit is het mechanisch aspect. Hier zal alles gedefinieerd worden i.v.m. massa’s, inerties, wrijving… Om het regeltechnische te ontwerpen wordt er gekozen voor een co-simulatie met Matlab Simulink. De regelkring in Simulink, een cascaderegeling, zal dan worden aangepast tot deze overeenkomt met de regelkring van de drive.
Figuur 2.1: Aanmaken simulatie
2.2. NX In de motion simulatie van NX werd het mechanische aspect ontworpen. Er moet gecontroleerd worden of deze motion simulatie overeenkomt met de applicatie (Figuur 2.2). Dit kan op verschillende manieren, in dit project worden twee methodes toegepast: aanleggen van een koppelstoot en het opmeten van een bode karakteristiek.
Figuur 2.2: Mechanische validatie van de simulatie met demonstrator
Modelleren en simuleren van positioneersystemen
3
De snelste en eenvoudigste methode is door een koppelpuls aan te leggen en de hieruit volgende snelheidsresponsie te analyseren. Indien dit overeenkomt voor verschillende koppels en dus ook verschillende snelheden kan er besloten worden dat de motion simulatie overeenkomt met het mechanische van de applicatie. Een tweede manier is door de bode te bepalen van het systeem. Dit gebeurt door een systeemidentificatie a.d.h.v. spectraalanalyse. Er zal hierbij een ruis aan het systeem gelegd worden. Zo zal het ingangssignaal (koppel) en het uitgangssignaal (snelheid) gemeten worden. Dit is in functie van de tijd en moet dan via een FFT (Fast Fourier Transformatie) analyse omgevormd worden naar het frequentiedomein. Als het uitgangssignaal gedeeld wordt door het ingangssignaal wordt de bode van het systeem verkregen. De bode van de simulatie kan dan vergeleken worden met deze van de applicatie. Het voordeel van een bode-grafiek is dat deze een volledig beeld geeft of de simulatie en de applicatie overeenkomen. Wanneer er verschillen zijn tussen de simulatie en de applicatie zal de oorzaak stapsgewijs worden onderzocht. Dit kunnen de massa’s en bijhorende inerties zijn die bepaald werden met NX en niet overeenstemmen met de werkelijkheid. Het is mogelijk om deze inerties en massa’s aan te passen in de simulatie, zo kunnen deze gegevens gehaald worden uit de datasheets. Ook parameters zoals wrijving en flexibiliteit kunnen in de simulatie toegepast worden. In deze thesis zal het effect van wrijving niet verwaarloosbaar zijn en wordt duidelijk hoe dit bepaald is.
2.3. Simulink Met een gevalideerde motion simulatie kunnen de regelaars van de cascaderegeling ingesteld en gecontroleerd worden (Figuur 2.3). Dit zal gedaan worden volgens de opbouw van een cascaderegeling, deze bestaat uit: -
Stroomregelaar Snelheidsregelaar Positieregelaar
Figuur 2.3: Controle regelaars en simulatie
Modelleren en simuleren van positioneersystemen
4
Stroomregelaar Dergelijke motion simulaties kunnen worden aangestuurd door een positie- of snelheidseis aan te leggen aan de ingang van Siemens NX. Ook koppels kunnen als wenswaarde ingesteld worden. Aangezien dit voor deze applicatie het geval is, is hier geen stroomregelaar nodig. Snelheidsregelaar Hiervoor kan er geen gebruik gemaakt worden van het symmetrisch optimum omwille van wrijving. Daarom zal systeemidentificatie toegepast worden, hierbij kan de bode hergebruikt worden die bepaald werd om de motion simulatie te controleren met de applicatie. Uit deze bode kan de snelheidsregelaar ingesteld worden door een fasemarge te bepalen die niet te groot of te klein is. Bij een grote fasemarge wordt een robuuste regelaar bekomen, bij een kleine fasemarge wordt een dynamische regelaar bekomen. Dit is in analogie met de drive die ook systeemidentificatie toepast bij het automatisch instellen van de regelparameters (auto-tuning). De instellingen van de snelheidsregelaar in de simulatie kan dan vergeleken worden met deze van de drive door een snelheidsstapresponsie. Belangrijke parameters hierbij zijn de doorschot en settling time. Positieregelaar De positieregelaar zou ook kunnen ingesteld worden door systeemidentificatie toe te passen maar dit is tijdrovend. Daarom zal de proportionele factor van de positieregelaar (p-regelaar) opgedreven worden. Dit is een snelle en gemakkelijke manier om de positieregelaar in te stellen. Bij de drive wordt een standaard waarde ingesteld die dan gelijkaardig kan aangepast worden om een performantere machine te verkrijgen. De instellingen van de positieregelaar in de simulatie kan dan vergeleken worden met deze van de drive door een traject aan te leggen. Afhankelijk van hoe goed dit traject opgevolgd wordt door de simulatie en de applicatie kan er gecontroleerd worden in welke mate beide overeen komen met elkaar. Om de resterende volgfout te reduceren kan snelheidsfeedfroward toegepast worden in de simulatie, zoals dit gebeurt bij de drive van de applicatie.
2.4. Besluit In deze aanpak wordt duidelijk dat het aanmaken van een simulatie uit twee delen bestaat. Enerzijds het mechanische aspect, dit wordt aangemaakt in NX, hierbij wordt er gebruik gemaakt van het 3D model. Anderzijds het regeltechnische dat overeenkomt met de cascaderegeling van de drive, hier wordt er gebruik gemaakt van een co-simulatie met Simulink.
Modelleren en simuleren van positioneersystemen
5
3 De demonstrator 3.1. Mechanische werking De demonstrator (Figuur 3.1) bestaat uit een slede die horizontaal kan bewegen over een afstand van 1,5 meter. De bedoeling is om een hoog dynamische positioneer applicatie te verkrijgen. Hiervoor wordt er gebruik gemaakt van een torque motor (1) die op de slede bevestigd is en meebeweegt. Dit is dus een direct drive toepassing waarbij een schuine tandwiel-tandheugeloverbrenging (2) voorzien wordt om een lineaire beweging te realiseren. Een vilttandwiel is voorzien voor de smering van de tandwiel-tandheugel. Aangezien het een direct drive toepassing is, wordt er geen reductiekast voorzien en kan de eventuele speling hierdoor vermeden worden. Om de krachten en koppels op te nemen die niet in de bewegingszin liggen zijn er geleidingen nodig. Er wordt gekozen voor prismageleiding (3) zodat een grote stijfheid verkregen wordt. Om de speling (backlash) tussen tandwiel-tandheugel volledig weg te werken bestaat het aangedreven tandwiel uit twee tandwielen (Figuur 3.2), zo kan een voorspankracht voorzien worden. Deze proefopstelling wordt in de praktijk nog belast door het gewicht van een applicatie die werkt op de slede. Deze belasting wordt voorgesteld door een massieve cilinder die zorgt voor extra massa (4). De volledige samenstelling wordt nog eens duidelijk in een exploded view, opgenomen in bijlage 1. Aangezien dit een spelingsvrije applicatie is wordt dit beschouwd als een stijve constructie. 1
2 4
3
Figuur 3.1: Proefopstelling met tandwiel-tandheugel overbrenging
Modelleren en simuleren van positioneersystemen
6
Figuur 3.2: Aangedreven tandwiel
3.2. Aansturing Hier wordt stilgestaan bij de selectie van een geschikte drive voor de torque motor. Voor de juiste keuze moeten de specificaties van de motor gekend zijn, deze zijn opgenomen in tabel3.1. Tabel 3.1: Specificaties Hiwin torque motor
Max. koppel voor 1s Continue koppel Houdkoppel Massatraagheidsmoment rotor Gewicht Max. axiale belasting Max. radiale belasting Max. snelheid (bij 400 Vac) voor 1s Nominaal toerental (bij 400 Vac en 30% inschakelduur) Nauwkeurigheid (Incremental; 1Vpp, 3600 lijnen) Herhaalbaarheid (Incremental; 1Vpp, 3600 lijnen) Slijtage Piekstroom gedurende 1 seconde Continue stroom (spoel 80 ° C) Motorconstante Windingsweerstand Motorinductie
symbool Tp Tc Ts J
eenheid Nm Nm Nm Kgm²
25 10 7 0,0065
Mm Fa Fr Nmax
Kg N N Tr/min
7 3700 1700 1000
Nnom
Tr/min
500
Arcsec
150
Arsec
6
Ip
Mm Aeff
0,03 10
Ic
Aeff
4
Km Nm/W R25 Ohm L mH Modelleren en simuleren van positioneersystemen
1,02 2 7,5 7
Elektrische tijdsconstante Koppelconstante Spanningsconstante Aantal polen Maximum DC-spanning
Te Kt Kv 2p
ms Nm/Aeff Vrms/(rad/s)
3,75 2,5 1,5 22 800
V
Uit de gegevens van de motor kan de maximale stroom gehaald worden die de drive moet leveren. Aangezien de IGBT’s van de omvormer maximum 150% van I leveren gedurende 30-60 s [4]. Betekent dit dat:
I
I
=
I
=
I
(2.1)
1,5 10 = 6,7 A 1,5
=I
= 6,7 A
De gevonden power unit is dan: - SIEMENS PM340 power module 6SL3210-1SE17-7AA0
I
=7,7A
I
=15,4 A
Er wordt een lichtere module gekozen omdat deze beschikbaar is: - SIEMENS PM340 power module 6SL3210-1SB14-0UA0
I
=4,3 A
I
=7,8 A
Dit betekent wel dat de drive ondergedimensioneerd is ten opzichte van de motor. Maar dit is geen probleem aangezien de motor niet ten volle benut kan worden. Dit omdat grote versnellingen niet haalbaar zijn door de beperkte werklengte van de slede (1,5m). Verdere technische data over de powermodules kan teruggevonden worden in bijlage 2. Deze powermodule wordt gekoppeld aan een Sinamics controller. Om een closed-loop sturing mogelijk te maken zal een positie-terugkoppeling voorzien worden. Daarom is er een sin/cos-encoder verwerkt in de motor. De encoder module die gebruikt wordt om het encoder signaal binnen te lezen in de drive is een SMC20, opgenomen in bijlage 3. In figuur 3.3 wordt schematisch de aansturing van de torque motor weergegeven, in bijlage 4 is de aansluiting met de drive zichtbaar.
Modelleren en simuleren van positioneersystemen
8
Figuur 3.3: Aansturing torque motor
3.3. Performantie Aangezien de proefopstelling volledig aanwezig is en de juiste aansturing gekozen is, kan er een reverse engineering van de aandrijving uitgevoerd worden: rekening houdende met de beschikbare componenten wordt de performantie bepaald. De resultaten worden in tabel 3.2 weergeven, hoe deze berekend werden kan teruggevonden worden in bijlage 5. Tabel 3.2: Performantie tandwieloverbrenging
Maximale snelheid slede Inertie (berekend naar as motor) Statisch koppel Nauwkeurigheid Maximale Versnelling Aflegbare afstand Steekcirkeldiameter aangedreven tandwiel
symbool Vmax Jm
eenheid m/s Kgm²
3,35 0,063
No
Nm
25
amax s D
Mm m/s² mm mm
0,055 10,4 1500 64
Modelleren en simuleren van positioneersystemen
9
4 Motion simulatie Een motion analyse kan opgezet worden zodra een machineconcept als 3D model beschikbaar is. Dit model kan rechtstreeks in de motion simulatie ingeladen worden, waarna de dynamica van de machine wordt gemodelleerd. Eens de virtuele opstelling gebouwd is, kunnen met enkele analyses de prestatie van de machine bemeten worden. Zo kan de verplaatsing, snelheid of versnelling van elk onderdeel geanalyseerd worden. Ook reactiekrachten of het botsen van componenten, kan gelogd worden en kunnen bijdragen aan de optimalisatie van de machine. Het softwarepakket dat gebruikt wordt om deze motion simulaties aan te maken is Siemens NX. Als er een nieuwe motion simulatie aangemaakt wordt kan er gekozen worden tussen een kinematische of dynamische analyse. Kinematics Kinematische studies bestuderen de interactie van de onderdelen bij verschillende posities, ongeacht massa of gravitatiekracht. Dynamics Bij een dynamische analyse hebben de onderdelen wel een massa en zijn deze onderhevig aan de gravitatie. Ook belangrijk is dat een koppel kan opgelegd worden en dat eigenschappen als inertie, massa, wrijving, torsie een impact hebben op de simulatie. Er wordt gekozen voor dynamics, nu kan een mechanisme uitgebouwd worden in de motion simulatie (Figuur 4.1). Wat er allemaal mogelijk is in een dergelijke motion simulatie wordt besproken in de volgende puntjes.
Figuur 4.1: Motion simulatie van het 3D model
Modelleren en simuleren van positioneersystemen
10
4.1. Links Een eerste stap in een motion simulatie is het aanmaken van ‘links’. Dit is een verzameling van onderdelen die samen eenzelfde beweging uitvoeren. Deze applicatie bestaat uit 4 links die toegelicht zullen worden aan de hand van exploded views. Parameters zoals inertie, massa,… zijn essentieel voor een goede werking van een dynamische studie. Een ‘link’ bevat dergelijke eigenschappen, aangezien het een verzameling is van bewegende onderdelen. Daarom is het belangrijk stil te staan bij de invulling van deze parameters. Ook wordt er rekening gehouden met het feit dat alles herrekend wordt naar motorzijde. Slede Bij de slede (Figuur 4.2) zijn er verschillende standaard onderdelen gebruikt, waarbij de inerties en massa’s niet door NX zelf kunnen bepaald worden. Dit is voor de motor en de geleidingen het geval, hier worden de gegevens uit de datasheet gehaald. De instellingen van de inerties hebben geen belang omdat NX de massa van de slede gebruikt en herrekend naar een inertie naar de motorzijde. De slede zal niet rond een as draaien maar een lineaire beweging uitvoeren, deze beweging zal vertaalt worden naar een inertie (bijlage 5).
1 2 3 4 5 6 7 8
Slede Hiwin torque motor Bevestiging motor Tussenstuk Afstel blokjes Hiwin prisma geleidingen Zijplaat Tafel Belasting
Figuur 4.2: Exploded view slede
Modelleren en simuleren van positioneersystemen
11
Aangedreven tandwiel en vilttandwiel Het aangedreven tandwiel(Figuur 4.3) is een component van Atlanta, ook hier kan de massa en inertie rond de z-as uit de datasheet gehaald worden. De inertie van de rotor van de motor wordt opgeteld bij deze van het aangedreven tandwiel, omdat deze meedraait. De massa en inertie van het vilttandwiel wordt ook uit de datasheet gehaald.
9 10 11 12 13
Aangedreven tandwiel Fitting tandwielas Opspanring Voorspanbaar tandwiel Atlanta Vilttandwiel Vilttandwiel Lagering
Figuur 4.3: Exploded view aangedreven tandwiel en vilttandwiel
Het onderstel Bij het onderstel (Figuur 4.4) wordt de massa van de onderdelen bepaald door NX zelf. Omdat deze link bewegingsloos is zullen de ingestelde massa’s en inerties geen effect hebben op de werking van de simulatie.
14 15 16 17
Onderstel Schuine tandheugel Atlanta Geleiding Hiwin Zijplaat Onderstel
Figuur 4.4: Exploded view onderstel
Modelleren en simuleren van positioneersystemen
12
4.2. Joints en couplers Eens de links bepaald zijn kunnen de joints aangemaakt worden. Deze bepalen hoe de links onderling bewegen. Dit zijn de tandwielen die rond hun eigen as draaien en de slede die lineair beweegt. De couplers zorgen ervoor dat bepaalde joints met elkaar in verbinding staan zoals in een reductiekast. Hier is dit de tandwiel-tandheugel overbrenging (Figuur 4.5) die de draaiende beweging van de tandwielen omzet naar een lineaire beweging van de slede. Dit wordt zowel gedaan voor het aangedreven tandwiel als het vilt tandwiel. Hoe zo een tandwiel-tandheugel overbrenging gedefinieerd wordt staat beschreven in bijlage 6.
Figuur 4.5: Tandwiel-tandheugel overbrenging
4.3. Connectors Er wordt gebruik gemaakt van een tandwiel-tandheugel overbrenging met de nodige geleidingen, dit zorgt voor wrijving die gedimensioneerd kan worden als een demper. Omdat wrijving moeilijk in te schatten is werd deze bepaald door metingen op de demonstrator. Algemeen Figuur 4.6 toont een aantal mogelijke wrijvingskarakteristieken. Wrijving manifesteert zich altijd in de tegengestelde bewegingszin. Er moet een onderscheid gemaakt worden tussen statische en dynamische wrijving: Statische wrijving is de wrijving die overwonnen moet worden om een object in stilstand tot beweging te brengen. - Eens in beweging wordt gesproken over dynamische wrijving. Verder dient er nog een onderscheid gemaakt te worden tussen coulomb of droge wrijving en viskeuze wrijving. Coulombwrijving is het deel van de dynamische wrijving dat onafhankelijk is van de snelheid. Viskeuze wrijving is het deel van de dynamische wrijving dat snelheidsafhankelijk is. In de praktijk zal zelden een lineaire wrijvingskarakteristiek gelden. Veelal zal de karakteristiek ook niet symmetrisch zijn. De wrijving is dan in de ene bewegingszin groter dan in de andere.
Modelleren en simuleren van positioneersystemen
13
Figuur 4.6: Algemene wrijvingskarakteristiek [6]
Bepalen wrijving Om de wrijvingskarakteristiek te bepalen van de demonstrator zal er gebruik gemaakt worden van onderstaande formules:
T T
=T +T =T T = J
(4.1) (4.2)
dw dt
(4.2 b)
Hier is het totale elektromechanische koppel gelijk aan het versnellingskoppel en het lastkoppel. Waarbij het lastkoppel de wrijving (4.2) is en het versnellingskoppel afkomstig is uit de inertie en de versnelling (4.2 b, onderste deel). Om de wrijvingskarakteristiek te bepalen zal er bij verschillende snelheden gekeken worden naar het koppel. Vooral in de gebieden van constante snelheid, in deze zones zal alleen nog maar het koppel nodig zijn om de wrijving te overwinnen. Deze verschillende punten zullen dan benaderd worden door een curve bepaald met een polynoom. De wrijvingscurve is zichtbaar in figuur 4.7.
V=cte → a=0 → T =0 T =T Wanneer er een constante versnelling aangelegd wordt, zal het motorkoppel bepaald worden. Ook hier wordt deze meting benaderd door een polynoom, zie figuur 4.7.
a=cte → T
Modelleren en simuleren van positioneersystemen
14
Figuur 4.7: Wrijvingskarakteristiek & motorkoppel
De wrijvingskarakteristiek (Figuur 4.7) bestaat uit de statische wrijving (2Nm/rad/s) en de dynamische wrijving (tot 8Nm/rad/s). Als het verschil genomen wordt van het motorkoppel (Tem) en het wrijvingskoppel (Tlast), dan wordt het versnellingskoppel (Tv) bekomen.
T =T
−T
(4.3)
Wanneer dit versnellingskoppel gedeeld wordt door de versnelling, die gekozen werd om het motorkoppel te bepalen dan kan de curve van de inertie bepaald worden, zie figuur 4.8.
T = J dw dt
(4.4)
Uit deze curve kan er besloten worden dat de inertie bepaald uit de demonstrator (0,068kgm²) ongeveer overeenkomt met de theoretisch bepaalde inertie (0,063kgm²). Normaal zou dit een constante moeten zijn maar omdat de wrijvingscurve en de motorkoppelcurve niet perfect evenwijdig zijn varieert deze. Het is wel een methode om te valideren of de wrijvingscurve aanneembaar is.
Modelleren en simuleren van positioneersystemen
15
Figuur 4.8: Inertie
Hoe deze wrijvingskarakteristiek geïmporteerd wordt in NX kan weergevonden worden in bijlage 7.
4.4. Besluit Het voordeel van de motion simulatie is dat het 3D model kan gebruikt worden, zo moet er geen wiskundig model ontworpen worden. Uit dit 3D model worden de eigenschappen zoals inertie en massa gehaald en toegepast in de simulatie, waarbij de mogelijkheid bestaat om deze eigenschappen zelf in te vullen. Ook wrijving werd toegevoegd aan de simulatie, wat duidelijk een grote invloed had op de werking. De opbouw van de motion simulatie is zichtbaar in figuur 4.9.
Figuur 4.9: Motion simulatie project
Modelleren en simuleren van positioneersystemen
16
5 Co-simulatie 5.1. Algemeen Naast de motion simulatie kan er ook een co-simulatie opgezet worden, zie figuur 5.1. Het begrip co-simulatie duidt op het feit dat verschillende softwaretools, van verschillende fabrikanten, simultaan eenzelfde simulatie uitvoeren. In het eerste softwarepakket, NX motion wordt de dynamica van de machine gemodelleerd. Het tweede softwarepakket, Matlab Simulink omvat de regelstructuur. Waardoor naast het dynamische gedrag van de mechanische structuur, ook de impact van de regelparameters opgenomen wordt in de studie. Ook het ontwerp en de optimalisatie van de regelaar kan nu in de simulatie gebeuren.
Figuur 5.1: Interactie motion simulation (NX) met co-simulatie (Simulink) [7]
5.2. Cascaderegeling In dit masterproef project is het de bedoeling om een regelstructuur op te bouwen identiek als de regelkring ingebed in de Siemens drive. Deze drive maakt gebruik van een positioneer regelkring uitgevoerd als cascaderegeling. Hoe een cascaderegeling werkt wordt in dit hoofdstuk uitgelegd.
5.2.1. Inleiding Om een goede controle van snelheid en positie mogelijk te maken is een degelijke koppelcontrole (stroomcontrole) noodzakelijk. De stroomregelaar wordt meestal ingesteld door de sturing zelf na een autotune-procedure. Deze procedure identificeert de belangrijkste motorparameters om zo de best mogelijke koppelregeling te realiseren. De regeling van snelheid en positie gebeurt in commerciële sturing praktisch altijd met een cascaderegelaar ofwel met een toestandsregelaar.
Modelleren en simuleren van positioneersystemen
17
Bij een cascaderegeling zal de positieregelaar de wenswaarde voor de snelheidsregelaar genereren waarop de snelheidsregelaar het gewenste koppel aanbiedt aan de koppelregelaar, zie figuur 5.2.
Figuur 5.2: Cascaderegelkring [4]
5.2.2. Snelheidsregeling De snelheidscontroller levert het gewenste koppel aan de uitgang. Dit gewenste koppel moet gerealiseerd worden via de stroomregeling van de sturing. De snelheidsregelaar wordt uitgevoerd als PI-regelaar. De regelaar kan ingesteld worden via het symmetrisch optimum in het geval dat de wrijving verwaarloosd wordt. Veelal bieden dergelijke instelregels een goede vertrekbasis voor verdere tuning. De integrator in de PI-regelaar moet de grote tijdconstante (bepaald door inertie en wrijving) compenseren. De proportionele term bepaalt de bandbreedte van de snelheidslus. Effect van wrijving en last Het mechanische systeem bestaat in hoofdzaak uit inertie. Het motorkoppel staat echter niet volledig ter beschikking om de last te versnellen, maar moet ook de wrijving en een eventueel lastkoppel overwinnen. Hierdoor zal de snelheidsregelaar minstens een integrator bevatten om in regime geen snelheidsfout te bevatten bij een constante snelheid.
5.2.3. Positieregeling De positieregelaar is doorgaans een P-controller. Deze versterkt het foutsignaal of de volgfout bij een baanbeweging. Hoe groter de versterking, hoe groter de bandbreedte van de positielus en hoe kleiner de volgfout. Speling en flexibiliteit zullen een fysische grens stellen aan de versterkingsfactor. Wordt de versterking te hoog gekozen, dan ontstaan resonanties. De positiefout zal een gevolg zijn van het type ingangssignaal, het systeemtype en de mechanische structuur. Omdat het verband tussen snelheid en positie een integrator is, zal de statische fout nul worden bij een stapfunctie aan de positie-ingang. Dit volgt uit het eindwaarde-theorema. Bij het aanleggen van een talud-of paraboolfunctie zal een volgfout ontstaan. Feedforward moet dit proberen te vermijden.
Modelleren en simuleren van positioneersystemen
18
5.2.4. Begrenzingen In het regelschema (Figuur 5.2) zijn begrenzingen opgenomen: voor snelheid, versnelling/vertraging, ruk en koppel. De begrenzingen zijn noodzakelijk omdat de hardware en de mechanische structuur fysische limieten bezitten. Voor punt-tot-punt-bewegingen zullen deze begrenzingen de vorm van het bewegingsprofiel bepalen. Echter, moet een verplaatsingsprofiel nauwkeurig gevolgd worden, dan zal een reeks positiereferenties in functie van de tijd gegeneerd moeten worden afkomstig van een lookup-tabel en/of interpolator.
5.2.5. Feedforward-compensatie De cascaderegeling is niet in staat om tijdens het uitvoeren van een beweging de volgfout naar nul te brengen. Dit omdat er eerst een fout moet aanwezig zijn vooraleer deze weg te werken. Door toepassing van feedforward of voorwaartse koppeling wordt a-priori informatie aan de verschillende regelaars aangeboden waardoor de volgfout vermindert.
5.3. Aanpak 5.3.1. Motion plant block De co-simulatie staat voor de interactie tussen NX motion en Simulink. Tijdens een co-simulatie krijgt het controlesysteem informatie van NX over de actuele snelheid van het aangedreven tandwiel (output). Het controlesysteem antwoordt hierop met instructies die invoer (input) voorzien aan de motion driver of een koppel in het motion mechanisme. In figuur 5.3 is te zien hoe de interactie van Simulink met NX gebeurt. Dit is een motion plant block die aangemaakt wordt in Simulink en tijdens simulatie de koppeling met Siemens NX voorziet. Hoe deze motion plant block geïmporteerd en geüpdatet wordt kan weergevonden worden in bijlage 14.
Figuur 5.3: Motion plant block
Modelleren en simuleren van positioneersystemen
19
5.3.2. Regelkring In Simulink wordt een cascaderegeling opgebouwd, zie figuur 5.4. Er wordt vertrokken van de motion plant ste block die het mechanisch systeem voorstelt. De werking van de drive wordt benaderd door een 1 orde systeem, deze stelt de vertraging van de stroomopbouw in de motor voor. De terugkoppeling is snelheid, deze zal geÏntegreerd worden naar positie. De rest van deze regelkring is dezelfde als de cascaderegelkring in figuur 4.2.
Figuur 5.4: Cascaderegeling in Simulink
5.3.3. Analogie drive Om ervoor te zorgen dat de regelkring overeenkomt met deze van de Siemens drive moeten er nog conversies gebeuren. Dit gebeurt in de paarse blokjes die toegevoegd zijn aan het simulinkschema (Figuur 5.5). Op deze manier kunnen de regelaars met dezelfde waardes ingesteld worden als in de drive.
Figuur 5.5: Analogie regelkring Simulink met de drive
Modelleren en simuleren van positioneersystemen
20
Een van deze conversies is van tr/min naar LU. Om positionering mogelijk te maken, moet de mechanische constructie van de aandrijving gekend zijn. Tijdens de configuratie is het dan ook mogelijk om de overbrengingsverhouding en spoed van een lineaire unit te definiëren. Het systeem gebruikt een eigen eenheid ‘LU’, Length unit. In functie van de spoed, de overbrengingsverhouding en de gewenste resolutie van de aandrijving moet de parameter LU per load revolution ingesteld worden. Stel dat een resolutie van 1micrometer gekozen wordt, de spoed van de spindel bedraagt 10 mm/toer en de motor is rechtstreeks gekoppeld aan de spindel, dan moet de parameter 10000 ingevuld worden. 1 LU kan dan gezien worden als 1 micrometer. Ook het instellen van een traject gebeurt met dezelfde parameters als in de drive: -
Acceleratie Deceleratie Snelheid Positie
[%] [%] [LU*1000/min] [LU]
Hoe dit traject aangemaakt wordt kan teruggevonden worden in bijlage 8. Alle parameters kunnen ingesteld worden in één script (zie bijlage 8) waarbij dezelfde eenheden gebruikt worden zoals in de Siemens drive. Dit zorgt voor een snelle en eenvoudige manier om alles te parametreren.
Modelleren en simuleren van positioneersystemen
21
6 Instellen regelaars 6.1. Controle motion simulatie Voor deze regelaars kunnen ingesteld worden moet er gecontroleerd worden of de simulatie resultaten overeenkomen met metingen op de demonstrator. Hiervoor zal de motion simulatie meerdere keren moeten afgesteld worden op basis van resultaten van de demonstrator (Figuur 6.1). Bv. omdat de bepaalde wrijving niet nauw genoeg aansluit met de effectieve wrijving van de applicatie.
Figuur 6.1: Controle motion simulatie
6.1.1. Koppelpuls Een snelle en eenvoudige manier om dit te controleren is door een koppelpuls aan te leggen. Door het verloop van het snelheidsprofiel te vergelijken kan er besloten worden of de simulatie voldoende overeenkomt met de demonstrator. Dit snelheidsprofiel is afhankelijk van de te bewegen massa en de wrijving. Figuur 6.2 toont hoe dit gedaan wordt in het simulinkschema. Er wordt een koppelpuls aangelegd door gebruik te maken van een signalbuilder. Hier zal zowel de koppelpuls als de snelheid opgemeten worden in een scope.
Figuur 6.2: Aanmaken koppelpuls in SImulink
Modelleren en simuleren van positioneersystemen
22
Uit figuur 6.3 kan er besloten worden dat het snelheidsprofiel van de demonstrator en simulatie eenzelfde verloop hebben. Een nadeel van deze methode is dat verschillende koppelpulsen moeten aangelegd worden om zo over de volledige snelheidsrange te controleren indien de simulatie met de demonstrator overeenkomt. Hier werd dit gedaan voor zeven verschillende koppelpulsen (Tabel 6.1).
Figuur 6.3: Snelheidsresponsie door koppelpuls
Uit tabel 6.1 kan er besloten worden dat er bij het koppel van 3Nm een groot verschil is in de snelheidsopbouw. Dit komt door de statische wrijving die ongeveer 2Nm/rad/s is in de simulatie. Bij de demonstrator zal deze hoger liggen waardoor er minder snelheid ontwikkeld wordt bij de koppelpuls van 3Nm. Bij de uitlooptijd is er bij alle koppelpulsen een relatief groot verschil. Dit komt door de aangemaakte wrijvingskarakteristiek van de simulatie, waarbij er in het begin meer wrijving aanwezig is. Dit is ook zichtbaar in figuur 6.3, waarbij er tot 25tr/m een merkbaar verschil is in het snelheidsprofiel. Hoe meer meetpunten hoe preciezer de wrijvingskarakteristiek. Hier zouden er bij de lagere snelheden meer punten moeten bepaald worden zodat de aangemaakte wrijvingskarakteristiek meer overeenkomt met de werkelijke. De uitlooptijd zelf is van minder belang aangezien er bij een positioneerapplicatie een vast traject opgelegd wordt. Tabel 6.1: Koppelpulsen
Koppel (Nm) 1 3 5 8 10 12 15
Maximale snelheid (tr/min) Demonstrator Simulatie Verschil (%) 0,3 0,05 83 2,5 8 65 42 43 2 95 98 3 130 138 6 170 180 5 230 240 4
Demonstrator 0 0 140 250 260 350 400
Uitlooptijd (ms) Simulatie Verschil (%) 0 0 20 100 90 56 170 47 210 24 260 35 300 33
Modelleren en simuleren van positioneersystemen
23
6.1.2. Systeemidentificatie Een betere methode is systeemidentificatie a.d.h.v. spectraalanalyse. Zo wordt de bode bepaald van het systeem.
Algemeen Er wordt ruis aan een systeem gelegd, waarbij het signaal uitgelezen wordt aan de ingang van het syteem en de uitgang van het systeem. Dit zijn twee signalen in functie van tijd, deze signalen zullen dan via Fast Fourier transformatie (FFT) omgevormd worden naar een frequentie responsie functie (FRF), zie figuur 6.4. Deze FRF bestaat uit een amplitude en een fase i.f.v. frequentie. Als de FRF van de uitgang gedeeld wordt door de FRF van de ingang (zie formule 6.1) wordt de bode van het systeem verkregen.
Figuur 6.4: Identificatie a.d.h.v. spectraalanalyse [8]
H (f) =
FFT[(y(t))] FFT[u(t)]
Modelleren en simuleren van positioneersystemen
(6.1)
24
Aanpak In Simulink (Figuur 6.5) zal er een ruis aangelegd worden achter de snelheidsregelaar, deze ruis moet dezelfde instelling hebben als de ruis van de drive. Het ingaand signaal zal het koppel (Nm) zijn en het uitgaande signaal is de snelheid (tr/min).
Figuur 6.5: Bepalen systeemidentificatie in Simulink
H (f) =
FFT[(v(t))] FFT[T(t)]
Nu wordt er bepaald bij welke bandbreedte er gemeten wordt, zo wordt een hogere resolutie verkregen. Naarmate die bandbreedte groter wordt, zullen signalen met een hogere frequentie beter door het systeem geraken. Het systeem zal dus sneller kunnen werken. Er zal een maximale frequentie van 200Hz (1256 rad/s) toegepast worden, dit omdat de motor maximaal 1000tr/min kan draaien (16,7Hz). Hieruit kan de sampletijd (Ts) bepaald worden: f
=
1 2. T
(6.2)
1 200 T = = 0,0025 s 2 Nu kan de bode van de simulatie en demonstrator bepaald worden (Figuur 6.6) door gebruik te maken van bijlage 9. Uit deze bode kan er besloten worden dat de simulatie en de demonstrator goed overeenkomen. Het effect van wrijving, inertie en de vertraging van het systeem kan hier in weergevonden worden, zie hoofdstuk 6.1.3. Ook is er geen probleem met resonanties want deze liggen ver boven de 16,7 Hz.
Modelleren en simuleren van positioneersystemen
25
Figuur 6.6: Open lus-bodes simulatie en demonstrator
OPMERKING! Deze bodes zijn bepaald zoals dit gebeurt in de drive. Met als ingaand signaal koppel in Nm en als uitgaand signaal snelheid in tr/min, niet de standaard eenheid in rad/s! Dit is een belangrijk gegeven als de regelaars ingesteld worden volgens systeemidentificatie waarbij alles in de standaard eenheid is.
6.1.3. Effect wrijving in bode Wat het effect van wrijving is in een systeem is ook zichtbaar in de bode. Om dit aan te tonen zal een vereenvoudiging gedaan worden van de bode in figuur 6.6. Daarbij werd de volledige wrijvingskarakteristiek bepaald, hier zal de wrijving vervangen worden door een constante. Wanneer er geen wrijving aanwezig is kan de regelkring in Simulink schematisch voorgesteld worden door figuur 6.7, waarbij de motion plant block overeenkomt met een integrator en de traagheid van de drive met een pool.
Modelleren en simuleren van positioneersystemen
26
Figuur 6.7: Schematische voorstelling regelstructuur
Als er wel wrijving aanwezig is dan zal de integrator veranderen naar een pool en wordt de motion plant block (aangedreven machine) vervangen door het rechter blokje in figuur 6.8, hier is de wrijving (D) een constante. Nu bestaat het systeem uit twee polen in plaats van één pool en één integrator. Deze blokjes (Figuur 6.8) zijn de transfertfuncties van het systeem, hoe de transfertfunctie bepaald werd kan teruggevonden worden in bijlage 10.
Figuur 6.8: Wrijving gedimensioneerd in het s-domein
Deze polen en integrator zijn duidelijk zichtbaar in de bodes van figuur 6.9, door gebruik te maken van figuur 6.9.
Figuur 6.9: Bodeplots voor K, 1/(τs + 1) en 1/s [5]
Door gebruik te maken van de tijdsconstanten van de inertie (τ )en de vertraging door de stroomopbouw (τ ) kan de frequentie bepaald worden, zo word de locatie in de bode duidelijk (Figuur 6.10).
Modelleren en simuleren van positioneersystemen
27
J .π = 6,6ms & τ = 5,6ms 30 Of 1 1 1 1 = = 151 rad/s & = = 178 rad/s τ 0,0066 τ 0,0056 τ =
Als er gekeken wordt naar de wrijving (een versterking K) bepaald uit de bode(+10dB), dan komt deze ongeveer overeen met de ingestelde wrijving. De wrijving zorgt voor een afvlakking bij de amplitude en een latere faseverzwakking.
D D
10
= 1020 = 3 Nms/rad
= 2,5 Nms⁄rad ≈ Dbode = 3 Nms/rad
Uit deze vereenvoudigde bodes zijn de eigenschappen van het systeem (inertie, 1e orde systeem, wrijving) duidelijk zichtbaar. Als er gekeken wordt naar de bode in figuur 6.6 is dit minder gemakkelijk in te zien, dit komt doordat de wrijving geen constante is.
Figuur 6.10: Open-lus bodes zonder wrijving en met wrijving
Modelleren en simuleren van positioneersystemen
28
6.2. Snelheidsregelaar instellen Nu de motion simulatie gevalideerd is, kan de snelheidsregelaar ingesteld worden (Figuur 6.11). Er kan gebruik gemaakt worden van systeemidentificatie. Het symmetrisch optimum is hier niet toepasbaar omdat de wrijving van het systeem niet verwaarloosbaar is, zie bijlage 11.
Figuur 6.11: Instellen snelheidsregelaar in SImulink
6.2.1. Systeemidentificatie Hier zal de snelheidsregelaar ingesteld worden door gebruik te maken van bodeplots [5]. Er zal gestreefd worden naar de ideale open-lus bodekarakteristiek van het systeem met toegevoegde regelaar. Een goede verhouding tussen een dynamisch en anderzijds robuust systeem is essentieel. Dit is ook hoe de drive zijn regelaars instelt via autotuning, zie bijlage 12. Algemeen Om de juiste wenswaarde te bereiken of om het juiste traject te volgen zijn vaak integratoren nodig. Daarom zal de initiële helling van de amplitudekarakteristiek -20 of -40dB/decade moeten zijn, zie figuur 6.12. De frequentie waarbij de signalen niet langer versterkt worden, maar verzwakt worden is de bandbreedte. Naarmate die bandbreedte groter wordt, zullen signalen met een hogere frequentie beter door het systeem geraken. Het systeem zal dus sneller kunnen werken. Hier is het dus intuïtief dat een grotere bandbreedte een betere dynamiek zal opleveren. Hierin moet ook een evenwicht gevonden worden aangezien hoogfrequente signalen vaak storingen zijn die het liefst verzwakt worden. De fasemarge is een essentiële parameter voor het bepalen van de robuustheid van het systeem, daarom moet deze ook voldoende groot zijn.
Modelleren en simuleren van positioneersystemen
29
Figuur 6.12: De open-lus bodekarakteristiek van een optimaal geregeld systeem [5]
Aanpak In principe kan de bode gebruikt worden van figuur 6.6, maar omdat als uitgangssignaal tr/min gebruikt wordt moet er een nieuwe bode aangemaakt worden. Het uitgangssignaal wordt dus standaard eenheid rad/s, zie figuur 6.13. Omdat de proportionele term van de snelheidsregelaar als eenheid Nm/rad/s heeft.
Figuur 6.13: Aanmaken bode in Simulink
Modelleren en simuleren van positioneersystemen
30
Afhankelijk of er een kleine of grote fasemarge genomen wordt zal de regelaar dynamisch of robuust ingesteld worden. Er zal een fasemarge gekozen worden van 30°. ∠G(jω) ∥
− 90° + 60° = −180° + ϕ
(6.3)
De snelheidsregelaar is een PI regelaar en bevat dus een versterker en integrator. Deze integrator zal de fase 90° naar beneden trekken waardoor de kritische hoek van -180° sneller bereikt wordt. Het nulpunt kan nu gebruikt worden om de fasemarge op te krikken. Bij zeer hoge frequenties zal een nulpunt een fasevoorsprong van 90° opleveren. Het is echter niet realistisch om met die 90° te werken omdat deze zeer hoge frequenties niet door het systeem kunnen. Een fase voorsprong van 60° is wel realistisch, zie figuur 6.14 . PI = K
PI =
K T
1+
1 T.s
T.s + 1 s
Figuur 6.14: Het nulpunt trekt de fase omhoog [5]
De fase van het origineel systeem ∠G(jω) wordt door de integrator dus met 90° verlaagd en door het nulpunt met 60° verhoogd bij ω = ω . Als een gewenste fasemarge ϕ (30°) vooropgesteld wordt dan kan de pulsatie ω bepaald worden uit de bode, zie figuur 6.15. ∠G(jω) ∥
= 90° − 60° − 180° + 30° = −120° ∠ (
)∥
= −120°
Modelleren en simuleren van positioneersystemen
31
Figuur 6.15: Open-lus bode simulatie
Bij de pulsatie ω worden:
(71 rad/s) moet de fase 60° omhoog getrokken worden. Op die manier kan Ti bepaald
∠(1 +
)∥
tan(60°) =
T = T
= 60° ω. T 1
tan (60°) = 0,0244s 71
= 0,0244s ≈ T
= 0,024s
Modelleren en simuleren van positioneersystemen
32
Bij ω zal het verschil tussen de werkelijke fase en -180° dus gelijk zijn aan de fasemarge. Dit is dus de frequentie waarbij de amplitudekarakteristiek de 0dB moet snijden. Op die manier kan de versterking van het systeem bepaald worden ( ( ) = -16 dB), zie figuur 6.15 . 20 log|
|
+ 20 log
+1
= −20 log| (
)|
(6.4)
Als de bode van de integrerende factor bepaald wordt (zie figuur 6.16), kan een versterking van 1,27dB bij een frequentie van 70.3rad/s afgelezen worden. regelaar=tf([Ti 1],[Ti 0]) bode(regelaar,logspace(1.5,2.5))
Figuur 6.16: Bode integrator
20 log|K |
+ 1,27dB = 16dB
Hieruit kan Kp bepaald worden: 20 log|K |
= 14,73dB 14,73 20
Kr = 10
= 5,5
Kr−simulatie = 5,5 ≈ Kr−demonstrator = 12 Er kan besloten worden dat de instellingen van de snelheidsregelaar in de simulatie ongeveer overeenkomen met deze van de demonstrator. Bij beide wordt systeemidentificatie toegepast, waarbij de bodes bepaald werden. Uit deze bodes kon besloten worden dat de systemen overeenkomen, maar deze bodes komen nooit volledig overeen. Ook het bepalen van de versterking van het systeem om de proportionele term (Kp) te bepalen is niet eenduidig. Hierdoor komt de Kp van de simulatie niet volledig overeen met deze van de demonstrator. Het is wel duidlijk dat bij de drive en de simulatie dezelfde techniek toegepast wordt en ook ongeveer dezelfde resultaten verkregen worden. Dit is aannemelijk, aangezien een simulatie nooit 100% kan overeenkomen met de realiteit. Ze liggen ‘dicht’ bij elkaar waardoor er kan besloten worden dat een co-simulatie een eerste goede hulp is bij het afregelen van het systeem. Dit zonder identificatie te hoeven uitvoeren op het werkelijke systeem (= stillegen proces = grote kost). Ook eventueel de invloed van het verhogen van de Kp of het aanpassen van Ti zijn zaken die zowel merkbaar zijn in de simulatie en die een eerste indruk kunnen geven van het effect hiervan. Modelleren en simuleren van positioneersystemen
33
6.2.2. Controle snelheidsregelaar Om te controleren of de snelheidsregelaar correct ingesteld is kan er een snelheidsresponsie bepaald worden. Hiervoor worden de waardes van de drive gebruikt om de snelheidsregelaar in te stellen. In figuur 6.17 is het duidelijk dat de snelheidsregelaar goed afgeregeld is bij zowel de simulatie als de drive. Wel is er bij de simulatie een groter doorschot van ongeveer 40%. Terwijl bij de drive maar een doorschot is van ongeveer 10%, deze fluctueert wel meer rond zijn eindwaarde. Waar dit verschil vandaan komt valt niet direct te verklaren en moet verder onderzocht worden. Wel wordt de eindwaarde in dezelfde tijd bereikt.
Figuur 6.17: Snelheidsresponsie door systeemidentificatie
6.3. Positieregelaar Nu de snelheidsregelaar ingesteld is kan de positieregelaar ingesteld worden van de cascaderegeling (Figuur 6.18).
Figuur 6.18: Instellen positieregelaar
Deze positieregelaar is een eenvoudige P-regelaar, er wordt dus enkel een versterking bepaald. Er zou weer een bode kunnen bepaald worden van het systeem om de positieregelaar in te stellen. Maar het is eenvoudiger om de P factor te verhogen tot het systeem instabiel wordt. Modelleren en simuleren van positioneersystemen 34
Kp−simulatie = 1 = Kp−demonstrator = 1 De instelling van de snelheidsregelaar van de simulatie komt overeen met deze van de demonstrator. Bij de drive wordt er een standaard waarde ingesteld en wordt op dezelfde manier de regelaar afgesteld.
6.4. Controle simulatie Bij positioneerapplicaties is het volgen van een opgelegd traject cruciaal, daarom is het ook belangrijk om na te gaan of de simulatie en de demonstrator hierop eenzelfde respons hebben. Hoe dit in de simulatie gedaan wordt is zichtbaar in figuur 6.19, dit traject is afkomstig van het Matlab script in bijlage 8.
Figuur 6.19: Aanleggen traject in Simulink
Uit de trajectopvolging van de demonstrator en de simulatie in figuur 6.20 kan er besloten worden dat deze bijna identiek zijn, er is bij beide een volgfout. Hetzelfde kan gezegd worden over het snelheidsprofiel bij de simulatie en demonstrator, deze liggen bijna perfect bij elkaar. Bij het koppelprofiel zijn er wel verschillen zichtbaar, hier zal er bij de demonstrator meer fluctuatie zijn, wat ook zichtbaar was bij de snelheidsresponsie in figuur 6.17. Tabel 6.2: Aanmaken traject
Nummer 1 2 3 4
Positie [LU] 50000 70000 40000 0
Snelheid [LU*1000/min] 3000 2000 500 1000
Instelling demonstrator Snelheidsregelaar Positieregelaar
Kr = 12 Ti=24ms Kp=1
Instelling simulatie Snelheidsregelaar Positieregelaar
Kr=5 Kp=1
Acceleratie [%] 100 50 10 100
Deceleratie [%] 100 100 100 100
Ti=24ms
Modelleren en simuleren van positioneersystemen
35
Figuur 6.20: Trajectopvolging simulatie & demonstrator
Modelleren en simuleren van positioneersystemen
36
6.5. Feedforward In figuur 6.20 was zichtbaar dat er bij de demonstrator en de simulatie een volgfout was. Deze volgfout is bijna identiek bij de simulatie en de demonstrator (Figuur 6.21).
Figuur 6.21: Volgfout demonstrator & simulatie
Als bij de simulatie en de demonstrator een feedforward van 100% ingesteld wordt dan reduceert de volgfout tot bijna 0mm.
Figuur 6.22: Volgfout met feedforward demonstrator & simulatie
Modelleren en simuleren van positioneersystemen
37
7 Besluit Deze masterproef is een mooie toepassing op het ontwerpen van mechanische systemen zonder beroep te moeten doen op het bouwen van verschillende prototypes. Er kon een eerste simulatie getest worden met Simulink. Na enkele mislukte pogingen om een regelsysteem te realiseren werd duidelijk dat het belangerijk is om na te kijken in welke eenheid de parameters staan. Ook het stapgewijs zoeken naar een fout en hierbij logisch redeneren is een niet te missen statement. Dan konden de regelaars degelijk ingesteld worden, dit door gebruik te maken van systeemidentificatie technieken. De verworven kennis wordt nu toegepast op twee bestaande proefstanden waardoor er direct kan vergeleken worden. Hierbij wordt er rekening gehouden met wrijving en feedforward om dit te compenseren. Er werd dan een vergelijkende studie gedaan waaruit besloten kan worden dat de simulatie in grote lijnen te vergelijken valt met de proefopstelling. Wat ook te verwachten was, aangezien een simulatie nooit volledig kan overeenkomen met de realiteit. Het is wel een goede hulp bij het ontwikkelen van een machine, ook het instellen van de regelaars bij een bestaande machine kan eerst uitgetest worden in de simulatie. Zo kunnen de instelling bepaald in de simulatie direct toegepast worden op de machine, wat resulteert in een kortere stilstandtijd. Het voordeel van een motion model is dat deze snel aangemaakt is in vergelijking met een prototype. Deze is gemakkelijk aanpasbaar en vroegtijdig kunnen al ontwerpproblemen gedetecteerd worden. Hier was de demonstrator reeds aanwezig maar kunnen er in de simulatie snel aanpassingen gedaan worden. Zoals de massa van de belasting om te kijken of de performantie van de applicatie nog voldoet. Of een andere overbrenging definieeren zoals een riemoverbrening of de overbrengingsverhouding veranderen door een reductor te voorzien. In de simulatie zijn de mogelijkheden eindeloos en geven deze snel een idee of dit praktisch mogelijk is. Een tweede voordeel is de bestaande cascaderegeling in Simulink, deze kan makkelijk hergebruikt worden voor andere projecten waar dezelfde Siemens drive van toepassing is. Enkel de regelaars moeten opnieuw ingesteld worden. Het instellen van deze regelaars gebeurt met dezelfde methode als bij de drive en geeft ongeveer gelijkaardige resultaten. De verschillende profielen verkregen door trajectopvolging zijn bijna identiek bij dezelfde instelling van de regelaars. Al deze conclusies tonen aan dat de simulatie een geschikte tool is voor het ontwerpen van lineaire positioneerapplicaties.
Modelleren en simuleren van positioneersystemen
38
8 De Literatuurlijst [1] Jean Pollefiet, (2009). Elektronische vermogencontrole. Volume 2: Elektronische motorcontrole – 2de oplage. Gent: Academia Press [2] W. DE CLIPPELEER, W.Dax, K.Gundelfinger, W.Häffner, H.Itschner, G. Kotsch (2004). Tabellenboek voor metaaltechniek. Mechelen: Wolters Plantyn [3] K. Stockman (2012). Ontwerp elektromechanische aandrijvingen. Kortrijk: Cusoa [4] K. Stockman (2012). Geavanceerde aandrijftechniek. Kortrijk: Cursoa [5] S. Derammelaere. I. Sweertvaegher (2011), Regeltechniek. Kortrijk: Cursoa [6] H. Van Brussel, J. Swevers. New Applications of Linear Motors and Advanced Control Technology. [7] Siemens, NX motion control simulation: Mechanical/control system analysis [8] Howest, Systeemidentificatie handout
Modelleren en simuleren van positioneersystemen
39
9 Bijlagen 9.1. Bijlage 1: Exploded view testbank
Modelleren en simuleren van positioneersystemen
40
9.2. Bijlage 2: Power modules PM340
Modelleren en simuleren van positioneersystemen
41
Modelleren en simuleren van positioneersystemen
42
9.3. Bijlage 3: Encoder module SMC20
Modelleren en simuleren van positioneersystemen
43
Modelleren en simuleren van positioneersystemen
44
9.4. Bijlage 4: Aansluiting torque motor aan drive
Modelleren en simuleren van positioneersystemen
45
9.5. Bijlage 5: Performantie tandwieloverbrenging Aangezien de proefopstelling volledig aanwezig is en de juiste aansturing gekozen is. Kan er een reverse engineering van de aandrijving uitgevoerd worden. Hiervoor zullen verschillende berekeningen gedaan worden i.v.m. versnelling, snelheid, ect.
9.5.1. Versnellingen en vertragingen van de slede Eerst wordt het koppel berekend dat de motor maximaal kan leveren[3].: M
= K .I
M M
= K .I
(9.1) (9.2)
= 2,5.10 = 25 Nm
Statisch koppel: F
= m . μ . g
(9.3)
Omdat er 2 tandwielen aanwezig zijn is er dubbel zoveel wrijving. Daarom wordt er rekening gehouden met een rendement van 90%. De massa van de slede is gewogen geweest. = 55. (0.1 + 0.1). 9,81 = 110 N
F
De steekcirkeldiameter van het aangedreven tandwiel is 64mm. M
M
=F
= 110.
D 1 . . 2 η
(9.4)
0,064 1 . = 4Nm 2 0,9
Versnellingskoppel: M
= M
+M
(9.5)
M = 25 − 4 = 21Nm Rotorversnelling: De inerties van de tandwielen en bijhorende assen zijn bepaald door NX, deze van de rotor werd uit de datasheet gehaald. Voor het aangedreven tandwiel met rotor is dit 0,0065 kgm² en het vilttandwiel 0,0014kgm². De massa van de slede (m) werd bepaald door de verschillende onderdelen te wegen, de diameter van het aandreven tandwiel werd gehaald uit tabel3.2 . 1 M = J . α . (9.6) η J = J J
J
+ J
+J
D = m. ( )² 2
(10.7) (9.8)
0,064 = 55. ( ) = 0,056kg. m² 2
Modelleren en simuleren van positioneersystemen
46
Merk op! De inertieverhouding tussen motor en last is ongeveer 10:1, dit is het maximale toelaatbare. Omdat een grote inertieverhouding een probleem kan worden als: -
De gekoppelde stijfheid tussen de motor en last laag is. En/of de last niet handelbaar is (te kleine lastversnelling)
Dit wordt duidelijk in figuur 9.1 waarbij de inertieverhouding en de gekoppelde stijfheid aangepast worden.
Figuur 9.1: Principe gekoppelde stijfheid [6]
Deze opstelling is een direct drive toepassing, dit wil zeggen dat er geen reductor aanwezig is. Hierdoor is er een grote inertieverhouding. Dit wordt gecompenseerd door het aangedreven tandwiel dat bestaat uit twee tandwielen, hierdoor kan er voorspanning voorzien worden wat resulteert in een grotere stijfheid. Anderzijds is er wel een grote lastversnelling. J = 0,056 + 0,0065 + 0,0014 = 0,063kg. m² α =
21.0,9 = 300rad/s² 0,063
Rotorvertraging: M α
=
= J .α
.η
(9.9)
21 = 370 rad/s² 0,063.0,9
Modelleren en simuleren van positioneersystemen
47
Versnelling: .r = a
(9.10)
300.0.032 = 9,6 m/s²
Vertraging: .r = a
(9.11)
370.0.032 = 11,84 m/s²
(9.12)
9.5.2. Bewegings- en Koppeldiagram Maximale verplaatsingssnelheid[3]: v
v
=
=
n
. D. π 60
(9.13)
1000.0,064. π = 3,35m/s 60
Aanlooptijd: t =
t =
v a
(9.14)
3,35 = 0,35 s 9,6
Aflooptijd: t
t
=
=
v a
(9.15)
3,35 = 0,284 s 11,8
Aanloopweg: 1 s = .a .t ² 2
(9.16)
1 s = . 9,6.0,35² = 0,59m 2 Afloopweg: s
s
1 = .a 2
.t
²
(9.17)
1 = . 11,8.0,284² = 0,476m 2
Modelleren en simuleren van positioneersystemen
48
Verplaatsingsweg: Als verplaatsingsafstand wordt er 2 meter genomen. s = s−s
− s
(9.18)
s = 2 − 0,476 − 0,476 = 1,048m Verplaatsingstijd: t =
t =
s v
(9.19)
1,048 = 0,25 s 3,35
Nu kan het bewegingsdiagram getekend worden zie figuur 9.2.
Figuur 9.2: Koppel-/snelheidsdiagram motor
Modelleren en simuleren van positioneersystemen
49
9.5.3. Positioneernauwkeurigheid Aangezien er een dubbel tandwiel gebruikt wordt, moet er geen rekening meer gehouden worden met de speling hiervan. Wel moet er nog gekeken worden naar de resolutie van de encoder, deze is 3600 pulsen op 360° (Tabel 3.1). In tabel 3.1. kan de tolerantie van de motor weergevonden worden deze is ± 45 Arc sec. De herhaalbaarheid is ± 3 Arc sec deze werd verwaarloosd [3]. ∆s = ±
D. π D. π. β ± 3600. i 360°
9.20
De steekcirkeldiameter van het aangedreven tandwiel is 64 mm, met een overbrengingsverhouding van 1:1. Het aantal pulsen voor 360° is 3600. D. π 64. π = = 0,056 3600. i 3600.1 De tolerantie van de motor is ± 45 Arc sec als, dit wordt omgezet naar graden
°.
45 D. π. β 64. π. 3600 = = 0,007 360° 360° ∆s = ±0,056 ± 0,007 = 0,063 mm Er wordt een speling verwacht van 0,063 mm, waarbij de grootste onnauwkeurigheid veroorzaakt wordt door de encoder.
Modelleren en simuleren van positioneersystemen
50
9.6. Bijlage 6: Probleemstelling rack & pinion Als er een tandwiel-tandheugel overbrenging voorzien wordt dan zal de tandheugel bewegen en het aangedreven tandwiel blijven staan. In deze applicatie is het omgekeerd en zal het aangedreven tandwiel meebewegen met de slede terwijl de tandheugel bevestigd is aan het onderstel. Hoe wordt dit gerealiseerd in NX?
Links Er wordt vertrokken van de verschillende links (Figuur 9.3), dit zijn de verschillende componenten die samengenomen kunnen worden tot één onderdeel. Dit is de slede die bestaat uit de tandwielen, motor, belasting,... Het aangedreven tandwiel en het vilttandwiel. Het onderstel, dit zijn alle componenten die niet bewegen. 3
[A]
1
[B] [C]
2
[D] Figuur 9.3: Aanmaken links
Joints Nu kunnen de verschillende onderdelen (links) voorzien worden van een specifieke beweging (joint), zie figuur 9.4. De slede zal lineair kunnen bewegen (slider). De tandwielen kunnen draaien rond hun eigen as (revolute) en bewegen mee met de slede, deze hebben een dubbele functie. Het onderstel staat vast (fixed).
1
1
2 2 3 Figuur 9.4: Aanmaken joints
Modelleren en simuleren van positioneersystemen
51
Couplers Om ervoor te zorgen dat de draaiende beweging van het tandwiel wordt omgezet naar een lineaire beweging van de slede wordt er een tandwiel-tandheugel overbrenging gecreëerd (rack & pinion), zie figuur 9.5. Deze bestaat uit het bewegende tandwiel en de slede.
1 2 Figuur 9.5: Aanmaken couplers
Oplossing, instellen van de joints De tandwielen moeten om hun eigen as draaien en meebewegen met de slede. Daarom worden er als acties (action [C]&[D]) de linken van de tandwielen geselecteerd en als basis (base [B]) de slede, zie figuur 9.6.
[C]
[D]
[B]
[B]
Figuur 9.6: Instellen joints van de tandwielen
Modelleren en simuleren van positioneersystemen
52
Om de slede te laten bewegen wordt er als actie (action [A]) het onderstel genomen en als basis (base [B]) de slede. Dit is omdat de slede gebruikt wordt als tussenlink om de tandwielen zowel te laten draaien om hun as als te laten meebewegen met de slede. Hierbij zal de slede bewegen ten opzichte van het stilstaande onderstel, zie figuur 9.7.
[A]
[B]
Figuur 9.7: Instellen joint slede
Modelleren en simuleren van positioneersystemen
53
9.7. Bijlage 7: Wrijving importeren in NX Importeren in NX Nu er bevestigd is dat de wrijvingscurve aanneembaar is, kan deze geïmporteerd worden in NX. Dit gebeurt door NX een Excel bestand te laten aanmaken waarin bepaald wordt welke eenheden er gebruikt worden (rad/s & Nm), alsook het aantal punten in Excel, zie figuur 9.8.
Figuur 9.8: Aanmaken excel bestand in NX
Figuur 9.9 is dan de aangemaakte wrijvingskarakteristiek in NX, waarbij het rechtergedeelte afkomstig is van figuur 4.7. Bij stilstand mag er geen wrijvingskoppel aanwezig zijn anders zou de applicatie bewegen zonder dat er een koppel uitgestuurd wordt. En als er in tegengestelde zin wordt bewogen moet er een wrijvingskoppel aanwezig zijn.
Figuur 9.9: Aangemaakt wrijvingsprofiel in NX
Modelleren en simuleren van positioneersystemen
54
9.8. Bijlage 8: Matlab script, aanmaken traject In het Matlab script is het mogelijk om alle parameters in te geven van de applicatie. Dit zijn de mechanische parameters en de regeltechnische parameters. De conversies gebeuren in het simulinkschema. Zo kunnen de bepaalde waardes rechtstreeks ingevuld worden, zoals in de drive. Het is ook mogelijk om een traject aan te maken met dezelfde parameters als in de drive. Hiervoor wordt er gebruik gemaakt van de bewegingsvergelijking [2]:
=
+ v. t +
. 2
(9.21)
Waarbij er bij elk tijdstip een bepaalde snelheid zal meegeven worden, hiertussen wordt er dan geïnterpoleerd. In Simulink zal dit signaal(aangemaakt snelheidsprofiel) geïntegreerd worden zodat een positietraject aangemaakt wordt, zie figuur 8.12.
Figuur 9.10: Aanmaken traject Simulink
Wanneer dit traject vergeleken wordt met het traject dat de drive aangemaakt heeft is er geen merkbaar verschil, zie figuur 9.11. In dit script kunnen er maximaal maar 4 posities ingesteld worden, een verdere optimalisatie is nodig.
Figuur 9.11: Aangemaakt traject drive & Simulink
Modelleren en simuleren van positioneersystemen
55
%POSITIEREGELAAR %-------------------------K_positie = 1; % P-actie positieregelaar %SNELHEIDSREGELAAR %-------------------------K_snelheidsregelaar = 5; % P-actie snelheidsregelaar [Nms/rad] Ti_snelheidsregelaar = 24; % I-actie snelheidsregelaar [s] %Max limieten motor & gegevens %-------------------------Tmax = 20; % max. koppel motor [Nm] Tmin = -20; % min. koppel motor [Nm] Vmax= 1000; % max. snelheid motor [tr/min] Vmin=-1000; % min. snelheid motor [tr/min] straal= 0.032; % steekcirkeldiameter aangedreventandwiel [m] inertie=0.063; % intertie motorzijde [kgm²] versnelling_koppel=2; % versnellingskoppel [Nm] encoder_resolutie=3600; % encoder resolutie [pulsen per toer] Ts=0.0025; % sampeltijd simulatie [s] LU=10000; % aantal Length Units per toer volgens drive %Instellen traject (enkel positieve posities) %-------------------------aantal=4; % aantal posities die bereikt worden accelleratie= 100; % accelleratie [%] decelleratie= 100; % decelleratie [%] snelheid = 3000; % snelheid [LU/min] positie = 50000; % positie [LU] accelleratie1= decelleratie1= snelheid1 = positie1 =
50; 100; 2000; 70000;
accelleratie2= decelleratie2= snelheid2 = positie2 =
10; 100; 500; 40000;
accelleratie3= decelleratie3= snelheid3 = positie3 =
100; 100; 1000; 0;
%gegevens naar simulink versnelling=versnelling_koppel/inertie; %versnelling [tr/s²] ta=(snelheid/600)/((accelleratie/100)*versnelling); %accelleratie tijd td=(snelheid/600)/((decelleratie/100)*versnelling); %decelleratie tijd tv=((positie/10000)-(((accelleratie/100)*versnelling)*ta^2)/2(((decelleratie/100)*versnelling)*td^2)/2)/(snelheid/600); %tijd constante snelheid if tv>0 && aantal ==1; tt=ta+td+tv; elseif tv>0 && aantal>1; tt=ta+td+tv(((snelheid+snelheid1)/2)/600)/((decelleratie/100)*versnelling); Modelleren en simuleren van positioneersystemen
bij
56
else tt=ta+td; tv=0; end positie1old=positie1; if positie1old-positie < 0 positie1=positie-positie1old; else positie1=positie1old-positie; end ta1=(snelheid1/600)/((accelleratie1/100)*versnelling); td1=(snelheid1/600)/((decelleratie1/100)*versnelling); tv1=((positie1/10000)-(((accelleratie1/100)*versnelling)*ta1^2)/2(((decelleratie1/100)*versnelling)*td1^2)/2)/(snelheid1/600); if tv1>0 && aantal ==2 tt1=ta1+td1+tv1; elseif tv1>0 &&aantal>2 tt1=ta1+td1+tv1(((snelheid1+snelheid2)/2)/600)/((decelleratie1/100)*versnelling)+0.1; else tt1=ta1+td1; tv1=0; end if positie1old-positie < 0 snelheid1=-snelheid1; end positie2old=positie2; if positie2old-positie1old < 0 positie2=positie1old-positie2old; else positie2=positie2old-positie1old; end ta2=(snelheid2/600)/((accelleratie2/100)*versnelling); td2=(snelheid2/600)/((decelleratie2/100)*versnelling); tv2=((positie2/10000)-(((accelleratie2/100)*versnelling)*ta2^2)/2(((decelleratie2/100)*versnelling)*td2^2)/2)/(snelheid2/600); if tv2>0 tt2=ta2+td2+tv2; elseif tv2>0 && aantal>3 tt2=ta2+td2+tv2(((snelheid2+snelheid3)/2)/600)/((decelleratie2/100)*versnelling); else tt2=ta2+td2; tv2=0; end if positie2old-positie1old < 0 snelheid2=-snelheid2; end positie3old=positie3; if positie3old-positie2old < 0 positie3=positie2old-positie3old; else positie3=positie3old-positie2old; end ta3=(snelheid3/600)/((accelleratie3/100)*versnelling); td3=(snelheid3/600)/((decelleratie3/100)*versnelling); tv3=((positie3/10000)-(((accelleratie3/100)*versnelling)*ta3^2)/2(((decelleratie3/100)*versnelling)*td3^2)/2)/(snelheid3/600); if tv3>0 Modelleren en simuleren van positioneersystemen
57
tt3=ta3+td3+tv3-0.1; else tt3=ta3+td3; tv3=0; end if positie3old-positie2old < 0 snelheid3=-snelheid3; end %if structuur waarbij er gekeken wordt hoeveel posities er zijn if aantal == 0 tt=0; ta=0; td=0; positie=0; tt1=0; ta1=0; td1=0; positie1=0; tt2=0; ta2=0; td2=0; positie2=0; tt3=0; ta3=0; td3=0; snelheid=0; snelheid1=0; snelheid2=0; snelheid3=0; elseif aantal == 1 tv=ta+tv; tt1=tt; ta1=tt; tv1=tt; tt2=tt; ta2=tt; tv2=tt; tt3=tt; ta3=tt; tv3=tt; snelheid1=0; snelheid2=0; snelheid3=0; elseif aantal == 2 tv=ta+tv; ta1=tt+ta1; tv1=ta1+tv1; tt1=tt+tt1; tt2=tt1; ta2=tt1; tv2=tt1; tt3=tt1; ta3=tt1; tv3=tt1; snelheid2=0; snelheid3=0; elseif aantal ==3 Modelleren en simuleren van positioneersystemen
58
tv=ta+tv; ta1=tt+ta1; tv1=ta1+tv1; tt1=tt+tt1; ta2=tt1+ta2; tv2=ta2+tv2; tt2=tt1+tt2; tt3=tt2; ta3=tt2; tv3=tt2; snelheid3=0; elseif aantal==4 tv=ta+tv; ta1=tt+ta1; tv1=ta1+tv1; tt1=tt+tt1; ta2=tt1+ta2; tv2=ta2+tv2; tt2=tt1+tt2; ta3=tt2+ta3; tv3=ta3+tv3; tt3=tt2+tt3; end %Interpolleren %------------%Traject aangemaakt door script X=[0 ta tv tt ta1 tv1 tt1 ta2 tv2 tt2 ta3 tv3 tt3 tt3 ]; Y=[0 snelheid snelheid snelheid1 snelheid1 snelheid1 snelheid2 snelheid2 snelheid2 snelheid3 snelheid3 snelheid3 0 0]./(60); simin=[X' Y']; %Traject aangemaakt door de demonstrator A=volledigtraject(:,1); B=volledigtraject(:,2); simin1=[A B];
Modelleren en simuleren van positioneersystemen
59
9.9. Bijlage 9: Aanmaken bode in Matlab In dit Matlab scipt wordt de bode aangemaakt door een ruis aan te leggen en het ingangssignaal en het uitgangsignaal uit de simulatie te halen (Figuur 9.12).
Figuur 9.12: Uitlezen van het ingangs/uitgangssignaal
Het commando “tfestimate” maakt gebruik van de H1 estimate methode [8]. Door ruis op de ingang van het systeem te voorzien (Figuur 9.12). H (f) =
Y(f)U ∗ (f) G = U(f)U ∗ (f) G
(9.22)
Dit is eigenlijk de methode die besproken werd in hoofdstuk 6.1.2, waarbij onderstaande formule toegepast werd: FFT[(y(t))] (9.23) H (f) = FFT[u(t)] In dit commando moeten het ingangssignaal en uitgangssignaal toegekend worden met de sampletijd waarover gemeten wordt. Zo zal Matlab de bode bepalen voor dit systeem, er moeten dan nog wat conversies gedaan worden om het frequentiedomein van Hz naar rad/s te krijgen.
%Opgemeten transfertfuncties T=SnelheidIn.signals.values; Theta_dot_1=SnelheidUit.signals.values; %estimates [Theta_dot_1_T,FTheta_dot_1_T]=tfestimate(T,Theta_dot_1,[],[],[],1/0.125);
%Verschalen van assen RTheta_dot_1_T=FTheta_dot_1_T*2*pi; A_Theta_dot_1_T=20*log10(abs(Theta_dot_1_T)); P_Theta_dot_1_T=angle(Theta_dot_1_T)/pi*180; %Ingaande Snelheid t.o.v. Uitgaande Snelheid figure1 = figure('Name','Ingaande Snelheid t.o.v. Uitgaande Snelheid','Color',[1 1 1]); subplot1 = subplot(2,1,1,'Parent',figure1,'XScale','log','XMinorTick','on'); box(subplot1,'on'); Modelleren en simuleren van positioneersystemen
60
hold(subplot1,'all'); semilogx(RTheta_dot_1_T,A_Theta_dot_1_T,'Parent',subplot1,'LineWidth',2); xlabel('Frequentie [rad/s]'); ylabel('Amplitude [dB]'); hold on title('Ingaande Snelheid t.o.v. Uitgaande Snelheid'); subplot2 = subplot(2,1,2,'Parent',figure1,'XScale','log','XMinorTick','on'); box(subplot2,'on'); hold(subplot2,'all'); semilogx(RTheta_dot_1_T,P_Theta_dot_1_T,'Parent',subplot2,'LineWidth',2); xlabel('Frequentie [rad/s]'); ylabel('Fase [°]');
Modelleren en simuleren van positioneersystemen
61
9.10. Bijlage 10: Bepalen transfertfunctie van systeem Het mechanische systeem bestaat in hoofdzaak uit een massa vanuit translerend opzicht of uit een inertie vanuit roterend opzicht. Deze traagheden zijn verbonden met veren die de stijfheid en dus ook de eigenfrequenties van het systeem bepalen. Elk van deze traagheden ondervindt in zekere mate wrijving. Bij een mechanisch star systeem kunnen de veren verwaarloosd worden en alle traagheden samen genomen worden. De wrijving die optreedt, kan gekarakteriseerd worden zoals in Figuur 9.13. De karakteristiek kent een niet lineair verloop in functie van de snelheid en omvat de statische wrijvingscomponent, dit is de wrijving die overwonnen moet worden om te kunnen bewegen en de dynamische wrijvingscomponent, dit is de wrijving die optreedt bij beweging (coulomb wrijving en viskeuze wrijving).
Figuur 9.13: Wrijvingskarakteristiek
Een eenvoudig mechanisch model bestaat uit één traagheid (som van alle traagheden gerelateerd naar de motor) en een lineaire wrijvingskarakteristiek. Voor een roterend systeem wordt dit: T − Dω = Jα Met
(9.24)
T geleverd motorkoppel B viskeuze wrijving J inertie hoeksnelheid hoekversnelling
Vorige vergelijking is een lineaire differentiaalvergelijking en kan herschreven worden als:
T−B
dθ d θ =J dt dt
(9.25)
Met θ hoekpositie
Modelleren en simuleren van positioneersystemen
62
Met de Laplace-operator s wordt de transfert tussen motorkoppel en lasthoeksnelheid of tussen motorkoppel en lasthoekpositie: ω(s) 1 (9.26) = T(s) Js + B θ(s) 1 = T(s) s(Js + B)
(9.27)
Praktisch bestaan er geen “starre” opstellingen. Het systeem zal één of meerdere dominante eigenfrequenties bevatten. Voor de regeling komt het er op aan om deze eigenfrequenties niet aan te stoten. Meestal wordt getracht om de brandbreedte van de regelaar twee tot drie maal onder de laagste eigenfrequentie te houden. Wanneer toch een grotere brandbreedte gewenst, is moeten geavanceerde technieken of mechanische redesign doorgevoerd worden.
Modelleren en simuleren van positioneersystemen
63
9.11. Bijlage 11: Symmetrisch optimum Om de snelheidsregelaar in te stellen is het symmetrisch optimum vereist, figuur 9.14 is de vereenvoudigde voorstelling van de snelheidsregelaar.
Figuur 9.14: Vervangingsschema snelheidsregelaar
Instellen van de integrator T T = 4. ε
(9.28)
Eerst wordt de traagheid van de drive bepaald, deze wordt bepaald worden door een stroomvraag te doen in de drive en te kijken hoe lang het duurt om deze op te bouwen (Figuur 9.15):
Figuur 9.15: Stroomopbouw drive
τ
= 5,6ms
ε = 5,6 + 0,5 = 6,1 ms Modelleren en simuleren van positioneersystemen
64
De integrator van de snelheidsregelaar wordt dan ingesteld op: T = 4. ε = 4.6,1 = 24,4 ms T
= 0,0244s
Instellen van de versterkingsfactor K =
τ 2. ε. K
(9.29)
De machine zorgt voor een bepaalde vertraging. Deze vertraging is afhankelijk van de inertie, door deze inertie te vermenigvuldigen met een constante wordt de equivalente integratietijdsconstante ( τ ) verkregen. Deze integratietijdsconstante moet de vertraging door de inertie compenseren. τ =
J .π 30
K =K
(9.30)
(9.31)
De inertie( = 0,063 kg.m²) kan gehaald worden uit tabel 3.1. τ =
0,063. π = 0,0066 s 30
Versterkingsfactor van de motor (=Km) kan gehaald worden uit tabel 3.1 en is 2,5 Nm/Aeff. K = K = 2,5 De versterking wordt dan ingesteld op: K =
0,0066 = 0,22 2.0,0061.2,5
K
= 0,22
Controle symmetrisch optimum Om te controleren of de snelheidsregelaar correct is ingesteld kan er een snelheidsresponsie bepaald worden. Bij het symmetrisch optimum (Figuur 9.16) wordt er een doorschot van 40% verwacht, daarom zal er een vertragingsnetwerk ingebouwd worden met als transfertfunctie: 1 4. ε. s + 1
Modelleren en simuleren van positioneersystemen
(9.32)
65
Figuur 9.16: Stapresponsie in geval van symmetrisch optimum zonder en met vertragingsnetwerk[1]
Aanpak Figuur 9.17 stelt het simulinkschema voor waar een stap aangelegd wordt om de snelheidsresponsie te krijgen. In dit simulinkschema zal er in de motion simulatie (Motion plant block) eens gewerkt worden met wrijving en zonder wrijving. Om het effect te zien wanneer het symmetrisch optimum toegepast wordt met wrijving. En zonder wrijving, zodat deze theoretisch overeenkomt met de vereisten van het symmetrisch optimum.
Figuur 9.17: Stap aanleggen in de simulatie
Wrijving Eens de waarden voor het symmetrisch optimum ingesteld zijn wordt de stapresponsie bepaald (Figuur 9.18). Hieruit kan afgeleid worden dat er veel doorschot is en de eindwaarde pas laat bereikt wordt (100ms), dit komt door de wrijving die aanwezig is. Deze wrijving zorgt voor een vertraging waardoor de proportionele term van de PI-regelaar veel te klein is. Wanneer via autotuning de drive ingesteld wordt is de proportionele term veel groter. Wel zijn de snelheidsresponsies verkregen door de simulatie en de demonstrator in te stellen volgens het symmetrisch optimum ongeveer gelijk. Dit bewijst nog eens dat de simulatie en demonstrator goed overeenkomen. Ook dat het symmetrisch optimum niet toegepast kan worden omdat de wrijving niet verwaarloosbaar is. K T
= 0,22 ≪ K = 0,0244s ≈ T
= 12 = 0,024s
Modelleren en simuleren van positioneersystemen
66
Figuur 9.18: Stapresponsie symmetrisch optimum
Zonder wrijving Als de wrijving nu weggelaten wordt in de simulatie dan wordt de eindwaarde sneller bereikt maar is er toch nog een doorschot van 80%, waar 40% wordt verwacht (zie figuur 9.19). Als hier dan nog een vertragingsnetwerk wordt ingebouwd dan verminderd deze doorschot naar 40% wat nog steeds te veel is. 1 4.6,1. s + 1
Figuur 9.19: Stapresponsie symmetrisch optimum
Modelleren en simuleren van positioneersystemen
67
Theoretisch Als er gebruik gemaakt wordt van het simulinkschema in figuur 9.20 dan wordt de motion plant block vervangen door een integrator. Zo wordt een regelschema verkregen zonder gebruik te maken van co-simulatie met NX, dit komt overeen met het vervangingsschema in figuur 9.15.
Figuur 9.20: Simulinkschema zonder motion simulatie
Als hier de stapresponsie bepaald wordt (Figuur 9.21), dan kan er besloten worden dat deze volledig overeenkomt met de theorie(Figuur 9.16). Er is een doorschot van 40% die kan weggewerkt worden door een vertragingsnetwerk.
Snelheid (tr/min)
16
Stap
14
Symmetrisch optimum
12
Vertraging
10 8 6 4 2 0 0
0,1
0,2
0,3
0,4
0,5
Tijd (s) Figuur 9.21: Snelheidsresponsie zonder co-simulatie
Door gebruik te maken van de motion simulatie in NX wordt er een andere stapresponsie verkregen dan de theoretische, hierdoor is het symmetrisch optimum niet toepasbaar, zelf als er geen wrijving aanwezig is.
Modelleren en simuleren van positioneersystemen
68
9.12. Bijlage 10: Autotuning drive Het autotunen van de drive gebeurt in vier stappen (Figuur 9.22), enkele van deze stappen zoals het instellen van de snelheidsregelaar en het bepalen van de stroomopbouw worden ook toegepast bij het instellen van de simulatie.
Figuur 9.22: Autotuning drive
Stap 1 & 2 In de eerste stap zal er een PRBS signaal(Figuur 9.23) aangelegd worden van 6Nm waardoor de slede langs één richting beweegt, zo wordt de bode van het systeem bepaald. In de tweede stap zal er een PRBS signaal aangelegd worden van -6Nm waardoor de slede in tegengestelde richting beweegt. Zo weet de drive of de applicatie in de ene richting anders belast wordt dan in de andere, bv. bij een lift. De eerste twee stappen zijn dus dezelfde, hier wordt de snelheidsregelaar ingesteld zoals dit gedaan wordt in de thesis (systeemidentificatie).
Figuur 9.23: Ruis aanleggen
Modelleren en simuleren van positioneersystemen
69
Stap 3 Bij de derde stap zal de drive een stroompuls genereren (Isq) zo wordt er bepaald hoe snel de motor zijn stroom opbouwt. De torque motor een PMSM wordt aangestuurd door de vectorregeling van een asynchrone motor, deze kan samengevat worden in drie basisformules. M i (s) =
= k. Φ . i
(9.33)
1 . i (s) ζ s+1
(9.34)
ω =ω +
i ζ .i
(9.35)
Omdat er bij een PMSM geen magnetisering moet gebeuren worden de formules: M
= k. Φ . i
(9.36)
i (s) = 0
(9.37)
ω =ω
(9.38)
De tijd waarin Isq opgebouwd wordt kan gehaald worden uit de motorgegevens (Tabel 3.1). τ
=
L 0,0075 = = 3,75ms R 2
Bij het autotunen zal de motor dit zelf bepalen door een gewenst stroom uit te sturen (Figuur 9.24).
Figuur 9.24: Stroomopbouw drive
Modelleren en simuleren van positioneersystemen
70
Belangrijk bij deze meting is dat de PMSM niet draait anders wordt het veld geactiveerd ( U =R i +L
di +e dt
e = k. ω. Φ
U =R i +L
di dt
= 0). (9.39) (9.40) (9.41)
Stap 4 Bij de vierde en laatste stap wordt de snelheidsregelaar ingesteld (Figuur9.25). PI = K
1+
1 T.s
(9.42)
Figuur 9.25: Instellen PI regelaar in Starter
Modelleren en simuleren van positioneersystemen
71
9.13. Bijlage 12: Project tandriemoverbrenging 9.13.1. Proefopstelling 9.13. 1.1. Mechanische werk ing De proefopstelling in figuur 9.26 is een opstelling waarbij twee sledes gebruikt worden om een virtuele cirkel te creëren met de staven die onderling verbonden zijn. Deze oefening geeft de mogelijkheid om te leren werken met Simotion. Zo kunnen de twee motors mooi synchroon draaien om deze cirkel te creëren. Anderzijds kan hiermee de beweging perfect gesimuleerd worden in NX motion simulation. Er zal maar één slede gebruikt worden, deze wordt losgekoppeld van de andere. Zo zal het dynamisch systeem weer volledig uitgewerkt worden in een motion simulatie. Hier zal de motor via een elastische koppeling doorverbonden worden met de getande riem die een lineaire overbrenging realiseert. Door deze tandriem een voorspankracht te geven zal de speling verminderd worden. Figuur 9.27 toont de opbouw van deze lineaire positioneerapplicatie.
Figuur 9.26: Demonstrator tandriemoverbrenging
Figuur 9.27: Exploded view tandriemoverbrenging
Modelleren en simuleren van positioneersystemen
72
9.13. 1.2. Aansturing De aansturing (zie figuur 9.28) is aanwezig en hoeft dus niet meer bepaald te worden. Het bestaat uit een controller en dubbele motormodule. De controller is een SimotionD (1), deze is doorverbonden met een dubbele motormodule die bestaat uit twee delen: de omvormer (2) van 3x400V AC naar 600V DC en de power module (3). De gelijkspanning van de omvormer (2) zal dan naar de tweede power module (3) gaan die de twee motors kan aansturen. Op deze module (3) komt ook het encoder signaal toe, deze is een resolver.
2
1 3
Figuur 9.28: Aansturing tandriemoverbrenging
De powermodule is van het type: - SIEMENS 6SL3120-2TE13-0AA0
I
=3A
De encoder is van het type: - SIEMENS 6SL3055-0AA00-5Nxx De motor een PMSM: - SIEMENS 1FK7022-5AK71-1UG0 De gegevens van de motor zijn terug te vinden in tabel 9.1.
Modelleren en simuleren van positioneersystemen
73
Tabel 9.1: Specificaties Siemens pmsm
symbool Nn 2p Mn In M0 I0 Jmot Nmax Mmax Imax
Nominale snelheid Aantal polen Nominaal koppel Nominale stroom Houdkoppel houdstroom inertie Maximale snelheid Maximaal koppel Maximale stroom
eenheid Tr/min Nm A Nm A Kgcm² Tr/min Nm A
6000 6 0,6 1,4 0,7 1,5 0,28 10000 3,4 7,5
kT kE Rph Ld Tel Ct Tmech
Nm/A V/1000 Tr/min Ohm mH Ms Nm/rad Ms
0,46 29 4,2 5,5 1,3 3000 1,7
Tth
Min
18
M
Kg
1,8
Fysieke constanten Koppel constante Spanning constante Wikkeling weerstand Motor inductie Elektrische tijdsconstante torsieasstijfheid Mechanische tijdsconstate Thermische tijdsconstante gewicht
9.13. 1.3. Performa ntie De performantie van deze slede werd uit de datasheet van Festo gehaald, deze worden weergeven in tabel 9.2. Tabel 9.2: Performantie tandriemaandrijving
symbool Maximale snelheid slede Inertie (berekend naar as motor) Max. belasting Nauwkeurigheid Maximale Versnelling (rendement 100%) aflegbare afstand Steekcirkeldiameter aangedreven tandwiel Max. radiale kracht trekspanning
eenheid
vmax Jm
m/s Kgcm²
3 2,7
mmax
kg
20
amax
mm m/s²
0,1 50
s d
mm mm
1000 20,05
Fr
N %
307 0,11
Modelleren en simuleren van positioneersystemen
74
De totale inertie verrekend naar motorzijde kan bepaald worden dankzij figuur 9.29, voor grootte 25.
Figuur 9.29: Bepalen van inertie slede
De inertie verrekend naar de motorzijde bestaat uit de inertie van de motor (0,28 kgcm²) en deze van de opstelling (1,39 kgcm²). J = J + J (9.43)
De inertie van de opstelling bestaat uit de slede (0,81kgcm²) ,de tandriem(0,075 kgcm²) en de massa van de last (0,5 kg). J = 0,81 + 2 ∗ 0,078 + 0,5 ∗ 1 = 1,466 kgcm² J = 2,388 + 0,28 = 1,746 kgcm²
Modelleren en simuleren van positioneersystemen
75
9.13.2. Simulatie model 9.13. 2.1. Simulat ie ta ndriem overbre nging Figuur 9.30 is het 3D model met tandwieloverbrenging uitgewerkt in NX.
Figuur 9.30: Proefstand met tandriemoverbrenging in NX
9.13. 2.2. Links Deze motion simulatie (zie figuur 9.32) heeft twee links: - Aangedreven as, dit is de as die de slede zal aandrijven. - De slede dit is de slede die lineair moet bewegen. Ook hier moet er opgelet worden met de instellingen van de links, zie figuur 9.31. Alles wordt herrekend naar de kant van de aangedreven as.
Figuur 9.31: Instellen links
Modelleren en simuleren van positioneersystemen
76
Figuur 9.32: Motion project riemoverbrenging
9.13. 2.3. Joint & couple rs De aangedreven as zal een revolute zijn en de slede een slider. Er wordt gebruik gemaakt van een rack and pinion overbrenging ondanks dat dit een riemoverbrenging is. Dit omdat dezelfde overbrenging gedaan wordt, van een draaiende naar een lineaire beweging.
9.13. 2.4. Demper Omdat dit een tandriemoverbrenging is kan de wrijving niet te verwaarloosd worden. Er wordt verondersteld dat deze aandrijving stijf is ondanks het feit dat er gebruik gemaakt wordt van een tandriemoverbrenging met flexibele koppeling. De wrijvingskarakteristiek en het motorkoppel is bepaald door de demonstrator, zie figuur 9.33.
Figuur 9.33: Wrijvings-en motorkoppelkarakteristiek
Uit het verschil van het motorkoppel en het wrijvingskoppel kan het versnellingskoppel bepaald worden. Zo kan de inertie van de demonstrator (0,0018kgm², zie figuur 9.34) bepaald worden en vergeleken worden met de theoretisch bepaalde (0,00175kgm²). Modelleren en simuleren van positioneersystemen
77
Figuur 9.34: Inertie
Deze wrijvingskarakteristiek kan dan ingegeven worden in NX, zie figuur 9.35.
Figuur 9.35: Wrijvingskarakteristiek in NX
9.13. 2.5. Markers & sens ors Er zal één marker en sensor gedefinieerd worden. Deze marker wordt als absoluut ingesteld en wordt dan gebruikt in de sensor om de snelheid te meten. Deze snelheid zal dan als feedback dienen in het regelschema van Simulink.
9.13. 2.6. Plant input , Pla nt output & loa d conta ine r De plant input is het koppel dat binnenkomt van Simulink en gelinkt wordt aan de as van de motor. De plant output is de sensor snelheid.
Modelleren en simuleren van positioneersystemen
78
9.13.3. Co-simulatie Hier kan de cascaderegeling hergebruikt worden die aangemaakt werd in de simulatie met tandwieltandheugel overbrenging. Er wordt hier wel gebruik gemaakt van een Simotion controller en niet van een Sinamics controller, er zullen een paar veranderingen moeten gebeuren in het regelschema, zie figuur 9.36. Zo kan de positie ingesteld worden in mm in plaats van LU.
Figuur 9.36: Cascaderegeling Simotion
Om een traject aan te maken in Simulink zal hetzelfde script gebruikt worden als bij de tandwiel-tandheugel overbrenging.
9.13. 3.1. Controle m otion simulat ie Zowel een koppelpuls als systeemidentificatie zal toegepast worden om de motion simulatie te controleren.
9.13.3.1.1. Koppelpuls Uit de koppelpuls (zie figuur 9.37) kan er besloten worden dat het snelheidsverloop bij de demonstrator en de simulatie redelijk goed overeenkomen. Dit moet met meerdere koppels gedaan worden om dit te kunnen verifiëren op de volledige snelheidsrange.
Figuur 9.37: Snelheidsresponsie simulatie en demonstrator
Modelleren en simuleren van positioneersystemen
79
9.13.3.1.2. Systeemident ificat ie Er zal een ruis aan het systeem gelegd worden, waarbij het ingangssignaal het koppel (Nm) is en het uitgangssignaal de snelheid (rpm). Er wordt gemeten tot 200Hz (1256 rad/s), aangezien de motor max. 6000rpm kan draaien (100Hz). Zo kan de sampletijd bepaald worden: 1 200 T = = 0,0025s 2 Uit de bodes van figuur 9.38 kan er besloten worden dat de simulatie relatief goed overeenkomt met de demonstrator. Wel is er een groot fase verschil tussen de demonstrator en de simulatie wat niet direct te verklaren valt.
Figuur 9.38: Open-lus bodes demonstrator en simulatie
Modelleren en simuleren van positioneersystemen
80
9.13.4. Instellen regelaars tandriemoverbrenging Bij deze simulatie zal de snelheidsregelaar ingesteld worden door gebruik te maken van systeemidentificatie. Symmetrisch optimum is niet toepasbaar omdat er wrijving aanwezig is..
9.13. 4.1. Systeemident ificat ie Er zal een nieuwe bode aangemaakt worden, waarbij het uitgangssignaal, de snelheid in rad/s is. Instellen van de snelheidsregelaar: PI = K
PI =
Na enkele pogingen wordt de fasemarge
1 T.s
T.s + 1 s
gekozen, deze is 50°:
∠G(jω) ∥
∠G(jω) ∥
K T
1+
− 90° + 60° = −180° + ϕ
= 90° − 60° − 180° + 10° = −100° ∠ (
)∥
= −100°
Uit de bode die verkregen is in figuur 9.39 kan de frequentie afgelezen worden bij een fasemarge van -100° deze is 100 rad/s. Bij de frequentie ω worden:
(100 rad/s) moet de fase 60° omhoog getrokken worden. Op die manier kan Ti bepaald
∠(1 +
)∥
tan(60°) =
T = T
= 60° ω. T 1
tan (60°) = 0,017s 100
= 0,017s & T
= 0,009s
Modelleren en simuleren van positioneersystemen
81
Figuur 9.39: Open-lus bode simulatie
Bij ω zal het verschil tussen de werkelijke fase en -180° dus gelijk zijn aan de fasemarge. Dit is dus de frequentie waarbij de amplitudekarakteristiek de 0dB moet snijden. Op die manier kan de versterking van het systeem bepaald worden ( ( ) = 28 dB), zie figuur 9.39 . 20 log|
|
+ 20 log
+1
= −20 log| (
)|
Als de bode van de integrerende factor bepaald wordt (Figuur 9.40), kan een versterking van 1,34dB bij een frequentie van 97,7rad/s afgelezen worden. regelaar=tf([Ti 1],[Ti 0]) bode(regelaar,logspace(1.5,2.5))
Modelleren en simuleren van positioneersystemen
82
Figuur 9.40: Bode integrator
Hieruit kan Kr bepaald worden: 20 log|K |
+ 1,34dB = −28dB
20 log|K |
= −29,34dB
−29,34 20
Kr = 10
= 0,034
Kr−simulatie = 0.034 ≈ Kr−demonstrator = 0.01 Er kan besloten worden dat de instellingen van de snelheisregelaar in de demonstrator ongeveer overeenkomen met deze van de simulatie.
9.13. 4.2. Controle sne lhe ids regelaa r Om de instellingen van de snelheidsregelaar te controleren kan er een snelheidsresponsie bepaald worden. Uit figuur 9.41 kan er besloten worden dat de stapresponsie van de simulatie goed overeenkomt met deze van de demonstrator.
Figuur 9.41: Snelheidsresponsie demonstrator en simulatie
Modelleren en simuleren van positioneersystemen
83
9.13. 4.3. Positie regelaar instellen Om de positieregelaar in te stellen zal de P-factor stelselmatig verhoogd worden tot het systeem instabiel komt. Kp−simulatie = 19 ≈ Kp−demonstrator = 20 Er kan besloten worden dat positieregelaars van de simulatie en de demonstrator goed overeenkomen.
9.13. 4.4. Controle sim ulatie Met een volledig werkende simulatie kan er gecontroleerd worden of deze overeenkomt met de demonstrator. Hiervoor zal er bij beide hetzelfde traject aangelegd worden. Hier zal wel de snelheidsfeedforward ingesteld worden omdat dit bij de drive ook ingesteld is voor een nauwkeurige positioneerapplicatie. Instelling demonstrator Snelheidsregelaar Positieregelaar
Kr = 0,01 Kp=20
Ti=10ms
Instelling simulatie Snelheidsregelaar Positieregelaar
Kr=0.034 Kp=19
Ti=17ms
Uit de trajectopvolging van de demonstrator en de simulatie in figuur 9.42 kan er besloten worden dat ze beide het aangelegd traject zeer goed opvolgen. Bij het snelheidsprofiel is er een klein verschil maar nog steeds een goede opvolging. Bij het koppelprofiel is er duidelijk meer pulsatie bij de simulatie, dit wijst op het feit dat de regelaar dynamisch is ingesteld. Er kan besloten worden dat deze simulatie geslaagd is. Script %POSITIEREGELAAR %-------------------------K_positie = 19.95;
% P-actie positieregelaar
%SNELHEIDSREGELAAR %-------------------------K_snelheidsregelaar = 0.014; Ti_snelheidsregelaar = 57;
% P-actie snelheidsregelaar % I-actie snelheidsregelaar
%Max limieten motor & gegevens %-------------------------Tmax = 2.75; Tmin = -2.75; Vmax= 10000; Vmin=-10000; straal= 0.01025; inertie=2.8e-4; encoder_resolutie=2048;
% % % % % % %
Max. motorkoppel [Nm] Min. motorkoppel [Nm] Max. snelheid [tr/min] Min. snelheid [tr/min] steekcirkeldiameter [m] inertie motorzijde [kgm²] encoder resolutie [pulsen per 360°]
Modelleren en simuleren van positioneersystemen
84
Figuur 9.42: Trajectopvolging simulatie en demonstrator
Modelleren en simuleren van positioneersystemen
85
9.14. Bijlage 14: Updaten motion plant block Aanmaken nieuw project Als er een nieuwe motion simulatie aangemaakt wordt met co-simulatie, dan moet deze motion simulatie gesolved en gesaved worden. Dan zal NX, een Matlab script aanmaken die uitgevoerd kan worden om de motion plant block aan te maken. Deze motion plant block kan dan gekopieerd en geplakt worden in een nieuw Simulink schema, zie figuur 9.43.
Figuur 9.43: Updaten motion plant block
Toevoegen motion simulatie Wanneer de motion simulatie meerder malen moet aangepast worden door wrijving of demping, dan moet de motion simulatie enkel maar gesaved worden (Figuur 9.44). De motion plant block wordt automatisch aangepast in het Simulink schema. Het Simulink schema moet dan natuurlijk nog eens opnieuw afgespeeld worden.
Figuur 9.44: Updaten motin plant block
Modelleren en simuleren van positioneersystemen
86
Fundamentele aanpassing motion simulatie Als iets fundamenteels veranderd wordt in de motion simulatie, zoals een link of overbrenging, dan moet er wel gesolved en gesaved worden (Figuur 9.45). In dit geval moet het Matlab script, aangemaakt door NX opnieuw uitgevoerd worden(Figuur 9.45), maar hiervoor moet de motion plant block in het Simulink schema niet verwijderd worden. Deze wordt automatisch aangepast wanneer het script uitgevoerd wordt.
Figuur 9.45: Opnieuw aanmaken motion plant block
Conclusie de motion plant block moet enkel maar gekopieerd en geplakt worden indien er een nieuw Simulink schema aangemaakt wordt of er een conflict ontstaat door een andere motion simulatie.
Modelleren en simuleren van positioneersystemen
87
9.15. Bijlage 15: Aanmaken project in Starter In deze bijlage zal er uitgelegd worden hoe een HIWIN torque motor moet geconfigureerd worden in de STARTER software van Siemens. Hardware Bij het bekabelen van de motor moet er voor gezorgd worden dat de fasen (u,v,w) in de juiste volgorde bekabeld worden. Er moet opgelet worden met emc, zo wordt de motorkabel en ook de encoderkabel geaard door de shielding door te verbinden. Omdat de encoder(Figuur 9.46) verwerkt zit in de Hiwin torque motor en dus ook niet van het merk Siemens is moest deze gesoldeerd worden aan een fiche om te kunnen connecteren met de SMC20 module.
Figuur 9.46: Aansluitingen encoder
Drive unit Eerst wordt er een nieuwe drive unit aangemaakt. Hier wordt het type controller geselecteerd en de connectie, deze is ethernet dus via IP adressen. Insert Drive Wanneer de drive geselecteerd wordt moet deze in servo staan om de pmsm aan te sturen. Dit omdat er andere instellingen nodig zijn bij servo dan bij vector. Daarna wordt de basic positioner aangevinkt en als control type speed control met encoder (Figuur 9.47). Aangezien dit een lineaire positioneerapplicatie is en een pmsm alleen maar degelijk kan werken met een terugkoppeling. Modelleren en simuleren van positioneersystemen
88
Figuur 9.47: Instellen drive
Dan kan de powermodule geselecteerd worden, de informatie is terug te vinden op de sticker aan de rechterkant van de module. Het type motor is een torque motor, dit is een pmsm motor en dus wordt er als motor type gekozen voor een synchrone motor (rotating, mermanent-magnetic) (Figuur 9.48).
Figuur 9.48: Type motor
Daarna kan de motordata ingegeven worden (Figuur 9.49), hierbij is er best geen misvatting of er poolparen of polen ingevuld moet worden.
Modelleren en simuleren van positioneersystemen
89
Figuur 9.49: Motorgegevens
Het beste is dat optionele data ook ingevuld wordt, deze kan ook door de drive zelf bepaald worden door tune procedures. De encoder, aangezien dit geen van Siemens is, wordt er voor User-defined gekozen. Dit is een incrementele sin/cos encoder waarbij het aantal pulsen per omwenteling moeten ingevuld worden. Of er een referentiesignaal aanwezig is (Figuur 9.50). Hoe de encoder gesynchroniseerd wordt bij de opstart van de drive, hier zal er gekozen worden voor saturatie 1ste harmonische. Dit is eigenlijk een stroom die gestuurd wordt om dan te kijken waar de polen gepositioneerd zijn, zo wordt de encoder gesynchroniseerd. Om het aantal pulsten te controleren van de encoder kan manueel de rotor één toer gedraaid worden en kan er in de control panel bij basic positioner gekeken worden naar het aantal pulsen dat binnenkomt.
Figuur 9.50: Encoder data
Modelleren en simuleren van positioneersystemen
90
Het instellen van de overbrengingsverhouding (Figuur 9.51), deze staat op 10000 LU/min of omgerekend 201mm per omwenteling.
Figuur 9.51: Overbrengingsverhouding
Online Bij het online gaan is het belangrijk dat de pc een IP-adres heeft dat in dezelfde range ligt als deze van de drive maar anders is. De topologie moet dezelfde zijn als deze van de node, bv. moest er een DRIVE-CLiQ kabel verwisseld zijn van positie. De instellingen van het project om online te gaan moeten dezelfde zijn al deze toegekend aan de drive via de node. Dit zijn enkele belangrijke puntjes om rekening mee te houden bij het online gaan. Opstarten Wanneer de drive opgestart wordt moet de encoder eerst gesynchroniseerd worden (pool positie bepalen) hiervoor zal er bij het “Control Panel” een snelheid van 0rpm uitgevoerd worden. De motor zal dan bekrachtigd worden, dit is hoorbaar en moet positievast zijn. Indien dit niet gebeurd zullen er foutmeldingen optreden i.v.m. het A/B signaal van de encoder. Indien er problemen bijven ontstaan kan er altijd in open-loop gewerkt worden U/F. Zo kan er gekeken worden of de ingegeven snelheid overeenkomt met de snelheid van de encoder. Een vaak voorkomende fout is dat er twee fasen omgewisseld zijn, dan zal de snelheid geïnverteerd worden wat tot de fout “motor blocked” leidt. Dit kan opgelost worden door juist te bekabelen of de waarde in de drive te inverteren via de parameter “p410”. Belangrijk is om de help die Siemens levert bij foutmeldingen zorgvuldig te lezen.
Modelleren en simuleren van positioneersystemen
91