Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing...

81
Ontwerp en bouw van een besturingscomputersysteem voor een 2D-robot (II) Citation for published version (APA): Pijnenburg, R. (1988). Ontwerp en bouw van een besturingscomputersysteem voor een 2D-robot (II). (TH Eindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol. WPA0577). Eindhoven: Technische Universiteit Eindhoven. Document status and date: Gepubliceerd: 01/01/1988 Document Version: Uitgevers PDF, ook bekend als Version of Record Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 17. Jun. 2020

Transcript of Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing...

Page 1: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

Ontwerp en bouw van een besturingscomputersysteem vooreen 2D-robot (II)Citation for published version (APA):Pijnenburg, R. (1988). Ontwerp en bouw van een besturingscomputersysteem voor een 2D-robot (II). (THEindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol. WPA0577). Eindhoven:Technische Universiteit Eindhoven.

Document status and date:Gepubliceerd: 01/01/1988

Document Version:Uitgevers PDF, ook bekend als Version of Record

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can beimportant differences between the submitted version and the official published version of record. Peopleinterested in the research are advised to contact the author for the final version of the publication, or visit theDOI to the publisher's website.• The final author version and the galley proof are versions of the publication after peer review.• The final published version features the final layout of the paper including the volume, issue and pagenumbers.Link to publication

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, pleasefollow below link for the End User Agreement:www.tue.nl/taverne

Take down policyIf you believe that this document breaches copyright please contact us at:[email protected] details and we will investigate your claim.

Download date: 17. Jun. 2020

Page 2: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

ONTWERP EN BOUW VAN BEN ~ESTURINGSCOMPUTERSYSTEEM

VOOR EEN 2D-ROBQT (II)

R. Pijnenburg mei 1988

WPA-rapport 0577

Page 3: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

ONTWERP EN BOUW VAN EEN BESTURINGSCOMPUTERSYSTEEM

VOOR EEN 2D-ROBOT (II)

Geschreven in opdracht van:

Hogeschool Eindhoven Afdeling Elektrotechniek

Technische Universiteit Eindhoven vakgroep Werktuigbouwkundige Produktietechnologie en -Automatisering.

Afstudeermentor : ir. J. Jansen Afstudeerbegeleider: ir. P. C. Mulders

Robert Pijnenburg Hogeschool Eindhoven Afdeling Elektrotechniek

oisterwijk, mei 1988

Page 4: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

2

SAMENVATTING

Aan de Technische Universiteit wordt al jaren onderzoek verricht aan robots. De afgelopen jaren is er, op industriele schaal, een lineaire robotarm ontwikkeld. Om deze 10 robot uit te breiden naar twee dimensies, is er een rotatie module in aanbouw. Hier­door ontstaat een Rotatie-Translatie robot.

Als regeling wordt in eerste instantie positieregeling toegepast. De regelgrootheden zijn hierbij de positie x, de hoek ~ en de twee stuursignalen UT en UR (de motorspanningen).Tijdens de Teach mode wordt de R-T robot, met behulp van een krachtsensor, een trajectorie geleerd, dat tijdens de Replay mode herhaald wordt. Hierbij wordt de optimale regelwet berekend, die de trajectorie­afwijkingen bijregelt.

