Printer Casus/Handleiding experimenten

From Control Systems Technology Group
Jump to navigation Jump to search


Handleiding voor het meten aan en regelen van de experimentele HP

printer opstelling, behorende bij de casus "De Printerkop" (4G031)


Printer intro.png



Deze pagina is afgeleid van het orginele document: [1], welke een geüpdate versie is van [2].


In deze handleiding wordt de benodigde #Hardware en #Software voor het meten aan en regelen van de experimentele HP printer opstelling, die bij de casus De Printerkop (4G031) wordt gebruikt, besproken. De sectie #Start-up en experimenten bevat een introductie tot het gebruik van de opstelling en het daadwerkelijk uitvoeren van experimenten. Voor het gebruik van een opstelling dien je je in te schrijven op de daarvoor bestemde inschrijflijsten in SEL3. Hierbij mag je als groep iedere keer maximaal 1 keer tegelijk voor 1 opstelling inschrijven. Aan de balie in SEL3 kun je de benodigde TUeDACS en toebehoren lenen. Bijna elke dag zal gedurende een aantal uur hulp aanwezig zijn in SEL3 waar je je vragen kwijt kunt. De uren waarop hulp aanwezig is, staan op de inschrijflijsten aangegeven. Voor vragen tijdens en over de experimenten kun je terecht bij Geert-Jan Heldens (Mail gj.png, Wh -1.13 (DCT-lab)). De projectcoördinator is René van de Molengraft (Mail Rene.png, tel 2998, Wh -1.141).


Hardware

Voor de casus wordt een uitgeklede A3-formaat HP printer gebruikt, zie Figuur 1. De benodigde hardware voor de experimentele opstelling is in Tabel 1 opgenomen. Je dient zelf voor een notebook te zorgen.


Figuur 1

Benodigde hardware

  1. experimentele HP printer opstelling (zie Figuur 1) inclusief kabels
  2. TUeDACS real-time data acquisition module inclusief kabels
  3. versterker inclusief BNC-BNC kabel
  4. notebook
  5. bootable TUeDAX Linux Live USB flash drive for TUeDACS QAD/AQI devices v4.0 (de USB ONLY! versie)

Tabel 1


De printerkop wordt door een gelijkstroommotor aangedreven via een riemoverbrenging. De positie van de printerkop wordt gemeten met behulp van een lineaire incrementele encoder. De optische encodersensor is in de printerkop gemonteerd. Uiterst links is een eind-switch aangebracht die gebruikt wordt om de positie van de printerkop te initialiseren. Met het TUeDACS-systeem is het mogelijk om via een notebook metingen aan de opstelling te verrichten en tevens de printer real-time aan te sturen. De versterker zorgt voor de benodigde stroomversterking van het stuursignaal dat vanuit de TUeDACS naar de motor wordt gestuurd.


