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
ONTWERP EN BOUW VAN BEN ~ESTURINGSCOMPUTERSYSTEEM
VOOR EEN 2D-ROBQT (II)
R. Pijnenburg mei 1988
WPA-rapport 0577
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
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. Hierdoor 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 trajectorieafwijkingen bijregelt.
De besturing van de R-T robot gebeurt met een besturingscomputer. 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 complexe 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.
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 Eindhoven verricht. Ik was gedurende een periode van vier maanden (februari-mei) werkzaam bij de vakgroep Werktuigbouwkundige Productietechnologie 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-Translatie robot. Vooraf is door ons een taakverdeling opgesteld. Constant 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 interfaces 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 besturingslaboratorium voor de fijne werksfeer gedurende mijn afstudeerperiode bedanken.
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
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
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
7
1 INLEIDING
Op de Technische Universiteit in Eindhoven wordt, bij de vakgroep Werktuigbouwkundige Productietechnologie en -Automatisering 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 robotarro 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 besturingscomputer 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 dimensies (translatie en rotatie) en de hierop aangesloten interfaces, 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 Constant 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 worden de twee interfaces, de postie- en de motorinterface, behandeld. Tot slot wordt in hoofdstuk 6 de 86/05 SBC testsoftware besproken.
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 speeifieaties: - 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
9
Om een twee dimensionale robot te verkrijgen is de translatie robot uitgebreid met een rotatiemodule. In figuur 1 is de totale 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 bestuurd. Dit betekent dat de R-T robot digitaal wordt geregeld, dus moeten de uitgangsparameters gesampeld worden. De R-T robot heeft twee ingangs- en twee uitgangsgrootheden. De ingangsgrootheden zijn de twee motorspanningen (UT,UR)' voorgesteld door de spanningsvector (Y), en de ingangsgrootheden zijn de positie (x) en de hoek (¢), voorgesteld door de toestandsvector (X). Ais regelmethode wordt in eerste instantie positieregeling 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 afgeleide van de toestandsvector berekend (de snelheid en de versnelling).
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 regelwet 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
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 optimaIe 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
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 functioneren, moet er een besturingscomputer worden gebouwd. In dit hoofdstuk wordt de opbouw van de besturingscomputer, met zijn verschillende onderdelen, besproken. Ook wordt de taakverdeling 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 gesteld, 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 verbinding 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 eigen single board computer (SBC), welke door een intelligentere master SBC wordt bestuurd. Er wordt gestreefd naar een identieke opbouw van het translerende en roterende deel van de besturingscomputer. 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 besturingscomputer 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.
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 master 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 programma's, in modulair pascal, voor de verschillende SBC's geschreven. Het systeem is achtereenvolgens met de volgende taken belast: - Het compileren van de programmals, die in modulair Pascal
worden geschreven, naar een zogenaamde object file. Deze object 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 bijbehorende 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 hexadecimale file, die rechtstreeks in het RAM geheugen van een SBC geladen kan worden (dit gebeurt aIleen om een programma
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 ontwikkelsysteem wordt in een later stadium, als aIle programma's in EPROM's zijn geladen, door een PC vervangen, die de off-line berekening van de regelwet uitvoert.
3.3 DE 186/03 SINGLE BOARD COMPUTER
De 186/03 SBC is de master van de besturingscomputer. Het besturingsprogramma, 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 toestandsvector 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 besturingscomputer 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 multibus 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
15
SBC data in het RAM geheugen zet, en de andere deze data uitleest.
- Het vergroten van het totale RAM geheugen zodat de Teach/Replay 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 krachtcomponenten 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 andere SBC's mogelijk het dual port RAM geheugen via de multibus te adresseren. In bijlage A.l is een memory map van de totale besturingscomputer 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 translerende 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.
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 actuele 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 uitvoerig besproken. Hierbij komen aIle afzonderlijke delen van de SBe uitgebreid aan de orde.
.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 maximaal 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 toepassing kan worden gebruikt.
18
Het geheugenadres wordt met behulp van twee registers, een segment- 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 toepassing 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 gebruikt.
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
- 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 statusregister (dit register bevat aIle flags).
4.2 BET GEHEUGEN
19
De 86/05 SBe bezit twee geheugentypes, 8K RAM en 32K ROM geheugen. In bijlage A.1 is de memory map van de 86/05 SBe weergegeven. 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 interruptafhandeling 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 paragraaf 5.1.1.) een positioncounter initialisatieroutine.
20
De PIC wordt met behulp van zogenaamde ttcontrol words" geprogrammeerd. 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 configuratie 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 hiervoor 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 seriele RS-232C data omzet naar parallele data voor de SBC, en omgekeerd.
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 beschikt 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.
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 interface onontbeerlijk. In figuur 9 is de 86/05 SSC met zijn interfaces 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
eindschakelaars
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 specificatie van de te meten grootheden worden opgegeven. De specificaties ten aanzien van de positie/hoek zijn: - positie x oxSlO ~m xmax~70 cm - hoek ¢ o¢SO,55.10-3 ¢max~270 0
23
Zowel voor de translerende als voor de roterende positie is, in verband met de enorm grote nauwkeurigheid, voor een zogenaamde meetlineaal gekozen. De werking van de twee meetlinealen is exact hetzelfde, aIleen in uitvoeringsvorm verschillen 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 meetlineaal 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 digitalisering, 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 bepaalde plaats op de lineaal aangebracht (meestal ergens in het midden). 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).
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 worden geinterpreteerd. De eenvoudigste methode is het tellen van de pulsen van u+ of U2' Het aantal pulsen, vanaf een begintoestand, is name11jk een maat voor de positie/hoek. uit de signalen U1 en U2 kan tevens de telrichting van de counter worden bepaald.
De grootte van de counter staat direct in verb and met de lengte 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 dienen 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 bepaalde begintoestand worden gezet. In bijlage B.3 is het schema 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
25
5.2 DE MOTORINTERFACE
De tweede interface is de motorinterface, die een schakel tussen 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 complement methode, om in een spanningswaarde die gebruikt wordt om de motorversterker aan te sturen. Aangezien de motorversterker nagenoeg lineair is, is de digitale waarde rechtstreeks een maat voor de motorspanning.
Alvorens er een DAC gekozen kan worden, moet het spanningsbereik (afhankelijk van de maximale en minimale motorspanning) en de minimale spanningsstap (afhankelijk van de regelwet) bekend 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 gezien niets uit omdat een 12 bits DAC ook 2 bytes geheugenruimte 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 specificaties 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 voedingsspanning van de DAC's) een lineaire overdrachtsfuctie over zijn gehele spanningsbereik
- de stroom voor de motorversterker kunnen leveren
26
5.2.2 De eindschakelaars
Als eindschakelaars worden hall-effect schakelaars gebruikt. Deze hall-efect schakelaars werken, zoals de naam al zegt, volgens 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 interruptlijn, een interrupt service routine aangeroepen, welke de motor softwarematig stopt. Ter beveiliging zijn er oOk nog eindschakelaars 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
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 ontwikkelsysteen 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 geheugenadres kunnen schrijven, en die van een absoluut geheugenadres data kunnen lezen.
Deze instucties, die in pascal als procedures kunnen worden aangeroepen, worden in 8086/80186 assembler geschreven. De 80186 heeft dezelfde instructieset als de 8086, maar is aIleen met enkele extra instructies uitgevoerd. Hieronder zijn de vier multibuscommunicatieinstructies gegeven. - MBWI(ADDRESS:LONGINT:DATA:INTEGER)
Deze instructie schrijft een INTEGER (2 bytes) naar een bepaalde 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.
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 assembler 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
29
In figuur 14 Z1)n de flowcharts van een lees- en schrijfinstructie weergegeven. Hierbij dient opgemerkt te worden dat het leesen schrijfadres, dat bij de procedureaanroep wordt meegegeven, in een segment- en een offsetadres moet worden gesplitst. De programmalistings van de vier multibusprocedures zijn in bijlage 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 pascalinstructies kunnen worden gebruikt, mits ze in de moduleheading worden gedeclareerd.
6.2 DE INTERFACESOFTWARE
De interfacesoftware is ter ondersteuning van de interfaces geschreven. 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 gebruikt), 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 significante 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 gebeurt 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.
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.
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 opgenomen.
6.4 DE INITIALISATIESOFTWARE
In de onderstaande subparagrafen worden drie initialisatie procedures besproken •
. 6.4.1 De PIC initialisatiesoftware
De programmable interrupt controller wordt softwarematig met behulp van control words geprogrammeerd. Met behulp van deze woorden 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 gegenereerd.
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 geprogrammeerd.
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 volgens 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 interrupt service routine gesprongen, die de counter in een begintoestand zet.
- Maak de zeropositioninterrupt disable.
Het nassi-schneiderman diagram van de procedure POSITIONCOUNTERINIT is in figuur 17 getekend. Verder is in bijlage C.4 een listing van de initialisatiemodule opgenomen. Deze bevat de drie procedures PICINITIALISATIE PITINITIALISATIE en POSITIONCQUNTERINIT.
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
33
CQNCWSIES
De besturingscomputer, zoals deze in het rapport is besproken, is op dit moment gebouwd en getest. Een testprogramma, dat zoweI de software als de hardware test, heeft in de practijk bewezen dat de besturingscomputer goed functioneert.
De besturingscomputer is flexibel opgezet, zodat een eventuele uitbreiding geen problemen geeft. Er kunnen voor eventueel meerdere dimensies, een verhoogde snelheid of complexe berekeningen extra SBC's worden toegevoegd. Ook is het mogelijk de Teach/Replay 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 gestelde eis. Mocht deze nauwkeurigheid achteraf niet voldoende zijn, dan bestaat er de mogelijkheid de resolutie van de translerende meetlineaal te vergroten door de toepassing van een interpolator.
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 versterker komen.
34
GEBAADPLEEGPE LITERATUUR
[1] Bommel L.V.M. van, ontwerp, productie en de dynamische analyse van een lineaire 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.
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
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)
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 Control 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 configuratie 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 vectoradressen mogelijk.
- 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-
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 rotatie SBC dat de actuele armpositie in het RAM geheugenbord aanwezig 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) geinitialiseerd. 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.
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, terwijl in de 16 bits mode aIle lijnen bezet zijn.
- De voedingslijnen worden gebruikt am een iSBX bus module te voeden.
- 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 relatie 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
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
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
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 synchronisatie.
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 dataoverdracht 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.
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.
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
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
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)
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
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
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 paragraaf 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 rotatiemotorinterface. 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.
...................... "' .................................... "' .................................................... ., ............................ _ ........ _ ...................... _ .................................................................................................................................................................................. 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 .................... _ .............. "'--"' ............
53
Het schema van de chipselector met een timingdiagram is hieronder 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
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
\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
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
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.
* * * • • • * * • • • * * • • * • * • * • * * • * * * * * *
.************************************************************** ,
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
* * * * * * * * *
;**************************************************************
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
* * * * * * * *
;**************************************************************
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.
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
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
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
(********************************************************)
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
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 "zeroposition" op nul (of op een andere waarde). Na afloop van deze procedure wordt de zeroposition interrupt gedisabled, terwijl de overige interrupts 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
(********************************************************)
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
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
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
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 interference lIariables; a wider control range is possible with a larger error:
Change in load 4 : 1 Mains lIoltage fluctuation ± 10% Temperature change ± 5%
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 specificaties 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
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·MaBballd 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 WannHilusdehnungskoeffizlent 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~)
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 Zusammenschaltung mit Drehgebern und offenen Langenme~ystemen (LID, L1DA) abgeglichen 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
73
BIJLAGE D.4 DE POSITIEINTERFACE COMPONENTEN
De specificaties van de drie hoofdcomponenten van de positieinterface, 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
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
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
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
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
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
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
Top Related