De besturing van de R-T robot gebeurt met een besturingscompu­ter. Deze computer is uit verschillende Single Board computers (SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de master zijn eigen taken uitvoert. De krachtsensor is ook voorzien van een eigen SBC, die de com­plexe berekening van de krachten (Fx ' Fy) en het moment (My) voor zijn rekening neemt. Tot slot bezit de besturingscomputer ook een extra RAM geheugenbord dat voor de dataopslag van de gegevens zorgt.

De regelparameters worden door de positie- en motorinterface aan de besturingscomputer toegevoerd. De positieinterface leest de positie/hoek in door het aantal pulsen, afkomstig van een meetlineaal, te tellen. De motor interface is een DAC die een analoge waarde via de motorversterker naar de motor stuurt. De motor interface leest ook twee eindschakelaars in, die de motor softwarematig stoppen als deze buiten zijn bereik loopt.

De translatie en rotatie SBC, die hardwarematig gezien identiek zijn, bevat een programma dat : - de data van de interfaces omzet naar data die de besturings­

computer verder kan verwerken. - de R-T robot initialiseert. - de interrupts afhandelt.

Page 5: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

3

YOQRWOQRP

Het laatste jaar aan de Hogere Technische School in Eindhoven is in twee perioden verdeeld, een theoretisch en een practisch gedeelte. Pit rapport vormt de afronding van het practisch deel van mijn studie tot electrotechnisch ingenieur.

Mijn afstudeerwerk heb ik op de Technische Universiteit in Eind­hoven verricht. Ik was gedurende een periode van vier maanden (februari-mei) werkzaam bij de vakgroep Werktuigbouwkundige Pro­ductietechnologie en -Automatisering (WPA).

Mijn afstudeeropdracht, die ik in samenwerking met Constant Chalitsios heb verricht, bestond uit het bouwen en het ontwerpen van een besturingscomputer voor een industriele Rotatie-Transla­tie robot. Vooraf is door ons een taakverdeling opgesteld. Con­stant heeft zich hoofdzakelijk met de bouw van de computer bezig gehouden. Ook heeft hij de datatransfer en de timing binnen de besturingscomputer onderzocht. Ik heb de nadruk gelegd op de in­terfaces tussen de robot en de computer. Hierbij is ook gekeken naar de ondersteuningssoftware, die nodig is om de data van de robot gemakkelijk te kunnen verwerken.

In het bijzonder wil ik Constant Chalitsios voor de prettige en ondersteunende samenwerking bedanken. Ook wil ik mijn begeleider, ir. P.C. Mulders, voor zijn adviezen en ondersteuning bedanken en Gerard Kreffer voor de informatie over het mechanische deel van de R-T robot. Tot slot wil ik aIle medestudenten van het be­sturingslaboratorium voor de fijne werksfeer gedurende mijn af­studeerperiode bedanken.

Page 6: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

1

2

2.1 2.2

3

3.1 3.2 3.3 3.4 3.5 3.6

4

4.1 4.2 4.3 4.4 4.5 4.6 4.7

5

5.1

5.2

INHOUDSOPGAVE

SWNVATTING

VOORWOORD

INLEIDING

DE ROTATIE-TRANSLATIE ROBOT

DE OPBOUW VAN DE R-T ROBOT DE REGELING VAN DE R-T ROBOT 2.2.1 De Teach mode 2.2.2 De regelwet 2.2.3 De Replay mode

DE BESTURINGSCOMpuTER

DE ARCHITECTUUR VAN DE BESTURINGSCOMPUTER HET ONTWIKKELSYSTEEM DE 186/03 SINGLE BOARD COMPUTER HET 028 RAM BOARD DE 86/12 SINGLE BOARD COMPUTER DE 86/05 SINGLE BOARD COMPUTER

DE OPBOUW VAN DE 86/05 SINGLE BOARD COMpuTER

DE MICROPROCESSOR HET GEHEUGEN DE INTERRUPT CONTROLLER DE PARALLEL PORT INTERFACE DE iSBX BUS DE RS-232C BUS DE MULTI BUS

PE INTERFACES

DE POSITIEINTERFACE 5.1.1 De werking van de meetlineaal 5.1.2 De positiecounter

DE MOTORINTERFACE 5.2.1 De digitaal analoog converter 5.2.2 De eindschakelaars

4

2

3

7

8

8 9 9 10 11

12

12 13 14 14 15 15

17

17 19 19 20 20 20 21

22

22 23 24

25 25 26

Page 7: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

6 DE SOFTWARE VOOR DE 86/05 SINGLE BOARD COMPUTER

6.1 6.2

6.3 6.4

DE MULTIBUSSOFTWARE DE INTERFACESOFTWARE 6.2.1 De software voor de positieinteface 6.2.2 De software voor de motorinterface

DE INTERRUPT SERVICE ROUTINES DE INITIALISATIESOFTWARE 6.4.1 De PIC initialisatiesoftware 6.4.2 De PPI initialisatiesoftware 6.4.2 De positieinterface initialisatiesoftware

CONCLUSIES

GEBAADPLEEGDE LITEBATUUR

BIJLAGEN

A DE HARDWARE VAN DE BESTURINGSCOMPQTER

A.1 DE MEMORY MAP VAN DE BESTURINGSCOMPUTER A.2 DE 8259A PROGRAMMABLE INTERRUPT CONTROLLER

A.2.1 pe Interrupt Control Words A.2.2 pe Operation control Words

A.3 DE 8255A PARALLEL PORT INTERFACE A.4 DE iSBX BUS A.5 DE MULTIBUS A.6 DE JUMPER CONFIGURATIE VAN DE 86/05 SBC

B DE INTERFACES

B.1 BEREKENING VAN DE POSITIEINTERFACE B.1.1 Berekening van de translatiecounter B.1.2 Berekening van de rotatiecounter

B.2 BEREKENING VAN DE MOTORINTERFACE B.2.1 Berekening van het spanningsbereik van B.2.2 Berekening van de resolutie van de DAC

B.3 SCHEMA VAN DE POSITIEINTERFACE B.4 SCHEMA VAN DE TRANSLATIE-MOTORINTERFACE B.5 SCHEMA VAN DE ROTATIE-MOTORINTERFACE

de DAC

5

27

27 29 29 30

30 31 31 31 32

33

34

35

36 37 37 38

39 40 43 46

47

48 48 49

50 50 51

52 54 55

Page 8: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

C

C.1 C.2 C.3 C.4

D

D.1 D.2 D.3

D.4

D.5

D.6

Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur

Figuur

DE 86/05 SBC SOFTWARE

LISTING VAN DE MULTIBUSMODULE LISTING VAN DE INTERFACEMODULE LISTING VAN DE INTERRUPTMODULE LISTING VAN DE INITIALISATIEMODULE

DE SPECIFICATIES YAN DE COMPONENTEN

DE SPECIFICATIE VAN DE MOTOR DE SPECIFICATIE VAN DE MOTORVERSTERKER DE SPECIFICATIE VAN DE MEETLINEAAL D.3.1 Specificatie lineaire lineaal D.3.2 Specificatie rotatie lineaal D.3.3 Specificatie van de interpolator

DE POSITIEINTERFACE COMPONENTEN D.4.1 Specificatie van de discriminator D.4.2 Specificatie van de 4 bits up/down counter D.4.3 Specificatie van de 4 bits latch

DE MOTOR INTERFACE COMPONENTEN D.5.1 Specificatie van de DAC811KP D.5.2 Specificatie van de DAC707KH

DE SPECIFICATIE VAN DE HALL-EFFECT SCHAKELAAR

L I J S T VAN ILLUSTRATIES

1 : Schematische tekening van de R-T robot 2 · Blokschema van de Teach mode · 3 Blokschema van de berekening van de regelwet 4 · Blokschema van de Replay mode · 5 · Blokschema van de besturingscomputer · 6 · Blokschema van de 86/05 SBC · 7 : Adressamenstelling van de 8086 CPU 8 · 8086 registers · 9 Blokschema van de 86/05 SBC met interfaces 10: Opbouw van de meetlineaal 11: Blokschema van de 20 bits counter 12: Vervangingsschema van de hall-effect schakelaar 13: Stackopbouw voor en na een procedureaanroep 14: Flowcharts van de lees- en schrijfinstructie 15: Nassi-schneiderman diagrammen van de twee

positieinterfaceprocedures 16: Nassi-schneiderman diagram van de initilisatie-

procedure voor de positieinterface

6

56

57 61 63 65

67

68 69 70 70 71 72

73 73 74 75

76 76 77

79

8 10 10 11 13 17 18 18 22 10 24 26 28 28

30

32

Page 9: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

7

1 INLEIDING

Op de Technische Universiteit in Eindhoven wordt, bij de vak­groep Werktuigbouwkundige Productietechnologie en -Automatise­ring al jaren onderzoek verricht naar snellere, nauwkeurigere en complexer bewegende robots. Er is in de loop der jaren een lineaire robotarm, op industriele schaal, ontwikkeld. Deze ro­botarro wordt uitgebreid met een rotatiemodule, zodat een twee dimensionale Rotatie-Translatie robot ontstaat.

V~~r de regeling en de besturing van de R-T robot moet er een nieuwe besturingscomputer worden ontwikkeld. De besturingscom­puter moet, vanwege financiele aspecten, opgebouwd worden uit Single Board computers (SaC's) die op de T.U. aanwezig zijn.

Aangezien de opdracht met twee personen is uitgevoerd, bevat dit rapport niet aIle informatie over de besturingscomputer. In dit rapport ligt de nadruk op de SBC's voor de twee dimen­sies (translatie en rotatie) en de hierop aangesloten interfa­ces, die de verbinding tussen de besturingscomputer en de robot vormen. In dit verslag wordt niet ingegaan op het time sharings probleem van de verschillende SBC's, evenals de communicatie tussen de SBC's. Deze aspecten komen in het rapport van Con­stant Chalitsios [lit. 2] aan de orde.

In het hoofdstuk 2 wordt de opbouw en de regeling van de robot in het kort besproken. Hoofdstuk 3 handelt over de opbouw van de besturingscomputer. In het vierde hoofstuk wordt de opbouw van de rotatie en translatie SBC besproken. In hoofdstuk 5 wor­den de twee interfaces, de postie- en de motorinterface, behan­deld. Tot slot wordt in hoofdstuk 6 de 86/05 SBC testsoftware besproken.

Page 10: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

8

2 DE ROTATIE-TBANSLATIE ROBOT

Om een beter beeld van de R-T robot te verkrijgen wordt eerst de opbouw van de robot behandeld. Ook wordt de regelmethode in dit hoofdstuk kort toegelieht.

2.1 DE OPBOUW VAN DE R-T ROBOT

Bij de bouw van de R-T robot is uitgegaan van een bestaande lineaire robot. V~~r de lineaire robot gelden de volgende spe­eifieaties: - een maximale verplaatsing van ± 70 em - een maximale snelheid van 1 m/s - een maximale versnelling van 10 m/s2 - een maximaal toelaatbare lastmassa van 50 kg - een spindel-moer overbrenging - een DC motor als aandrijving - een lineair meetsysteem met een minimaal oplossend vermogen

van 0,01 rom

~ llJ •

2

ROTA TIEMODULE

5

~ • f= 3

LINEAlRE ROBOT ARM

I • • J L ; II • ...J 8

6

7

///////////////////////////////////////// 1: 3D kraehtsensor 2: lineair meetsysteem 3: DC motor (translatierobot) 4: eindsehakelaars lineair trajeet 5: rotatie meetsysteem 6: overbrenging 7: DC motor (rotatiemodule) 8: eindsehakelaars rotatie trajeet

Figuur 1: Sehematisehe tekening van de R-T robot

Page 11: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

9

Om een twee dimensionale robot te verkrijgen is de translatie robot uitgebreid met een rotatiemodule. In figuur 1 is de to­tale R-T robot schematisch weergegeven. De rotatiemodule is als voIgt gespecificeerd. - een minimale hoekverdraaiing van ~ rad - een maximale hoeksnelheid van ~~ rad/s - een maximale hoekversnelling van ~~ rad/s 2

- uitvoeren met dezelfde DC motor als de translatie robot - een hoekmeetsysteem met een oplossend vermogen van 9,6.106 rad

(dit is een nauwkeurigheid van 0,01 rom aan het uiteinde van de arm in zijn uiterste positie)

- een zo laag mogelijke moduulhoogte

2.2 DE REGELING VAN DE R-T ROBOT

De R-T robot wordt met behulp van een besturingscomputer be­stuurd. Dit betekent dat de R-T robot digitaal wordt geregeld, dus moeten de uitgangsparameters gesampeld worden. De R-T ro­bot heeft twee ingangs- en twee uitgangsgrootheden. De ingangs­grootheden zijn de twee motorspanningen (UT,UR)' voorgesteld door de spanningsvector (Y), en de ingangsgrootheden zijn de positie (x) en de hoek (¢), voorgesteld door de toestandsvec­tor (X). Ais regelmethode wordt in eerste instantie positiere­geling toegepast (hierbij dient de robotarm met een constante last belast te zijn). In een later stadium wordt krachtregeling onderzocht.

De R-T robot kent twee modes, namelijk: - Teach mode - Replay mode Deze twee modes worden in de onderstaande subparagrafen samen met de berekening van de zogenaamde regelwet besproken.

2.2.1 De Teach mode

In figuur 2 is blokschematisch de werking van de Teach mode weergegeven. Tijdens de Teach mode wordt, door middel van de krachtsensor, een gewenst trajectorie aan de R-T robot geleerd. Met behulp van twee krachten (Fx,Fy )' een moment (My) en de armpositie (x) worden de twee motorspanningen (UT,UR) afgeleid. De twee spanningen sturen de motoren aan, waarna de positie (x) en de hoek (¢) worden bemonsterd en opgeslagen in het geheugen. Tijdens of na de Teach mode worden de eerste en tweede afgelei­de van de toestandsvector berekend (de snelheid en de versnel­ling).

Page 12: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

kracht sensor

Figuur 2: Blokschema van de Teach mode

2.2.2 De regelwet

10

. .. x xn q,~ (bn

De optimale regelwet is een matrix waarmee, tijdens de Replay mode, de trajectorie afwijkingen worden bijgeregeld. Omdat de berekening van de optimale regelwet nogal veel tijd in beslag neemt, kan dit niet tijdens de Teach mode gebeuren. Er is een PC nodig, die off-line de berekening van de optimale regelwet voor zijn rekening neemt. De berekening van de optimale regel­wet is in figuur 3 weergegeven. De volgende parameters/factor-

1's .. X X X

r+ berekening .... [ UTnJ Fuitwendig spanningen --.. y = massalast URn

H systeemmodel

r - - f- - - - - - - - ---, PC

I r

4 berekening optimale regelwet

[ x x 0 0 ] weegfactoren L = 0 0 x x I

L J geheugen

Figuur 3: Blokschema van de berekening van de regelwet

Page 13: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

en spelen bij de berekening een rol. - de sampletijd - de toestandsvector en zijn afgeleiden

11

- de uitwendige krachten (deze worden in eerste instantie nul verondersteld)

- de massalast: Dit is een constante massa die aan de robotarm is bevestigd.

- het systeemmodel: Dit is een simulatiemodel van de R-T robot. - de weegfactoren: Dit zijn de factoren die de nauwkeurigheid

van de regeling bepalen.

Verder wordt ook de nominale spanningsvector met behulp van het systeemmodel berekend. AIle berekeningen gebeuren per sample, er is dus per sampletijd een unieke optimale regelwet.

2.2.3 De Replay mode

In figuur 4 is blokschematisch de regellus van de Replay mode getekend. De Replay mode herhaalt een trajectorie dat tijdens de Teach mode is ingevoerd (de data die zich in het geheugen bevindt staat binnen het gestippelde kader). Tijdens de Replay mode wordt continu de momentele toestandsvector (Xm) vergeleken met de gewenste toestandsvector (Xn). Met behulp van de optima­Ie regelwet wordt de correctiespanningsvector (6U) berekend, die het proces bijregelt. De tijdsduur van de regellus bepaalt de minimale sampletijd (Ts) voor de Teach mode.

Figuur 4: Blokschema van de Replay mode

Page 14: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

12

3 DE BESTUBIHGSCOMPUTER

In hoofdstuk 1 is de opbouw en de regeling van de R-T robot toegelicht. Aangezien de robot niet zonder computer kan func­tioneren, moet er een besturingscomputer worden gebouwd. In dit hoofdstuk wordt de opbouw van de besturingscomputer, met zijn verschillende onderdelen, besproken. Ook wordt de taak­verdeling binnen het systeem behandeld.

3.1 DE ARCHITECTUUR VAN DE BESTURINGSCOMPUTER

Bij het opzetten van de besturingscomputer voor de R-T robot moeten de onderstaande eisen, die aan het systeem worden ge­steld, in acht worden genomen: - De belangrijkste eis is dat de besturingscomputer universeel

wordt opgebouwd zodat ook andere regelmethoden, zonder veel aanpassingen, kunnen worden uitgevoerd.

- De besturingscomputer moet de Teach en Replay mode uit kunnen voeren.

- De computer moet alle regelparamaters voor de positieregeling (UT' UR' x, ¢, FXI Fy en My) via I/O poorten in en uit kunnen voeren.

- Er moet communicatie met een monitor mogelijk zijn om de ver­binding tussen mens en computer te bewerkstelligen.

- De regelcomputer moet met een PC in verbinding staan om de regelwet off-line te kunnen berekenen.

- Er moet een RAM geheugen aanwezig zijn om de Teach mode ge-durende een bepaalde tijd te kunnen draaien.

De besturingscomputer is volgens het zogenaamde master-slave principe opgezet. In figuur 5 is blokschematisch de opbouw van de besturingscomputer weergegeven. Elke dimensie heeft een ei­gen single board computer (SBC), welke door een intelligentere master SBC wordt bestuurd. Er wordt gestreefd naar een identie­ke opbouw van het translerende en roterende deel van de bestu­ringscomputer. Dit betekent dat de interfaces hetzelfde moeten zijn, en dat hiermee ook de interface software hetzelfde is.

Ook is er een aparte SBC voor de krachtsensor genomen, zodat continu de actuele krachtcomponenten beschikbaar zijn. De be­sturingscomputer is voorzien van een extra RAM geheugen. Dit is noodzakelijk omdat de SBC's niet over genoeg geheugenruimte beschikken om gedurende een redelijke tijd (enkele seconden) te kunnen teachen. De communicatie tussen de SBC's het RAM bord gebeurt via de multibus.

Page 15: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

RS232 ONTWIKKEL-

SYSTEEM

GmultibuS

TRANSLATIE 86/05 SB

~

. pos1t1e (X)

~~

MASTER SBC 186/03

1' ......

,> ROTATIE

86/05 SBC

A ~

hoek (11))

, I

Figuur 5: Blokschema van de besturingscomputer

I II RAM BORD

028

J KRACHT

86/12 SBC

~

kracht/moment (Fx,Fy,My )

Het is de bedoeling dat het besturingsprogramma op de mas­ter SBC draait, en dat parallel aan het besturingsprogramma hulpprogramma's op de slave SBC's draaien. Hierdoor wordt een snel en overzichtelijk computersysteem verkregen. In de komende paragrafen worden de afzonderlijke "blokken van het computersysteem besproken.

3.2 BET ONTWIKKELSYSTEEM

13

I

Het ontwikkelsysteem wordt aIleen gedurende de ontwikkelfase van de robot gebruikt. Op het ontwikkelsysteem worden de pro­gramma's, in modulair pascal, voor de verschillende SBC's ge­schreven. Het systeem is achtereenvolgens met de volgende ta­ken belast: - Het compileren van de programmals, die in modulair Pascal

worden geschreven, naar een zogenaamde object file. Deze ob­ject file is een assembler file met subroutinecalls voor de verschillende standaard pascal commando's. Hierbij worden ook de mogelijke syntaxfouten gedetecteerd.

- Het linken van de verschillende programmadelen edit zijn de modules in modulair pascal) met elkaar en met de bijbehoren­de libraries tot een assemblerfile. De libraries bevatten de assemblerroutines van de betreffende pascalcommando's.

- Het "locaten" van de gelinkte file in het geheugen. Hier worden aan de relocatable file absolute adressen toegekend.

- Tot slot moet de gelocate file omgezet worden naar een hexa­decimale file, die rechtstreeks in het RAM geheugen van een SBC geladen kan worden (dit gebeurt aIleen om een programma

Page 16: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

14

te testen}. Ook be staat de mogelijkheid het programma in een EPROM te laden, zodat de SBC zonder het ontwikkelsysteem kan functioneren.

De communicatie tussen een SBC en het ontwikkelsysteem gebeurt met behulp van het RS-232C communicatie protocol. Het ontwik­kelsysteem wordt in een later stadium, als aIle programma's in EPROM's zijn geladen, door een PC vervangen, die de off-line be­rekening van de regelwet uitvoert.

3.3 DE 186/03 SINGLE BOARD COMPUTER

De 186/03 SBC is de master van de besturingscomputer. Het be­sturingsprogramma, dat op deze SBC gaat draaien, is met de onderstaande taken belast. - Het sturen van de verschillende regelprocessen (de Teach en

Replay mode). - Het beheren van het extra RAM geheugen.

Het generen van de verschillende interrupts (deze worden via de parallele poort (PPI) op de multibus gezet). - De Teach interrupt meldt de slave SBC's dat de robot in de

Teach mode staat. - De Replay interrupt meldt de slave SBC's dat de robot in de

Replay mode staat. - De Sample interrupt zorgt ervoor dat de dimensies synchroon

met elkaar een sample nemen. Het berekenen van de eerste en tweede afgeleide van de toe­standsvector in de Teach mode. Het verzorgen van de timing tussen de verschillende SBC's. Het verzorgen van de communicatie met een monitor, die na de ontwikkelfase de communicatie tussen mens en robot verzorgt. Het verzorgen van de dataoverdracht tussen de besturingscom­puter en de PC. Deze dataoverdracht is noodzakelijk voor de off-line berekening van de optimale regelwet.

3.4 RET 028 RAM BOARD

Het 028 RAM board is een 128K RAM geheugen, dat via de multi­bus op het totale systeem is aangesloten. De functie van het extra RAM geheugen is: - Het verzorgen van de communicatie tussen de SBC's onderling.

Het extra RAM geheugen vormt het systeem geheugen zodat de data, die aIle SBC's nodig hebben, in het systeemgeheugen worden geplaatst. Communicatie vindt plaats doordat de ene

Page 17: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

15

SBC data in het RAM geheugen zet, en de andere deze data uit­leest.

- Het vergroten van het totale RAM geheugen zodat de Teach/Re­play mode langer gedraait kan worden. De SBC RAM geheugens zijn niet groot genoeg om aIle data, die tijdens de Teach en Replay mode wordt gecreeerd, op te kunnen slaan.

In bijlage A.l is de plaats van het extra RAM geheugen binnen de totale memorymap aangegeven.

3.5 DE 86/12 SINGLE BOARD COMPUTER

Tijdens het teachen wordt de robot bestuurd door middel van een 3D krachtsensor. Aangezien de berekening van de krachtcom­ponenten nogal vee I tijd in beslag neemt is er voor een extra SBC gekozen. Dit biedt ook het voordeel dat de actuele waarde van de krachtcomponent continu aanwezig is. De 86/12 SBC is met de volgende taken belast: - Het berekenen van de krachtcomponenten uit de signalen die

de krachtsensor afgeeft. V~~r de R-T robot worden aIleen de krachten Fx en Fy en het moment My, van de drie dimensionale krachtsensor gebruikt. .

- Het wegschrijven van de twee krachten en het moment naar het dual port RAM geheugen.

De 86/12 SBC bezit een zogenaamd dual port RAM geheugen. Dit is een RAM geheugen dat door de multibus en door de adresbus van de 86/12 SBC kan worden geadresseerd. Hierdoor is het voor de ande­re SBC's mogelijk het dual port RAM geheugen via de multibus te adresseren. In bijlage A.l is een memory map van de totale be­sturingscomputer weergegeven, hierin zijn ook de adressen van het dual port RAM geheugen aangegeven.

3.6 DE 86/05 SINGLE BOARD COMPUTER

De 86/05 SBC is zowel voor het roterende als voor het transle­rende deel met de onderstaande taken belast. - Het inlezen en bewerken van de positiedata. - Het uitsturen van de motorspanning. - Het inlezen van de eindschakelaars en het uitvoeren van een

bepaalde routine als een van de eindschakelaars in werking treedt.

- Het ondersteunen van het hoofdprogramma met behulp van een klein besturingsprogramma dat op de SBC draait.

Page 18: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

16

- Het uitlezen van het dual port RAM geheugen van de 86/12 SBe tijdens de Teach mode. De translatie SBe leest de kracht Fx uit, en berekent de motorspanning UT. De rotatie SBe leest de kracht Fy en het moment My uit, en berekent samen met de actu­ele waarae van de armpositie de motorspanning UR.

- V~~r de translerende SBe is nog een extra taak aanwezig. Deze meldt de rotatie SBe, door middel van een interrupt, dat de actuele waarde van de armpositie ex) in het extra RAM geheugen aanwezig is.

In bet volgende hoofdstuk wordt de opbouw van de 86/05 SBe uit­voerig besproken. Hierbij komen aIle afzonderlijke delen van de SBe uitgebreid aan de orde.

Page 19: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

.IU

17

4 DE OPBOUW VAN DE 86/05 SINGLE BOARD COMPUTER

In figuur 6 is het blokschema van de 86/05 SBC getekend. In dit hoofdstuk wordt elk deel van de SBC, dat van toepassing is op de R-T robot, van de SBC gedetailleerd besproken.

ROY-S

ROY SYNC

INT£L --,

_'A PCI

INTERRUPT MATRIX

-iaSiA-­PIC:

NIIALLIL 110

r----' _C3G2 ,

EICP:::ON I

ON-IIOARD !lAM

r----' I _C 341 I I EXPANSION I

ROM ON·aOARD

ROM

MULTlaus '1 1"

Figuur 6: Blokschema van de 86/05 SBC

4.1 DE MICROPROCESSOR

De 86/05 SBC bezit een 8086 microprocessor. Dit is een 16 bits processor met een 20 bits adresbus. Dit 20 bits adres kan maxi­maal een geheugen van 1Mbyte adresseren. Het geheugen is in vier segmenten, van elk maximaal 256kbyte, opgedeeld. Deze vier segmenten zijn: - code segment

data segment - stack segment - extra segment

Dit segment bevat het code deel (instructies) van een programma. Dit segment bevat de programmadata. Dit segment fungeert als programmastack. Dit is een vrij segment dat voor elke toepas­sing kan worden gebruikt.

Page 20: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

18

Het geheugenadres wordt met behulp van twee registers, een seg­ment- en een offsetregister, samengesteld. De samenstelling van een adres is in figuur 7 getekend.

15 0

I : : : ~E?MtNf :RtGfsfE+ : : : I 15 0

I : : : : ?FfstT: +E?I~TtR: : : I +

19 0

I : : : :RtA~ ~E+O~Y:A?D+E~S: : : : : : I Figuur 7: Adressamenstelling van de 8086 CPU

De 8086 bezit veertien registers, welke elk hun eigen toepas­sing hebben (zie figuur 8). Hieronder worden de registerparen met hun toepassing opgesomd. - general registers: Dit zijn acht 16 bits registers die voor

de algemene processorfuncties worden ge­bruikt.

general registers segment reqisters

AH AL AX Code Segment cs

BH BL BX Data Segment OS

CH CL CX Stack Segment ss DH DL I ox Extra Segment ES

Stack pointer SP control registers

Base pointer BP Instr. Pointer IP

Source index S1 Status Flags FL

Destination index 01

Figuur 8: 8086 registers

Page 21: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

- segment registers: Dit z1Jn vier 16 bits registers die het base adres van een segment aangeven.

- control registers: Dit zijn twee registers (16 bits), de instruction pointer en het statusregis­ter (dit register bevat aIle flags).

4.2 BET GEHEUGEN

19

De 86/05 SBe bezit twee geheugentypes, 8K RAM en 32K ROM ge­heugen. In bijlage A.1 is de memory map van de 86/05 SBe weer­gegeven. De overige adressen (er kan namelijk 1M geadresseerd worden) kunnen voor multibusaccess worden gebruikt, hetgeen in paragraaf 4.7 wordt besproken.

Het RAM geheugen wordt aIleen voor de data gebruikt die niet buiten de SBe nodig is. Data die het totale systeem nodig heeft (positie/hoek, motorspanning enz.), wordt over de multibus naar het extra RAM bord gestuurd. Het ROM geheugen (EPROM) bevat het 86/05 SBe besturingsprogramma.

4.3 DE INTERRUPT CONTROLLER

De programmable interrupt controller (8259A) verzorgt de inter­ruptafhandeling van de verschillende interrupts. De functies van de verschillende interrupts, waarvan IRO de hoogste en IR7 de laagste prioriteit heeft, zijn: - IRO: Deze interrupt wordt gegenereerd als de rechtse eindscha­

kelaar wordt gepasseerd. - IR1: Deze interrupt wordt gegenereerd als de linkse eindscha­

kelaar wordt gepasseerd. - IR2: Deze interrupt geeft aan dat de besturingscomputer in de

Teach mode staat. - IR3: Deze interrupt geeft aan dat de besturingscomputer in de

Replay mode staat. - IR4: Dit is de sample interrupt, die bepaalt op welk moment er

gesampeld moet worden. - IRS: Deze interrupt wordt in de testfase van het systeem als

test interrupt gebruikt, en meldt dat het test programma draait.

- IR6: Deze interrupt wordt aIleen bij de rotatie SBe gebruikt om aan te geven dat de actuele waarde van de armpositie in het extra RAM geheugen aanwezig is.

- IR7: Deze interrupt start bij een zero position puIs (zie pa­ragraaf 5.1.1.) een positioncounter initialisatieroutine.

Page 22: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

20

De PIC wordt met behulp van zogenaamde ttcontrol words" gepro­grammeerd. Deze control words bepalen de configuratie waarin de PIC functioneert. In bijlage A.2 is de exacte functie van de verschillende controlwoorden gegeven. In paragraf 6.4.1 wordt het initialisatieprogramma voor de PIC besproken.

4.4 DE PARALLEL PORT INTERFACE

De Parallel Port Interface (PPI) is een programmeerbare 1/0-poort. De PPI wordt aIleen bij de translatie SBC gebruikt om een interrupt te genereren. Deze interrupt, die aan de rotatie SBC meldt dat de actuele waarde van de armpositie in het extra RAM geheugen aanwezig is, wordt softwarematig gegenereerd.

De uitgang van de PPI, die als interrupt fungeert, wordt door middel van jumpers op de multibus gezet. De rotatie SBC ziet de interrupt dus als een multibusinterrupt, die via jumpers op de PIC wordt aangesloten (IR6). In bijlage A.6 is de jumper con­figuratie van de 86/05 SBC weergegeven. In bijlage A.3 wordt de PPI gedetailleerder besproken.

4.5 DE iSBX BUS

De iSBX bus is een 8 of 16 bits parallele I/O poort. De iSBX bus verzorgt de communicatie tussen de SBC en de buitenwereld. Via deze I/O poorten worden de regelparameters (x, ~, UT en UR) in- en uitgevoert. In hoofdstuk 5 worden de interfaces, die hier­voor noodzakelijk zijn, besproken. De lijnen van de iSBX bus met hun functie worden in bijlage A.4 toegelicht.

4.6 DE RS-232C BUS

De RS-232C bus wordt, tijdens de ontwikkelfase, gebruikt voor de communicatie met het ontwikkelsysteem. De RS-232C interface is een programmable communication interface (PCI), die de seri­ele RS-232C data omzet naar parallele data voor de SBC, en om­gekeerd.

Page 23: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

21

4.7 DE MULTI BUS

De multibus verzorgt de communicatie tussen de verschillende SBC's en het RAM geheugen bordo Communicatie tussen de SBC's onderling gebeurt ook via het RAM geheugen bordo Hiervoor be­schikt elke SBC over een multibusinterface, die de schakel vormt tussen de SBC en de multibus.

Om busconflict te voorkomen is er een busarbiter nodig. Deze busarbiter bepaald welke SBC de hoogste prioriteit heeft en welke dus beschikking krijgt over de multibus. In bijlage A.5 is de multibus met al zijn lijnen weergegeven.

Page 24: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

22

5 DE INTERFACES

Omdat de positie en de motorspanning niet rechtstreeks door de 86/05 SSC kunnen worden verwerkt, is het gebruik van een inter­face onontbeerlijk. In figuur 9 is de 86/05 SSC met zijn inter­faces getekend. In dit hoofdstuk worden de twee interfaces, die voor het translerende en roterende deel identiek zijn, bespro-ken. .

SBC 86/05

iSBX bus 2

POSITIE INTERFACE

positie sensor

iSBX bus 1

MOTOR INTERFACE

versterker+ motor

eind­schakelaars

Figuur 9: Slokschema van de 86/05 SBC met interfaces

5.1 DE POSITIEINTERFACE

De positieinterface vormt, zoals de naam al zegt, de schakel tussen de positiesensor en de 86/05 SBC. V~~r de translerende beweging is het noodzakelijk de positie x te kennen, terwijl voor de roterende beweging de hoek ¢ van belang is. Alvorens er een positiesensor kan worden gekozen moet er eerst een spe­cificatie van de te meten grootheden worden opgegeven. De spe­cificaties ten aanzien van de positie/hoek zijn: - positie x oxSlO ~m xmax~70 cm - hoek ¢ o¢SO,55.10-3 ¢max~270 0

Page 25: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

23

Zowel voor de translerende als voor de roterende positie is, in verband met de enorm grote nauwkeurigheid, voor een zoge­naamde meetlineaal gekozen. De werking van de twee meetline­alen is exact hetzelfde, aIleen in uitvoeringsvorm verschil­len de linealen ten opzichte van elkaar. De lineaal voor de translerende beweging heeft de vorm van een balk terwijl de lineaal voor de roterende beweging de vorm van een ring heeft. In de volgende subparagraaf wordt de werking van de meetline­aal besproken.

5.1.1 De werking van de meetlineaal

De meetlineaal is een balk (of een opengeklapte ring) die in reflecterende en niet-reflecterende streepjes is opgedeeld, hetgeen, in figuur 10, is getekend. Verder zijn er twee zender/ ontvanger combinaties, die licht uitzenden en ontvangen. Ais de balk ten opzichte van de zender/ontvanger combinatie beweegt, geven beide ontvangers signalen af. De signalen hebben na digi­talisering, de vorm van de, in figuur 11, getekende signalen. uit deze twee signalen kunnen de positie en de bewegingsrichting worden afgeleid.

Zero position

zender/ontvanger combinaties , ~

____________________ ~n~ ______ __

Figuur 10: Opbouw van de meetlineaal

De meetlineaal bezit ook een zogenaamd "zero position point". Dit zero position point is, door de fabrikant, op een bepaal­de plaats op de lineaal aangebracht (meestal ergens in het mid­den). Passeert nu de zender/ontvanger combinatie dit punt, dan geeft de zero position uitgang een puIs af. Dit zero position signaal wordt als referentiepunt bij het initialiseren van de meetlineaal gebruikt (zie paragraaf 6.4.3).

Page 26: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

24

5.1.2. De positioncounter

Het is nu de taak van de positieinterface om deze signalen (U1, U2) te transformeren naar een signaal, dat door de SBC kan wor­den geinterpreteerd. De eenvoudigste methode is het tellen van de pulsen van u+ of U2' Het aantal pulsen, vanaf een begintoe­stand, is name11jk een maat voor de positie/hoek. uit de signa­len U1 en U2 kan tevens de telrichting van de counter worden bepaald.

De grootte van de counter staat direct in verb and met de leng­te en de nauwkeurigheid van de meetlineaal.In bijlage B.1 is het bitformaat en de maximale frequentie van U1/U2' voor translatie en rotatie, berekend. Er geldt: - translerende beweging: n= 17 bits

6x= 10 ~m f max (U1,U2)= 100 kHz

- roterende beweging n= 20 bits 6¢= 0,357.10-3 • f max (U+,U2)= 126,25 kHz

Hieruit blijkt dus dat de posit1emeting aan de eisen, die aan de robot gesteld zijn, voldoet.

Omdat de roterende en de translerende interfaces hetzelfde die­nen te zijn is er gekozen voor een 20 bits counter. Dit maakt in verwerkingssnelheid en geheugenruimte niets uit omdat er voor 17 en voor 20 bits allebei drie bytes nodig zijn. De 20 bits counter wordt samengesteld uit een 16 bits discriminator (dit is een counter met ingebouwde richtingsdecoder) en een 4 bits up/down counter. In figuur 11 is het blokschema van de 20 bits couhter getekend. Het zero position signaal wordt gebruikt om een interrupt te genereren. Met behulp van deze interrupt, die op de opgaande flank actief is, kan de counter in een be­paalde begintoestand worden gezet. In bijlage B.3 is het sche­ma van de positieinterface opgenomen.

M E U1 E T U2 L I N E A

• -

I 16 bits

DISCRIMINATOR

~ . -down

I ~ a t

~ 4 bits COUNTER

o 8 6

19

/ o 5

S B C

A Z.P. L

--------------------------------------------... INT

Figuur 11: Blokschema van de 20 bits counter

Page 27: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

25

5.2 DE MOTORINTERFACE

De tweede interface is de motorinterface, die een schakel tus­sen de SBC en de motorversterker vormt. De motorinterface is met een tweetal taken belast: - Het aansturen van de motorversterker met behulp van een Digi­

taal Analoog Converter (DAC). - Het inlezen van de eindschakelaars.

5.2.1 De Digitaal Analoog Converter

De DAC zet een digitale waarde, gecodeerd volgens de 2's com­plement methode, om in een spanningswaarde die gebruikt wordt om de motorversterker aan te sturen. Aangezien de motorverster­ker nagenoeg lineair is, is de digitale waarde rechtstreeks een maat voor de motorspanning.

Alvorens er een DAC gekozen kan worden, moet het spanningsbe­reik (afhankelijk van de maximale en minimale motorspanning) en de minimale spanningsstap (afhankelijk van de regelwet) be­kend zijn. In bijlage B.2 is afgeleid dat geldt: - translatie: -15,5 $ UDAC $ 15,5 [V]

n = 10 bits - rotatie -16,9 $ UDAC $ 16,9 [V]

n = 16 bits

V~~r de translatiemotor is voor een 12 bits DAC gekozen en voor de rotatiemotor een 16 bits. Dit maakt softwarematig ge­zien niets uit omdat een 12 bits DAC ook 2 bytes geheugenruim­te nodig heeft, en dus ook als 16 bits wordt geinterpreteerd.

Om aan het bereik van be ide DAC's tegemoet te komen zijn er versterkers nodig, die het standaard bereik van beide DAC's (± 10V) aanpast. De versterkers moeten aan de volgende spe­cificaties voldoen: - een zeer kleine offsetspanning die weg te regelen is - een instelbare versterkingsfactor om een exacte uitgangs-

spanning te verkrijgen - een zo groot mogelijke spanningsvariatie op de uitgang kun­

nen hebben bij een voedingsspanning van ± 15V (dit is de voe­dingsspanning van de DAC's) een lineaire overdrachtsfuctie over zijn gehele spannings­bereik

- de stroom voor de motorversterker kunnen leveren

Page 28: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

26

5.2.2 De eindschakelaars

Als eindschakelaars worden hall-effect schakelaars gebruikt. Deze hall-efect schakelaars werken, zoals de naam al zegt, vol­gens het hall principe. In figuur 12 is het vervangingsschema van een hall-effect schakelaar getekend. Onder invloed van een magnetisch veld schakelt de schakelaar.

De hall-effect schakelaars treden in werking zodra de robot buiten zijn werkgebied gaat. Er wordt dan, via een interrupt­lijn, een interrupt service routine aangeroepen, welke de mo­tor softwarematig stopt. Ter beveiliging zijn er oOk nog eind­schakelaars die, in uiterste nood, de motor kortsluiten. In bijlage B.4 en B.5 zijn de schema's van de motorinterfaces (translatie en rotatie) weergegeven.

FEG •. !----...,

.IT

Figuur 12: Vervangingsschema van de hall-effect schakelaar

Page 29: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

27

6 DE SOFTWARE VOOR DE 86/05 SINGLE BOARD COMPUTER

De software voor de 86/05 SBC is, op het ontwikkelsysteem, in modulair pascal geschreven. De software, die op dit moment is geschreven, is er aIleen om de hardware te ondersteunen en te testen. Het eigenlijke besturingsprogramma wordt in een later stadium geschreven. In dit hoofdstuk komen achtereenvolgens aan de orde: - de software voor de multibuscommunicatie - de software voor de interfaces - de interrupt service routines - de software voor de 86/05 SSC initialisatie

6.1 DE MULTIBUSSOFTWARE

De SSC's communiceren met het RAM geheugen via de multibus. De multibus wordt, zoals in paragraaf 4.7 is besproken, door een memory read/write aangesproken. De pascal versie van het ontwik­kelsysteen kent echter geen memory read/write instructie waarbij een absoluut geheugenadres kan worden opgegeven. Er moeten dus instructies ontwikkeld worden die data naar een absoluut geheu­genadres kunnen schrijven, en die van een absoluut geheugenadres data kunnen lezen.

Deze instucties, die in pascal als procedures kunnen worden aan­geroepen, worden in 8086/80186 assembler geschreven. De 80186 heeft dezelfde instructieset als de 8086, maar is aIleen met en­kele extra instructies uitgevoerd. Hieronder zijn de vier multi­buscommunicatieinstructies gegeven. - MBWI(ADDRESS:LONGINT:DATA:INTEGER)

Deze instructie schrijft een INTEGER (2 bytes) naar een be­paalde geheugenlocatie.

- MBWLI(ADDRESS:LONGINT;DATA:LONGINT) Deze instructie schrijft een LONGINT (4 bytes, waarvan maar 3 bytes weggeschreven worden) naar een bepaalde geheugenlocatie.

- MSRI(ADDRESS:LONGINT;VAR DATA:INTEGER) Deze instructie leest een waarde (2 bytes) uit een bepaalde geheugenlocatie en kent deze waarde aan een variable van het INTEGER type toe.

- MBRLI(ADDRESS:LONGINTiVAR DATA:LONGINT) Deze instructie leest een waarde (3 bytes) uit een bepaalde geheugenlocatie en kent deze aan een variable van het LONGINT type toe.

Page 30: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

voor procedure

'------...... « SP, BP

na een schrijfprocedure

r-------,« SP Ret. adr.

data

address '-------'« BP

na een leesprocedure r------~« SP Ret adr.

pointer

address '------.... « BP

SP:Stackpointer BP:Basepointer

Figuur 13: Stackopbouw voor en na een procedureaanroep

28

De dataoverdracht tussen een assembler subroutine en een pascal programma gebeurt via de stack. In figuur 13 is de stack voor en na een procedureaanroep getekend. De gegevens moeten in een as­sembler subroutine geindexeerd ten opzichte van de basepointer worden geadresseerd, omdat geindexeerd adresseren ten opzichte van de stackpointer niet mogelijk is.

Schrijfinstructie Leesinstructie

( BEGIN ) BEGIN

I I Zet de BP op stack I Zet de BP op stack I

I I Haal adres van stack I Haal adres van stack

I J Zet het adres op goede Zet het adres op goede methode in registers methode in registers

I I Haal data van stack Haal data uit geheugen

I I Data naar geheugenadres waarde:= var DATA

I I Haal de BP van stack Haal de BP van stack

I I End Of Subroutine End Of Subroutine

Figuur 14: Flowcharts van de lees en schrijf instructie

Page 31: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

29

In figuur 14 Z1)n de flowcharts van een lees- en schrijfinstruc­tie weergegeven. Hierbij dient opgemerkt te worden dat het lees­en schrijfadres, dat bij de procedureaanroep wordt meegegeven, in een segment- en een offsetadres moet worden gesplitst. De programmalistings van de vier multibusprocedures zijn in bijla­ge C.l opgenomen.

De vier instructies Z1Jn in een library (MBUS.LIB) opgenomen, dat tijdens het linken met de andere libraries wordt meegelinkt. Dit maakt het mogelijk dat de instructies als standaard pascal­instructies kunnen worden gebruikt, mits ze in de moduleheading worden gedeclareerd.

6.2 DE INTERFACESOFTWARE

De interfacesoftware is ter ondersteuning van de interfaces ge­schreven. In de volgende subparagrafen wordt de software voor de positie- en motorinterface besproken.

6.2.1 De software voor de positieinterface

De positieinterface kent twee instructies. - De procedure COUNTERWRITE (DATA: LONGINT) schrijft data, van

het type LONGINT (4 bytes, waarvan maar 20 bits worden ge­bruikt), naar de positieinterface.

- De functie COUNTERREAD:LONGINT leest de data, van het type LONGINT (4 bytes waarvan maar 20 bits worden gebruikt), van de positieinterface in.

In figuur 15 is het nassi-schneiderman diagram van de procedure COUNTERWRITE getekend. Het schrijven naar de positieinterface gebeurt in twee keer. De eerst keer worden de acht minst signi­ficante bits naar de counter geschreven, en de tweede keer de twaalf meest significante bits. Dit is noodzakelijk in verband met de interne counterklok. Orndat er in twee keer geschreven wordt, moet de data (LONGINT type) gesplitst worden. Dit ge­beurt met behulp van de DIVen MOD instructie omdat deze pascal versie de AND functie niet kent.

In figuur 15 is het nassi-schneiderman diagram van de functie COUNTERREAD weergegeven. Het uitlezen van de positieinterface gebeurt, evenals het schrijven, in twee cycli. Eerst worden de acht minst significante bits gelezen en daarna de twaalf meest significante bits. Aangezien de input instructie zestien bits inleest, worden de bits, die niet gebruikt worden, nul gemaakt. Tot slot worden de twee woorden tot een datawoord, van 20 bits, samengesteld.

Page 32: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

30

COUNTERWRITE(DATA:INTEGER) COUNTERREAD'INTEGER . begin begin

Declaratie Declaratie

DATA1=DATA mod 100H inwrd (AOH, DATAl) {DATAl bevat 8 LSB} inwrd (A2H,DATA2)

DATA2=DATA div 256 DATA1=DATAl mod 100H {DATA2 bevat 12 MSB} {neem alleen 8 LSB}

outwt:d (AOH, DATAl) DATA2=DATA2 mod 1000H outwt:d (A2H,DATA2) {neem alleen 12 MSB}

end {counterwrite} COUNTERREAD=DATA1+ DATA2*256

end {counterread}

Figuur 15: Nassi-schneiderman diagrammen van de twee positieinterface procedures

6.2.2 De software voor de motor interface

De motorinterface voor zowel de translerende als de roterende beweging beeft een woordbreedte van zestien bits. De procedure DACWRITE schrijft een INTEGER (2 bytes) naar de motorinterface. De roterende motorinterface gebruikt aIle zestien bits terwijl de translerende motorinterface er maar twaalf gebruikt.

Een nassi-schneidermann diagram van de DACWRITE procedure wordt, in verband met zijn zeer eenvoudige opzet, niet gegeven. Wel is een listing van de interfaceprocedures in bijlage C.2 opgenomen.

6.3 DE INTERRUPT SERVICE ROUTINES

Alvorens interrupt service routines kunnen worden geschreven, moet aan de volgende eisen worden voldaan: - Er moet voor elke interrupt een vectoradres worden gecreeerd. - De programmable interrupt controller moet worden geinitiali-

seerd (zie paragraaf 6.4). - Tot slot moeten aIle interrupts enabled worden, om een inter­

rupt service routine call mogelijk te maken.

Page 33: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

31

De interrupt service routines, die nodig zijn om de interfaces te testen, zijn: - De eindschakelaar interrupt service routines (RIGHTISR en

LEFTISR), die de motor stoppen zodra deze buiten zijn bereik loopt.

- De zero position interrupt service routine (ZEROPOSISR), die de counter in een begintoestand zet zodra het zero position point wordt gepasseerd.

Een listing van deze interrupt service routines is, samen met een routine die de vectoradressen toekent, in bijlage C.3 opge­nomen.

6.4 DE INITIALISATIESOFTWARE

In de onderstaande subparagrafen worden drie initialisatie pro­cedures besproken •

. 6.4.1 De PIC initialisatiesoftware

De programmable interrupt controller wordt softwarematig met be­hulp van control words geprogrammeerd. Met behulp van deze woor­den wordt de PIC in een bepaalde configuratie gezet. V~~r de R-T robot toepassing wordt de PIC als voIgt geprogrammeerd. - Er is maar een PIC op het 86/05 bord aanwezig, dus staat deze

in de single master mode. - De interruptlijnen zijn op de opgaande flank actief.

De interrupt afhandeling vindt via de not special fully nested mode plaats. Dit betekent dat een interrupt service routine aIleen door een interrupt met een hogere prioriteit kan worden onderbroken.

- De vectoradressen krijgen een offset van 20H omdat de lagere vectoradressen gereserveerd zijn.

- Het EOI (End Of Interrupt) signaal wordt hardwarematig gege­nereerd.

6.4.2 De PPI initialisatiesoftware

De PPI van de translatie SBC genereert een interrupt, die de rotatie SBC meldt dat de actuele armpositie zich in het RAM geheugen bevindt. De PPI wordt als normale I/O poort gepro­grammeerd.

Page 34: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

32

6.4.3 De positieinterface initialisatiesoftware

Direct na het opstarten moeten de positieinterfaces (translatie en rotatie) worden geinitialiseerd. De initialisatieprocedure, die de counter in een bepaalde begintoestand zet, verloopt vol­gens de onderstaande procedure. - Maak de eindschakelaar- en de zeropositioninterrupt enable. - Laat de motor naar zijn rechtse eindpositie lopen (hier wordt

deze dan door de interrupt procedure RIGHTISR gestopt). - Laat de motor naar zijn linkse eindpositie lopeno Bij het pas­

seren van de zero position wordt naar de zero position inter­rupt service routine gesprongen, die de counter in een begin­toestand zet.

- Maak de zeropositioninterrupt disable.

Het nassi-schneiderman diagram van de procedure POSITIONCOUNTER­INIT is in figuur 17 getekend. Verder is in bijlage C.4 een lis­ting van de initialisatiemodule opgenomen. Deze bevat de drie procedures PICINITIALISATIE PITINITIALISATIE en POSITIONCQUN­TERINIT.

begin

Enable m.b.v.de procedure PICWRITE de eindschakelaar- en zeropositioninterrupt.

Stuur een spanning naar de DAC zodat de motor naar zijn rechtse eindpositie loopt.

I Wacht

Herhaal tot rechtse eindpositie is gehaald

Stuur een spanning naar de DAC zodat de motor naar zijn linkse eindpositie loopt.

I Wacht

Herhaal tot linkse eindpositie is gehaald.

Disable de zeroposition interrupt.

end {positioncounterinit}

Figuur 17: Nassi-schneiderman diagram van de initialisatie van de positieinterface

Page 35: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

33

CQNCWSIES

De besturingscomputer, zoals deze in het rapport is besproken, is op dit moment gebouwd en getest. Een testprogramma, dat zo­weI de software als de hardware test, heeft in de practijk be­wezen dat de besturingscomputer goed functioneert.

De besturingscomputer is flexibel opgezet, zodat een eventuele uitbreiding geen problemen geeft. Er kunnen voor eventueel meer­dere dimensies, een verhoogde snelheid of complexe berekeningen extra SBC's worden toegevoegd. Ook is het mogelijk de Teach/Re­play tijd te vergroten door het interne RAM geheugen uit te breiden.

De eis, die vooraf aan de positie/hoek resolutie is gesteld, wordt met de gebruikte interface gehaald. specificaties - oxS10 ~m

O<1>SO,55.10-3 0

behaalde resolutie: - ox=10 ~m - 0<1>=0,375.10-3

0

De resolutie voor de positie x voldoet precies aan de vooraf ge­stelde eis. Mocht deze nauwkeurigheid achteraf niet voldoende zijn, dan bestaat er de mogelijkheid de resolutie van de trans­lerende meetlineaal te vergroten door de toepassing van een in­terpolator.

Op dit moment is de DAC uitgevoerd met een versterker, die niet aan de eis ten aanzien van het spanningsbereik (±15,S V voor de translatie en ±16,9V voor de rotatie DAC) voldoet. Als aan de eis voldaan moet worden, dan moet er een extra voeding voor de ver­sterker komen.

Page 36: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

34

GEBAADPLEEGPE LITERATUUR

[1] Bommel L.V.M. van, ontwerp, productie en de dynamische analyse van een lineai­re actuator, WPA-rapport 0067, Eindhoven, oktober 1988.

t2] Chalitsios C., ontwerp en bouw van een besturingscomputersysteem voor een 2D-robot (I), WPA-rapport 0.576, Eindhoven, mei 1988.

[3] Nederhoed P., Helder rapporteren, Den Haag, 1985.

(4) Reijnen J.G.M., Onderzoek naar een nieuw besturings voor de ASEA - robot mbv een 3D krachten- en momentensensor l

WPA-rapport 0.313, Eindhoven, juli 1986. [5] Retraint E,

Control unit for two-dimensional robot, WPA-rapport 0542 , Eindhoven, februari 1988.

[6] An introduction to ASM86, uitgave van Intel l 1981.

[7] ASM86 language reference manual, uitgave van Intel, 1983.

[8] Digital Integrated circuits CMOS HE4000B family, uitgave van Philips, 1983.

[9] iAPX 86,88 family utilities user's guide, uitgave van Intel, 1982.

[10] iSBC 186/03 Single Board Computer hardware reference manual, uitgave van Intel, 1984.

[11] iSBC 86/05 Single Board Computer hardware reference manual, uitgave van Intel, 1981.

[12] iSBC 86/12 Single Board Computer hardware reference manual, uitgave van Intel, 1978.

[13] iSBC 028A RAM Board hardware reference manual, uitgave van Intel, 1981.

[14] iSDM86 system debug monitor reference manual, uitgave van Intel, 1983.

[15] OEM System handbook, uitgave van Intel, 1985.

[16] Pascal-86 user's guide, uitgave van Intel, 1984.

[17] Product data book, uitgave van Burr-Brown, 1984.

[18] Product data book supplement, uitgave van Burr-Brown, 1985.

[19] The TTL data book Volume 1, uitgave van Texas Instruments, 1985.

Page 37: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGEN A DE HARDWARE VAN DE BESTURINGSCOMPQTER

A.l DE MEMORY MAP VAN DE BESTURINGSCOMPUTER

A.2 DE 8259A PROGRAMMABLE INTERRUPT CONTROLLER

A.2.1 De Interrupt Control Words A.2.2 De Operation Control Words

A.3 DE 8255A PARALLEL PORT INTERFACE

A.4 DE iSBX BUS

A.5 DE MULTIBUS

A.6 DE JUMPER CONFIGURATIE VAN DE 86/05 SBC

35

Page 38: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGE A.1

FFFFF

F8000 F7FFF

08000 03FFF

00000

FFFFF

F8000 F7FFF

08000 07FFF

04000 03FFF

00000

36

DE MEMORY MAP VAN DE BESTURINGSCOMPUTER

sse 186/03

32K local ROM geheugen

32K local RAM geheugen

SBC 86/12

32K local ROM geheugen

16K dual port RAM geheugen

16K local RAM geheugen

FFFFF

F8000 F7FFF

02000 01FFF

00000

FFFFF

A4000 A3FFF

AOOOO 9FFFF

80000 7FFFF

00000

sse 86/05

32K local ROM geheugen

8K local RAM geheugen

MULTI SUS ADRESSEN

16K dual port RAM geheugen

128K RAM geheugen

(028 RAM board)

Page 39: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

37

BIJLAGE A.2 DE 8259A PROGRAMMABLE INTERRUPT CONTROLLER

De Programmable Interrupt Controller kent twee soort controle woorden, de Interrupt Control Words (ICW) en de Operation Con­trol Words (OCW). In deze bijlage worden allen de ICW's en de OCW's besproken die voor de R-T robot van toepassing zijn.

A.2.1 De Interrupt Control Words

De PIC wordt met behulp van vier ICW's in een bepaalde configu­ratie gezet. De betekenis van de ICW's, met het I/O adres, is hieronder gegeven.

- ICWl (I/O adres OOCO H)

- ICW2 (I/O adres OOC2 H)

Single o single master 1 : not single

master

Level Triggered Input Mode o : edge triggered input 1 : level triggered input

De offset die aan het base vectoradres wordt meegegeven. Er zijn 25= 32 vector­adressen mogelijk.

Page 40: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

- ICW4 (I/O adres 00C2 H)

Fully Nested Mode 0

1

not fully nes-ted mode . fully nested 0

mode

Buffered o not buffered mode 1 : buffered mode

Automatic End Interrupt 0 . EOI wordt .

warematig nereerd

1 0 EOI wordt 0

warematig nereerd

~----~~Master/Slave

o : slave 1 : master

De ICW's zijn als voIgt geprogrammeerd: - ICWl = 0001 0011 B - ICW2 = 0010 0000 B - ICW4 = 0000 1111 B Het initialisatie programma is in bijlage Co4 opgenomen.

A.2.2 De Operation Control Words

Het enigste OCW dat voor de 86/05 toepassing van belang is, is het interrupt mask register (OWCl).

- OCWl (I/O adres 00C2 H)

Interrupt Mask Register o : interrupt enable 1 : interrupt disable

De subroutine, die de PIC initialiseert, is in bijlage C.4 opgenomen.

38

of

hard-gege-

soft-gege-

Page 41: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

39

BIJLAGE A.3 DE 8255A PARALLEL PORT INTERFACE

De Parallel Port Interface (PPI) wordt op de translatie 86/05 SBC als interruptbron gebruikt. Deze interrupt meldt de rota­tie SBC dat de actuele armpositie in het RAM geheugenbord aan­wezig is. De PPI bestaat uit drie 8 bits I/O poorten, waarvan aIleen poort C wordt gebruikt. De 24 I/O lijnen zijn in twee groepen van 12 bits gesplits .

poort A 0

1

7 . poort C poort B r

23 group A 12 11 group B o De PPI wordt met behulp van een Control Word (8 bits) geinitia­liseerd. Het CW heeft de volgende betekenis: I/O adres : OOCE H

Mode set Flag 1 : enable CW en reset I/O lijnen o : disable

Mode Selection 00 : mode 0 01 · mode 1 · 1* : mode 2 Mode 1 en 2 kent speciale functies aan I/O lijnen toe.

poort A 0 · output · 1 · input ·

4 0 1

4 LSbits van poort C o : output 1 : input

poort B o : output 1 : input

Mode Selection 0 . mode 0, aIle poorten .

zijn normale I/O poorten

1 mode 1, kent speciale functies aan I/O lij-nen

MSbits van poort C output . input .

De PPI is met het volgende Contol Word geprogrammeerd. CW = 1000 0000 B De subroutine, die de PPI initialiseert, is in bijlage C.4 weergegeven.

Page 42: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

40

BlJLAGE A.4 DE iSBX BUS

De iSBX bus is hieronder getekend.

MDO ] MDF