De kabels van de hardware dienen bevestigd te worden zoals in tabel 2 is aangegeven. Verder dienen de versterker en de TUeDACS van voedings-kabels voorzien te worden. LET OP: schakel de versterker NOOIT in (ON) voordat de er een stuursignaal is gedefinieerd door de Wintarget software (zie #Start-up en experimenten). Een crash van de printer kan het gevolg zijn. Op sommige oudere versterkers staat nog 0 − 2,5 V in plaats van +/ − 2,5 V. Dit is incorrect, alle versterkers hebben een bereik van +/− 2,5 V.


I/O Printer I/O Versterker I/O TUeDACS I/O Notebook
motor ingang LOAD
encoder uitgang QCNT 1
eind-switch I/O uitgang DIGITAL I/O
+/ − 2, 5 V in DAC 1
USB connector USB connector

Tabel 2

Software

Voor het opzetten van de verbinding tussen het notebook en de experimentele opstelling wordt de TUeDAX Live USB flash drive v4.0 (USB ONLY!) gebruikt (zie Tabel 1). De relevante software op de flash drive is:

  • Matlab7p0 (R14) met Simulink en Real-Time Workshop
  • Wintarget
  • Simulink model printer01.mdl voor de aansturing
  • Referentie generator Ref3
  • Realtime signal monitor QADScope
  • Konqueror (Web Browser)


De TUeDAX Live flash drive v4.0 is gebaseerd op Knoppix 5.1.1 (www.knoppix.org) en bevat een RTAI-patched Linux kernel (www.rtai.org), Matlab/Simulink/RTW R14 en Wintarget real-time target voor de Real-Time Workshop (RTW). Het voordeel van TUeDAX is dat het een stand-alone, ready-to-use installatie is (er is geen installatie van software nodig), waarmee met hoge bandbreedte een real-time verbinding met een opstelling kan worden opgezet. Versie 4.0 heeft alleen USB support voor de TUeDACS. Je kunt de PCMCIA-kaart dus niet gebruiken.


Om de software te gebruiken, moet er vanaf de TUeDAX Live flash drive opgestart worden. Stop de flash drive in een USB-poort (dit mag geen USB v3.0 poort zijn!) en start het notebook op met de flash drive als opstartapparaat. Afhankelijk van de bios-instelling van het notebook zal dit automatisch gaan of is een actie van de gebruiker nodig. Je ziet nu het knoppix opstart scherm. Er staat een melding op het scherm om op enter te drukken om Knopix te starten. Druk NIET op enter, maar toets het volgende in: knoppix acpi=off. De tekst verschijnt achter: boot:, druk hierna op enter. Er verschijnen nu verschillende meldingen op het scherm, ook knipper het scherm een paar keer. Als alles goed gaat, verschijnt uiteindelijk een full-screen grafische desktop die een vage gelijkenis vertoont met het welbekende Windows. Dit is de KDE desktop van Linux.


Om Knoppix af te sluiten, druk op K Menu, links onder en dan op Log Out. Selecteer daarna: Turn Off Computer. Wacht tot de melding: "Please remove CD, close cdrom drive and hit return" in beeld verschijnt. Verwijder de flash drive en druk op enter. Bij sommige notebooks moet de power knop enkele seconden ingehouden worden om de notebook uit te zetten.


Om Matlab op te starten klik je één keer met de muis op het Matlab R14-icoon op de Desktop (dit is een ander icoon dan je vanuit Windows gewend bent). Mocht je per ongeluk dubbel-klikken, sluit dan beide opgestarte Matlab-sessies af en begin opnieuw.


Het programma Konqueror (Web Browser) kan als een soort Explorer gebruikt worden. In de startbalk bevindt zich een shortcut waarmee je het programma kunt opstarten.


Het gebruik van het Simulink model printer01.mdl en de referentie generator Ref3 wordt in de volgende secties besproken. Daarnaast worden enkele nuttige tips voor het gebruik van Simulink gegeven en de werkwijze voor het opslaan van data beschreven.


Simulink model

Gebruik het Simulink model printer01.mdl (zie Figuur 2) als basis voor het opzetten van experimenten, i.e. voor het meten aan en aansturen van de printerkop. Open het model vanuit Matlab via het commando >>printer01.

Figuur 2


Het model bevat het Printer Interface Block, dat zorgt voor de communicatie met de printer. De ingang van het blok is de stuurspanning in volt. De eerste uitgang van het blok geeft de waarde van de encoder counter (de positie van de printerkop in encoder counts). Na de initialisatie procedure staat deze teller op 0. De tweede uitgang geeft de status van de printer en de derde uit- gang geeft een tijdsignaal in [s]. Als een experiment wordt opgestart, begint een initialisatie procedure die de printerkop automatisch naar zijn initiële positie brengt (status := 1, 2). De gebruiker krijgt pas toegang tot de printer na deze initialisatie procedure (status := 3). In praktijk betekent dit dat de printer pas na de initialisatie procedure op ingangssignalen van de gebruiker reageert. De derde uitgang, het tijdsignaal, dient gebruikt te worden om een subsysteem met daarin de zelf ontworpen aansturing te triggeren nadat de initialisatie procedure is afgerond (het blok Stuursignaal in Figuur 2). Tenslotte bevat de printer-software in het Printer Interface Block een beveiligingslaag om crashes bij instabiele regelaars te voorkomen. Dit betekent dat de uiterste standen van de printerkop als een soort demper worden gebruikt. De status wordt dan 4 en de gebruiker verliest toegang tot de printer waarna het experiment opnieuw opgestart moet worden.


In het menu Simulation, submenu Configuration parameters vind je de belangrijkste simulatie parameters. Onder de tab Solver kun je de Stop time die aangeeft hoe lang je experiment duurt, veranderen. Verder kun je onder de tab Data Import/Export het aantal data punten dat bewaart wordt veranderen of deze limiet uitvinken. Verander de andere instellingen niet!


In Sectie #Start-up en experimenten wordt uitgelegd hoe een experiment vanuit dit Simulink model kan worden opgestart.


Referentie generator Ref3

De referentie generator Ref3 kan worden gebruikt om derdegraads referentie trajectories te ontwerpen. Het Simulink model pato01.mdl bevat het Ref3-blok. Open dit model vanuit Matlab via >>pato01, vink in het menu Simulation de mode Normal i.p.v. External aan en kopieer het Ref3-blok naar je eigen Simulink model (b.v. printer01.mdl) om er tijdens het experimenteren gebruik van te kunnen maken (sluit pato01.mdl zonder wijzigingen op te slaan).


LET OP:

  • De trajectorie die na het kopiëren als standaard aanwezig is, moet verwijdert worden door op New te klikken (wil je de Ref3 generator nog niet direct gebruiken, gebruik dan tijdelijk Jogmode met alle opties 0.
  • Voordat je een model kunt runnen of builden moet altijd eerst een trajectorie ontworpen en geaccepteerd worden! Zo niet, dan krijg je de foutmelding undefined function or variable ref_part.
  • Ref3 kan vastlopen indien je de trajectorie met te grote stappen verandert! Het iteratieve proces dat Ref3 gebruikt om de trajectorie te berekenen, blijft dan op de achtergrond draaien. Wacht dus tot onderaan rechts de melding staat dat de trajectorie succesvol is berekend!


In de volgende stappen wordt het ontwerp van een trajectorie uitgelegd.

  • Het Ref3-blok heeft drie uitgangen: de positie, de snelheid en de versnelling van de ontworpen trajectorie als functie van de tijd.
  • Door op het Ref3-blok dubbel te klikken opent een scherm waarin de positie van de ontworpen trajectorie als functie van de tijd is weergegeven, zie Figuur 3.
  • Een andere, nieuwe trajectorie kan worden ontworpen door op de knop New en vervolgens Add te klikken. In het nu verschenen scherm kan door het specificeren van een begintijd t0, een beginpositie x0, een eindpositie xe, een snelheid v, een versnelling a en een jerk j een gedeelte van de trajectorie ontworpen worden. Door Accept te klikken verschijnt het vorige scherm weer, alleen nu met de ontworpen trajectorie.
  • Een trajectorie met een constante snelheid kan worden gemaakt met behulp van de knop Jogmode. Na het klikken op deze knop verschijnt een scherm waarin de snelheid v, de begintijd t0 en de beginpositie x0 moeten worden opgegeven.
  • De trajectorie kan aangevuld worden met andere stukken met behulp van de knop Add.
  • Ontworpen trajectories kunnen bewaard en geladen worden met de knoppen Save en Load.
  • Door het hokje repeat aan te vinken wordt de ontworpen trajectorie herhaald. Let er dan wel op dat de begin- en eindpositie van de trajectorie overeen komen om stappen in de trajectorie te voorkomen.
  • Door op Accept te klikken wordt de trajectorie (tijdelijk) bewaard en kan deze gebruikt worden voor experimenten.
  • Bij het openen van het eerste scherm wordt de laatst ontworpen trajectorie getoond in de figuur. Wanneer een nieuwe trajectorie wordt ontworpen, komt deze in de figuur, de oude wordt verwijderd en gaat verloren, tenzij deze met de knop Save bewaard is.


Figuur 3

Realtime signal monitor QADScope

De realtime signal monitor QADScope is een handige tool om signalen realtime te bekijken (andere, standaard Simulink Library blokken worden in Sectie #Simulink tips and tricks besproken). Het Simulink model pato01.mdl bevat het RtScope-blok dat de QADScope software bevat. Open dit model vanuit Matlab via >>pato01, vink in het menu Simulation de mode Normal i.p.v. External aan en kopieer het RtScope-blok naar je eigen Simulink model (b.v. printer01.mdl) om er tijdens het experimenteren gebruik van te kunnen maken (sluit pato01.mdl zonder wijzigingen op te slaan). Door op het RtScope blok dubbel te klikken, wordt QADScope opgestart. LET OP: je kunt QADScope alleen tijdens een experiment gebruiken! Probeer je QADScope voor of na een experiment op te starten, dan krijg je een foutmelding. In de volgende stappen wordt kort de belangrijkste functionaliteit van QADScope behandeld.

  • Bij het opstarten van QADScope worden 2 vensters geopend; QADScope v2.6 en QADScope View.
  • Onder Channel Settings kun je de signalen die binnenkomen, selecteren. Selecteer ze in het pull-down menu en klik on, dat daardoor geel kleurt. Deze signalen worden vervolgens beschikbaar in het signaal-overzicht onder Scope Settings.
  • Met Scope Settings kun je aangeven welke signalen je in welke figuur van de QADScope View wilt zien door de betreffende signalen in het signaal-overzicht aan te vinken. De figuur selecteer je uit een pull-down menu bovenaan.
  • Met de knop Inst (links onderaan) start je een meting. Je kunt dit ook automatisch triggeren op basis van een ingangssignaal door dit onder Trigger Settings aan te geven.
  • Het is handig om alle settings middels load en save settings op te slaan, zodat je niet bij elke meting alle signalen opnieuw moet selecteren en je figuren moet instellen.
  • Andere opties en instellingen in QADScope mogen naar eigen believen gebruikt worden.

Indien de interface van Qadscope niet geheel weergegeven wordt, moet de resolutie van het scherm aangepast worden: druk in het Knoppix boot menu dat je krijgt als je laptop start met de flash drive erin, voordat je op Enter drukt, op F2. Er wordt een aantal resoluties weergegeven. Typ fb1280x1024 in en druk vervolgens Enter. Knoppix start nu op in deze resolutie.


Simulink tips and tricks

Een signaal kan bewaard, dan wel real-time of offline bekeken worden door toevoeging van een element uit de Sinks groep van de Simulink Library Browser. Voor het opslaan van een signaal voor verwerking achteraf heeft het gebruik van een Out-port of een To workspace blok de voorkeur.


Bij het gebruik van een Out-port (zie b.v. yout in Figuur 2) worden de betreffende signalen nadat het experiment is afgelopen, opgeslagen in een .mat-file met dezelfde naam als de RTA (dus b.v. printer01.mat) in de Current Directory van Matlab. Dubbelklik op het To workspace blok om de instellingen hiervan te veranderen. Kies een naam en bij voorkeur Array voor Save format. Gebruik geen To file voor het opslaan van data. Bij het gebruik van dit blok gaat het real-time gedrag van het experiment verloren. Nadat het experiment is afgelopen, is de variabele naam in de Workspace van Matlab voorhanden voor verdere analyse.


De derde uitgang van het Printer Interface Block is een tijdsignaal dat start nadat de initialisatie voltooid is. Dit tijdsignaal komt dus niet overeen met de tijdvector die standaard bij Out-ports en To workspace blokken wordt opgeslagen.


Gebruik voor het opslaan van data een USB-stick die je ook als Current Directory van Matlab gebruikt (zie Sectie #Data opslaan).


Gebruik geen speciale karakters in file en map namen. Gebruik ook geen spaties, dit is lastig bij het navigeren in de terminal.

Data opslaan

Data kan opgeslagen worden op de usb-stick waar ook knoppix vanaf geboot is. Om de usb-stick schrijfbaar te maken moet de stick opnieuw gemount worden. Open een terminal en type: sudo mount -o remount,rw /cdrom. De usb-stick is nu schrijfbaar als superuser. Maak een map aan op de usb-stick om je files in op te slaan. Dit kun je doen door het volgende in de terminal in te toetsen: cd /cdrom. En dan sudo mkdir naam_van_de_map. Met het commando cd naam_van_de_map ga je vervolgens naar de map. Door in de terminal: ls -l in te voeren, worden alle files in de map weergegeven. Gebruik deze nieuwe map bijvoorbeeld in Matlab als Current Directory en sla hier je data en modellen op. De files worden met 'root' rechten op de usb-stick opgeslagen. Wil je de files copiëren, dan moet je Konqueror ook als super user opstarten (sudo konqueror). Gebruik het programma Konqueror als file manager / Explorer (zie Sectie #Software).


Na de experimenten kun je de usb-stick uitlezen uit een windows OS. Copiër na de experimenten de data naar je eigen schijf en verwijder de map die je hebt aangemaakt. Gooi geen andere files weg op de usb-stick, want dan kun je knoppix niet meer opstarten en moet je een nieuwe image op de stick zetten!!! (zie: #Maken van een Knoppix usb-stick)


Start-up en experimenten

Installeer de hardware volgens de aanwijzingen in Sectie #Hardware en start de TUe-DAX Live flash drive (zie Sectie #Software). LET OP: zorg dat alle kabels zijn aangesloten en je USB-stick is ingeplugd voordat je de flash drive opstart! De real-time verbinding met de opstelling wordt vanuit Matlab / Simulink tot stand gebracht. Start Matlab / Simulink (zie Sectie #Software) en gebruik het Simulink-model printer01.mdl als basismodel voor de experimenten. Dit model bevat het Printer Interface Block dat de verbinding tussen de software en hardware vormt (zie Sectie #Simulink model).


Om een experiment uit te kunnen voeren, moet het Simulink model worden gecompileerd (gebuild) met behulp van de Real-Time Workshop (RTW) die er een Real-Time Application (RTA) van maakt. Vervolgens wordt met behulp van Wintarget de RTA aan de TUeDACS module gekoppeld.


Het builden van de RTA wordt gestart door in het Simulink-model onder het menu Tools, Real-Time Workshop -> Build Model te gebruiken (eenmaal op Ctr^b drukken). Dit kost meestal enige tijd en kan in het Matlab Command Window worden gevolgd. Open een Linux command prompt (een Terminal program in de menubalk) en typ su (superuser) om te benodigde rechten te verkrijgen. Ga naar de juiste folder waar je gebuilde experiment staat, e.g., /mnt/sda1. Typ ./printer01 -w om de RTA op te starten (indien je het Simulink model een andere naam hebt gegeven, dient printer01 vervangen te worden door deze nieuwe naam). Door de toevoeging -w start je de RTA in externe mode op. Er moet nu een connectie gemaakt worden tussen het Simulink model en de RTA die daarna vanuit Simulink opgestart moet worden. Ga hiervoor in het Simulink-model naar het Simulation menu en gebruik achtereenvolgens Connect to target en Start real-time code. Om het experiment voortijdig te stoppen, gebruik je in hetzelfde Simulation menu de optie Stop real-time code. Indien er data is bewaard, kan deze na het beëindigen van een experiment met Matlab worden verwerkt (zie Sectie #Simulink tips and tricks en #Data opslaan).


De externe mode werkt soms niet goed bij complexe Simulink modellen in combinatie met hoge sampling rates. In dat geval is het beter om de RTA als een stand-alone programma uit te voeren door de optie -w weg te laten. De RTA wacht nu niet op een verbinding met Simulink en start direct. Bovendien kunnen signalen alleen achteraf worden geanalyseerd en kunnen parameters in het Simulink model niet meer tijdens het experiment worden veranderd. In externe mode is dit wel mogelijk. Om het experiment nu voortijdig te stoppen, gebruik je Ctr^c.


Eventueel kan de RTA ook vanaf de Matlab command line worden gestart via >>wt startup(’printer01 -w’). Het is echter een bekend probleem dat dit tot een systeemcrash kan leiden. Gebruik daarom bij voorkeur de hiervoor beschreven wijze waarbij een Linux command prompt wordt gebruikt om de RTA op te starten.


Nuttige tips

Als je een idee wilt krijgen van het systeemgedrag van het ongeregelde systeem, kies dan één of meer geschikte stuursignalen voor de motor en registreer de resulterende uitgang.

  • Met een sinusvormige ingang (en lineair systeemgedrag) kan een punt van het Bodediagram worden bepaald. Met een aantal van dergelijke punten kan dus een compleet diagram worden verkregen.
  • Eenvoudige ingangen (bijvoorbeeld even constant, daarna nul) leveren relevante informatie over bewegingsrichting, grootte van de aanwezige wrijving, etc.


Kijk voor meer informatie over systeemidentificatie eens in het boek: Feedback Control of Dynamic Systems, Franklin, Powell.


Houd rekening met extra faseverlies in de open-loop gain van de ordegrootte van ωT radialen, met sample tijd T in [s] gelijk aan de Fixed step size uit de simulatie parameters en ω de frequentie [rad/s]. Opvoeren van de open-loop gain resulteert op den duur altijd in een instabiel gedrag.


Kijk regelmatig naar de Frequently Asked Questions als er iets niet duidelijk is. Deze wiki zal gedurende de casus worden aangepast.


Maken van een Knoppix usb-stick

Om een eigen knoppix usb-stick te maken kunnen de volgende stappen gevolgd worden (zie eerst de waarschuwingen hier onder):

  • Download hier de knoppix iso.
  • Pak de file knoopix_iso.rar uit
  • Start het programma: Universal-USB-Installer-1.8.3.6.exe in windows
  • Accepteer de licence agreement
  • Kies: Try Unlisted linux ISO
  • Browse naar: KNOPPIX4.01.iso
  • Kies de juiste drive letter van de usb-stick

WAARSCHUWING: Alle data op de usb-stick zal gewist worden. Heel de stick zal geformateerd worden tijdens het maken van de knoppix boot usb!




  1. M.J.G van de Molengraft, J.J.P.A. Willems, Handleiding bij de tweedejaars casus (4G031), De Printerkop. Technische Universiteit Eindhoven, 19 september 2010
  2. M.J.G van de Molengraft, G.J.L. Naus, S.A.M, Coenen, Handleiding bij de tweedejaars casus (4G031), De Printerkop. Technische Universiteit Eindhoven, 16 september 2009