Pmac+Configuratie

=PMAC Configuratie= De huidige Igus opstelling wordt aangestuurd middels de PMAC (Programmable Multiple Axis Controller). De software die hiervoor gebruikt wordt is PEWIN32PRO, PmacTuningPro en Pmac Plot32 Pro. Voordat gestart wordt met de aansturing met de PMAC is het raadzaam om de volgende documenten door te nemen:

PMAC Introduction Manual PDF PMAC User Manual PDF PMAC Software Reference Manual PDF ADV 400 Connections PDF

Aansluitschema's
De aansluitschema's voor de encoders zijn te zien in figuur 1,2 & 3. De aansluiting van de setpoint kabel is te zien in figuur 4.

Parameter uitleg
Voor de aansturing van motoren is het belangrijk om enkele parameters nader toe te lichten (I-variabelen). Deze moeten correct ingesteld worden om de opstelling te kunnen gebruiken.

Deze variabele verteld waar de betreffende output values voor motor X naartoe geschreven moeten worden. Met deze waarde wordt aangegeven welk setpoint via welke poort naar buiten gestuurd wordt, zie figuur 5.
 * Ix02 Motor X Command Output Address**

Deze variabele verteld welke encoder input gebruikt wordt voor de "Position Loop Feedback", zie figuur 6.
 * Ix03 Motor X Position Loop Feedback Address**

Deze variabele verteld welke encoder input gebruikt wordt voor de "Velocity Loop Feedback", zie figuur 6.
 * Ix04 Motor X Velocity Loop Feedback Address**

Deze variabele verteld iets over de verhouding tussen de encodercounts van de positie en de snelheid.
 * Ix08 Motor X Position Scale Factor**

Deze variabele verteld iets over de verhouding tussen de encodercounts van de positie en de snelheid.
 * Ix09 Motor X Velocity Loop Scale Factor**

__Voorbeeld:__ “If a 5000 line/inch (20,000 cts/in) linear encoder is used for position feedback, and a 500 line/rev (2000 cts/rev) rotary encoder is used for velocity loop feedback, and there is a 5- pitch screw, the effective resolution of the velocity encoder is 10,000 cts/in (2000x5), half of the position sensor resolution, so Ix09 should be set to twice Ix08.If the value computed this way for Ix09 does not come to an integer, use the nearest integer value.”

Deze variabele verteld iets over de maximale volgfout
 * Ix11 Fatal Following Error Limit**

Deze variabele verteld iets over wanneer een waarschuwing moet worden gegeven (bij welke volgfout)
 * Ix12 Warning Following Error Limit**

Deze variabele verteld wat de maximale + waarde is voor de counts van de motor
 * Ix13 Motor X + Software Position Limit**

Deze variabele verteld wat de maximale - waarde is voor de counts van de motor
 * Ix14 Motor X - Software Position Limit**

Om een indicatie te geven (voor de roterende beweging): De maximale bewegingsvrijheid van de arm is 570 graden. Op X4 decoding staat dit gelijk aan: { 4096[posities/omw] * 156 (overbrenging) } * 1,5 = 958464 counts voor 570 graden

Door dit op een totaal van 1 rotatie te laten vallen (638976 counts) is zeker te stellen dat deze beweging niet in de buurt van zijn eindaanslag komt. Dit moet het verschil tussen de + en - position limit zijn.

Om een indicatie te geven (voor de zwenkbeweging): De maximale bewegingsvrijheid van de arm is 180 graden. Op X4 decoding staat dit gelijk aan: { 2000[posities/omw] * 81 (overbrenging) } / 2 = 81000 counts voor 180 graden

Deze variabele verteld iets over de maximale snelheid van de motor.
 * Ix16 Motor X Maximum Velocity**

Deze variabele verteld iets over de maximale acceleratie van de motor.
 * Ix17 Motor X Maximum Acceleration**

Deze variabele verteld iets over de maximale acceleratie tijdens jog-mode
 * Ix19 Motor X Maximum Jog Acceleration**

Deze variabele verteld iets over de maximale jog-snelheid in jog-mode
 * Ix22 Motor X Jog Speed**

Deze variabele verteld iets over de manier waarop de encoder signalen gedecodeerd worden. Deze manieren van decoderen zijn te zien in figuur 8 t/m 10.
 * I9n0 Encoder/Timer Decode Control**





De regelparameters zijn in te stellen via de I-variabelen of via PMAC Tuning Pro. De parameters zijn te benaderen in Tuning Pro via het menu "Position loop -> Regular PID -> Interative Tuning". Het venster is te zien in figuur 11, in dit geval voor motor 4. De parameters die hierin staan zijn gebruikt voor de "proof of concept" van de opstelling met de Igus Robotarm. Deze zijn proefondervindelijk vastgesteld en bieden nog niet optimale prestaties. In dit venster zijn onder andere de Kp, Kd en Ki in te stellen. Verder is het ook mogelijk om via dit venster stapresponsies e.d. te meten.
 * Regeling**