DATALIJNEN

+5V ] GND +15V -15V

VOEDINGSLIJNEN

lOR lOW

MPST CONTROL-LIJNEN MRESET

MWAIT eLK

MAO MAl MA2 CHIP SELECT-LIJNEN

MCSO MCS1

INTO ] INT1 INTERRUPTLIJNEN

OPTO ] OPT1 OPTION-LIJNEN

De functie van de verschillende lijnen is: - De datalijnen worden voor de dataoverdracht gebruikt. In de

8 bits mode worden aIleen de lijnen MDO •• MD7 gebruikt, ter­wijl in de 16 bits mode aIle lijnen bezet zijn.

- De voedingslijnen worden gebruikt am een iSBX bus module te voeden.

Page 43: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

- De functies van de verschillende control lijnen zijn: lOW/lOR: Dit zijn de Input-Output Read/Write signalen.

41

MPST : De Module Present lijn moet laag zijn om aan te geven dat er een module op de iSBX bus aanwezig is.

MRESET : De Master Reset geeft een reset als de SBe wordt gereset.

MWAIT : Module Wait zet de SBC in de wait mode. CLK : Dit is de SBC klok (9,68 MHz).

- De chip selectlijnen bepalen welk I/O adres dient te worden gekozen om een (deel van een) module te selecteren. De rela­tie tussen de I/O adressen en de selectielijnen is hieronder weergegeven.

