Printer Casus/Handleiding experimenten

From Control Systems Technology Group
Revision as of 11:27, 12 September 2011 by S040419 (talk | contribs)
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. #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 (Geert-Jan Heldens) aanwezig zijn in SEL3 waar je je vragen kwijt kunt. De uren waarop Geert-Jan aanwezig is, staan op de inschrijflijsten aangegeven. Voor vragen kun je terecht bij Geert-Jan Heldens (g.m.heldens(at)student.tue.nl, Wh -1.??). De projectcoördinator is René van de Molengraft (m.j.g.v.d.molengraft(at)tue.nl, 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 en USB-stick te zorgen.


Figuur 1
  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. USB-stick (om data en files op te kunnen slaan)
  6. bootable TUeDAX Linux Live DVD 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 DVD v4.0 (USB ONLY!) gebruikt (zie Tabel 1). De relevante software op de DVD 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 DVD 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. Je kunt de PCMCIA-kaart dus niet gebruiken.


Om de software te gebruiken, moet er vanaf de TUeDAX Live DVD opgestart worden. Stop de DVD in de DVD-speler en start het notebook op met de DVD-speler als opstartapparaat. Afhankelijk van de bios-instelling van het notebook zal dit automatisch gaan of is een actie van de gebruiker nodig, b.v. het intoetsen van een karakter zoals aangegeven op het scherm. 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 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 DVD 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 1.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 1.2.5).



Data opslaan

Indien de harde-schijf partities van het notebook van het type NTFS zijn, kun- nen ze niet gebruikt worden onder Linux om data op te slaan. Er kan dan alleen worden geschreven naar de Linux ramdisk (/ramdisk) of naar een ex- terne memory stick. Het opslaan van data, figuren of andere Matlab files dient daarom bij voorkeur op een USB-stick gedaan te worden. Bij veel notebooks wordt de USB-stick automatisch herkend als je deze al voor het opstarten in het notebook plugt. Op de desktop staat dan een icoon dat betrekking heeft op de USB-stick met de naam Hard Disk Partition [sda1] (waarbij sda1, al naar gelang je notebook ook sdb1, uba1, etc. kan zijn, de namen die starten met een h (hda1, hda2, etc.) hebben betrekking op de harde schijf). Plug je de USB-stick na het opstarten in, dan verschijnt na een refresh desktop (zie pop-up menu bij rechtermuisknop op de desktop) vaak alsnog dit icoon.


Om data en files te kunnen opslaan dient de USB-stick gemount te wor- den en vervolgens writable gemaakt te worden. Wanneer bij het icoon van de USB-stick op de desktop rechtsonder een groen driehoekje te zien is, is deze al gemount. Zo niet, dan kan dit via het bijbehorende pop-up menu (rechtermuis- knop op het icoon). Vervolgens wordt de USB-stick beschrijfbaar gemaakt via hetzelfde pop-up menu (via (Actions ⇒) Change read/write mode). Hierna is de USB-stick klaar om vanaf te lezen en naartoe te schrijven. De locatie van de USB-stick is nu /mnt/sda1 (waarbij sda1 al naar gelang de werkelijke locatie van de USB-stick in sdb1, uba1, etc. verandert). Gebruik deze locatie bijvoor- beeld in Matlab als Current Directory of gebruik het programma Konqueror als file manager / Explorer (zie Sectie 1.2).


Als dit niet werkt, (er verschijnt bijvoorbeeld geen icoon die naar de USB-stick verwijst op de desktop), zijn er twee mogelijkheden. De eerste moge- lijkheid is dat de bios instellingen niet op default staan. De bios instellingen op default zetten en opnieuw opstarten met de USB-stick van tevoren ingeplugd, kan het probleem verhelpen. Wordt de USB-stick nog steeds niet herkend dan moet alles handmatig gedaan worden; open een console terminal (het beeld- schermpje onderin de icoon balk, dit is een soort dos-window, maar dan voor Linux). Typ su om superuser te worden en daarmee alle rechten te krijgen. Plug de USB-stick in, wacht enkele seconden en typ dmesg. Uit de melding op het scherm is onderaan de naam van de stick-partitie af te lezen (b.v. sda1, sdb1, uba1, etc., in het vervolg gaan we ervan uit dat sda1 de USB-stick repre- senteert). Typ mkdir /mnt/sda1 en vervolgens mount /dev/sda1 /mnt/sda1 om de USB-stick lees- en beschrijfbaar te maken. De USB-stick is nu gebruiks- klaar, maar mag alleen gebruikt worden door de superuser. Vanuit een console terminal kun je als superuser Matlab opstarten door sudo ml te typen en bij- voorbeeld het programma Konqueror manager door sudo konqueror te typen.



Start-up en experimenten

  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