Printer Casus/Handleiding experimenten: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
 
(43 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div align="center">
<div align="center">
<font size="5">Handleiding voor het meten aan en regelen van de experimentele HP printer opstelling</font><br />
<br />
<br />
<font size="5">Behorende bij de casus De Printerkop (4G031)</font>
<font size="5">Handleiding voor het meten aan en regelen van de experimentele HP</font><br />
<br />
<font size="5">printer opstelling, behorende bij de casus "De Printerkop" (4G031)</font>
</div>
</div>


[[File:Printer_intro.png|center|thumb|350px]]
[[File:Printer_intro.png|center|thumb|350px]]




---
----
 
Deze pagina is afgeleid van het orginele document: <ref name="ExperimentPDF">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</ref>, welke een geüpdate versie is van <ref name="ExperimentPDF_oud">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</ref>.
 


Deze pagina is afgeleid van het orginele document: <ref name="ExperimentPDF">M.J.G.v.d.Molengraft@tue.nl, J.J.P.A. Willems, Handleiding bij de tweedejaars casus (4G031), De Printerkop. Technische Universiteit Eindhoven, 19 september 2010</ref>.  
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 ([[File:Mail_gj.png]], Wh -1.13 (DCT-lab)). De projectcoördinator is René van de Molengraft ([[File: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.


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 (Bas Coenen) aanwezig zijn in SEL3 waar je je vragen kwijt kunt. De uren waarop Bas aanwezig is, staan op de inschrijflijsten aangegeven. Voor vragen kun je terecht bij Bas Coenen (s.a.m.coenen@student.tue.nl) en Gerrit Naus (g.j.l.naus@tue.nl, tel 4092, Wh -1.142). De projectco ̈rdinator is Ren ́ van de Molengraft (m.j.g.v.d.molengraft@tue.nl, tel 2998, Wh -1.141).


[[File:Setup_explained.png|right|thumb|500px|Figuur 1]]
Benodigde hardware
#experimentele HP printer opstelling (zie Figuur 1) inclusief kabels
#TUeDACS real-time data acquisition module inclusief kabels
#versterker inclusief BNC-BNC kabel
#notebook
#bootable TUeDAX Linux Live USB flash drive for TUeDACS QAD/AQI devices v4.0 (de USB ONLY! versie)
''Tabel 1''


= Hardware =


Voor de casus wordt een uitgeklede A3-formaat HP printer gebruikt, zie Figuur
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
1.1. De benodigde hardware voor de experimentele opstelling is in Tabel 1.1
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.  
opgenomen. Je dient zelf voor een notebook en USB-stick te zorgen.




De printerkop wordt door een gelijkstroommotor aangedreven via een
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.
riemoverbrenging. De positie van de printerkop wordt gemeten met behulp van
een lineaire incrementele encoder. De optische encoder-sensor 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 1.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 Sectie 1.3).
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.




{| width="50%" border="1" cellspacing="0" cellpadding="2"
! align="left"|I/O Printer
! align="left"|I/O Versterker       
! align="left"|I/O TUeDACS   
! align="left"|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 =
= 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 <code>printer01.mdl</code> 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: <code>knoppix acpi=off</code>. De tekst verschijnt achter: <code>boot:</code>, 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 <code>printer01.mdl</code> 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 <code>printer01.mdl</code> (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 <code>>>printer01</code>.
[[File:Printer01_mdl.png|center|thumb|450px|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 <code>pato01.mdl</code> bevat het ''Ref3''-blok. Open dit model vanuit Matlab via <code>>>pato01</code>, 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. <code>printer01.mdl</code>) om er tijdens het experimenteren gebruik van te kunnen maken (sluit <code>pato01.mdl</code> 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.
[[File:Ref3.png|center|thumb|450px|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 <code>pato01.mdl</code> bevat het ''RtScope''-blok dat de ''QADScope'' software bevat. Open dit model vanuit Matlab via <code>>>pato01</code>, 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. <code>printer01.mdl</code>) om er tijdens het experimenteren gebruik van te kunnen maken (sluit <code>pato01.mdl</code> 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. <code>printer01.mat</code>) 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: <code>sudo mount -o remount,rw /cdrom</code>. 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: <code>cd /cdrom</code>. En dan <code>sudo mkdir naam_van_de_map</code>. Met het commando <code>cd naam_van_de_map</code> ga je vervolgens naar de map. Door in de terminal: <code>ls -l</code> 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 (<code>sudo konqueror</code>). 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]])
<!--
COMMENTAAR OUDE HANDLEIDING
Data kan opgeslagen worden op de <code>D:/</code> partitie van je notebook. Op de desktop van Knoppix staan de c en d schijf als een icoontje (de naam is ''hda1'', ''hda2'', ''sda1'', ''sda2'', etc.). Om data en files te kunnen opslaan dient de HDD gemount te worden en vervolgens writable gemaakt te worden. Wanneer bij het icoon van de HDD 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 (rechtermuisknop op het icoon). Vervolgens wordt de HDD beschrijfbaar gemaakt via hetzelfde pop-up menu (''Change read/write mode''). Hierna is de HDD klaar om vanaf te lezen en naartoe te schrijven. De locatie van de HDD is nu ''/mnt/hda1'' (waarbij ''hda1'' al naar gelang de werkelijke locatie van de HDD in ''sdb1'', etc. verandert). Gebruik deze locatie bijvoorbeeld in Matlab als ''Current Directory'' of gebruik het programma Konqueror als file manager / Explorer (zie Sectie [[#Software]]).
-->
<!--
COMMENTAAR OUDE HANDLEIDING
Indien de harde-schijf partities van het notebook van het type NTFS zijn, kunnen ze niet gebruikt worden onder Linux om data op te slaan. Er kan dan alleen worden geschreven naar de Linux ramdisk <code>(/ramdisk)</code> of naar een externe 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 (''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 worden 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 (rechtermuisknop 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 bijvoorbeeld in Matlab als ''Current Directory'' of gebruik het programma Konqueror als file manager / Explorer (zie Sectie [[#Software]]).
Als dit niet werkt, (er verschijnt bijvoorbeeld geen icoon die naar de USB-stick verwijst op de desktop), zijn er twee mogelijkheden. De eerste mogelijkheid 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 beeldschermpje onderin de icoon balk, dit is een soort dos-window, maar dan voor Linux). Typ <code>su</code> om superuser te worden en daarmee alle rechten te krijgen. Plug de USB-stick in, wacht enkele seconden en typ <code>dmesg</code>. 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 representeert). Typ <code>mkdir /mnt/sda1</code> en vervolgens <code>mount /dev/sda1 /mnt/sda1</code>
om de USB-stick lees- en beschrijfbaar te maken. De USB-stick is nu gebruiksklaar, maar mag alleen gebruikt worden door de superuser. Vanuit een console terminal kun je als superuser Matlab opstarten door <code>sudo ml</code> te typen en bijvoorbeeld het programma Konqueror manager door <code>sudo konqueror</code> te typen.
-->


= Start-up en experimenten =
= 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 <code>printer01.mdl</code> 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 <code>Ctr^b</code> 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 <code>su</code> (superuser) om te benodigde rechten te
verkrijgen. Ga naar de juiste folder waar je gebuilde experiment staat, e.g., <code>/mnt/sda1</code>. Typ <code>./printer01 -w</code> om de RTA op te starten (indien je het Simulink model een andere naam hebt gegeven, dient <code>printer01</code> vervangen te worden door deze nieuwe naam). Door de toevoeging <code>-w</code> 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 <code>-w</code> 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 <code>Ctr^c</code>.
Eventueel kan de RTA ook vanaf de Matlab command line worden gestart via <code>>>wt startup(’printer01 -w’)</code>. 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 <code>ωT</code> radialen, met sample tijd ''T'' in <code>[s]</code> gelijk aan de ''Fixed step size'' uit de simulatie parameters en <code>ω</code> de frequentie <code>[rad/s]</code>. Opvoeren van de open-loop gain resulteert op den duur altijd in een instabiel gedrag.
Kijk regelmatig naar de [http://cstwiki.wtb.tue.nl/index.php?title=Printer_Casus#Frequently_Asked_Questions 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 [http://cstwiki.wtb.tue.nl/images/knoppix_iso.rar hier] de knoppix iso.
* Pak de file <code>knoopix_iso.rar</code> uit
* Start het programma: <code>Universal-USB-Installer-1.8.3.6.exe</code> in windows
* Accepteer de licence agreement
* Kies: <code>Try Unlisted linux ISO</code>
* Browse naar: <code>KNOPPIX4.01.iso</code>
* 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!
----
<references/>

Latest revision as of 14:15, 26 September 2011


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