I/O adres I/O adres ~2 ~1 ~o bus 1 (J4) bus 2 (J3)

0 0 0 80 H AO H 0 0 1 82 H A2 H 0 1 0 84 H A4 H 0 1 1 86 H A6 H 1 0 0 88 H AS H 1 0 1 SA H MH 1 1 0 8C H AC H 1 1 1 SE H AE H

De Meso lijn wordt, in de 16 bits mode, actief zodra een van deze adressen voorkomt. Dus moet in de 16 bits mode de Meso lijn ook worden meegenomen. De I/O adressen van de interfaces zijn: - positieinterface S LSBits AO H

12 MSBits: A2 H - motorinterface 12/16 bits: 80 H

- De interrupt lijnen kunnen met de PIC verbonden worden, en dienen als interrupt ingangen voor externe interrupts.

- De option lijnen zijn extra in- of uitgangen die voor extra opties kunnen worden gebruikt. In de R-T robot toepassing zijn ze als extra voedingslijnen gebruikt om de DAe te voeden. OPTO = +15V OPT1 = -15V

Page 44: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

42

In de onderstaande tabel zijn aIle lijnen van de iSBX bus met hun pinnummers weergegeven.

PIn MneMon6c OeecrtpUon PIn Mnemonk: Oeecflptlon

