Citation for published version (APA):
Geraats, J. P. M. (1988). Hardware en software voor besturingen van liftopstellingen met een IBM-pc. (TH Eindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol. WPA0578). Technische Universiteit Eindhoven.
Document status and date: Gepubliceerd: 01/01/1988 Document Version:
Uitgevers PDF, ook bekend als Version of Record Please check the document version of this publication:
• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.
• The final author version and the galley proof are versions of the publication after peer review.
• The final published version features the final layout of the paper including the volume, issue and page numbers.
Link to publication
General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain
• You may freely distribute the URL identifying the publication in the public portal.
If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:
www.tue.nl/taverne
Take down policy
If you believe that this document breaches copyright please contact us at:
openaccess@tue.nl
providing details and we will investigate your claim.
Eindhoven, mei 1988
0579
WPA rapportno ..~~~.,~
bedrijfsmentoren: Ir. D.A. van Beek Ir. P.C. Mulders schoolmentor: Ir. J. Jansen
afstudeerplaats: Technische Universiteit Eindhoven afdeling Werktuigbouwkunde
vakgroep Produktietechnologie en Automatisering
SAMENVATTING
De afstudeeropdracht bestaat uit het bouwen van de hardware en software van twee liftmodellen. Een liftopstelling bestaande uit twee liften wordt gebruikt voor onderzoek naar
machine-besturingen met behulp van parallelle processen. E~n tweede liftopstelling wordt gebruikt voor een praktikum over machine-besturingen.
De dubbele liftopstelling bestaat uit twee liften die worden aangestuurd door een PC via een programmeerbare I/O-kaart.
De in- en uitgangen zijn optisch gescheiden. V~~r deze opstel-ling moet een interface worden ontworpen tussen de optische scheiding en de lift.
De praktikumopstelling bestaande uit een lift wordt eveneens aangestuurd door een PC via een I/O-kaart. De praktikumopstel-ling moet worden ontworpen en gebouwd. De opstelling moet "student proof" zijn. V~~r de besturing van de lift moet een programma worden geschreven in Modula-2.
De output signalen worden indien nodig versterkt. De status van een I/O-lijn wordt zichtbaar gemaakt als deze niet al op een andere manier zichtbaar wordt gemaakt, doordat de outputlijn een LED aanstuurt. Met behulp van handbediening kan de lift in een bepaalde positie worden gebracht. De liftmotors zijn beveiligd door middel van eindschakelaars op de lift, die de lift hardware-matig doen stoppen Omdat de praktikumopstelling "student proof" moet zijn, zijn alle onderdelen die niet noodzakelijk op de lift zelf moeten komen, zoals LED's en drukknoppen, hier veilig op het interface-kastje gebouwd. Deze in en outputsignalen zijn daarom niet optisch gescheiden.
Het probleem van de besturing van een lift is gelegen in de bepaling van de strategie die bepaalt aan welke oproep of
bestemming prioriteit wordt gegeven. Deze strategie moet daarom gemakkelijk te wijzigen zijn. De besturing van de lift wordt daarom beschreven in een toestandsdiagram die de besturing overzichtelijker maakt. V~~r de liftbesturing wordt
geko-zen voor de strategie van de langste weg in dezelfde richting, de lift blijft dan omhoog gaan tot de hoogste etage waar geen oproep of bestemming is. De besturing van de lift is opgedeeld in twee modules: het hoofdprogramma dat de besturing verzorgt en de I/O-module die procedures bevat die de in en output ver-zorgen. In het hoofdprogramma worden de toestanden in een door de strategie vastgelegde volgorde doorlopen.
De beide interfaces voldoen aan alle in de opdracht gestelde eisen. De praktikumopstelling is gebouwd en blijkt ook in de praktijk te werken. Ook het programma voor de besturing van de praktikumopstelling werkt.
VOORWOORD
Het laatste half jaar van de HTS in Eindhoven bestaat uit een afstudeerproject. Mijn afstudeerproject vond plaats op de Technische Universiteit in Eindhoven bij de afdeling Werktuigbouw, vakgroep produktietechnologie en -.utomatise-ring.
De opdracht bestond uit het ontwerpen en bouwen van de
hardware en software voor de besturing van twee lift-opstellingen met een IBM-PC. De opdracht ligt op het gebied van de technische computerkunde. Aangezien ik de vakken computerarchitectuur en voortgezette software niet in mijn paket heb leek het mij interessant om kennis hierover op te doen. Echter door het gemis van deze vakken en ervaring was de opdracht vr1J zwaar, met name doordat ik een nieuwe programmeertaal, Modula-2 moest leren.
Tenslotte wil ik iedereen bedanken die bijgedragen heeft tot het tot stand komen van dit rapport. Met name wil ik noemen mijn begeleiders Ir D.A. van Beek en Ir P.C. Mulders.
INHOUDSOPGAVE
blz.
SAMENVATTING 1
VOORWOORD 2
HOOFDSTUK 1 INLEIDING 5
1.1 Hardware van de dubbele lift 5 1.2 Hardware van de praktikumopstelling 6 1.3 Besturing van de praktikumopstelling 6 HOOFDSTUK 2 HARDWARE VAN DE DUBBELE LIFT 7
2.1 I/O-kaart 7
2.2 Optische scheiding 8
2.3 Lift 9
2.4 Interface 11
HOOFDSTUK 3 HARDWARE VAN DE PRAKTIKUMOPSTELLING 16
3.1 I/O-kaart 16
3.2 Lift 16
3.3 Interface 18
HOOFDSTUK 4 BESTURING VAN DE PRAKTIKUMOPSTELLING 21
4.1 Besturingsstrategie 21
4.2 Analyse 22
4.3 Toestandsbeschrijving 23
4.4 Keuze van de besturingsstrategie 24
4.5 Realisatie 26
CONCLUSIES EN AANBEVELINGEN 29
BIJLAGEN bijlage A bijlage B bijlage C bijlage D bijlage E bijlage F bijlage G bijlage H bijlage I
Optische scheiding dubbele lift Schema's interface dubbele lif
Schema's interface praktikumopstelling Programmalisting definitie module
Programmalisting implementatie module lift I/O Programmalisting hoofdprogramma
Connector BaseBoardkaart
Connectors en aansluitingen praktikumopstelling Specificaties Darlington ULN 2803
HOOFDSTUK 1 INLEIDING
Op de Technische Universiteit in Eindhoven wordt onderzoek verricht naar, en onderwijs gegeven over, machinebesturingen. De opgedane kennis wordt in de praktijk getoetst met onder andere een aantal modellen van liftopstellingen. De
afstudeeropdracht is te verdelen in een drietal opdrachten, met be trekking tot twee liftopstellingen, 66n opstelling
wordt voor onderzoek gebruikt,de ander voor praktikum. ledere opdracht wordt uitgewerkt in een apart hoofdstuk. De
opdrachten worden in de volgende paragrafen nader toegelicht.
1.1 Hardware van de dubbele lift
Met behulp van een IBM-PC wordt een liftmodel aangestuurd bestaande uit twee liften. De liftopstelling wordt gebruikt voor het onderzoek naar machinebesturing met parallelle processen. De aansturing geschiedt via een kaart met 96 programmeerbare I/O-lijnen, de in en uitgangen zijn optisch gescheiden met behulp van speciale kaarten.
Opdracht
Voor de verbinding tussen de PC en de lift moet een interface worden ontworpen.
De interface heeft 24 inputlijnen en 24 outputlijnen. De status van een aantal I/O-lijnen moet met LEDls zichtbaar gemaakt kunnen worden. Verder moet een aantal lijnen
omschakelbaar zijn naar handbediening. De liftmotor moet met de hand bediend kunnen worden om de liftkooi hardwarematig in een bepaalde postitie te brengen. Enkele inputlijnen moeten met de hand bediend kunnen worden om storingen te simuleren. Op de lift moet een beveiliging gebouwd worden om de liftmotor hardwarematig te laten stoppen als de liftkooi
(door programmeerfouten) buiten de onderste of bovenste verdieping komt.
Aanpak
De liftopstelling wordt eerst geanalyseerd, en de
ver-schillende onderdelen worden beschreven. Van iedere output-lijn en inputoutput-lijn wordt bekeken wat er respectievelijk
aangestuurd, of gesignaleerd moet worden, en welke aanpassing daarvoor noodzakelijk is. Verder wordt bekeken van welke 1/0-lijnen de status zichtbaar gemaakt moet worden, en bij welke Inputlijnen storingen gesimuleerd moeten kunnen worden. Voor de liftmotor wordt een handbediening en een beveiliging
1.2 Hardware van de praktikumopstellina
In een nieuw op te zetten praktikum voor werktuigbouw-student en zal gebruik gemaakt worden van een liftmodel bestaande uit drie verdiepingen. Deze lift moet worden bestuurd met een IBM-PC.
Opdracht
Ontwerp en bouw de liftopstelling voor het praktikum. De aansturing geschiedt via een PPI (Programmable Parallel
Interface) 8255 IC met 24 programmeerbare I/O-lijnen, op een Labmasterkaart. De opstelling moet geschikt zijn voor
seriefabrikage van ca. 10 stuks en moet "student proof" zijn.
Aanpak
De lift wordt gebouwd van Pischer Techniek. Om de lift-opstelling "student proof" te laten zijn wordt de lift zo kaal mogelijk uitgevoerd, alle onderdelen (drukknoppen, ledjes) die niet noodzakelijkerwijs op de lift zelf moeten komen worden daarom op het interface kastje gebouwd. De liftopstelling wordt uitgevoerd met handbediening en beveiliging, van enkele I/O-lijnen wordt de status zicht-baar gemaakt door LED's. De liftopstelling vertoont veel overeenkomsten met de opstelling van de dubbele lift, de aanpak van de te ontwerpen interface is daarom hetzelfde. Een belangrijk verschil tussen de twee opstellingen is dat bij de praktikumopstelling geen optische scheiding wordt toegepast, omdat de meeste onderdelen veilig in of op het interface-kastje gebouwd worden.
1.3 Besturing van de praktikumopstelling Opdracht
Schrijf de software voor de besturing van de lift van de praktikumopstelling in Modula-2.
Aanpak
De liftbesturing wordt geanalyseerd, waarbij de nadruk ligt op de besturingsstrategie. Deze strategie wordt in een toe-standsdiagram beschreven waarna de besturing in een programma wordt gerealiseerd. Met de liftopstelling van het praktikum kan het programma getest worden.
HOOFDSTUK 2 HARDWARE VAN DE DUBBELE LIFT
In de onderstaande figuur is schematisch de opstelling getekend.
I/O - optische- versterkers
PC
-
kaart r-- scheiding r-- gebruikers-
lift interfacefig. 1: opstelling van de dubbele lift
In de volgende paragrafen worden de gebruikte I/O-kaart, en de optische scheiding toegelicht, en een beschrijving van de lift gegeven. Tenslotte wordt de ontworpen interface be-handeld.
2.1 I/O-kaart
De gebruikte I/O-kaart is een Baseboard kaart van scientific solutions. De kaart heeft 96 programmeerbare I/O lijnen. Vier secties van 24 lijnen, programmeerbaar in groepen van 8 als input of output.
In figuur 2 is het blokschema gegeven van de I/O-kaart. Er zijn drie blokken te onderscheiden:
- select logic; - data buffer; - parallel poorten. ~
parallel-...
poort 1 select..
logic ....
parallel
-IBM poort 2 I/O kanaal...
parallel-
..
poort 3-
data -buffer...
parallel-..
poort 4 fig. 2: blokschema van de I/O-kaart-..
..
De 8088 CPU in de I.B.M. Personal Computer heeft een aantal commando's gereserveerd voor I/O. De adresbus is 16 bits, er zijn dus 216 mogelijke I/O locaties. Er is echter een klein
gedeelte nodig. Met behulp van schakelaars op de BaseBoard-kaart wordt een adres geselecteerd. De select logic decodeert de IBM adreslijnen en de I/O read en write signalen om de Base Boardkaart geschikt te maken voor commando's of data-overdracht. In totaal zijn er 16 locaties nodig.
Data buffer
De databuffer is bidirectioneel tussen de P.C.-datalijnen en de datalijnen van en naar de parallel poorten.
Parallelpoorten
De Base Boardkaart heeft vier parallelpoorten elk
ge-realiseerd door een PPI 8255 IC. Het IC heeft 24 I/O lijnen in 3 groepen van 8 bits poor ten A, B, en C. Iedere poort kan als output of input fungeren, alleen poort C kan voor de helft als input en voor de helft als output worden gepro-grammeerd. Het gebruik van de poor ten is afhankelijk van de "mode". De mode wordt per parallelpoort softwarematig
ingesteld met behulp van de Control Poort. Er zijn in totaal drie mogelijke modes waarmee de poor ten ingesteld kunnen worden. bij mode 0 zoals die hier gebruikt wordt is poort A als input, poort B als output, de hogere databits van poort C
(C4-C8) als input en de lagere 4 databits (CO-C3) als output. Poort A kan 200 pA en poort B en C 1,0 rnA leveren. De laatste twee zijn daardoor geschikt om een Darlington aan te sturen. Voor de aansluitingen naar buiten toe is een 40-pins
connector aanwezig (zie bijlage Gl).
2.2 Optische scheiding
Speciaal voor de Base Board Z1Jn er kaarten die voor een optische scheiding zorgen, deze kunnen eenvoudig aangesloten worden op de Base Board kaart. Er is een opto-coupler kaart voor output en input (zie bijlage A).
De opto-coupler zet stroom om in een lichtbundel en
omgekeerd. De P.C. en kaarten zijn op deze manier optisch gescheiden van de aangesloten apparaten. De P.C. en de I/O kaart zijn zo beveiligd tegen statische ladingen en te hoge spanning bij het verkeerd aansluiten.
2.3 Lift
Figuur 3 geeft de schematische voorstelling van de lift. De dubbele lift is gebouwd van Fischer Techniek. De lift bestaat uit vier verdiepingen met twee liften. Op iedere verdieping zijn drukknoppen om de lift op te roepen. Met uitzondering van de bovenste en de onderste verdieping is er een oproep mogelijkheid om naar beneden en naar boven te gaan. Bij iedere oproepknop hoort een ledje dat aangeeft dat die knop is ingedrukt.
ledere lift heeft vier bestemmingsknoppen om de liftkooi naar een bepaalde verdieping te brengen. Ook hier zijn ledjes voor iedere bestemmingsknop. Verder is er nog een noodremschake-laar en twee ledjes die aangeven of de liftdeuren open of dicht zijn.
Op iedere liftkooi zitten twee schakelaars een positie-schakelaar en een naderingspositie-schakelaar, deze positie-schakelaars worden ingedrukt door palletjes op de liftgeleider. De
positieschakelaar dient voor het detecteren van de aankomst van de liftkooi op een verdieping. De naderingsschakelaar dient voor het signaleren van de nadering van een verdieping. Ten behoeve van de initialisatie van de lift moet deze in een bepaalde startpositie gebracht worden, in dit geval is dat verdieping
o.
Om de lift hier te kunnen detecteren is een een initialisatieschakelaar aangebracht.liftkooi deur open deur dicht 3 2 1 0 noodrem lift 1
,.
ledje : 0:-drukknop :0 schakelaar:o0':
OC'..
00-:
OO~ , OO~ 00, , 0 VER naa ben VER naa bov naa ben VER naa bov naa ben DIEPIN G 3 r 0 eden I 0:-DIEPIN G 2 r eno
r eden 0 O~ O~ DIEPIN G 1 r en o r eden 0 II' O~...
0' .... VER DIEPIN G 0 naa r 00=-bov en
..
liftkooi deur open r:f: deur dicht ~ 3 00:,
2 OO~ 1 OO~ 0 00:' \ noodrem 0 lift 22.5 Interface van de dubbele lift
De interface tussen de optische scheiding en de lift is af-hankelijk van het aan te sturen onderdeel. Als de vereiste stroom door de opto-coupler geleverd kan worden, kan het onderdeel rechtstreeks aangesloten worden, indien dit niet het geval is zal het stuursignaal versterkt moe ten ,worden. De output kan verdeeld worden in twee groepen: ledjes, en motor. De geleverde stroom van de optocouplers is voldoende om de ledjes rechtstreeks aan te sturen, de motor kan niet rechtstreeks aangestuurd worden.
De input van de lift wordt gerealiseerd door het indrukken van een drukknop, hierdoor wordt er een stroom rechtstreeks naar de opto-coupoler gestuurd.
De status van een I/O-lijn wordt alleen zichtbaar gemaakt door een LED als dit niet al op een andere manier gebeurt. Bijvoorbeeld zoals dit gebeurt bij het oproepen van ode lift of het bepalen van de bestemming. Dit betekent voor de output dat alleen de outputlijnen van de motor een statusLED hebben.
V~~r de input zijn dit de naderingsschakelaars,
positie-schakelaars en de initialisatiepositie-schakelaars.
Het kunnen simuleren van storingen is alleen interessant bij de detectie van de liftkooi, dit gebeurt door de naderings-schakelaars, positieschakelaars en de
initialisatie-schakelaars. Door het simuleren van sluiting of draadbreuk kan de software getest worden. Hoe zal de software bij-voorbeeld reageren als de aankomst van de liftkooi op een verdieping niet wordt gesignaleerd.
De gebruikte spanning is 6 Vol;, dit is namelijk de voeding die vereist is voor de liftmotors. Om storingen van de
liftmotor op de signalen naar de PC te voorkomen dient de voeding van de liftmotors gescheiden te worden van de rest van de voeding.
In de twee overzichten op de volgende bladzijde is aangegeven wat er aangesloten moet worden, hoeveel I/O lijnen daarvoor nodig zijn of er een statusLED moet worden opgenomen en of er overgeschakeld moet kunnen worden op handbediening. V~~r
iedere lijn is een interface ontworpen. In totaal zijn er vijf verschillende interfaces. Iedere interface wordt hierna kort beschreven. V~~r de versterking van het outputsignaal wordt een Darlington IC gebruikt (voor specificaties zie bij-lage I).
Output Aantal StatusLED Handbe- Interface
lijnen diening no.
2 lift- 4 ja ja 1
motors
6 oproep
ledjes 6 nee nee 2
8
bestem-mingsleds 8 nee nee 2
4
deur-ledjes 4 nee nee 2
niet
ge-bruikt 2 ja nee 3
Input Aantal StatusLED Handbe- Interface
lijnen diening no.
2 posi-tiescha- 2 ja ja 4 kelaars 2 nader-nings- 2 ja ja 4 schake-laars 6
oproep-schake- 6 nee nee 5
laars
8
bestem-mings- 8 nee nee 5
schake-laars
2 noodrem
schake- 2 nee nee 5
iaars 2 initia-lisa tie- 2 ja ja 4 schake-laars niet gebruikt 2 ja ja 4
Interface 1 (zie bijlage B1 en B2)
Deze interface is voor de liftmotor. V~~r iedere motor zijn 2 outputpoorten beschikbaar. De sturing van de motor is als volgt:
lijn 1 lijn 2 lift
0 0 stop
1 0 omhoog
0 1 omlaag
1 1 uit
fig. 5: sturing van de liftmotor
Als de beide outputlijnen dezelfde status hebben is de motor uit, is een van de lijnen hoog en de andere laag dan is de motor aan. Afhankelijk van welke lijn hoog en laag is draait de motor rechtsom of links om.
In bijlage B1 en B2 is het schema van de interface gegeven. Ben signaal uit de opto-coupler stuurt de Darlington open, zodat het relais opkomt, dat op zijn beurt de motor schakelt. In de schakeling is een status led opgenomen om de status van de outputlijn te kunnen waarnemen. De statusled wordt
tegelijkertijd met het relais geschakeld. Bij het optreden van fouten (bijv. het weigeren van de motor) kan men zien of de aansturing vanuit de P.C. goed is.
Met behulp van een schakelaar kan de motor worden gestopt en op handbediening gezet worden zodat de lift in een bepaalde positie gebracht kan worden. Via de handbediening kan de lift weer uit zijn beveiling gehaald worden.
Bij fouten in de software of in de detectie van de liftkooi kan de lifkooi de bovenste of de onderste verdieping
voorbijgaan zodat de liftkooi vastloopt tegen het einde van de liftschacht. Om de moter voor die tijd uit te schakelen is er een schakelaar boven en onder in de liftschacht opgenomen. Als de liftkooi een van deze eindschakelaars bekrachtigd
moet de lift stoppen.
De lift moet echter ook weer uit zijn beveiliging gehaald kunnen worden (met de handbediening). Door simpelweg de
beveiliging te overbruggen kan de lift de verkeerde richting op worden gestuurd. Als de liftkooi boven is gestopt moet zij alleen nog maar naar beneden gestuurd kunnen worden en
omgekeerd, als de liftkooi op de onderste beveiliging is gestopt mag zij alleen nog maar naar boven gestuurd worden. Dit is als volgt opgelost:
De beveiligingsschakelaar is normaal gesloten, als de
liftkooi de schakelaar bekrachtigt, valt het relais af. Door nu alleen dat relais te laten afvallen dat op dat moment bekrachtigd wordt kan het andere relais nog wel bekracbtigd worden, waardoor de liftkooi alleen nog maar kan stoppen of in omgekeerde richting worden gestuurd als waar de lift vandaan komt.
Piguur 6 geeft de bekrachtiging van de twee relais en de sturing van de lift.
bekracbtigd
relais 1 relais 2 liftkooi
niet niet stop
wel niet omhoog
niet wel omlaag
wel wel stop
fig. 6: sturing liftkooi als funktie van de relais
Als de lift omhoog gaat en tegen de bovenste beveiling loopt valt relais 1 af en stop de liftkooi. Door relais 2 te
bekrachtigen gaat de lift weer naar beneden. Zie figuur 7.
relais 1 relais 2 beveiliging liftkooi
bekrachtigd bekracbtigd boven ingedrukt
wel niet niet omboog
niet niet wel stop
niet wel wel omlaag
fig. 7: werking beveiliging boven
De werking van de onderste beveiliging is analoog. Als de lift naar beneden gaat en de onderste beveiligingsschakelaar activeert valt relais 2 af en stopt de liftkooi. Door relais 1 te bekrachtigen gaat de lift weer omhoog. Zie figuur 8.
relais 1 relais 2 beveiliging liftkooi bekrachtigd bekrachtigd onder ingedrukt
niet wel niet omlaag
niet niet wel stop
wel niet wel omhoog
fig. 8: werking beveiliging beneden
Interface 2 (zie bijlage B3)
Deze interface dient voor het aansturen van de lEDts. Met het signaal uit de opto-coupler wordt rechtstreeks een LED
aangestuurd
Interface 3 (zie bijlage 84)
Voor de overige niet gebruikte outputlijnen zijn de
Darlingtons gebruikt die nog op het Ie zitten. Bier kan naar behoefte een relais op worden aangesloten of een LED
mee aangestuurd worden. De status van deze lijn wordt zicht-baar gemaakt.
Interface 4 (zie bijlage B3)
V~~r de positie- naderings- en initialisatie schakelaars is
deze interface ontworpen. Er is een LED om de stand van de schakelaars te visualiseren. Tenslotte kan m.b.v. een
schakelaar storingen worden gesimuleerd zoals een draadbreuk.
Interface 5 (zie bijlage B3)
De drukknoppen om de bestemming aan te geven en de lift op te roepen hebben deze interface; zonder statusLED. V~~r de noodrem wordt de druknop vervangen door een schakelaar.
HOOFDSTUK 3 PRAKTlKUMOPSTELLING
In de onderstaande figuur is schematisch de opstelling getekend.
I/O - versterkers
PC kaart gebruikers lift
interface
fig. 9: schematische voorstelling van de opstelling
De opstelling wordt in de volgende paragrafen besproken,
3.1 I/O-kaart
V~~r het praktikum wordt gebruik gemaakt van een Labmaster
kaart. Op deze kaart bevinden zich o.a. een DA-convertor, een AD-converter en een timer. V~~r de liftopstelling wordt
gebruik gemaakt van de 24 parallelle I/O-lijnen, evenals bij de Base-Boardkaart gerealiseerd door een 8255 IC. De
beschrijving van de parallelpoort is daarom identiek aan die van de BaseBoard (zie par 2.1) De ingestelde mode is hier eveneens 0, de controlpoort moet dan geladen worden met de hexadecimale waarde 98.
3.2 Lift
Ook deze lift (zie figuur 10) is gebouwd van Fischer
Techniek. De lift voor het praktikum moet "student proof" zijn, alle onderdelen die niet noodzakelijkerwijs op de lift zelf moeten komen, zoals drukknoppen, ledjes etc., zijn
daarom op het interface-kastje gemonteerd.
Op iedere verdieping van de lift zijn drie positieschakelaars aangebracht om de aankomst van de liftkooi te kunnen detec-teren. Op de lift zelf zijn tens lotte nog twee
eind-schakelaars voor de beveiliging aangebracht.
Op het interface-kastje zijn drie drukknoppen om de be-stemming aan te geven, vier oproepknoppen om de lift op te roepen en een noodremschakelaar gebouwd.
liftkooi
,.
200: 1 0 00;: ,o
oo~ noodrem 0 " drukknop : 0 schakelaar:D ledJ"e.
• O~ " na be na bo na be ar ,. neden 00: ar ven,
00""
ar , neden 00""
na ar ven Io
O~ bo VERDIEPING 2 VERDIEPING 1 VERDIEPING 03.3 Interface
De interface voor de praktikumopstelling vertoont veel overeenkomsten met de interface van de dubbele
lift-opstelling. Het grote verschil is gelegen in het feit dat bij de praktikumopstelling geen optische scheiding van de in- en uitgangen is toegepast, omdat de meeste schakelaars en alle ledjes veilig op het interface-kastje zijn,gemonteerd Alleen de signalen afkomstig van de positieschakelaars moeten optisch gescheiden worden omdat hierdoor verkeerd aansluiten, of door statische lading bij aanraking, een te hoge spanning op de ingang kan komen te staan, die zonder scheiding des-tructieve gevolgen kan hebben. De outputlijnen van de lift-motor zijn galvanisch gescheiden.
Alleen in de interface voor de positieschakelaars en motor-sturing is een statusLED opgenomen omdat de status van de I/O lijnen hier anders niet zichtbaar is.
Omdat voor de ingang van de poor ten TTL-nivo is vereist, en de voeding voor de motor 6V is, zijn twee voedingsspanningen aanwezig 6V en SV. Storingen van de motor op de ingangs-signalen naar de PC worden door de gescheiden voeding voorkomen.
In figuur 11 is een overzicht gegeven van de gebruikte I/O lijnen. V~~r iedere lijn is een interface ontworpen, in totaal zijn er 5 verschillende interfaces. Bijlage H1 geeft een overzicht van de connectoraansluitingen van de Labrnaster-kaart naar de interface, en de aansluitingen van de interface naar de lift.
Output Aantal StatusLED Handbe- Interface
lijnen diening no.
lift- 2 ja ja 1
motor
4 oproep
ledjes 4 nee nee 2
3
bestem-mingsleds 3 nee nee 2
Input Aantal StatusLED Handbe- Interface
lijnen diening no.
3
posi-tiescha- 3 ja nee 4
kelaars
4
oproep-schake- 4 nee nee 3
laars
3
bestem-mings- 3 nee nee 3
schake-laars
1 noodrem
schake- 1 nee nee 3
laars
fig. 11: overzicht van de input en output van de praktikumopstelling
Interface 1 (zie bijlage Cl en C2)
Deze interface voor de motor aansluiting is identiek aan de interface voor de motorsturing van de dubbele liftopstelling. Het signaal uit parallelpoort B en C kan een Darlington
(zie voor specificaties bijlage I) aansturen. Ook hier zijn twee schakelaars om de motor met de hand te bedienen en uit te kunnen zetten.
Interface 2 (zie bijlage C3)
Het signaal uit de parallelpoort stuurt de Darlington open, zodat de LED gaat branden.
Interface 3 (zie bijlage C3)
Indrukken van de schakelaar geeft 5V op de ingang van de poort. Dit wordt door de parallelpoort gezien als een
logische 1. Bij de noodrem wordt de drukknop vervangen door een schakelaar.
Interface 4 (zie bijlage C3)
Deze interface van de positieschakelaars is optisch ge-scheiden. Vanwege de optische scheiding moet er voeding uit de PC komen.
HOOFDSTUK 4 BESTURING VAN DE PRAKTIKUMOPSTELLING
Het doel van een lift is mensen of goederen van de ene ver-dieping naar de andere te brengen. Door op een knop te druk-ken kan men druk-kenbaar madruk-ken dat men om een lift vraagt en de gewenste richting (naar beneden of naar boven) vastleggen. In de liftkooi geeft de gebruiker zijn bestemming aan.
Als meerdere mensen deelnemen aan het liftverkeer zal er een keuze gemaakt moe ten worden aan welke oproep of bestemming prioriteit wordt gegeven. Het probleem van de besturing van een lift zit in de bepaling van de strategie die vastlegt waar prioriteit aan wordt gegeven.
4.1 Besturingsstrategie
De keuze voor een bepaalde strategie zal mede afhankelijk zijn van de functie van het gebouw waarvoor de lift wordt ontworpen. Bij een hotel of een woonflat is er voornamelijk verkeer van en naar de begane grond. Verkeer tussen de etages onderling is beperkt en echte piekuren zijn niet te
verwachten. In kantoorgebouwen is er een heel ander verkeer. Bij het begin van de werkdag komen in betrekkelijk korte tijd zeer veel mensen aan die vanaf de ingang naar een bepaalde etage willen. Overdag is er veel verkeer tussen de etages onderling. Op bepaalde tijden kan het verkeer van en naar een etage toenemen, bijvoorbeeld de etage waar een vergadering wordt gehouden of waar de kantine zich bevindt. Aan het einde van de werkdag wil iedereen weer in een korte tijd naar de uitgang.
Uit literatuur over besturingsstrategieeen van liften blijkt dat het liftverkeer in een gebouw zich niet met gemiddelden en waarschijnlijkheden laat beschrijven. In twee dezelfde gebouwen hangt het verkeer meer af van de gebruikers dan van de functie van het gebouw. Als bijvoorbeeld mensen op de
verkeerde knoppen drukken of niet lang willen wachten, kunnen zelfs de beste besturingen dit niet verhelpen. Ook het ge-bruik van de trappen in plaats van de lift zal sterk afhangen van de gebruikers. Bij het ontwerpen van een nieuwe
liftbesturing is het daarom aan te bevelen eerst een data-collectie te do en in het gebouw waarvoor de lift bestemd is. Op grond van deze data-collectie kan dan met behulp van een simulatie de beste besturingsstrategie worden gevonden.
4.2 Analyse
input: output:
- bestemming
---:.;'lo,~
besturings : - leds- oproep strategie '--_ _ _
-..,,> -
motor- noodrem .
-- positie ~---~
fig. 12: schematische voorstelling van de liftbesturing In figuur 12 is de liftbesturing schematisch weergegeven. De input van de lift kan verdeeld worden in twee groepen.
Enerzijds de input die door de liftgebruikers wordt bepaald door het gebruik van de noodrem of het geven van een oproep of bestemming van de lift. Anderzijds de input die de positie van de lift signaleert d.m.v. de positieschakelaars. Het
geven van een bestemming of oproep wordt een taak genoemd. Figuur 13 geeft een overzicht van de gebruikte input en
output met eventueel de bijbehorende verdieping. De I/O is in het engels omdat deze ook zo in het programma wordt gebruikt. Floor met het verdiepingsnummer zijn de positieschakelaars. Een bestemming wordt aangeduid met destination (dest) gevolgd door het nummer van de verdieping. Een oproep wordt aangeduid met request (req) gevolgd door het verdiepingsnummer en de gewenste richting up/down. Bijvoorbeeld destination 1 is een verzoek om naar verdieping 1 te gaan, request 1 up is een oproep van de lift op verdieping 1 om naar boven te gaan.
input destination 2 destination 1 destination 0 request 0 request 1 down request 1 up request 2 safety-brake floor 1 floor 2 floor 2 output destinationled 2 ,destinationled 1 destinationled 0 requestled 0 requestled 1 down requestled 1 up requestled 2
lift(up, down, stop)
fig. 13: input en output van de praktikumopstelling
Als een bestemmingsknop of oproepknop is ingedrukt, moet het bijbehorende ledje worden aangestuurd, de gegeven taak moet worden beantwoord met het aansturen van de lift. Als er meerdere taken worden gegeven dan kunnen deze niet allemaal
onthouden welke oproep of bestemming is gegeven. Als een taak is ingewilligd dan moet deze worden geannuleerd, het
bij-behorende LEDje moet dan uitgaan.
De besturingsstrategie bepaalt in welke volgorde de taken worden ingewilligd. Deze strategie moet bij voorkeur
makkelijk te wijzigen zijn.
4.3 Toestandsbeschrijvina
Zoals gezegd is het probleem van het besturen van een lift gelegen in de bepaling van de strategie. Om een goede
doorzichtige besturing te kunnen realiseren. wordt de lift beschreven in een aantal toestanden. Door de lift op te
roepen of door een bestemming aan te geven kan een toestands-verandering optreden. De volgorde waarin de toestanden worden doorlopen wordt bepaald door de besturingsstrategie.
V~~r iedere verdieping worden in principe drie toestanden
gedefinieeerd die bepaald zijn door de aktie van de lift. De lift gaat omhoog: toestand "up".
De lift gaat omlaag: toestand "down".
De lift wacht om mens en binnen te laten: toestand t'wait". Op het eerste gezicht lijken er slechts drie verschillende toestanden te bestaan. Als de besturingsstrategie hierom vraagt is het van belang dat de lift "weet" wat de richting was voordat de lift in een wachttoestand komt. Afhankelijk van de voormalige richting zal een bepaalde volgorde van de toestanden worden doorlopen.
Er zijn dus in totaal vier mogelijke toestanden per verdieping:
Up: lift gaat omhoog.
Upwait: lift wacht na omhoog te zijn gegaan. Down: lift gaat weer beneden.
Downwait: lift wacht na omlaag te zijn gegaan.
V~~r de laagste en hoogste verdieping zijn er twee
toestanden:
Verdieping 0: 0 up
o
upwait Verdieping 2: 2 down4.3 Keuze van de besturinasstrategie
Om voor de besturing van de lift tot een (voorlopige) keuze voor de besturingsstrategie te komen is er gekozen voor een compromis tussen twee strategieeen namelijk:
- de kortste wachttijdstrategie; - de kortste wegstrategie.
Bij de kortste wachttijdstrategie worden de verzoeken voor een lift zoveel mogelijk afgehandeld op volgorde van binnen-komst.
De kortste weg strategie handelt de verzoeken zodanig af dat de afgelegde weg van de lift zo klein mogelijk is. Het nadeel van de kortste wachttijdstrategie is dat de afgelegde weg soms erg lang is. Het nadeel van de kortste weg'strategie is dat de wachttijd erg lang kan zijn. Daarnaast zal men om irritaties te voorkomen er voor moeten zorgen dat mensen die de lift ins tappen om naar boven te gaan niet eerst omlaag gaan om andere personen op te halen.
De strategie die voor de besturing is gekozen, berust op het principe van de langste weg in dezelfde richting. Dit houdt in dat een lift die bijvoorbeeld omhoog gaat, omhoog blijft gaan tot de hoogste etage waar een taak beschikbaar is.
De richting van de lift verandert pas als er geen taken meer beschikbaar zijn in de oude richting. Tenslotte heeft een bestemming altijd voorrang op een oproep. Dus eerst worden de bestemmingen afgehandeld dan de oproepen.
In figuur 14 is de gekozen strategie, de langste weg in dezelfde richting, in een toestandsdiagram gezet.
Als overal de lift wordt opgeroepen zullen de toestanden in de volgorde die de doorgetrokken pijl aangeeft worden door-lopeno Als er geen oproep op of bestemming naar een
verdieping is treden de wachttoestanden van deze verdieping niet op.
Als de lift zich in toestand 1 upwait bevindt en er is geen oproep of bestemming naar boven maar wel naar beneden, dan verandert de toestand naar 1 downwait.
verdieping 2
,
\. \\
verdieping 1- -
-
-
-\
--\ \ verdieping 0fig. 14: toestandsb~schrijving van de gekozen besturings-strategie
4.4 Realisatie
De besturing van de lift is opgedeeld in een aantal modules en procedures. Er zijn twee modules te onderscheiden:
het hoofdprogramma, en de I/O-module.
Bet hoofdprogramma wordt voornamelijk bepaald door de besturingsstrategie, van hieruit wordt de lift bestuurd, vanuit het hoofdprogramma worden procedures uit de I/O module geimporteerd.
De I/O-module bestaat uit een aantal procedures. Deze
procedures lezen en verwerken de inputsignalen en sturen de gewenste ouputsignalen naar buiten. In bijlage D en E is de software opgenomen van de I/O-module. De module bevat
de volgende procedures.
- ScanSwitches : leest de bestemmings en oproepschakelaars - PutLeds
- GetFloor
in en onthoudt deze.
: stuurt de bijbehorende LED's aan.
: kijkt of de lift op een bepaalde verdieping is aangekomen.
- GetSafetyBrake: leest de stand van de noodremschakelaar in. - DriveLift : stuurt de liftmotor aan in de gewenste
- Wait
richting omhoog, omlaag of stop. De motor stopt als de noodremschakelaar aan is. laat het programma enige tijd wachten om mens en gelegenheid te geven in de lift te
stappen. Tijdens dit wachten wordt de stand van de schakelaars met ScanSwitches
ingelezen en de LED's aangestuurd, het indrukken van de schakelaars wordt dus ook waargenomen als het programma in de wacht-Ius zit.
Het hoofdprogramma of besturin9sprogramma bestaat uit drie delen: - initialisatie van de poorten;
- initialisatie van de lift; - besturing van de lift.
Om de lift in een startpositie te brengen wordt de lift eerst naar verdieping 0 gebracht, dan kan het besturingsprogramma beginnen.
Bij de besturing van de lift wordt het toestandsdiagram zoals beschreven in par 4.4 doorlopen. Bij iedere toestand wordt een bepaalde aktie ondernomen.
In de wait toestanden worden de oproepen en bestemmingen die ingewilligd zijn geannuleerd, vervolgens wordt de Wait proce-dure aangeroepen om mensen de gelegenheid te geven om in de lift te stappen. Als er nog een andere taak is dan treedt de up of downtoestand op. In de downtoestand wordt de -lift
omlaag gestuurd, in de uptoestand omhoog.
Bij het doorlopen van lussen in het programma moe ten de drukknoppen en de noodremschakelaar iedere keer worden ingelezen om veranderingen te kunnen waarnemen, bij veranderingen moet de aansturing van de LEDs ook worden aangepast. Om dit niet bij iedere lus in het programma te hoeven doen zijn er enkele mogelijkheden.
Een mogelijkheid is de schakelaars om een bepaalde tijd te pollen. Dit kan worden verwezenlijkt met interrupts die door een timer worden gegenereerd. De tijd tussen het pollen moet dan kleiner worden gekozen dan de tijd dat een drukknop wordt vastgehouden.
Een ander alternatief is de gekozen oplossing (zie figuur 15 en bijlage F) om het hele besturingsgedeelte in een lus te zetten, bij het doorlopen van deze lus wordt de procedure ScanSwitches en PutLeds aangeroepen. Met een case of state-ment wordt naar de toestand gesprongen waarin de lift zich op dat moment bevindt. De lege blokken in figuur 15 vertegen-woordigen de akties die bij een toestand worden uitgevoerd. De besturingsstrategie kan gemakkelijk worden gewijzigd, omdat voor iedere toestand in het programma vastgelegd kan worden wat de volgende is en wat de voorwaarden daarvoor zijn.
begin
)
..
, Scan Switches PutLeds<$>
CASE OF Oupwait 1 I Oup I 1 .. I I ~ 1upwait I..
I , It 1up I I ... I I ~ ,It 2downwait I .... I , I~ 2down I I ... I I ., \~ 1downwait I .. I It 1down I I...
I I - I..-end)
CONCLUSIES EN AANBEVELINGEN
De beide gebruikers- en versterkersinterfaces voldoen aan alle in de opdracht gestelde eisen.
De interfaces zijn gebruikersvriendelijk doordat: - de status van de I/O-lijnen altijd zichtbaar is;
- de lift eindschakelaars heeft die de liftmotor beveiligen; - er een mogelijkheid is om de lift met de hand te bedienen. Met de dubbele liftopstelling kan de software ook getest worden op storingen. De praktikumopstelling is gebouwd en blijkt ook in de praktijk prima te werken.
Bet programma voor de besturing van de praktikumopstelling blijkt eveneens in de praktijk te werken. Doordat de bestu-ring van de lift is beschreven in toestanden kan de
besturingsstrategie gemakkelijk gewijzigd worden. Een andere mogelijkheid om de schakelaars in te lezen is het periodiek pollen. In het programma is geen rekening gehouden met het optreden van storingen in het signaleren van de liftkooi op een verdieping.
LITERATUURLIJST
1. Intel databoek
Microsystem Components Handbook Peripherals Volume II
blz. 6-307 tIm 6-350 2. M. Sargent
gebruikt in:
hfdst. 2 en 3
The IBM-PC from the inside out hfdst. 2 en 3 3. H.A.M. Emmerik
Gestructureerde probleem analyse en ontwerpmethoden
(ditaat Hogeschool Eindhoven) hfdst. 4 4. J.H.A.M. Geraerds
Besturingen in de lift hoofdstuk 3 par 4.1 5. Richard J. Sutcliffe
Introduction to programming using Modula-2 par 4.5 6. K. Christian
De opto-coupler voor de uitgang heeft 24 parallele digitale output lijnen (een per parallelpoort). De uitgang van de opto-coupler heeft een 50 pins connector (zie bijlage A2). In onderstaande figuur is het schema gegeven van een lijn van de opto-coupler voor de output.
150
sv ________ ~~--____ --__ --~
741217
optische scheiding van de output
Als er een logische 0 op de ingang komt dan gaat er stroom lopen, deze geeft een lichtstraal af die de transistor openstuurt zodat er een stroom kan gaan lopen.ln bijlage A3 tIm A6 vindt u meer informatie over de opto-coupler 4N25
De optische scheiding voor de ingang is als voIgt gerealiseerd,
4 .. 7k.
~ _ _ _ _ _ _ -J~~ _ _ _ _ _ _ sv
74LS14
' - - - g n d
optische scheiding van de input
Als er een stroom door de ingang vloeit komt er een logische 1 op de uitgang te staan. Deze kaart heeft eveneens een 50 pins connector voor de aansluiting zie bijlage A2.
1 BODe Z6 Bone 1 None
26
None2
AO IN
27
AO RT
2
C4 RT
27
C4 OUT
3
AZIN
28AZRT
3
At RT
28
Al OUT
4
Al IN
29Al RT
4
A2 RT
29
A2 OUT
5AlIN
30 A3RT
5AO RT
30
AO OUT
6
A4 IN
31
A4 RT
6
A4 RT
31
A4 OUT
7
AS IN
32
ASRT
7
A3 RT
32
A3 OUT
8
C5
II' 33CSRT
8
C6 RT
33
C6 OUT
9
C7 IN
34
C7 RT
9
AS RT
34
AS OUT
10C61N
35C6RT
10
CS RT
35
CS OUT
11A6 IN
36A6 RT
11A7 RT
36
A7 OUT
12A7
IN
37
A7 RT
12
C7 RT
37
C7 OUT
13
C4 IN
38C4RT
13A6 RT
38
A6 OUT
14
Cl IN
39
CI RT
14
C3 RT
39
C3 OUT
15
Bl IN
40Bl RT
15
CO RT
40CO OUT
16
ellN
41
elRT
16
Cl RT
41
ClOUT
17
BOIlf 4ZBO RT
17
Bl RT
42
Bl OUT
18
CZIN
43CZRT
18
BO RT
43BO OUT
19
COIN
44CORT
19
C2 RT
44C2 OUT
20
BSIN
45BSRT
20B3 RT
45B3 OUT
21
BZIN
46B2 RT
21
B2 RT
46B2 OUT
22
B61N
47
B6RT
22
BS RT
47
BS OUT
23
B31N
48B3RT
23
B6 RT
48
B6 OUT
24
87 IN
49
B7 RT
24
B4 RT
49
B4 OUT
Z5Mllf
50MRT
Z5B7 RT
5087 OUT .
OPTOCOUPLERS
This Product I'Ifl9It is one of the industrial standards applied in the markeL The current transfer l'lItio, isolation voltage and low saturation voltage comply to the specifications of the main part of the optocoupler market.
This range can be used with TTL circuits and is comprised of an infrared emitting GaAs diode and an
N-P·N silicon phototransistor.
UL CovenId under UL component recognition FILE E90700
YDE Approved according to YDE 0883/6.83 DUICK REFERENCE DATA
CoUec:tor-emitter voltage of phototransistor·
FO/Ward current of infrared
emitting diode (d.c.)-D.C. current transfer ratio at
'F-l0mA;YCE -lOY· Total power dissipation
uPtoTamb-25OC
Isolation voltage (see note 11
MECHANICAL DATA Fig. 1 SOT·90B.
YCEO max.
IF max.
4N25to 4N26 IcllF min. 4N27 4N28 IcllF min.
Ptot max. YIORM min.
-$ Positional accuracy.
® Maximum Material Condition.
lOY 80 mA 0,2 0,1 250 mW 2,0 kY(r.m.s., Dimensions in mm • b c
r£-;t7\
~
k •(11 Centre·lines of all leads are within to, 125 mm of me nominal position shown; in the worst case, the spacing
between any two leads may deviate from nominal
by 0,25 mm.
121 When the leads are parallel, the tips remain in position for automatic: insertion.
Diode
Continuous reverse vo~tage·
Forward current· d.c.
peak value; ton .. 300 PSi 6 - 0,02 Total power dissipation
uptoTamb"25OC·
Transistor
CoIlector-emitter voltage (open base)· Collector·base voltage (open emittlr)* Emitter-collactor voltage (open base)· Collector current (d.c.)
Total power dissipation up to Tamb-25OC •
~
Storage temperature·
Operating junction temperature· Soldering temperature
up to the seating plane; tsld < to s Total power diSSipation
up to Tamb" 25 OC
THERMAL RESISTANCE From junction to ambient in free air
diode transistor
LINEAR DERATING FACTORS
Above 25 oC transistor· oPtocoupler·
ISOLATION RELATED VALUES External air gap (clearancel
input terminals to output terminals External tracking path (creepage distancel
input terminals to output terminals Tracking resistance IKB·value) CHARACTERISTICS
Tj .. 25 oC unless otherwise specified
Diode Forward voltage· IF" lOrnA Reverse current· YR"5Y Capacitance at f .. 1 MHz Y-O Transistor
Collector-emitter breakdown voltage· IC·' rnA
Collector-base breakdown voltage· IC-O,t rnA
Emitter-collector breakdown
voltage-IE -0,1 mA VR IF IFRM Ptot VCEO VCSO VEeO Ie Ptot Tstg Tj Tsld Ptot Rthj .. Rth j .. LIIDt) L(02) max. 5 V max. 80 mA miX. 3A max. 150 mW max. lOV max. 70V max. 7 V max. 100 mA max. 150 mW -55 to +150 OC -55 to +100 oC max. 260 OC max. 250 mW max. 500 K/W max. 500 K/W 2 mW/K 2 mW/K 3,3 mW/K min. 7,2 mm min. 7,0 mm KS·100/A typo mix. max. typo 1,15 V 1,5 V 100 /loA 50 pF
V(BRICEO min. lOY
Y(SR)CBO min. 70 V
VCE -10V 4N25 to 4N27 ICED max. 50 nA ICED max. 100 nA VCS-10V 4N2B ICSO max. 20 nA ()ptocoupler Output/input d.c. current transfer ratio·
IF - 10mA; VCE -10V 4N25to4N26 IcllF min. 0.2
4N27 4N2B IcllF min. 0,1 Collector-emitter saturation voltage· max. 0,5 V
IF-50mA; IC" 2 mA VCEsat tYP· 0.1 V
Isolation voltage 2,0 kV(r.m.s.I
(see notes 1 and 21 VIORM min. 2.8 kV(d.c.) Capacitance between input and output
VIO -O;f"l MHz Cia tYP· 0.6 pF Insulation resistance between
input and output
VIO-500V RIO tYP· 10.3 0
Bandwidth
-IC"2mA;VCE= 10V
RV'1000 BW .tYp. 300 kHz
Switching times (unsaturated) see Fig. 2 Rise time
Ie" 2 mA; VCC -10 v; Rl-l000 tr tYP· 3". Fall time
IC" 2 mA; Vce =10 V; RL -100 0 tf tYP· 3".
Switching times (saturated I see Fig. 3 Turn-on time (TTL def.1
IF" 15 mA; Vec .. 5 V; RL .. 2 kO
RSE""" ton tYP. s_
IF .. 20 mA; Vee .. 5 '!; RL .. 2 kO
S".
RSE -l00kO ton tYP.
Tum-off time (TTL def.1
IF -15 mA; Vce· 5 V; RL" 2 kO
RBE'""" toft tYP· 30_ IF" 2OmA; Vee -S V; RL - 2kO
Rse "lOOkS} toff tYP· 10 _
+Vcc
'~u
Vo
Yo
0
t----oVo
Vo
7Z . . 023
Fig. 3 Measuring circuit and waveforms.
UM4H 2
-
-; ' ...'"
"
'F-20mA ""l,..
-...~ -'-~OmA-
-
:--5mA o -50 0 50 100 160 T_I"<:IFig. 4 Normalized at IF -10 mA; VCE '" 10 V; T amb • 25 oc; typical values.
10' 1Z . . . 3. '1 InAl 101 V 10· 103 102 1/ 10 10-1 10 'F ImAl 102
Fig. 6 Vce -10 V; Tamb '" 25 OC;
typical values, 40
i'.
I
RL~~~ 201'-
.... 1 kSlI'-.
1
100kQ o 0.1 'C lmAl Fi .8 Normalized It I - 10 m . V 10 -10V' 4 Il -2 o o I / -".,.. ... ~ ~ ~ 4-
,...-
'F~50ImA...
25~
~-
f-~;.;,; -10mA 2.5mA • Va IVI 12Fig. 5 Normalized at IC '" 1 mA; IF'" 10 rnA; VCE = 10 V; typical vllues.
'F IAI 0.5 o o I .J 1% . . . 21 I II I I I II 2
Fig. 7 Tlmb - 25 oC; ton '" 20$11; a· 0,01;
typical vllues. 4 2 o o ! !
II
'IV
10--' F' .9 T...
-".,.. ...-,
~ 4 - 25OC; UMOZ1 ~ ~ 'F-SOmA ~ ~-
~b
10mA 1,6mA • Va IVI 12 icaI va'ua330 darlington ULN2e03A omhoog ~ om 1... 6V _~,... r---________ , , _____ 6V OPTO ISOLATOR LEO 330 darlington relaia PC bov'en \.Ii. J-K'J--_ _ _ _ _ --' I andbedi.ening I pcl .---:-:-rr::: ... l hand:::>edi ening
1
beveiliging • • dhakelaar bene den rel8is 2 t:r....
u.....
II Q' CD til....
1uF 10 ~---~~yA---~ ~---~ 6V - - - 1 . . - - - 0 r e 1 _i s 1 ev ---,...---o!Y"" 10 1uF ~---~v~~---~ r---~ 1uF 10 ~---~---~ ~---~ 6\1 - - - . 1 . . - - - _ 0 r-e 1_ i s 2 0'-.) ----...----_:"r"" 1uF 10 ~---'~r~---4 ~---~ interface 1 dubbele lift LlTTHOTOR
~ ____________________ ~ev ::tSOLATOR 190 ~----~---~~~I?~~~--- LED 190 OPTO ::tSOLATOR 190 OPTO ::tSOLATC)R 330 .• LED ~ bestenminliiiUii- ~ ~knop
~---~-O~---interface 2 dubbele lift interface 4 dubbele lift ev interface 5 dubbele lift+
~
OPTO :ISOLATe 330 ~~ __ ~ ___________ out LLN2803A interface 5 dubbele liftdar 1 ington r e t a i s 2 bev.n
i~{_,,~~--~---~~PC~~
~.,/ u.i. ~:J---l data UU·.t2803A emheO<a snd..-o oml aag SV _ _ ... LEO 330 darlington handbetdiening avJ
) bevei ligingssc:ha beneden .... e l _ r
r e t a i s 1 330 ., LED ~ end tr
..,.
u .....
III IQ"
n....
10 r---~~~---~ ~---~ 6\) _ _ _ _ . 1 -_ _ 0 r e 1 . i s 1 ev
0/'"
1uF" 10 ~---~---~ 1. LF 10 r---~~---~ ~---_, 6\J ______ ~ _____ o r e I . i s 2 0V ______ r -_ _ _ ~ 1uF" 10 ~---~.~---~ ~---~ praktikum Ll:FTHOTORsv
[>
~l
~~"/.'---_4I~---sv
270 bestemmings-led cff"
ULN2S03A OIC"I '_"P 1 e-d
POSitiesdhakelaar interface 2 praktikum interface 3 praktikum 150 5V---O-O_---r----,/'~""'v_--_.
!
270 interface 4 praktikumDEFINITION MODULE LiftIO; EXPORT QUALIFIED
reqO, reqlup, reqldown, req2, destO, destl, dest2, LIFTCONTROL, ScanSwitches, PutLeds, GetFloor, GetSafetyBrake, DriveLift, Wait; CONST TYPE VAR maxfloor
=
2; LIFTCONTROL = NUMBER=
(Lup, Ldown, Lstop); [0 .• maxfloor];
reqO, reqlup, reqldown, req2, destO, destl, dest2: BOOLEAN; PROCEDURE ScanSwitches;
PROCEDURE PutLeds;
PROCEDURE GetFloor(num: NUMBER): BOOLEAN; PROCEDURE GetSafetyBrake(): BOOLEAN;
PROCEDURE DriveLift(control: LIFTCONTROL); PROCEDURE Wait;
IMPLEMENTATION MODULE LiftIO:
FROM SYSTEM IMPORT INBYTE, OUTBYTE, WORD; FROM InOut IMPORT WriteString, WriteLn; CONST baselabm poortA poortB poortC VAR bits:
=
0710H: = baselabm + OCH; = baselabm + ODS; = baselabm + OEH; BITSET: PROCEDURE ScanSwitches;(*inlezen oproep- en bestemmingsschakelaars*) BEGIN
INBYTE{poortA, bits):
IF 0 IN bits THEN reqO:=TRUE END; IF 1 IN bits THEN req1up:= TRUE END: IF 2 IN bits THEN req1down:= TRUE END; IF 3 IN bits THEN req2:= TRUE END: IF 4 IN bits THEN destO:= TRUE END: IF 5 IN bits THEN dest1:= TRUE END: IF 6 IN bits THEN dest2:= TRUE END END ScanSwitches;
BEGIN out:={J; ScanSwitchesi IF reqO THEN INCL(out,O); END; IF reqlup THEN INCL(out,l): END: IF reqldown THEN INCL(out,2): END; IF req2 THEN INCL(out,3): END: IF destO THEN INCL(out,4); END; IF destl THEN INCL(out,S); END: IF dest2 THEN INCL(out,6); END: OUTBYTE(poortB,out) END PutLeds:
PROCEDURE GetFloor(num: NUMBER): BOOLEAN: (*leest de positieschakelaars in*)
BEGIN INBYTE(poortC, bits): CASE num OF 0: RETURN 5 IN bits 11: RETURN 6 IN bits 12: RETURN 7 IN bits END; END GetF1oor;
PROCEDURE GetSafetyBrake(): BOOLEAN; (*leest de noodremschake1aar in*) BEGIN
INBYTE(poortA, bits); RETURN 7 IN bits: END GetSafetyBrake;
PROCEDURE DriveLift(control:LIFTCONTROL): (*stuurt de liftmotor aan*)
BEGIN
IF NOT GetSafetyBrake() THEN
CASE control OF
Lup: OUTBYTE(poortC, (Ol)
I Ldown: OUTBYTE(poortC, (ll) ILstop: OUTBYTE(poortC, 0) END: ELSE OUTBYTE(poortC, 0): END: END DriveLift; PROCEDURE Wait: (*wachtenprocedure*)
VAR counterl, counter2 CARDINAL; BEGIN WriteString(CHR(12»; WriteString(ttDeur open ttl; FOR counter2 :-
a
TO 4 DO FOR counterl :=a
TO 500 DO ScanSwitches: PutLeds END: WriteString(".") END;WriteString(tt en weer dicht "); FOR counter2 :=
a
TO 4 DO FOR counterl := 0 TO 500 DO ScanSwitches; PutLeds() END: WriteString(".") END END Wait: END LiftIO.FROM LiftIO IMPORT
reqO, reqlup, reqldown, req2, destO, destl, dest2, LIFTCONTROL,
ScanSwitches, PutLeds, GetFloor, DriveLift, Wait: FROM InOut IMPORT WriteString, WriteLn:
CONST TYPE baselabm poortcontr poortB poortC = 07l0H; = baselabm + OFH: = baselabm + ODH; = baselabm + OEH;
STATE = (sOupwait, sOup, slupwait, siup, s2downwait, s2down, sldownwait, sldown): VAR state: STATE; BEGIN (*initialisatie poorten*> OUTBYTE(poortcontr, 98B): OUTBYTE(poortB, O}i OUTBYTE(poortC, O}i
(*initialisatie oproepen en bestemmingen*)
reqO:= FALSE: reqldown:= FALSE: reqlup:= FALSE: req2:= FALSE: destO:= FALSE; destl:= FALSE: dest2:= FALSE;
(*begin positie lift*) WHILE NOT GetFloor(O)
DO
DriveLift(Ldown) END;
DriveLift(Lstop); state:- sOupwait:
LOOP (*hier begint de besturing van de lift*)
ScanSwitches (*inlezen oproepen en bestemmingen*); PutLeds(*aansturen leds*):
CASE state OF sOupwait:
IF destO OR reqO THEN
destO:= FALSE; reqO:=FALSEj Wait ;
END:
IF destl OR dest2 OR reqiup OR reqidown OR req2 THEN
state:- sOup: END:
IF destl OR reqlup THEN
DriveLift(Lstop); state:= slupwait; ELSIF dest2 OR req2 THEN state:= SlUPi ELSIF reqldown THEN DriveLift(Lstop): state:= sldownwait; END; END: Islupwait: IF destl OR reqlup THEN
destl:= FALSE: reqlup:= FALSE; reqldown:= FALSE: Wait:
END;
IF dest2 OR req2 THEN
state:= sluPi
ELSIF destO OR reqO THEN state:- sldown: ELSIF reqldown THEN state:= sldownwait; END: Islup: DriveLift(Lup):
IF dest2 OR req2 THEN IF GetFloor(2) THEN DriveLift(Lstop); state:= s2downwait END; END; Is2downwait: IF dest2 OR req2 THEN
dest2:= FALSE; req2:= FALSEi Wait;
END;
IF destl OR destO OR reqldown OR reqlup OR reqO THEN
state:= s2down; END:
Is2down: DriveLift(Ldown): IF GetFloor(1) THEN IF dest1 OR req1down THEN DriveLift(Lstop): state:- s1downwaiti ELSIF des to OR reqO THEN state:- s1down: ELSIF req1up THEN DriveLift(Lstop}: state:- s1upwaiti END; END: Is1downwait: IF dest1 OR req1down THEN
dest1:- FALSE: req1down:=FALSE: req1up:-FALSEi Wait:
END:
IF destO OR reqO THEN
state:- s1down: ELSIF dest2 OR req2 THEN state:- s1up: ELSIF req1up THEN state:- s1upwait: END: Is1down: DriveLift(Ldown): IF GetFloor(O) THEN DriveLift{Lstop): state:- sOupwaiti END:
END (*case of*); END (*Loop*); END LIFT.
J Oround 21 Line AO I 21 2 -Sv 22 Line At 2 22 3 +Sv 23 LineAl
,
23 4 +12v 24 Line A3 4 24 S -J2v 2S Line A4 5 2S 6 Ground 26 Line AS 6 26 7 Ground 27 Line A6 7 27 8 Ground 28 Line A7 8 28 9 Line C4 29 Line C5 9 29 10 Line C6 30 Line C7 10 30 J1 Line CO 3J Line Cl 11 31 12 Line C2 32 Line C3 12 32 13 Line BO 33 Ground 13 33 14 Line Bl 34 Ground 14 34 15 Line B2 35 Ground IS 35 16 Line B3 36 -12v 16 36 17 Line B4 37 + 12", 17 37 18 Line BS 38 +5v 18 38 19 Line 86 39 -Sv 19 39 20 Line 87 40 Ground 20 40 Connector Pin-OutI PA7 14 PA6 2 PAS IS PA4 3 PAl 16 PA2 4 PAl 17 PAO S PC7 18 PC6 6 PCSorPC:s.&=Jwn~J8 19 PC4 7 PCl 20 PC2 8 PClor~.&=Jwn~J8 21 PCO 9 PB7 22 PB6 10 PBS 23 PB4 11 PBl 24 PB2 12 P B 1 2S PBO 13.26 aROUND
Output: poort B
poort C higher
Input Poort no.
floorO C5 floor1 C6 floor2 C7 reqO AO req1up A1 req1down A2 req2 A3 destO A4 dest1 A5 dest2 A6 safety A7 brake Pin no. 6 18 5 17 4 16 3 15 2 14 1
Output Poort no. Pin no.
motor1 CO 21 motor2 C1 8 reqledO BO 25 reqled1up B1 12 reqled1dwn B2 24 reqled2 B3 11 destledO B4 23 destled1 B5 10 destled2 B6 22
6V 1 bruin
led beveiliging boven 14 rood
led beveiliging beneden 2 oranje
5V 15 geel floor 0 3 groen floor 1 16 blauw floor 2 4 paars motor 1 17 grijs motor 2 5 wit
beveiliging boven 18 zwart
• EIGHT DARLINGTONS WITH COMMON EMITTERS
• OUTPUl CURRENT TO 500 mA (600 mA !*Ik»
• OUTPUT VOLTAGE TO 50V
• INTEGRAL SUPPRESSION DIODES FOR INDUCTIVE LOADS
• VERSIONS FOA ALL POPULAR LOGIC FAMILIES
• OUTPUTS CAN BE PARALLELED OR HIGHER CURRENT
• INPUTS PINNED OPPOSITE OUTPUTS TO SIMPLIFY BOARD LAYOUT
The ULN2801A - ULN2805A each contain eight darlington transistors with common emitters and
integra! suppression diodes for inductive loads. Each darlington features a peak load current fating of
800 rnA iSOO mA continuous) and can withstand at least SOV in the off state. Outputs may be paral ....
for higher current capability.
Fiye Yersionq are ayailable to simplify interfacing to standard logic: families: the ULN2801A is designed for general purpose applications with a current limit resistor;the ULN2802A has a 10.5 Kn input resistor and zener for 14-25V PMOS; the ULN2803A has a 2.7 Kn input resistor for 5V TTL and CMOS; 1M
ULN2804A has a 10.5 Kn input resistor for 6-15V CMOS and the ULN2805A is designed to . . . minimum of 350 rnA for standard and Schottky TTL where higher OUtput c:urrent is required.
Ail tY!,es are supplied in an 18-lead plastic DIP with a copper lead trome and teature the COllY . . .
ir:put-cl)posite-o ... tput pinout to simplify board layout.
ABSOLUTE MAXIMUM RATINGS
T,,,, .. Till
Output voltage
Input \/oitage for ULN 2802.0., 2803A, 2804A for ULN 2805A
Continuous collector current Cnntil'\Uous base current
Power dissipation (ol'\e Darlington pair) (total package) Oper,iting ambient temPtflture rlnge StNage temperature rlnge
50 V 30 V i5 V 500 rnA 25 rnA LO W 225 W -~O to 85 ·C -55 to 150 ·C ---~---CONNECTION DIAGRAM .tOP view) III I I 1'"4 'l , '10 J , I N " " IN 5 5 GND >-~--I" OuT , >-..--+--11'3 OUT 6
For UlN 2803A(eac:h driylt
f~r 5V. TTl/CMOS)
e
.-.-t: ... - ._--.~ ~e ... r-
.~,~ ,:I!!' , •. : ' "