In dit artikel ga ik u op de hoogte
brengen van papa's speelgoed: de electrische trein.
De baan is al meer dan anderhalf jaar
gemonteerd op de plank, de aansturing is echter nog steeds handmatig:
via de grote rode regelknop op de trafo. Vanaf het begin was het al
mijn bedoeling om de trein via de computer te laten besturen. Jaren
geleden, in een Atom Nieuws van welleer heb ik daar al eens wat over
geschreven. Maar deze keer wordt het uitgebreider.
Wensen
De volgende punten dienen gerealiseerd
te worden:
Traploze snelheidsregeling
Over
implementatie valt te twisten, sommigen zweren bij een
pulsaansturing, voor anderen is een analoge aansturing het summum.
Bij de pulsaansturing maak je gebruik van pulsen (volledige
spanning) die varieren in aan- en uit periode. Enkele voordelen
hiervan zijn dat de motor van de trein continu op maximaal vermogen
rijdt en dat de trein met lage snelheid kan rijden. Ook is de
stapgrootte kleiner dan bij een D/A conversie. De software is echter
wat ingewikkelder om te schrijven, omdat de processor constant bezig
moet zijn met de snelheidsregeling. Dit zou ook onder interrupt
gedaan kunnen worden.
De analoge aansturing is eenvoudiger. Met
een eenvoudige D/A converter (4 of 5 weerstandjes) kan je al in 16
of 32 stappen je snelheid regelen. Echter, bij de lagere spanningen
is het moeilijk om de trein in beweging te krijgen. Bij het afremmen
valt dat wel mee. Groot voordeel is dat de processor slechts eenmaal
de snelheid naar de D/A converter schrijft en vervolgens klaar is
met de aansturing.
Baanvakdetectie
Baanvakdetectie
kan met een reed-relais of met een lichtsluis. Ik heb
geëxperimenteerd met een reed-relais tussen de rails en een
magneet onder een wagon, maar ik was niet echt tevreden met het
resultaat. Een lichtsluis voldeed beter. Misschien heb ik de
verkeerde magneet of reed-relais gebruikt, toch hou ik het op de
lichtsluis. Lichtsluizen zijn te koop in allerlei varianten, ik bouw
ze zelf met een lampje, een lichtgevoelige weerstand en wat
electronica voor de licht/donker detectie.
Verlichting (straatverlichting
en verlichting in de huisjes)
Straatverlichting is bij
diverse modelbouw zaken verkrijgbaar, echter vrij prijzig. Tegen de
tijd dat u aan de slag gaat met de trein nadert de winter weer. Bij
Blokker of Kruidvat koop je dan Kerstverlichting, een streng met 100
lampjes voor een euro of twee. Voldoet prima als verlichting op de
treinplank, je hebt meteen houdertjes (lantaarnpaaltjes). Ziet er
niet echt als een straatlamp uit, maar met een jochie van 3 en zijn
zusje dat binnenkort leett kruipen is dat een perfect
compromis.
Als extra voor de verlichting maak ik gebruik van
eenzelfde schakeling als de treindetectie om licht en donker voor de
omgeving te detecteren. Daarmee kan ik de baan- en huisverlichting
laten reageren op het omgevingslicht. Een stap verder kan zijn dat
het omgevingslicht ook door de computer gestuurd wordt; daar doe ik
voorlopig nog niets mee (voornamelijk vanwege de veiligheid).
Stoplichten op de wegen
Voor
de stoplichten geldt ongeveer hetzelfde. Deze zijn ook te koop in de
modelbouw winkel, kosten ca € 10 per twee en sneuvelen gegarandeerd als zojuist genoemde kinderen
aan de slag gaan. Van triplex maak je zelf veel stevigere
stoplichten, drie ledjes erin en aansluiten maar. Kosten: ca. €
0,50 per stoplicht.
Spoorwegovergang
Op mijn
baan komt het met de overweg gemakkelijk uit. Ik heb geen slagbomen
nodig, alleen een bewaakte overgang met Andreas kruizen. Deze zijn
van hetzelfde fabrikaat en prijsklasse als de gewone stoplichten.
Om de aansturing van al deze onderdelen
te regelen stop ik zoveel mogelijk intelligentie in de computer. De
programmatuur kan een stuk eenvoudiger worden als bepaalde functies
in hardware op de print uitgevoerd worden. Maar dan ben je wel iets
minder flexibel. Uiteraard zijn sommige componenten (zoals
microcontrollers) programmeerbaar, maar dat doe je niet zo snel als
een ander programma starten.
Uitvoering (schema's)
Voor de uitvoering van bovenstaande wensenlijst heb ik een aantal
deelschakelingen bedacht en met de bekende spaghetti-prototypen
getest. Deze bleken nog heel aardig te werken ook.
Snelheidsregeling
De
snelheidsregeling bestaat uit een D/A converter van vier
weerstandjes, een opamp voor buffering en een transistor voor de
power. Daarachter een dubbelpolig relais om de rijrichting om te
kunnen draaien.
Direct aan de snelheidsregeling gekoppeld is een
kortsluit detectie. In de minleiding is een kleine weerstand (met
groot vermogen) opgenomen. Indien de spanning over deze weerstand te
laag is (instelbaar met een potmeter) dan zal een digitaal signaal
aangeboden worden. Indien het programma dit detecteert, terwijl de
spanning eigenlijk hoog moet zijn, kan het programma de baan
spanningsvrij maken.
Baanvakdetectie
De
baanvakdetectie is gemaakt met lichtsluizen: aan de ene kant van de
rails staat een lampje, aan de andere kant staat een lichtgevoelige
weerstand. Om een beetje gebundelde lichtstraal te maken heb ik het
lampje in een aluminium pijpje geplaatst. Om de lichtgevoelige
weerstand niet al te veel te beďnvloeden
met omgevingslicht, heb ik de weerstand in een aluminium pijpje
geplaatst. Resultaat: een goede lichtsluis voor weinig euro. De
drempelwaarde voor licht en donker kan met een instelpotmeter
geregeld worden. De computer dient zelf aan de hand van de
lichtsluizen te bepalen waar de trein zich bevindt.
Verlichting
De verlichting wordt recht-toe recht-aan opgebouwd.
In een register worden de bits geplaatst die een (groep) lamp(en)
laat branden. De buffering gebeurt met een ULN2001 o.i.d. Aangezien
ik 2,2V lampjes gebruik, schakel ik deze in serie zodat ik ca. 6
lampjes per keten heb. De ULN heeft 7 uitgangen, dus ik heb ruim 40
lampjes in 7 groepen. Voor mijn toepassing ruim voldoende. Het
stroomverbruik komt in totaal uit op ongeveer 1 A
(praktijkmeting).
Stoplichten en Andreas kruizen
Deze worden net als de verlichting
via een register/ULN2001 combinatie aangestuurd. Op de print is een
voorziening getroffen om een weerstandje in de voedingslijnen op te
nemen. Sommige leds schakel ik parallel (verkeerslichten), andere
worden individueel aangestuurd (Andreas kruizen en stoplichten voor
de trein).
Uitvoering
(printplaat)
Om
bovenstaande schema's gemakkelijk te realiseren in de praktijk heb
ik een enkelzijdige print ontworpen waarop al deze componenten
geplaatst en gekoppeld worden met de computer. Tot nu toe heb ik het
gehad over een computer in het algemeen, dat blijft ook zo, want het
is mogelijk om elke computer hiervoor te gebruiken, mits er maar een
8255 interface voor beschikbaar is. Nu zit er in de Atom al een 8255,
maar deze is niet bruikbaar aangezien die al andere taken toebedeeld
heeft gekregen. Voorlopig gebruik een 486 pc (draaiend onder Linux)
voor de aansturing. Maar als er mensen zijn die toch graag een Atom,
BBC of Electron voor deze besturing willen gebruiken, dan wil ik ze
graag helpen bij het realiseren van een interface print en de
software.
Op de print is een bus aangebracht die
met draadbruggen aan de diverse registers en buffers gekoppeld is.
Deze bus zijn de 24 in- en uitgangen van de 8255. Poort A wordt
gebruikt als input, poort B als output en poort C voor adressering op
de print. Deze adressering is niet helemaal optimaal, maar dat
bespaart plaats en componenten; daarnaast is het ook mogelijk om met
een schrijfopdracht het hele zaakje op nul te zetten.
Uitbreidingsmogelijkheden zijn er ook: een connector biedt alle
poorten ter uitbreiding aan. Met wat nauwkeurigere decodering van de
resterende bits van de C poort, zijn nog heel wat poorten aan te
sluiten.
Als behuizing voor de print en de
voeding heb ik gekozen voor een oude pc kast. Eventueel kunt u een
voeding van zo'n kast gebruiken. Ik had echter geen goede voeding
beschikbaar, wel wat componenten. Daar heb ik een eigen
voedingsprintje mee gerealiseerd. De voeding is vrij eenvoudig van
opzet: een dubbele trafo levert 2 x 15 V wisselspanning. Via een
brugcel worden deze gelijkgericht (2 cellen per wikkeling, dus 4
cellen in totaal) en met wat elco afgevlakt. Via stabilisatoren 7805,
7812 en 7815 worden deze gelijkspanningen omgezet naar 5 V, 2 x 12 V
en eenmaal 15 V. Twee weerstandjes op de print bieden de
aansluitmogelijkheid voor leds, zodat voor iedere voedingstak te
controleren is of deze spanning levert (i.e. zekering niet
doorgebrand).
In de afbeelding op de volgende pagina
krijgt u een indruk van het ontwerp. De schaal is niet 1:1. Mocht u
de print willen bestellen, neem dan s.v.p. even contact met me op.
Praktijk
oefening
Nadat de printen aangeleverd waren heb ik deze gebouwd. Dat viel,
ondanks de vele draadbruggen, best mee. Vervolgens testen.....
Bij de eerste test, krijgen alle IC's voldoende voedingsspanning
aangeleverd, viel na ca. 30 seconden de spanning weg. Wat blijkt nu:
in rust toestand, dus niets aangesloten op de ULN's blijkt er per
74HCT574/ULN2001 combinatie zo'n 250 mA aan stroom getrokken te
worden. Lekker royaal, maar daarbij de rest van de IC's opgeteld kom
je dan ruim over de 1 A heen die de 7805 kan leveren. Ergo, deze
houdt er mee op. Ze zijn dus werkelijk beveiligd tegen overbelasting
van korte duur want het ding werd heet maar ging niet kapot. Wat gaat
er mis? Nu lijkt het erop dat de ULN2001 geen serieweerstand heeft in
de ingang. En daardoor kan de stroom oplopen tot zo'n 25 mA. Doe dat
maal 7, tel er wat verbruik van de 574 bij op en je komt op die 250
mA. De ULN2003 of ULN2004 zijn dus een betere keuze, aangezien deze
wel een serieweerstand in de ingang hebben. Vreemd dat ik dat niet
eerder opgemerkt heb. Helaas heb ik op het moment van schrijven nog
niet kunnen testen of dat daadwerkelijk de oorzaak is, omdat ik geen
ULN2004 op voorraad heb. Maar dat wordt getest en u leest er vast nog
wel een keer meer over.
De overige testen, ditmaal dan maar zonder de ULN2001, waren al
positiever. De 74HCT574's zijn goed aan te sturen, m.u.v. bit 7. Maar
dat ligt of aan de kabel tussen pc en print, of aan de 8255; ook dat
moet nog getest worden, maar de deadline nadert.
Het aansturen van de DAC (het punt waar de vier weerstanden bij
elkaar komen) werkt wel goed. In 16 stapjes is de spanning te regelen
van 0 tot ca. 5 volt. Dat ziet er dus tot zover allemaal prima uit.
Hoe het verder afloopt weet ik zelf nog niet. De vakantie nadert en
het Nederlandse weerbeeld zal vast wel voor een dag wat regen geven.
En die dag, beste lezer, ga ik gebruiken voor de verdere testen.
Met vriendelijke groeten uit een zonnig Born,
Uw machinist, Roland Leurs