43 MOB MDATA 8 44 MD9 MDATA 9

41 MDA MDATA A 42 MOB MDATA B

3i MOe MDATA C 40 MOD MDATA 0

37 MOE MDATA E 38 MDF MDATA F

35 GND SIGNAL GROUND 36 +5V +S Volts

33 MOO MDATA BIT 0 ~ - RESERVED

31 MOl MDATA BIT 1 32 - RESERVED

28 MD2 MDATA BIT 2 30 OPTO OPTION 0 21 MD3 MDATA BIT 3 28 OPT1 OPTION 1

25 MD .. MDATA BIT 4 26 - RESERVED

23 MDS MDATA BIT 5 2 .. - RESERVED

21 MDe MDATA BIT 6 22 MesO! M CHIP SELECT 0

'I MD7 MDATA BIT 1 20 MCSII M CHIP SELECT 1

17 GND SIGNAL GROUND 18 't5V "6 Volta 15 10RDI 10 READ COMMAND 16 MWAITI M WAIT 13 lOWRTI 10 WRITE CO~MAND 14 MINTRO M INTERRUPT 0 11 MAO M ADDRESS 0 12 MINTR1 M INTERRUPT 1 II MAl M ADDRESS 1 10 - RESERVED

7 MA2 M ADDRESS 2 8 MPSTI M PRESENT

5 MRESET M RESET 8 MClK M CLOCK

3 GND SIGNAL GROUND .. +5V +5 Volts 1 1'12V +12 Volts 2 -12V -12 Volts

Page 45: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

43

BIJLAGE A.S DE MULTI BUS

De multibusconnector is hieronder weergegeven.

+5V ] +12V -12V

GND

VOEDINGSLIJNEN

ADRO ] ADR19 ADRESLIJNEN

DATO ] DATF DATALIJNEN

INTO ] INT7 INTERRUPTLIJNEN

BCLK INIT BPRN BPRO BUSY BREQ MRDC MWTC IORC CONTROL-LIJNEN IOWC XACK LOCK BHEN CBRQ CCLK INTA

Page 46: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

44

De verschillende lijnen hebben de volgende functies. - VOEDINGSLIJNEN : Deze lijnen zijn verbonden met een voeding,

welke via de multibus aIle SBC's voedt. - ADRESLIJNEN : Dit zijn de twintig adreslijnen die elke proces­

sor heeft, hiermee wordt een geheugenlocatie op het RAM bord geselecteerd.

- DATALIJNEN : Dit zijn de 16 datalijnen. - INTERRUPTLIJNEN : Dit zijn de multibusinterruptlijnen. Dit

zijn : - Teach Interrupt (MBUSINTO) - Replay Interrupt (MBUSINTI) - Sample Interrupt (MBUSINT2) - Test Interrupt (MBUSINT3) - Translatie SBC Interrupt (MBUSINT5)

- CONTROL-LIJNEN : De functie van de verschillende control lijnen is: - BCLK : Bus Clock, deze wordt door de master SBC gegene­

reerd en op aIle SBC gebruikt in verband met syn­chronisatie.

INIT : Initialisatie, zet het gehele systeem in een be­

BPRN BPRO

gintoestand. Bus Priotity In Bus Priority Out, dit zijn twee signalen die de busarbitrage regelen.

BUSY Geeft aan dat de multibus bezet is. BREQ : Bus Request, dit signaal geeft een multibus re­

MRDC MWTC IORC 10WC XACK

LOCK

quest aan. Memory Read Command Memory write Command I/O Read Command

: I/O Write Command Transfer Acknowledge, meldt een SBC dat de data­overdracht goed verI open is. Dual Port RAM Lock, schakelt het dual port RAM geheugen, van een SBC, uit.

BHEN : Byte High Enable, geeft aan dat het oneven byte

CBRQ (DAB •. DAF) in de multibusinterface aanwezig is. Commom Bus Request, geeft aan dat de busmaster over de multibus wil beschikken, als deze bezet is.

CCLK Constant Clock, dit is een constante clock die voor andere modules gebruikt kan worden (9,22MHz).

INTA : Initialize, reset het gehele systeem.

Page 47: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

In de onderstaande tabel zijn aIle lijnen met hun pinnummers weergegeven.

(COMPONENT IIDE) (CIRCUIT IIDI)

PtN' MNEMONtC DEICRtPTION PIN' MNEMONIC DEICRtPTION

1 OND Signa' OND a OND SIgna' OND

3 +5¥ +5\1Oc .. +5V +5Vdc

POWER 5 +5\1 +SVdc 6 +6V +5Vdc

SUPPLIES 7 +12¥ +12\1dc 8 +12V ·'2Vdc

1 -5\1 ·5l1de 10 -5V -5VdC

11 OND Signa' OND 12 OND Signa' ONO

13 BCLK! Bu. ClOCk ,4 INITI Initialize

15 BPRN! BUI Priority In 16 BiROI Bus Priority Out

BUS 17 BUSYI BUI BUlY 18 BREOI Bu. Request

CONTROLS 11 MRDCI MemRaad Cmd 20 MWTCI Mem Write Cmd

21 10RCI 110 R.ad Cmd 22 IOWCI 1/0 Writ. Cmd

23 XACKI XFER Acknowledge 24 INH1! Inhibit RAM'

25 LOCKI Dual Pori Lock 26 INH2! Inhibit ROM1

BUS 27 SHEN! Byte High Enab'e 28 AD101

CONTROLS a CBRO' Common Bu. Requ .. t 30 AD111 Addr ...

AND 31 CCLK! Conltant Clk 32 AD121 Bu. ADDRESS 33 INTAI Interrupt Acknowledge 304 AD131

36 INTel Paran., 36 INT7! P.rall.' 37 INT .. , In,errupt 38 INIbI Interrupt

INTERRUPTS 38 INT2I ReQuae'. 40 tNT31 Raquette

4' INTO! 42 INT11

43 ADRE! .... ADRFI

45 ADRCI <46 ADRDI

47 ACRAl Addre .. 48 ADRBI Address ADDRESS 48 AORBI Bu. 50 ADR9/ Bus

51 AOO8I 52 ADR7I

63 AOO4I S. ADR5/

55 AOO2I 56 ADR3I

57 AOOO/ 58 ADR11

58 DATE! 60 DATFI

" DATCI 62 DATDI

13 DATAl s.t DATBI DATA e6 DATil Data 66 OATSI Oeta

67 DATeI Bu. 68 DATU But

• DAT .. I 70 DATSI 71 DATat 72 DAT3I 73 DATOI 7 .. DAT1!

75 OND SlgnllOND 78 ONO SignalOND 77 - Reaarved 78 - Re.erved

POWER 71 -12\1 -12¥dc 80 -12V -12\1dc SUPPliES ., ·SV +6\1ex 82 +5\1 +5¥dc

83 +5\1 ·S¥dC 84 ·SV +SVdc 85 GND SignalOND 66 GND Signa' GNO

45

1. All OdQ-nurntlefed pine (1. 3. 5 ... 85) .,1 on componenllideoflhe board. Pm 1 'I the teft-moat pinwhenlllewld from the c:omponent IIkJe of the board with the extractors at the top. All unaatignld pme .r. reservld

2. Not Used on thtt ,sac 66/05 board.

Page 48: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

46

BIJLAGE A.6 DE JUMPER CONFIGURATIE VAN DE 86/05 SBC

In de onderstaande tabel zijn aIle jumpers opgegeven, die de B6/0S in de R-T robot configuratie zetten.

verbinding

E1 E6 E212 El79 E19l E1B6 ESB E138 E137 E144 El36 E142 E143 E146

E126 E10B ES4 E208 E206 E87 E183 El89 ESO

- El4 - E9 - E2l3 - E180 - E192 - E1B7 - ES9 - E132 - El33 - El24 - E13l - El30 - El4S - El28

- El27 - E107 - ESS - E209 - E207 - E8B - E184 - El90 - El96

El77 - E17B EllB - El20

toelichting

r 32 kbyte ROM adres:F8000-FBFFF1FCOOO-FFFFF 2764 LOW : U66 U67

decode prom HIGH: U33 U34 verwijderen: ontvang BCLK\ van de Multibus verwijderen: ontvang CCLK\ van de Multibus verwijderen: disablen BPRO\ ivm parall. prior. input CLK PIT 1.23 MHz iSBX1 INT1 verbinden met IRO PIC iSBX1 INTO verbinden met IR1 PIC M.B. INTO verbinden met IR2 PIC M.B. INT1 verbinden met IR3 PIC M.B. INT2 verbinden met IR4 PIC M.B. INT3 verbinden met IRS PIC M.B. INTS verbinden met IR6 PIC (aIleen:

rotatie computerboard!!! iSBX2 INT1 verbinden met IR7 PIC RAM page 00000 - OlFFFH rode LED verbinden met PPI portC,bit 3\ (J3)L (J4) iSBX BUS in 16 bits mode tbv monitorprogramma y-- mode 1 bus arbitrage

PPI portC,bit 0 verbinden met Multibus INTS\ !!1 ALLEEN: translatie computerboard!! verwijderen: ALLEEN bij battery backup mode PFIN verbinden met NMI

Page 49: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

47

BIJ:IAGEH 13 DE INTERFACES

B.l BEREKENING VAN DE POSITIEINTERFACE

~.lol ~ereken1ng van de translatieco~nte~ B.lo 2 Berekening van de rotatiecounter

B.2 BEREKENING VAN DE MOTOR INTERFACE

B.2.1 Berekening van het s~anningsbereik vsan ge DA~ B.2.2 Berekening van de resolutie van de PAC

B.3 SCHEMA VAN DE POSITIEINTERFACE

B.4 SCHEMA VAN DE TRANSLATIE-MOTORINTERFACE

B.5 SCHEMA VAN DE ROTATIE-MOTORINTERFACE

Page 50: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

48

BIJLAGE B.1 BEREKENING VAN DE POSITIEINTERFACE

counter Quadruple count

Opm: De discriminator staat in de zogenaamde Quadruple count mode.

B.1.1 Berekening van de translatiecounter

Gegevens: d = 20 ~m armlengte = 70 cm vmax = 1 m/s

6x = O,5.d = 0,5.20.10-6 = 10 ~m

armlengte totaal aantal pulsen =

0,5.d

vmax 1 f max (U1,U2) = =

2.20.10- 6 2.d

dus: 6x = 10 um n = 17 bits

f max (U1,U2) = 25 kHz

70.10-2

= 0,5.20.10-6

= 25 kHz

De minimale counterklok is 4.25 = 100 kHz.

= 70.000 (17 bits)

Page 51: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

B.1.2 Berekening van de rotatiecounter

Gegevens: d = 4 ~m (na 25x interpolatie) aantal deelstreepjes = 20200 Rarm = 1,04 m (in uiterste positie) wmax = ~71" rad/s

aantal deelstreepjes.d.25 straal v.d. meetring = -------------------------- = 0,3215 m

2.71"

360 0,5.d 0,5.4.10-6 360 = 0,3564.10-3

0 6</> = = Rring 2.71" 0,3215 2.71"

totaal aantal pulsen = 2.deelstreepjes.interpolatiefactor

totaal aantal pulsen = 2.20200.25 = 1010000 (20 bits)

aantal pulsen Wrnax 1010000 ~.71" = = 63,125 kHz

4

dus: 6</> = 0,3564.10- 3 __ • n = 20 bits

f max (U1,U2) = 63,125 kHz

4 2.71"

De minimale counterklok is 4.63,125 = 252,5 kHz •

49

Page 52: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

50

BIJLAGE B.2 BEREKENING VAN DE MOTORINTERFACE

B.2.1 Berekening van het spanningsbereik van de DAC

Oe motorvergelijking is

De overdrachtsfunctie van de versterker: A = uDAC/um

II

Er geldt dus:

Motorgegevens ( zie bijlage D.1 ): Ke = 29,5 V/1000 omw/min = 0,2817 Vs/rad KT = 0,244 Nm/A Ra = 0,46 n

Versterkergegevens ( zie bijlage 0.2 ): A = 5

TRANSLATIE II Tmax = 3,62 Nm wmax = 251 rad/s

uDAC = (251. 0,2817 + 0.46.3,62/0,244)/5 uOAC = 15,5 V

Dus het bereik van de translatie DAC is ± 15,5 V

II ROTATIE II Tmax ::: 2,73 Nm wmax = 90.11" rad/s

uDAC = (90.11".0,2817 + 0.46.2,73/0,244}/5 uDAC ::: 16,9 V

Dus het bereik van de rotatie DAC is ± 16,9 V

Page 53: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

51

B.2.2 Berekening van de resolutie van de DAC

De minimale spanningsstap die de DAC moet kunnen maken, is de minimale correctiespanning die de DAC tijdens de Replay mode uit moet kunnen sturen. De correctiespanning wordt met behulp van de regelwet en de afwijking in de positie bepaald (zie pa­ragraaf 2.2.3). De berekening gebeurt als voIgt:

Uit simulatie is gebleken dat de minimale waarde van de termen xl' x2, x3 en x4 de volgende zijn: xl = 2600

x2 = 0 x3 = 13000 x4 = 0

Met de minimale positie- en hoekfout levert dit een minimale correctiespanning van :

- minimale positiefout = 0.01 mm - minimale hoekfout = 0,55.10-3

0 = 9,6.10-6 rad

oUT = x1'oX = 2600.0,01.10-3 = 26 mV

oUR = x3.o¢ = 13000.9,6.10-6 = 0,125 mV

Deze 0,125 mV als stuurspanning voor de motorversterker is in de practijk niet erg zinvol. Op deze verschilspanning zal de motor waarschijnlijk niet reageren (0,125.5 = 0,625 mV). Er wordt gekozen voor een 16 bits DAC voor de rotatiemotorin­terface. Dus:

ROTATIE 16 bits DAC type DAC707KH TRANSLATIE 12 bits DAC type DAC811KP

De data sheets van de betreffende DAC's zijn in bijlage 0.4 en 0.5 opgenomen.

Page 54: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

...................... "' .................................... "' .................................................... ., ............................ _ ........ _ ...................... _ .................................................................................................................................................................................. IIsax BUS ~J3ll

~ - -~

+ g ~ ~ ~ ~ g ~ ij g R S a i G ~ § ~ § ~ ~ I 5 ~ F" t"'6f.tlfi;l&ffi I:S I ~ Ii ~ ~ Il'!I7RB ~ II=' 1:1'

• w

a-a:P ElELECTOR

.-- - 1 .-- 1. CLR G2 G1 N H <::U<

11 us :i:J ~...Id~elelilil~ ~ ~ ~ .1Z D4 Q4

I dt D3 Q3

::tr 8 ~ i B ~ ~ 2 ~ e ~ ~ ~ d A 3 D2 Q2 QA z I I 01 Ql

~g QB B QC f-.1.. Ul QO

f:; U4

~ U U ~ h B e g 4 UP co

til tt !1 ! ~ t ON eo ,4' L~

ii~5 i ~ , ~ ~ fit CLR

: .......... -... _ ......................... _ ........ : .. ~ i Ul : 74....SS1JIiIIe i -<DliD -L.. : lEa 7+tC32 •

~ :U3:7~ !

-----<JJI:] P081I:ION SD80R : U4: 74..S193 ! ! US: 74HC173 1 .................... _ .............. "'--"' ............

Page 55: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

53

Het schema van de chipselector met een timingdiagram is hier­onder weergegeven. Het I/O adres van de positieinterface is: - 8 LSBits: AO H - 12 MSBits: A2 H

r···· .. ·_·········· .... ·

! ~ : +

I i 1 i ~ + l~ II + I !l!ll:lu ill II ri ! ! ~ ; IS .......................

r-·· i i ; · · :

! i I

· : 1

! ! : ! I

· · · · · · ~ · I ~ ! i : I · !

· .. _ ...

i -~ . I

i i iI iI iI iI iI ,iiiiiiiii i I ~ I ~ i ~ ~ ~ i I M M ~ M ; M M M ~ ~ I ! ~ ~ ~ I ! ~ ~

~ N ~ • w ~ ~ ~ J ! ~ ~ ~ ~ ~ ~ ~

···• .. ·····i i i ! i :

I . i ! ! I !

i I

i : i ! : :

I i : 1 ! ~ : !

I ... .J

n ! u

!

IE '11

i ~ ! '"

~

~

~

;

g g

~ ~ i

Jz

Page 56: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

ttl::: ~

r- Pe ~ b1

- Pe - Ps

f+12V f-12V

> RJ. ~ Ir..c.TN

Iacx»t W ....---

-~ R4

A r-~ L ~

-~

I Ie u (J4) I

Ul

04 I--D6 f-De f-07

De f--

ce f--

018 r-

011

NC/

te/

NIV

LDAC/

wv \AX) 1.1