Aansturen opstelling
De aansturing van de opstelling wordt als "proof of concept" gedaan gedaan op basis van de encodercounts van de motor, zie figuur 12. De gebruikte voedingsspanning is 24[V] en de voeding waarmee het geheel getest is kan 5[A] leveren. Er zal een zwaardere voeding gebruikt moet worden als de opstelling onder belasting gebruikt word.

!! **LET OP**: Bij de eerste keer aansturen altijd eerst de motors ontkoppelen van de robotarm (koppeling tussen gearbox en aandrijfas losdraaien) !!

I102 -> $C002 I103 -> $720 I104 -> $720 I107 -> 96 I108 -> 96 I113 -> Moet vastgesteld worden.Verschil tussen I113 en I114 op maximaal 800000 ongeveer laten I114 -> Moet vastgesteld worden.Verschil tussen I113 en I114 op maximaal 800000 ongeveer laten I119 -> 5 I121 -> 25 I122 -> 100 (bij voorkeur met een lagere waarde beginnen, tot deze waarde is de opstelling getest) I130 -> 3000 I131 -> 4000 I132 -> 1400 I133 -> 10000 I134 -> 1 I169 -> 5250
 * Parameters instellen motor 1 (DOF4, roterende beweging, witte touwen)**

I202 -> $C00A I203 -> $721 I204 -> $721 I207 -> 96 I208 -> 96 I213 -> Moet vastgesteld worden.Verschil tussen I213 en I214 op maximaal 80 000 ongeveer laten I214 -> Moet vastgesteld worden.Verschil tussen I213 en I214 op maximaal 80 000 ongeveer laten I219 -> 5 I221 -> 25 I222 -> 40 (bij voorkeur met een lagere waarde beginnen, tot deze waarde is de opstelling getest) I230 -> 3000 I231 -> 4000 I232 -> 1400 I233 -> 10000 I234 -> 1 I269 -> 5250
 * Parameters instellen motor 2 (DOF3, zwenkbeweging, gele touwen)**

I302 -> $C012 I303 -> $722 I304 -> $722 I307 -> 96 I308 -> 96 I313 -> Moet vastgesteld worden.Verschil tussen I313 en I314 op maximaal 800 000 ongeveer laten I314 -> Moet vastgesteld worden.Verschil tussen I313 en I314 op maximaal 800 000 ongeveer laten I319 -> 5 I321 -> 25 I322 -> 100 (bij voorkeur met een lagere waarde beginnen, tot deze waarde is de opstelling getest) I330 -> 3000 I331 -> 4000 I332 -> 1400 I333 -> 10000 I334 -> 1 I369 -> 5250
 * Parameters instellen motor 3 (DOF2, roterende beweging, blauwe touwen)**

I402 -> $C01A I403 -> $723 I404 -> $723 I407 -> 96 I408 -> 96 I413 -> Moet vastgesteld worden.Verschil tussen I413 en I414 op maximaal 80 000 ongeveer laten I414 -> Moet vastgesteld worden.Verschil tussen I413 en I414 op maximaal 80 000 ongeveer laten I419 -> 5 I421 -> 25 I422 -> 40 (bij voorkeur met een lagere waarde beginnen, tot deze waarde is de opstelling getest) I430 -> 3500 I431 -> 4000 I432 -> 1400 I433 -> 10000 I434 -> 1 I469 -> 5250
 * Parameters instellen motor 4 (DOF1, zwenkbeweging, grijze touwen)**

!! **Test** altijd eerst of de draairichting en het inlezen van de encoders functioneert voordat de motoren gekoppeld worden aan de aandrijfas !! !! Bij **koppeling** aandrijfas voor de 1ste keer is het van belang dat eerst de **limieten** vastgesteld en ingesteld worden Ix13 en Ix14 per as !!

Het aansturen van de opstelling kan in PEWIN32PRO via het menu "View -> Jog Ribbon", zie figuur 13. Het is mogelijk om incrementeel te joggen (vink "jog incrementally" aan) en om continue te joggen ("jog incrementally" uitzetten). De motor kan links in het jog-venster geselecteerd worden. Tevens kan het aantal counts ingesteld worden.

Als indicatie voor de roterende beweging: 1 complete rotatie uitgaande as (X4 decoding): 638 976 counts 5 graden verdraaiing uitgaande as (X4 decoding): 8875 counts

Als indicatie voor de zwenkbeweging: 1 complete rotatie uitgaande as (X4 decoding): 162000 counts (LET OP, deze beweging is maximaal 180 graden en dus maximaal 81000 counts) 5 graden verdraaiing uitgaande as (X4 decoding): 2250 counts



De actuele waarde van counts is in PEWIN32PRO te vinden via het menu "View -> Position".