Taal:
DIGOUT. (DIGitale OUTput kaart / Mono en Bidirectionele uitvoering)
Gebruik:

Op bevel van de computer kan een externe voedingsspanning van 3 tot 30 Volt gelijkspanning op maximaal 8 uitgangen doorgeschakeld worden en stroom leveren tot 0,5 Ampère per digitale uitgang.

Deze print is geschikt voor het schakelen van elektrische apparatuur zoals gelijkstroommotoren en voor het doen schakelen van relais.

Bij de DIGOUT-bi-print zijn in tegenstelling tot de DIGOUT-mono-print de uitgangen bidirectioneel, d.w.z, een uitgang kan niet alleen stroom leveren, maar ook opnemen. Zo kan bijvoorbeeld een gelijkstroommotor tussen twee uitgangen zowel vooruit als achteruit draaien.
DIGOUT-mono
(Click op het plaatje)
(Click op het plaatje)
DIGOUT-bi
(Click op het plaatje)
(Click op het plaatje)

Technische specificaties:

 

Er zijn drie types DIGOUT geïmplementeerd op dezelfde print:

 

  • De DIGOUT-mono heeft poorten die uitsluitend stroom kunnen leveren tot maximaal 0,5 Ampère per poort en maximaal 2 Ampère voor het totaal van de poorten. (open collector uitgangen)

 

  • De DIGOUT-bi heeft poorten, die zowel stroom kunnen leveren als opnemen tot maximaal 0,6 Ampère per poort en maximaal 1,75 Ampère per groep van 4 poorten aangesloten op dezelfde IC.

 

  • De DIGOUT-extra heeft poorten, die zowel stroom kunnen leveren als opnemen tot maximaal 1 Ampère per poort. {nog niet leverbaar)

 

Voor de drie types DIGOUT wordt dezelfde print gebruikt met een verschillende bestukking per type.

Schakeling:

De UNIFACE-bandkabel is aan de linkerzijde aangesloten op de header en hier komen de adres- en data-in-lijnen de print in en worden de statuslijnen uitgestuurd. De DIGOUT kent geen data-uit-lijnen en vandaar ontbreekt het IC U4, die normaliter in het adresseringssysteem het data-uit-verkeer regelt.

Het binnenkomende byte op de adreslijnen wordt vergeleken met de byte ingesteld met de switch 1 en 2 en bij gelijkheid van de bytes worden de data op de data-in-lijnen ingeklokt in het latch IC U5. Hier blijft het byte behouden totdat de data op de data-in-lijnen veranderen, maar ook dan nog niet als intussen de print is geadresseerd,

In de DIGOUT-mono wordt het data-byte gebruikt om wel of niet de acht Darlington uitgangen van het IC U5 te openen voor de externe voedingsspanning aangesloten op de 2-polige kroonsteen. De IC's U6 en U7 ontbreken op deze print evenals de rij diodes D1 t/m D16. De uitgangen van de DIGOUT-mono bevinden zich op de 12-polige kroonsteen, die naast de acht output-poarten tevens drie keer de ground en één keer de positieve spanning toegankelijk maakt. Stroom kan door deze open collector uitgangen geleverd worden tussen de positieve spanning en de aangestuurde poorten. Wanneer een poort niet wordt aangestuurd, heeft hij een positieve spanning.

In de DIGOUT-bi wordt eveneens de data-byte gebruikt om de uitgangspoorten te defini#ren. Deze worden aangestuurd door 2 viervoudige zogeheten Half H drivers (IC's U6 en U7). De diodes D1 t/m D16 en het IC U8 ontbreken bij de DIGOUT-bi. Een aangestuurde poort krijgt de positieve externe spanning en kan stroom leveren t.o.v. de GND of t.o.v. een niet aangestuurde poort, die in dat geval de stroom opneemt.

In de DIGOUT-bi-extra is het verschil met de DIGOUT-bi uitsluitend de mogelijkheid hogere stromen, die weer in beide richtingen toegelaten zijn. Hierbij worden de IC's U6 en U7 gekoeld en zijn de diodes D1 t/m D16 gemonteerd, Deze diodes dienen ter bescherming van de print tegen zelfinductie spanningen afkomstig van inductieve loads. In de DIGOUT-mono en de DIGOUT-bi zijn deze diodes al opgenomen in het IC, zodat ze niet apart gemonteerd behoeven te worden.


Drievoudige veiligheid:

Behalve de net genoemde veiligheid tegen zelfinducties zijn er nog twee veiligheden ingebouwd in de print:

- Na het aansluitblok van de externe voedingsspanning is een diode geplaatst die niet alleen de stroom limiteert tot 3,5 Ampère, maar tevens beveiligt tegen verkeerd gepoold aansluiten van de voedings spanning.

— De DIGOUT-bi is thermisch beveiligd, Bij een te hoge belasting schakelt de warmteontwikkeling in de IC's U6 en U7 deze uit. Dit betekent niet dat een uitgang straffeloos kortgesloten mag worden, omdat het IC in dat geval niet eens de kans krijgt oververhit en daardoor uitgeschakeld te worden.

Bij de DIGOUT-mono ontbreekt de thermische beveiliging en overbelasting leidt bij dit type onherroepelijk tot vernietiging van het IC U6 (ULN 2803),

Bij zowel de DIGOUT-mono als de DIGOUT-bi bedraagt het spanningsverlies over de resp. IC's ongeveer 1 Volt, zodat op de uitgangspoorten een spanning wordt afgeleverd, die ca, 1 Volt lager is dan de externe voedingsspanning.
Adressering:

Het adres van de DIGOUT wordt ingesteld met de tweepolige DIL (Dual In Line) switch. Daarnaast is bit 5 van de instelbare adresbyte kortgesloten met een weerstand van 1 Ohm (R3). Adressering vindt geïnverteerd plaats. Met de belde schakelaars op Off is daardoor het adres van de DIGOUT-print gelijk aan 239 (=255-16).

Met de schakelaars kan hiervan gemaakt worden 236, 237 en 236. Nieuwe adressen zijn te vormen dopr verbinding te maken op de nog niet doorverbonden adresbits. De adressen die ontstaan door verbindingen op bits 2 en 3 zijn daarbij gereserveerd tot de DIGOUT-adresruimte. (deze loopt dus van 224 t/m 239)
Hoe te programmeren:

Voor de diverse types DIGOUT is de programmering gelijk. Het volgende BASIC-voorbeeld geeft de methode voor het aansturen van de poorten
0,4,5 en 7 (resp. 1+16+32+128=177) van een DIGOUT-print met adres 239:

OUT X,177: OUT X+1,adres <---- Adres is het geinverteerde printadres (239)

X is het nummer van de gebruikte koppel I/O poorten (X en X+1) van de computer en is gelijk aan 96 voor de P2000, 48 voor de MSX en 784 voor de PC.


De eerste statement zet de waarde 177 (binair 10110001) op de data-lijnen. De tweede statement adresseert de DIGOUT-print.

Let op: zo lang de DIGOUT nog niet geadresseerd is, is het onduidelijk welke waarde een cutput-bit zal hebben. Begin daarom altijd met een programma-regel, die de output-bits spanningsloos maken voordat de voedingsspanning van de DIGOUT wordt aangezet,

In BASIC kan dit bijvoorbeeld met:
OUT X,O: OUT X+l,adres: OUT X+1,0

Subroutines:  (voorbeeld middels een programma)

 

Om met dit demonstratie programma te kunnen werken moeten er 8 lampjes aangesloten worden op de DIGOUT-print aansluit-terminal. Door telkens één lampje te verbinden met de punten O0 t/m O7 en de GND aansluiting zal na het 'runnen' van dit programma na een overeenkomstige input de lampjes gaan branden, (voor aansluitingen zie tekening)

 

Dit programma is geschreven voor MSX-computers, maar kan op zeer eenvoudige wijze aangepast worden voor andere computers. (P2000 en PC).

Hoofdzaak is dat u het werken met Subroutines onder de knie krijgt, Het bestuderen van het programma geeft al een juiste indruk over het werken met subroutines.

 

Voor de lampjes kan men bijvoorbeeld zogenaamde fietslampjes nemen van 4,5 - 5 Volt. De externe voeding kan dan betrokken worden uit een ‘platte’ 4,5 Volt batterij.

 

In regel 220 wordt het kaartnummer geselecteerd.

 

In regel 230 wordt de data-bus geladen met 0. (Omdat men nog niet weet welke waarde een output-bit zal hebben maken we eerst de output-bits spanningsloos, Zie programmering: 'Let op’)

 

In regel 240 wordt naar de subroutine gesprongen.

 

In de regels 480 t/m 500 staat de uiteindelijke subroutine en in regel 510 springt men terug naar het hoofd-programma.

 

Na een input vanaf het toetsenbord wordt in regel 450 de subroutine aangeroepen en geladen met de waardes verkregen uit de input (G1)

 

10 'Voorbeeld UNIFACE DIGOUT
20 '
30 '8 output
40 '
50 CLS
60 WIDTH 37
70 KEY OFF
80 PRINT"                  UNIFACE OUTPUT"
90 PRINT"                  ============="
100 PRINT
110 PRINT" Dit is een van de vele  "
120 PRINT" mogelijkheden van UNIFACE"
130 PRINT
140 PRINT" Door een getal in te geven."
150 PRINT" (0 t/m 255) kan men de acht."
160 PRINT"  uitgangen adresseren."
170 FOR P=1 TO 9
180 PRINT
190 NEXT P
200 PRINT" -> maak uw Keuze ( 0 t/m 255 ) <-"
210 '
220 KA=16 : 'Kaartnummer
230 G1=0   : 'Data
240 GOSUB 480 : 'Aanroep Bedieningsroutine
250 '
260 LOCATE 0,12
270 PRINT " Bit    0 1 2 3 4 5 6 7 "
280 PRINT "         +-+-+-+-+-+-+-+"
290 PRINT USING "  Data | | | | | | | | | |   => ###"; G1
300 PRINT "         +-+-+-+-+-+-+-+"
310 A=8
320 A$=RIGHT$(BIN$(G1 XOR 256),8)
330 FOR K=1 TO 15 STEP 2
340 LOCATE K+7,14
350 P$=MID$(A$,A,1)
360 PRINT P$
370 A=A-1
380 NEXT K
390 LOCATE 16,22
400 PRINT "                    "
410 LOCATE 10,22
420 LINE INPUT "Data:  ";G1$  : 'Data ingeven
430 G1=VAL(G1$)
440 IF G1<0 OR G1>255 THEN 390
450 GOSUB 480
460 GOTO 260
470 '
480 OUT 48,G1  : 'Zet data op de databus
490 OUT 49,255-KA  : 'Adresseren van de kaart
500 OUT 49,0 : 'Reset Kaartadress
510 RETURN
---