.......... _ .................. __ .......... .. . . . . : Ul: DACe1 U<P : ! U2: 741..814 ! : Rl: leet< : : R2: 3.SH : : R3: leet< : ! R4: 1M ! I Re: 1t< : ! R?: U< : : Re: 1a< • : AS: 2CZI< : ! el: bF : : C2: itT : : C3: ImnF" i : C4; 1~ ! ........................ -................. __ ... :

1

~

U2S

3

~{ AS ,......., (

H 1

t l < ..£F"T t3 '>

I R? .1 ~

12 v

"l3

p

tJ2IC

I;

H ........ o (» a. t1 CD m ••

co o :x:

~ 0 t'lj

~

~ Z til

5:: ~ H t'lj

i 0 ~

~ H

~ t'lj ".,

~ n t'lj

Page 57: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

\1 /1+

C4

R7 .....

1 1SB8 BUS (44)1

-----

UI

~ B ~ ~ ~ 2 ~ g ~ ~ } ~ ~ ~ 1 I

R3 T R4 .......... _ ............................ -.... .. . . ! Ul: [)lAC ;l'1I"'<H i ! US: 74HC14 : i FU: 3.SH l : R2: 2f1i!1t( :

+

: R3: leeK ! ! R4lI: leeK : ! R5: 11'< : : Re: 1t< : ! R7: lCi'Jt( : I Re- 2Ci'IK : ! el: 1\F ! i (2: 1\,£ : i C3: 1\F : ; C4lI: 1 G!nF" : . : .......................................................

H ~ I I~

AS .......,

< <

- -

1 3

1-1 ........ o S» Po 11 11) 01 .. (XI

o

::r::

'" . UI

Page 58: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGEN C

C.l

C.2

C.3

C.4

DE 86/05 SOFTWARE

LISTING VAN DE MULTIBUSMODULE

LISTING VAN DE INTERFACEMODULE

LISTING VAN DE INTERRUPTMODULE

LISTING VAN DE INITIALISATIEMODULE

56

Page 59: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

57

BIJLAGE C.l LISTING VAN DE MULTIBUSMODULE

NAME MULTIBUSACCES

CODE ASSUME SEGMENT

CS:CODE PUBLIC

;******************************************** ••• ******** ••• **.* ; De procedure MBWI schrijft een INTEGER (16 bits) naar een *

· , · ,

· ,

· ,

· ,

bepaalde geheugenlocatie. De procedure wordt in Pascal * m.b.v. de volgende heading gedeclareerd: • MBWI (ADDRESS:LONGINT; DATA: INTEGER) * Direct na de procedureaanroep (na de PUSH BP instructie) • ziet de stack er als voIgt uit: *

Stack top -------------------------- <==== SP BP register LSB

BP register MSB

RET Offset addr. LSB I

RET Offset addr. MSB I

RET Base addr. LSB I

RET Base addr. MSB -------------------------- <==== SP+6

Data LSB

Data MSB -------------------------- <==== SP+8

Address LSB

Address -------------------------- <==== SP+10

Address

Address MSB Stackbottom -------------------------- <==== BP

Opm: Er kan aIleen t.o.v. het BP register geindexeerd geadresseerd worden, dus wordt de waarde van het BP register de stack geplaatst.

* * * • • • * * • • • * * • • * • * • * • * * • * * * * * *

.************************************************************** ,

Page 60: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

58

PUBLIC MBWI MBWI PROC FAR

PUSH BP Red het BP register. MOV BP,SP MOV AX, [BP+l0] Zet het adres correct MOV CL,12 in de registers. SHL AX,CL MOV ES,AX ES: Baseadres MOV BX, [BP+8] BX: Offsetadres MOV AX, [BP+6] . Data in AX register . , MOV ES: [BX] ,AX Schrijf Data naar Adres. POP BP RET 6

MBWI ENDP

;************************************************************** De procedure MBWLI schrijft 3 Bytes (24 bits) naar een be- * paalde geheugenlocatie. De procedure wordt in pascal m.b.v. *

. ,

. ,

de volgende heading gedeclareerd: * MWLI (ADDRESS:LONGINT; DATA: LONGINT) * De stackopbouw is bijna hetzelfde als bij de procedure MBWI,* alleen is nu voor de data 4 byte stackruimte gereserveerd *

Stack top -------------------------- <==== SP BP register LSB

BP register MSB

RET Offset addr. LSB I

RET Offset addr. MSB I

RET Base addr. LSB I

RET Base addr. MSB I -------------------------- <==== SP+6

Data Byte 1 LSB -------------------------- <==== SP+7

Data Byte 2

Data Byte 3

* * * * * * * * * * * * * * * * * * *

Data Byte 4 MSB Wordt niet gebruikt!* <==== SP+l0 *

Address LSB

Address -------------------------- <==== SP+12

Address

Address MSB -------------------------- <==== BP

* * * * * * * * *

;**************************************************************

Page 61: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

59

PUBLIC MBWLI MBWLI PROC FAR

PUSH BP Red BP register. MOV BP,SP MOV AX, [BP+12] · Zet het adres correct t

MOV CL,12 in de registers. SHL AX,CL MOV ES,AX · ES: Baseadres , MOV BX, [BP+l0] BX: Offsetadres MOV AL, [BP+6] Zet MSB in register AL. MOV ES: [BX] ,AL Schrijf MSB naar adres. MOV AX, [BP+7] · Zet LSBytes in reg. AX. t

MOV ES: [BX+l] ,AX Schrijf LSBytes naar POP BP het volgende adres. RET 8

MBWLI ENDP

i***************************************************** ********* De procedure MBRI leest een INTEGER uit een bepaalde geheu- * genlocatie. De procedure wordt in pascal m.b.v. de volgende * heading gedeclareerd: * MBRI (ADDRESS:LONGINT; VAR DATA:INTEGER) * De stack ziet er na de procedureaanroep als volgt uit: *

* i Stack top ----------------------------- <==== SP *

* * * * * * * * * * * * * * *

· , · t

· , · I

· ,

· ,

· ,

BP register LSB

BP register MSB

RET Offset addr. LSB

RET Offset addr. MSB

RET Base addr. LSB

RET Base addr. MSB ----------------------------- <==== SP+6

POINTER to VAR (Offset)

POINTER to VAR ----------------------------- <==== SP+8 *

POINTER to VAR (Base)

POINTER to VAR

* * *

----------------------------- <==== SP+l0 * Address LSB

Address ----------------------------- <==== SP+12

Address

Address MSB ; Stackbottom ----------------------------- <==== BP

* * * * * * * *

;**************************************************************

Page 62: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

60

PUBLIC MBRI MBRI PROC FAR

PUSH BP Red het BP register. MOV BP,SP MOV AX, [BP+12] Zet het adres correct MOV CL,12 in de registers. SHL AX,CL MOV ES,AX ES: Baseadres MOV BX, [BP+10] BX: Offsetadres MOV AX, ES: [BX] Zet Data in reg. AX MOV BX, [BP+6] Zet pointeradres in MOV ES, [BP+8] registers ES en BX. MOV ES:[BX] ,AX Schrijf de data naar POP BP de variable. RET 8

MBRI ENDP

.************************************************************** , De procedure MBRLI leest een LONG INTEGER (de 3 LSB) uit een * bepaalde geheugenlocatie. De procedure wordt in pascal

; m.b.v. de volgende heading gedeclareerd: * *

MBRLI (ADDRES:LONGINT; VAR DATA: LONGINT) . * De stackopbouw is exact hetzelfde als bij de procedure MBRI.*

;**************************************************************

MBRLI

MBRLI

CODE

PUBLIC PROC PUSH MOV MOV MOV SHL MOV MOV MOV MOV AND MOV MOV MOV MOV POP RET ENDP

ENDS END

MBRLI FAR BP BP,SP AX, [BP+12] CL,12 AX,CL ES,AX BX, [BP+10] AX, ES: [BX] DX,ES: [BX+2] DX,OOFFH BX, [BP+6] ES, [BP+8] ES: [BX] , AX ES: [BX+2] , DX BP 8

Red het BP register.

Zet het adres correct in de registers. ES: Baseadres . BX: Offsetadres I

Zet de 2 LSB in reg AX. Zet de 2 MSB in reg DX. Maak het MSB nul. Zet in pointeraddres in de registers ES en BX. Schrijf de data naar de variabele.

Page 63: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGE C.2 LISTING VAN DE INTERFACEMODULE

(*****************************************************) (******* INPUT/OUTPUT MODULE [IOMOD.SRC] *******) (*****************************************************)

MODULE IO_MODULE;

PUBLIC IO_MODULE; FUNCTION COUNTERREAD:LONGINT; PROCEDURE COUNTERWRITE (DATA:LONGINT): PROCEDURE DACWRITE {DATA:INTEGER)i PROCEDURE PICWRITE (MASK: INTEGER) ;

(*****************************************************) PRIVATE IO_MODULE: (*****************************************************)

FUNCTION COUNTERREAD:LONGINT;

(De functie COUNTERREAD leest de waarde van de counter in, en kent deze toe aan de variable COUNTERREAD van het type LONGINT.

VAR DATA1,DATA2:INTEGER:

BEGIN INWRD(OAOH,DATA1); INWRD(OA2H,DATA2); DATA1:=(DATA1) MOD (OlOOH); DATA2:=(DATA2} MOD (OlOOOH): COUNTERREAD:=DATAl + DATA2*256;

END; { counterread J

(*****************************************************)

61

Page 64: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

PROCEDURE COUNTERWRITE (DATA: LONGINT) ;

fDe procedure COUNTERWRITE schrijft data van het type LONGINT naar de counter.

VAR DATA1,DATA2:INTEGER;

BEGIN DATA1:=(DATA) MOD (OlOOH); DATA2:=(DATA) DIV (256); OUTWRD(OAOH,DATA1); OUTWRD(OA2H,DATA2):

END; { counterwrite I

(.**.****.*.******************************************)

(***************************************.** •••• *******)

PROCEDURE DACWRITE (DATA: INTEGER) ;

(De procedure DACWRITE schrijft data van het type INTEGER naar de DAC.

BEGIN OUTWRD(080H,DATA);

END; { dacwrite I

(.**.*************.***.******************* •••• ** •••• *.)

PROCEDURE PICWRITE (MASK:INTEGER);

IDe procedure PICWRITE schrijft een masker naar de PIC.

BEGIN OUTWRD(OC2H,MASK):

END; ( picwrite I

(.*** •••• *****.*******.************** •• * •• *.*.********)

62

Page 65: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGE C.3 LISTING VAN DE INTERRUPTMODULE

(********************************************************) (********** INTERRUPTROUTINES [ISR1.SRC] *********) (********************************************************)

MODULE INTERRUPTROUTINESi

PUBLIC HOOFDPROGRAMMA; VAR RIGHTSWITCH,LEFTSWITCH:BOOLEAN;

PUBLIC IO_MODULE; PROCEDURE COUNTERWRITE(DATA:LONGINT): PROCEDURE DACWRITE (DATA: INTEGER) ; PROCEDURE PICWRITE(DATA:INTEGER):

PUBLIC INTERRUPTROUTINES; PROCEDURE INTERRUPTSET; PROCEDURE RIGHTISRi PROCEDURE LEFTISR; PROCEDURE ZEROPOSISRi

(********************************************************) PRIVATE INTERRUPTROUTINES; (********************************************************)

$INTERRUPT(RIGHTISR) $INTERRUPT(LEFTISR) $ INTERRUPT (ZEROPOSISR)

(********************************************************)

PROCEDURE INTERRUPTSET;

{Deze subroutine initialiseert de vectoraddressen van de betreffende Interrupt Service Routines. - INTO: Rechtse Hall Switch

INT1: Linkse Hall Switch INT2: Teach mode interrupt INT3: Replay mode interrupt INT4: Sample interrupt INT5: Test programma interrupt INT6: niet gebruikt INT7: Zero position interrupt

BEGIN SETINTERRUPT (020H,RIGHTISR)i SETINTERRUPT (021H,LEFTISR)i SETINTERRUPT (027H,ZEROPOSISR) i

PICWRITE(llllllllB) ; ENABLEINTERRUPTSi

END; { isrinitialisatie I

63

Page 66: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

(********************************************************)

PROCEDURE RIGBTISR;

{De rechtse hall switch Interrupt Service Routine heeft de volgende taken: - Bet onmiddelijk stoppen van de motor. - Bet "setten" van de variable RIGBTSWITCB.

BEGIN DACWRITE(O); RIGBTSWITCB:=TRUE;

END; { rightisr J

(********************************************************)

PROCEDURE LEFTISR;

{De linkse hall switch Interrupt Service Routine heeft de volgende taken: - Bet onmiddelijk stoppen van de motor. - Bet "setten" van de variable LEFTSWITCH.

BEGIN DACWRITE(O) ; LEFTSWITCH:=TRUE;

END; { leftisr }

(********************************************************)

PROCEDURE ZEROPOSISR;

{Deze Interrupt Service Routine reset de counter op het moment dat er een zeroposition-interrupt binnenkomt.

BEGIN COUNTERWRITE(O);

END; { zeroposisr }

(********************************************************)

64

Page 67: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGE C.4 LISTING VAN DE INITIALISATIEMODULE

(********************************************************) (********* INITIALISATIE MODULE [INIT.SRC 1 ********) (*************~******************************************)

MODULE INITIALISATIEMODULEi

PUBLIC HOOFDPROGRAMMA; VAR LEFTSWITCH,RIGHTSWITCH:BOOLEAN;

PUBLIC IO_MODULE; PROCEDURE DACWRITE(DATA:INTEGER); PROCEDURE PICWRITE(MASK:INTEGER):

PUBLIC INITIALISATIEMODULE; PROCEDURE POSITIONCOUNTERINIT; PROCEDURE PICINITIALISATIE: PROCEDURE PPIINITIALISATIE:

(********************************************************) PRIVATE INITIALISATIEMODULE; (********************************************************)

PROCEDURE POSITIONCOUNTERINITi

{Deze procedure initialiseerd de counter voordat het hoofdprogramma kan beginnen. De motor loopt van de rechtse naar de linkse hallswitch, en zet de counter, na het paseren van de "zeropo­sition" op nul (of op een andere waarde). Na af­loop van deze procedure wordt de zeroposition interrupt gedisabled, terwijl de overige inter­rupts juist enable worden.

BEGIN PICWRITE(Ollll100B); DACWRITE(OCOOH): REPEAT UNTIL RIGHTSWITCH; RIGHTSWITCH:=FALSE: DACWRITE(0400H); REPEAT UNTIL LEFTSWITCH: LEFTSWITCH:=FALSE: PICWRITE(11000000B);

END; { positioncounterinit

65

Page 68: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

(********************************************************)

PROCEDURE PICINITIALISATIE;

fOe PIC 8259A is als volgt geinitialiseerd: - De interrupt is flank gevoelig (A). - Er is maar 1 PIC aanwezig dus single master. - De vectoraddressen krijgen een offset van 20H

i.v.m. de gereserveerde vectoradressen voor de operating system interrupt routines.

- De interruptafhandeling vindt via de not fully nested mode plaats.

- De EOI wordt hardwarematig gegenereerd.

CONST PICIW1=013H: PICIW2=020H: PICIW4=OOFH;

BEGIN OUTBYT(OOCOH,PICIW1): OUTBYT(OOC2H,PICIW2); OUTBYT(OOC2H,PICIW4) ;

END: {picinitailisatie I

(********************************************************)

PROCEDURE PPIINITIALISATIE;

(Deze procedure initialiseerd de PPI. Alle I/O lijnen zijn als Output geprogrammeerd.

CONST PPICW=080H;

BEGIN OUTBYT(OOCEH,PPICW);

END: {ppiinitialisatie I

(********************************************************)

66

Page 69: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

67

DIJLAGEN D DE SPECIFICATIES VAN DE CQMPQNENTEN

0.1 DE SPECIFICATIE VAN DE MOTOR

DE SPECIFICATIE VAN DE MOTORVERSTERKER

0.3 DE SPECIFICATIE VAN DE MEETLINEAAL

0.3.1 Specificatie lineaire lineaal 0.3.2 Specificatie rotatie lineaal 0.3.3 Specificatie van de interpolator

0.4 DE POSITIEINTERFACE COMPONENTEN

0.4.1 Specificatie van de discriminator 0.4.2 Specificatie van de 4 bits up/down counter 0.4.3 Specificatie van de 4 bits latch

D.S DE MOTORINTERFACE COMPONENTEN

0.5.1 Specificatie van de DAC811KP D.S.? Specificatie van de DAC707KH

0.6 DE SPECIFICATIE VAN DE HALL-EFFECT SCHAKELAAR

Page 70: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGE 0.1 DE SPECIFICATIE VAN DE MOTOR

1 - MOTOR RATINGS (I)

II. Rated Torque. 12. Rated Speed .. 13. Rated Output. 14. Rated Voltage. .. IS. Rated Current.

16. MOJlimum at Very low Speed" .. 17. Pulse Torque lintermittent operation) C3) ..

18. Maltlmum Speed with no eltternal load ** • Stall motor , ask US lor max. current

• * For other duty cycles : ask us

2 - MOTOR CONSTANTS

21. E.M.f.; 1000 RPM .. 22. Torque Constont I Ampere .. 23. Regulation Contotant Voltage/cm.N 24. Friction Torque .. •. • . . . 25. Oamping Constont! 1000 RPM .. 26. Terminal resistance (4) ••

27. Armature Inductance .. . • • 28. Total Inertia " . . • . . .

29. Mechanical Time Constant 2.10 Power Rate (Il)

* " parallel layers

SYMBOLS

Cn cm.N Nn t.p.m. Pn W Un V In A Icc A

(imp cm.N Nmax t.p.m.

KE V KJ cm.N KN t.p.m. Tf cm.N KO cm.N R n L ~H J g.cm2

l' ms Ps KW/s

3 - PERFORMANCE CHARACTERISTICS, CONTINUOUS OPERATION

N 81v ;

60

SO

"0 8 0 ....

c 30 e

a .;

to

'1 .! O~+-__ +-__ ~ __ ~ __ ~~~-A~~~ __ ~~~.

200 600 '00

Torque (em. N)

68

lie 11 P lie 19 P

Uncilled C..led (2)

10/iter/sec

320 510 3000' 3000

1000 1600 83 87 14.4 22.2 16,5 22.3 2«0 2440 SOOO 5000

25,5 25.5 24,4 24.4 0,3 0,3 10 10 8 8

0,46 0,46 <100 <100 12000 12000 9,2 9,2 500 SOO

Page 71: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

69

BIJLAGE D.2 DE SPECIFICATIE VAN DE MOTORVERSTERKER

0-----.... P -,",,,oj lim""'"'

set point value

i I • speed regulator

power section

actual value .---01-0---..... •

. I I I

L' IR compensation I I

. -------.:::::::J

Reguleting and Control Section

Operating ranges

Tolerance of connection lIoltage Frequency Guaranted temperature range Operational temperature range

Stabillaed current supply

positive output voltage

negative output voltage Temperature drift max. additional loading

Speed regulator

+ 1 0"/0 - 1 0"/. 50 ... 60 Hz OOC ... 400C from -l00C ... +600C

+14.1 V ... +15.9 V (specimen scatter) -14.1 V ... -15.9 V < 2.25mV/oC ±20mA

Rated voltage ± 15 V Actual voltage ± 15 V max. ext. rated voltage ± 30 V Input resistance rated value 30 kO Large signal gain 200000 In-phase suppression 90 dB Limiting frequency (without network) 10 kHz Offset lIoltage adjustment by potentiometer

Tacho control

Adjustment range Control range Control error

IR Compensation

Actuating range Control range Control error

Cunent limiting

0 ... 100% 1: 5000 J 0.5"1"

10 ... 100"/. 1: 100 ±5%

Current limiting (continuous current) 10 ... 100% Dynamic peak current see table 1 Max. duration of dynamic peak current see Fig. 11

Note

The limits of the (.;ontrol range are associated with the permissible control error. Indication of errors is related to rated output voltage (speed) and the following inter­ference lIariables; a wider control range is possible with a larger error:

Change in load 4 : 1 Mains lIoltage fluctuation ± 10% Temperature change ± 5%

Page 72: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

70

BIJLAGE D.3 DE SPECIFICATIE VAN DE MEETLINEAAL

De meetlineaal voor de translerende en de roterende beweging werken volgens hetzelfde principe, ze verschillen aIleen in uitvoeringsvorm. In de onderstaande subparagrafen zijn de spe­cificaties van de verschillencte meetlinealen, van de firma Heidenhain, opgenomen.

D.3.1 Specificatie van de lineaire meetlineaal

Systemgenautgkeit Referenzmarke

Max, lUI. Verfahrgeschwincllgk.eit In m/mln Zul Beschleunigung im 8etneb NotwendlQe Vorschubkraft Dlchtlgk8lt des Mel1systems

luI. Umgebungstemperaturbereich Lager- und Transportbedlngungen: luI. Temperatur lui. reI. Feuchte lul. 8eschleunigung luI. StoBbelastung Ausgangsslgnale des MeBsystems Signalfolgan:

• tnvenlene S!SInale nlcht dargestellt TastlferhaltOiS

Phasenwlnkel

Versorgungsspannung

Phasenlaufzelt der Elektronlk Ausgangsbelastbarkelt

:t 10 "",1m bzw, :t 5 "m/m MeBiange 8tandardmaBig in der Mltte der MeBilnge wahlwelse 1m Raster von 50 mm von der Mine der MeBiange entlernt -Sonderausfuhrung LS 513: 80 lS 5130: 30 30m/s' ~ lON IP 53 (DIN 40050) bei Anbau nach Montageanleitung o·C" + 50"C

-30·C , .. + eo°c 20% ... 80% 60 mIs' 200 m/s~. Impulsdauer!) ms Rechteck-Impulsfolgen TIL kompatibel

bei pos. MeBrichtung: U. "High" Ii: 2.4 V bei I ...... = 4 mA U. "Low" ~ 0.4 V bei I ....... = 4 mA Schaltzelten :i 0.5 ~ Verz6gerung des U.o-Slgnals gegenuber den Signalen U •• und U~l: I ~ 1.2,,5

bis 10 kHz Ixl = :t 25· bis 30 kHz: Ixl = :t 45° "High": "Low" = (l80· + x) (180" - x) bis 10 kHz: 90" :t 15· bis 30 kHz: 90" :t 25° Up - 5V- :t 5% I ... 250 rnA mit Last 'pM :: 4 mA

IIIOU<C<I:i 6 rnA 1_ ~20rnA

Ct ..... :t 1000 pF am Kabelende Kurzschluf!.festlgkeit aller Ausgange gegan 0 V kurzzelhg. 1 Ausgang dauernd kurzschlu~fest be! Umgebungstemperatur ~ 2floC

Page 73: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

71

D.3.2 specificatie van de rotatie lineaal

WinkelmeBgerat Mechanische Kennwerte

BandclUflagedurchmesser

MaIM.wlld· Ttllislucke

- - ~ ~ ---- -~~~~ -------Warmaausdehnungskoelflzlent ,",os AURODUA·Slahlballdes -Rtlfttrelilmar ken

ii: 600 mmk7

:iii 3000 mm

LIDA 360

Stahl·MaBband·Tellstucke kannen uber Spannschlc)sser mitemander verbunden werden.

,----- -- - ----10.5 . 10" K I

In der Mltte (Toleranzberelch ± 10 mml dHS Slahl·MaBbandtellsluckes und davol ausgehend 1m 50·mm·Raster, Damit die erste und letzte Relerenzmarke nichl naher als 5 mm am Stahl·MaB­balld StoB liagt. wlrd der Toleranzberelch von ± 10 mm ausgenutzt

Mal~band-GenaUlgkeltsklasse ± 5 trn --~----- ------------. -.--

Grolltsr Untsrtellungsluhler ± 2 trn (± 1 ~ nur mit EXE 700 naell Ahgltm:hl

SI :hulJoJrt

KUfI OblUllbschull

Arbttltstemper alur -Bar etch

lagertemperatur &relch

-----------------------'HI.,IIlItl F euchle

Elektriache Kennwerte

llC:hlQtltllle

± 5 fJfll an den StoBstelien

100 rnls"-- -

200 mI'}, 5 ms .. .._.

Ablaslolnhel\ I>tClub· ulld sprrtzwassllIgtlSchulzt 11<11:11 IPb4 (DIN 'IOObO,

Abtastslnheit eloxiertes Aluminium Stahl-MaBband. Spannschlosser und Endspannstucke rostfreler Stahl

AbtBslainhel1 r!' C bis 45° C Stahl-MaBband und MaBbandtragel 00 C bls 500 C Nur wenn der MaBbandtrager aus etnem Malenal beSlflht. dessen WannHilus­dehnungskoeffizlent zwischen 9 . 10" und 12 . 10 Ii K liZ. B, GuBelstm odel lernuscher Stahl) betragt Bei hbheren Warmeausdehnungskoefhzlentoll Iz B Aluminium) gilt 810 eingeschrankter Temperaturberelch lion lr!' C bls 30" C

.. -.~----Abtastelnhelt - 300 ChIs 7r!' C Stahl-MaBband und MaBbandtrager r!' C bis 500 C

---'--'--mctx.80%

------------------- ---- ----- ------_. LFD mit Vorwiderstand 5 V ± 10%. < 120 mA

., ,-- --- - '---'- - ---, -------------'mpulslufO Ittr -E: Ittle. Ir 01 llie. a) III Zahler elllQebaut

Ausgangssignale Inkremental-Slgnale

Reft!renz· Signal

SIgnalgJ o(.stt

Hochsle zulasSlge Dreh.zahl n...... •

lulil!>!>lgO Katwlldnge 1111 h ,lnCt:!klk II "11110:.

bl extern. siehe EXE -Druckschrift ._---------- ----- .-

1"1Y'WVv I". V\IV\!\ l..o~ 1 S,gnal 1 .. 0 pro Umdlehung

1M' ca. n~" 1~7 ca 11 iJA" 1..0 ca 5.5~· • Nutzantell

I bel LaSI 1 kOtlm

[ -'I '"' Ima' (kHzJ . 103 . 60 n", •• min Z

z: Anzahl der Tellungspsnoden von 100 pm auf dtlm Umfang ISIIIC:hzatll) 1m ... maxima Ie ElOgangsllHquenz der exlernen Irnpulsfurrner Ell'ktronlk

20 m (HflDENHAIN·Kdool (3 (2 x 014) t 2)( O.!ll mm~)

Page 74: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

72

D.3.3 specificatie van de interpolator

Teml*.turberelch 8etllub ldgolung

Gewicht

Lei.tun.,·

0 ... 45"C -30 .. 70°C

c.a 3.4 kg

100, 120, 1.0. 200, 220, 240 V­\lmKh.'tb.,

-lb% . +10"10

48.62 Hz

... n • .,ma ca. 20 VA

Sl;h .• llw •• • 11.III~Ullilhsl.md

(sltJhe Slunaldldgr,lIll1n Sf») nL·kompatlbel bel I..... .. 40 mA, low ;; 0,3 V tvp . O,4b V max. bell"""" .... = 10 mA, HlQh = 3,5 V typ, 2.4 VmlO. IVp :m II:,. milll 100lls

KUfnchlul· , .. tigkeit

"-bellinge am Eingang am Ausgang

Hlnwel.

KurzbelChr.ibung

KurlSchluB aller Ausgange gagen 0 V kurlZeitlg 1Olasslg. 1 Ausgang dauernd kurzschluBlest bel Umgebungstemperatur :Iii 75°C

mex.20m max bO m mit HE1DENHA1N-Kabel 210436 .. und Dlfterenzleltungsemplangm Itnl E Illoang der F olgealok .ronlk

3 m lang (auf Wunsch)

Um maxlmale GenauigkElll 1U errelchen. muB die EXE 702 bei der Zusammen­schaltung mit Drehgebern und offenen Langenme~ystemen (LID, L1DA) abge­glichen werden. Bei gle,chzeitiger Bestel lung von ROD und EXE WIld dies ber8l\S 1m Werk gemacht. be, LID und L1DA 1St nach dem Anbau entsprechand der Montageanleltung 11.1 v8rfahren

1 Mf!~"V<;IWTl f Ing. If III M'JK"'~lltil tJnlwh~lhJII\l25-fach Auaganguignale nL·kompatibel riUS

K.lIlt~l\rl!lhmll SN l!l 11:l/SN 7t. 114 lUI UIIIt~flJfl/lell un\,:.wllpI.1I1!lI!! rTlll KalJtllahschlu(!. Versorgung uum elgenes Netzlell

U" 0 .• .-h/w rr.-; I J ::. Srgllalvel log6rung U .• , : U .. , und U .. , 8e!aslbarksll

'260 n,IMlllh kH/.· ~o~ AUIOIsbl!lnatpI!lIodl' bei ~ 1 kHz

:i 35 ns 1_ :i40mA 1 ...... ,"':1 40mA c...... :I 1000 pF

..... un. dar 12-po1I,.n Au .. an.ldo ..

1 2 3 .. 5 • (G Irel U"" 0: Ual ~

. 7 • • 10 " 12

u.: Ud2 Schum Irel o Vol! frel

Page 75: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

73

BIJLAGE D.4 DE POSITIEINTERFACE COMPONENTEN

De specificaties van de drie hoofdcomponenten van de positie­interface, de discriminator, de 4 bits up/down counter en de 4 bits latch zijn hieronder weergegeven.

D.4.1 Specificatie van de discriminator m UI

FMtu,...

• DII'KtIOn Di.mmlnetof to IOIntIty torw.rdlbllck_rd dll'1IC:tIon.

• .. ,..... 1. 8fT c.lC8dlble up/down counttIf.

• Pul....wldlh _.,,_nl witt! either torw.rd Of bKIlw.,d counting.

• frwquency _aul1ll'llenl.

• .81t p!IfaIIeI trI-lItIIte detII ~.

• Simple wrtte lind I1IIICI procedure.

• AlIInpulllIInd outpuIa nL OOIYIpltlble.

• Single +5 Volt aupply.

UOI It ___ -I ME4SUReMENT ~-I--'" Uo)

tI LOGIC

CONTROL LOGIC

ii:i 1m _____ ......l

PARAMETER Supply -..go. vee Hogtol.""" CIUIPUI CUrie'" lOti ,an outputs \

UM .... elOUlW'w"""' lOt 'alloutpUtsl

')pwlihngtr.·au ternpefatlJfe 1 A

1112 III

0 0 0 0 0 1

0 1

1 0 1 0

1 1

1 I

DO ••• ., • D7

TYPE SN7W2111 (DIRECTION DlSCRIMUTOR)

MIl IIOOE DESCRIPTIOH

DlreetionDl~

0 dt,ec\IOIl cII$CIlmtnaIOt _

1 IIIngleoountpul$e. ~M\hlJal

0 $Ingle COUll! pulse $ync!Ironou$ tMlh Ua2 1 cIoubIe count pul$<O Ivncrwonous _ Ua 1

0 cIoubIe count pul$<O. syndvonous tMlh UII2 1 quadruple ClOUfIlIn9

0 PutM...at:h ...... u ....... 1 Ua 1 = gale sognal

Ua2'1f = upcoulIbnQ 2 lJal ~ galelllllNll

IJa2 'l' ~ down counIJng

1 ft!Iq.-.ey_ ... -UBI ~ trequency 10 lIe-.red

IJa2 • IIattISlOP gale

MIN NOM IIAX UNITS

<475 5 525 v . ..... 00 .. A

16 mA

0 70 ·C

Page 76: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

D.4.2 Specificatie van de 4 bits up/down counter

TYPES SN54192, SN54193; SN54LS192, SN54LSl93 SN14192. SN74193. SN74LS192. SNl4LS193

SYNCHRONOUS 4-BIT UP/DOWN COUNTERS (DUAl CLOCK WITH CLEAR)

• c.c.tine Circuitry Prowidld In_NHy

• Synchronous O.-lItion • IndiYiduII Prftet to bc:h Flip-flop

• Fully Independlnt C'" Input

1"tPI1

"12. "13 ·\.S'n 'Ull:\

"""CAL MAII_ TVI'ICAl. COUtfT fflEOUIIItCY POMfI DISIWATIOII

32MW, 325_ 96_

......, ........ vce w.,_ ................... IOH

..- .... _ .... _.IQL

. aon '-Y. tel""o W_", ..... _ ..........

a.._ ........ _ O" .... h ........ '_'_11 0 __ "_", Opar_-__ .T"

... 11

4.'

0 20 40 20 II ...

..... ·.1Il$0l1.1· ... J OR W I'''CKAGI!

.,.' .IN74LI· ... J OR N I'''CKAGI! lTClPVIIW)

1iIIIIIC. Low. .npu. 10 'o.d "\I a A .. A.

Q •• e. DC • C .• "'" 00 • 0

__ 1.11. IN,"UI. tIrIIlII.& ,. 1NJ4UI13 UHrr

NOM MAlI MIN NOM MAli , U 4.n I 5.25 V

-<IGO -<IGO ~" • • ......

25 0 211 MH.

20 no

40 no 20 no Ii ft.

12$ 0 '10 ·C

74

Page 77: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

D.4.3 Specificaties van de 4 bits latch

npES SN54LS173A. SN74LS173A 4-81T D-TYPE REGISTERS WITH 3-STATE OUTPUTS

• ThI'M-Sw. OutpUa InwfKe ow.ctly with Sya,*" aus

• o..d Output-Con1rOl l .. for Enlblirlfl or DiNblil'lll "" OutpUa

• Fully I~t Clock Virtu_ly E'""i"''' R.me.- for Op.nting in One of Two Moc*:

..... lellOld Do Noth .... (Hold)

• For Appt~1Oft • Bus luff", R .... "

""'CAL MAlI_ ""PIC.U

""PS ... c. ... O .. ,_ CLOCK -" DeLAY, ... "'_l1li:'1 _~"'TIOH

'173 23 .. .MHz 110_ UI73 .. 11 .. 10 ..... ."'w

_.-_ Vee H ......... ' out.o-.t ,,,",,.*nt, tOM L ........... ' OiJtP\.tt cuttanl, tOl

...... ' CfOO t.....,.n(\I. felex .•

¥If ...... O'f ifjOCk Of o .. ! flllulM 'w

"."",11"'."'"

... GlCf'·"",'h ~t,"I t"'.II 1erncMf.lutt, Tit.

_173 ...... LI17J.t. ... J 011 W P.t.c:K.t.G£ "".,73. ",'4U171A ... ., 011 N P.t.c:KAGl

(TOP YlIWI

FUNCTION lULl

INPUTS

OAT .. ENULI DAtA OVTPUT

CLEA" CI.OCK 01 02 0

Q

H )( X X )( L L l X X )( Do L 1 H )( )( Do L t )( H )( Do L t L L I. L

L t L L H H

Vln.,.. .. tNf M Or fit tOt both; 'I '.t.' h4fh tM CkltPUl .1 Cfil1lbltd to tnt h*l!h-lf"I'lPII!»t1a nate, h~ _.-nne' opIiflthOtl of _ thp-fjOOl .. not ""fact"

-'U173A ",741.1171A UNIT

MIN NOM MAl( M'N - MAl<

46 " 5S 4.75 " f>2b V

-1 -H 1ft" 12 ,. "' ..

0 ;XI 0 ;XI ">I, :10 :10 ...

0. ... ""eo" :J!; 36 Do •• n n no 0.' .!"\Kltlle'lt"e 10 10

Dat •• ~b" 0 0 0. .. 0 0

.. -55 12S 0 70 'C

75

Page 78: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

BIJLAGE 0.5 DE MOTORINTERFACE COMPONENTEN

De belangrijkste component bij de motor interface is de DAC. In de volgende subparagrafen zijn de specificaties van de DACts gegeven (de DAC811KP voor de translatie module en de DAC711KH voor de rotatie module).

0.5.1 Specificatie van de DAC811KP

SPECIFICATIONS I"ICTA'CAL .... oaa LlM.TI'"

Microprocessor-Compatible 12-BIT D/A CONVERTER

1.- .,.lIte 1V.· .. \I.,NMI~~

IIlOOIL DACm

'_TU I- n .. .... 11-1 UNItt -, DIOI"I~~ ....... lu.tOA I~ -~. UIII 1011 II .. f ..20 '1j, IlDe II .. 00 .. 0. YDe '--Vi'/; .. aN .. 0 IIA '-. v,· ...o-v .:10 IIA ,...,.... .. CHMAC'ftIIIIITICtI

ACC:UllACY L-"IIYOt ~1I. 11/2 LS8 Oo/Ief_ ~II¥ &112 11 L&II

&'tOl o.."t ....... .0 I toa 'III 0fIteI t .. ..,- t 10 .30 ",II

OUnouT -.ooounouT __ ~11V ..

"'16V,·

""- 0",·10 V -.- .t.110 Ii O""""c..._1 s. 1M. _Ctt~"'11O _LOG OUll'Ul VOLTAOI "--0... .. _ ',*,m." OIGITI\L ~T "II> .. lOll :tIll :t1Oll

III'IIIIICI ..... -..-. ~'ACII ... LAllI II,.. -.. ..a -I. " I I ........ c...' ... 1 UU1U1Il11 .... 71V ".71V ",.111 ~Iot " ..... II ... - .. - 0_ I ....... L_ ,,'0 1M. .Hll1111111 + •• ,IV "'_11 ... -....... c.r~ .... 10 Com_D.o,_ 't'MIelin,,- •••••••• .- --- -10_

ILIe '_V .-" ..... " ___ "III_IIIT.

11 ...... \1 ... .11. • 16 "1. VDe -\I .. -I'. -I' -1'6 vDe

11- H6 ... '66 VDe c...,_11IO _, .

• \1 ... .., .;'6 mil -\I .. ~3 :16 mA V. ., "6 mA

fI!troMft'i,' at DCOM ___ 110

ACO¥"~ .0$ V P.,..fDtM..,..1CH'l RII 100 ft.W

, ......... TIIM IIANGI

Ipk.thc.M.Of\ I T --0 , 10 ·C

76

Page 79: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

D.5.2 Specificatie van de DAC707KH

DAC70snosn07 DAC70an09

BUI'tl't-_rtOtIt/Ne

IE:lEiI

Mlcroproceuor-Compatlble 16-BIT DIGITAL-TO-ANALOG CONVERTERS

FEATURES • nn.c ... CIIITIUCT_ • ...... ·IPU. , ... " 'AULLIL .... , IIYlII

PAua.LlL AU ItIlAL llPU' .. . • IIUIlf"Uffllll IlPUI •• n.

COIfIlUUTIO. • lQUI AlII Iuwt .. LI

••• ACCUUCY: ....... ., lrrw :tt.-.r. II fll ... ............. u-rll, It ... ~ II FII ..

• .ITOIIe III I. 1"11 'VEl IPIClfllD nMPiUTUIE UIIE

• .'MnlCAU.' ItAlI.

D4C1OS,706/707 aloek Di .. ,_

.,. I '-" .. _.~ ...... --"" . .., •

77

Page 80: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

SPECIFICATIONS ILICT"ICAL All.· .... 'C. ,,"". t1W, II •• iiW. __ .10_ -...""'-"""-_

1I0OIII. I ~"...,....

I .. I 1'YP I IIAII

~

OIIJITAI. .-ut J 1\00', ComjoIMIeIII - I' __ "-ea. (AII_, ~ ,,-ea.m jDj\C;~0Nr1 "'T--...... ..-·,11 .. +6.1

Y .. -1.0 ..0. • ... Cv.· .. UY, , "'(lIo·~4111 ,

~~TICa

~ ........ , ,u. tOOllIl Il10_ 0IIIltt_ L_' .. ,..... Il1O a *000. _""""'_0- toa tUo. o.. ..... h ~, .... _0.' ....... dOl d,1 _.0...,.,_ ...... '4 ...... .......,~.II .. to 00" :LO_

-V .. to,oo,e to_ V. to_I SO 001

""1---__ ...... *l

GaoIoO"" :110 :l;H _00.01\ .,........., C0AC1IIII701 ..... " tal U ........,.4111_) &I .11 __ ~_",o..l_· +0_,

-0_ L_II, lnOl 0.. t_". to_ .n ..... "_110 to, __ 'IIA,· v.,.... 0.. __

' .............. Ian_' • • I"" ............ ,,-ea.. ... • .... "'"" III c..._0vqIuI_ , .............. Ca.A!

IIIlOlGIIn_ aiD an_ I

CIItI1Vf

WOLf AM CIItI1Vf IIII08ILI OvIpoIIV .............

OACl'OI ~ cUM ea., '.+111 __ IITCea., d • .110 OAClO' __ IITC ea., 11.10 0AC701 __ IIITC ea., t.

OuIi>v'c- ... Out""' ............. 0" ........ CH_IO ~ p."._ _Ie CUMIWt CIItI1Vf _La 0.._ c..t_ ...... I~_ ',,1'

0AC1OI.,........., 'UM ea., .... -. 1Iopow.ITCea., tl

OACl'OI __ IIT(; ea., tl Un ....... ' Ow/fIIrI"""""-I.1_IIIPI 40 IIopowIMput~C:t""1yp1 UI ~v ..... :126

IIOWP IUIIIfIU Mae..,· .. ,.. v ....... 0AC7llllJlll1II' +v .. ..1#.6 +16 +".

-v .. -II' -16 -I'.' v. +46 +6 +66 VOMtI.OAC~ .v .. +ISI +16 +1"

-v", -IU ~II -I'.' Y. +4.1 +6 +6.6

~CHo_. +1W"""-1 ~"'-"' ....... +\1 .. +10 ...

-v .. -II -It v. +6 +10

"....... "'-"'- +11 .. +11 +:111 -V .. -til -:III v. +6 +18

78

I lIAC'NIINMf~o'"

I .. I 1'YP J IMII UIIIIft

· ... · · II V · ",. · ",..

· · ""'fIlA" · "01 fIlA ~00016 .111\103 .. 01 fIlA .... ",10 ..

0 · ..oHIIA .... toa ..ol'~ ... '" .toa .. ""~~ .. · · "oIf~lI ...

*7 :1;11 ppml"C j:1I U ...... 01 fBArC U '10 ...... 01 ,l1li"(;

' " "offllA ,"OHIIA

· --VI_

--· II

v II

0 II IlIA · Q

IlIA IlIA IlIA IICl IICl

· V

· V . · II · V V . · · Y · II

· IlIA · IlIA ...... ......

0 IlIA

· IlIA

Page 81: Ontwerp en bouw van een …(SBC) opgebouwd. Er is een master SBC die de processen en de timing regelt. Elke dimensie (translatie en rotatie) heeft een eigen SBC, die parallel aan de

D.6 DE SPECIFICATIE VAN DE HALL-EFFECT SCHAKELAAR

TYPI UGN.3013T SOLID-STATI ULTRA LOW·COST 'HALL IFFICT' DIGITAL SWITCHES

"'11M$: • OlIn" .... U v II l'V '0( ... 1MCoI . • AdIfI ........................... ...... ...... , . • SeIIi· ..... ......,- ........... • s..Il ... . • c:. .................. . • 0IiQIIf ....... II .,ita! "Ie ........

"T"'HE SPltAQU£ TYPE UON·30I3T ia llow-cDII 1 ..... MlK: ... ly.lCUvaled electrone Iwilch. E.leh devec coua ... of I vol, ... ,c,ullior. I Hall voIlaie ,.norllDC'. wnpbfi •• ScIuNlI Uiuer. and 1ft open coll.elor GUlP'''' Ita.e bue,rlled .n I liD,le lno.ohn,it IUicoa ebip.

Vee

...... ·u .. fWCYlONAL I&.OCIC ..... AM

The _-board ... ,'alalor penni" opention oyer I wide vanal,,", fit a...tppAy wo1taaclI. lb. cin:uil 0UIpU1 CM be "uerfKod dm.c:uy wilh bipolar or MOS lope care",a".

,..., _IV. V •••••• , ••••••• , •• , ••.••••••..•• 7 V ... MIIk FIw III.., .•........ , ..•........ _ ... ~ OIlput "(fr' VtIlIaI. V~ . . .. . . • .. .. .. .. . . ... In $lOfll' T ..... _ ..... I, " .•• , •• -I$'C II + 1W"C

UGN·3013T ""C.,lIed circuitl an pacu.,ed ia lb. nUn ....... ]-ptn IlD.1e OIIllput platic ........ peck.

Operat.., T ..... tllf ...... r •.......... fit II + JO"C 011_ HOIf" c..n.t. 1_ ........ " ...••...... 4G"

WCTlICM. CUUC'lUI$IlCS: 'ee - .. ,' .. 11 VIC. T, - 250e

..... ~dIrt .. 1C .... ''''CollI ... ilia. '. ... Utili

.... 1I1lK flul .. ,,_ "0,.., ..... , .. .. - • 451 ...... ....... " .... , .. .. . 2S 22S - GI ..

............ ' .. 30 IS - ...... Out .... ' Sa .... _ v ..... v. I" .SO GIu ... '- • IS .. - L20 .. .'1

o..a,.t Iaia .. c.,... ... I s 2~ GluM. V. • 15 V - .I 20 ,.,. ..,c.n.c '- V •• 'V. III ..... - ., • .. Vel -12' ........... - .2 11 ..

0wtIIt ... ,- t. V •• lU. , • 120 n. - ,. - • c..-20pf

o.&"IIl rIM , ... .. v •• 12 V. , • 120 n . - •• - • J;. - lCI_pf

79