Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Sfeer op je modelbaan door meino
Vandaag om 22:31:02
Bezetmelder brug in rolbrug blijft actief als rolbrug gestopt is door RobVille
Vandaag om 22:30:08
Raadplaatje door Eric B
Vandaag om 22:17:00
Toon hier je (model)treinfoto's door Frank 123
Vandaag om 22:05:35
Station Roodeschool door Torikoos
Vandaag om 21:59:55
Toon hier je nieuwe (model-) spooraanwinst(en)... door wob
Vandaag om 21:59:52
lampjes in huizen willekeurig schakelen door Bert55
Vandaag om 21:17:39
Länderbahn en Reichsbahn locomotieven. door 741230
Vandaag om 20:44:16
Microstepper motoren voor armseinpalen door AP3737
Vandaag om 20:39:50
Bentheimer Eisenbahn Stations gebouwen "Laarwald" door borotof
Vandaag om 20:26:55
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door Martijn193
Vandaag om 20:06:38
Centraal Zwitserland: Trein, tram, kabelbaan en gondels. door Hans van de Burgt
Vandaag om 20:05:19
"Ein kleines Kalkwerk", een nieuwe tentoonstellingsbaan door 741230
Vandaag om 20:04:49
NS 1700 transfers door Rick
Vandaag om 19:51:29
Overstap naar HTM door GerardvV
Vandaag om 19:50:12
Spooraccessoires in diverse schalen, 3D-geprint. door spoorfreak
Vandaag om 19:48:41
BNLS Rijweekend 19 en 20 juli 2025 door MOVisser
Vandaag om 18:59:34
Gezocht info en foto's van standaard dwarsliggerwagen door Rob Hagg
Vandaag om 18:40:47
Mooi weer om buiten te spelen door puntenglijder
Vandaag om 18:18:39
Br 38 Piko Superen. door Silvolde
Vandaag om 17:32:46
Spoor- en tramweg parafernalia door Eric B
Vandaag om 17:32:02
Gezocht: foto's NS Ks/Us (nu Klmos) door marco
Vandaag om 17:15:33
Da's Daz 2 door BartvD
Vandaag om 17:06:02
Stationsplein Baden Baden door Dion
Vandaag om 17:00:00
Dat overkomt mij niet. door Benelux795
Vandaag om 16:07:49
Het einde van de RhB- Chiavenna Stazione Merci door Hollandserhbfan
Vandaag om 15:38:11
Wèhnich - Eén onbeduidend baantje op 1200 bij 1200mm door tothebeach
Vandaag om 15:29:18
De bouw van mijn modelbaan in Thailand door Thai-Bundesbahn
Vandaag om 14:40:06
Mijn eerste H0-modeltreinbaan in aanbouw door Thai-Bundesbahn
Vandaag om 14:28:28
Alt-Wutachtalbahn 2025 door Hans Grasmaijer
Vandaag om 14:06:48
  

Auteur Topic: Modeltreinen bestuurd met een MS-DOS XT: beschrijving besturing I  (gelezen 12973 keer)

Bart Sanders

  • Offline Offline
  • Berichten: 109
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #15 Gepost op: 18 December 2012, 13:05:01 »
Citaat
Basic of Pascal hoort bij die grote floppen.

En wat dacht je dan van Modula-2, de grote broer van Pascal (ook van Wirth en zijn team in de ETH Zürich) en daar hebben wij destijds, professioneel, tienduizenden regels code in geschreven - met nog grotere 8" IBM floppen....

Maar, wat was ik blij dat Microsoft toen een C-compiler voor MS-DOS met een windows (!!!!) gebaseerde debugger (CodeView) had gelanceerd. Een fatsoenlijke interface naar de hardware en de mogelijkheid om vanuit C naar assembler code en vice-versa te kunnen gaan. Heel handig voor interrupt routines e.d.

Maar, dat is voer voor nerds....   :P

Ik zal tijdens de feestdagen e.e.a. eens preciezer toelichten.

Groet!

Bart

henk

  • Offline Offline
  • Berichten: 22503
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #16 Gepost op: 18 December 2012, 16:32:05 »
Gaaf!    (y)
Nieuwlichterij!  8)
Basic of Pascal hoort bij die grote floppen.  ;D,

Marc
Zelf ooit begonnen met een 8088

Modern hoor. Hier begonnen met een 8008 op een bordje, acht schakelaars en acht lampjes, en dan kon je 2 en 4 bij elkaar optellen.  :)
Het is heel Nederlands om iets heel Nederlands te vinden.

Klaas Zondervan

  • Offline Offline
  • Berichten: 26639
    • Pagina van klaas
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #17 Gepost op: 18 December 2012, 16:51:02 »
Op mijn werk heb ik ooit een cursus gevolgd, programmeren in machinetaal.
Als oefenobject zat er een kastje bij met een 8080 erin. Aan een kabeltje zat een goedkoop rekenmachientje dat verbouwd was tot man-machine interface. Er zat ook een rij ledjes op waar je leuke lichteffecten op kon programmeren. En een poort waar je nog meer in-en output aan kon hangen.

Dat kastje mocht ik na de cursus mee naar huis nemen, en ik heb een poosje overwogen om de besturing van mijn modelspoorbaan er mee te gaan doen. Maar er was nog zoveel hardware nodig om de aansluiting met de baan te realiseren dat ik uiteindelijk weinig toegevoegde waarde zag in de processorbesturing.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

Ivo tB

  • Offline Offline
  • Berichten: 5533
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #18 Gepost op: 18 December 2012, 17:17:11 »
Leuk om te zien en te lezen. Destijds in de 2e helft van de jaren '80 heb ik ook eens een proefbaantje gemaakt, maar dan in N spoor. En voor de aansturing gebruikte ik het HCCM systeem. Nog hulp gehad van 2 leden van de HCCM gebruikersgroep die beide helaas al zijn overleden. En die HCCM interface stuurde ik aan met een computer van voor de PC, namelijk de Challenger van Ohio Scientific. Gewoon een 6502 processor, met 4k ROM voor het operating system en 4k RAM voor een programma (uitbreidbaar door 2114's te piggy backen), dat je bij opstarten altijd eerst moest laden. En de opslag van een programma ging met een cassetterecorder. Vervolgens zelf nog een interface ontworpen met een PIA tussen computer en HCCM rek en het geheel werkte prima met een zelfgeschreven programma in Basis met veel poke en peek opdrachten, waarmee je rechtstreeks in het geheugen kon schrijven en lezen. Toen snapte ik allemaal nog wat ik deed. Dat is met de huidige generatie PC's en software een stuk minder. Wat ik toen kon doen was trouwens een enorme verbetering tot wat ik eerder mocht doen op een IBM 370 met batchjobs via ponskaarten en dan geprogrammeerd in Algol 60. Dat kent vast niemand meer.

@Klaas: ik begrijp dat jij meer bent van de digitale trein van Platerink. Die maakte volgens mij de hele besturing met flip flops opgebouwd uit IC's uit de 7400 serie.

Nee, tegenwoordig bouw je geen computer meer, maar koop je een PIC en daar schrijf je een programma voor. Wil ik ook allemaal nog wel eens doen, maar ik moet prioriteiten stellen.  ;D ;D

mvg,
Ivo

P.S.: voor de aardigheid de Ohio Scientific Challenger 2P:

« Laatst bewerkt op: 18 December 2012, 17:19:37 door Ivo tB »
mvg,
Ivo

*

Klaas Zondervan

  • Offline Offline
  • Berichten: 26639
    • Pagina van klaas
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #19 Gepost op: 18 December 2012, 17:41:07 »
@Klaas: ik begrijp dat jij meer bent van de digitale trein van Platerink. Die maakte volgens mij de hele besturing met flip flops opgebouwd uit IC's uit de 7400 serie.
Ik ben meer van de 4000 serie. Maar soms maak ik mijn eigen DTL met discrete diodes en transistors. Is wel een heel eind terug in de tijd, maar het heeft een voordeel: je kunt met hogere spanningen werken en direct 24V relais aansturen.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

Bart Sanders

  • Offline Offline
  • Berichten: 109
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #20 Gepost op: 18 December 2012, 21:22:52 »
Citaat
Zeer interessant hoe maak je de interface naar je baan?

Hoi Wil,

Voor dergelijke XT (en AT) kasten kon je destijds een input/output kaart kopen met een Intel 8255 PPI erop. Dan heb je 24 bits input of output, timers en interrupt mogelijkheden. Die kaart gebruik ik als interface naar de bus van een Eurorek met daarin de "centrale kaart" de "blokkaarten" en de "wisselkaart". De centrale kaart heeft de kabel naar die I/O kaart en zorgt voor de kaartselectie op de bus, de buffering van de bits afkomstig en lopend naar de XT en daar is ook de 555 timer gehuisvest voor de PWM.

Omdat ik toch maar max. 8 bits in of uit gebruik zou je misschien ook een Centronics paralelle printerpoort kunnen gebruiken, maar dan mis je de timer en interrupt functies. Dus, ik heb toch voor zo'n parallelle I/O kaart gekozen.

In C en na wat initialisaties kun je dan met een port_in() en port_out() functie die I/O kaart besturen en daarmee uiteraard de treinbesturingshardware.

Het geheel overziend, nu 20 jaar later, is eigenlijk alles aanwezig om verder te kunnen gaan met deze basis. Wellicht dat ergens de XT te sloom wordt voor (te) veel treintaken en dingen die tijdens die bewaking allemaal gedaan moeten worden, maar dat zien we dan wel weer. Een veel snellere Laser AT met 80386 staat ook nog ergens.....

Groet!

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3603
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #21 Gepost op: 19 December 2012, 15:39:04 »
Zoals al eerder genoemd een hoog HCC!m gehalte. Met je XT kom je een heel eind als het meeste werk tenminste in de hardware gebeurt. Hoop op wat meer uitleg en mocht je vragen hebben we hebben voldoende kennis op het forum om je helpen.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

zuylen

  • Offline Offline
  • Berichten: 4517
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #22 Gepost op: 19 December 2012, 17:50:29 »
Ha leuk allerlei interrssante chippies!!! Altijd fijn om mee te stoeien.
Andre
zuylen is helaas in januari 2025 overleden

Nijboer

  • Offline Offline
  • Berichten: 657
  • Klein maar fijn N-spoor en een knipoog naar Z.
Re:Herbeginner..., maar wel weer met analoog en een oude MS-DOS XT
« Reactie #23 Gepost op: 19 December 2012, 20:06:05 »
Een 6502?? Zat die ook niet in de Atari 2600?? Denk meteen aan space invaders ipv treinen....

 ;D ;D ;D

Bart Sanders

  • Offline Offline
  • Berichten: 109
Herbeginner..., analoog en een MS-DOS XT: beschrijving besturing I
« Reactie #24 Gepost op: 30 December 2012, 12:14:47 »
Citaat
Zoals al eerder genoemd een hoog HCC!m gehalte

Inderdaad! Ik was toen ook lid van de HCC en kende natuurlijk de modelbaan ontwikkelingen. IK heb zelfs nog het door hun uitgegeven boekje rond analoge modeltrein-besturing. En daar heb ik inderdaad ook inspiratie in gevonden, credits!

Maar, terug naar mijn belofte om e.e.a. hier te beschrijven, er wordt in een aantal replies ook naar gevraagd.

Kijkend naar de moderne decoder-gebaseerde besturingen is dit allemaal natuurlijk behoorlijk ouderwets, maar als ik het als een retro-baan beschouw, dan past het weer helemaal in de actuele trends.....  ;D

In dit deel behandel ik globaal de opzet van de besturing en de eerste belangrijke module-kaart: de zgn. Centrale Kaart.

Eerst maar even het eerste plaatje (klik voor de grote versie):



Dit is behoorlijk zelfverklarend. Ergens in 1988 heb ik dit gemaakt en het beschrijft de opbouw van de besturing. Op Eurokaart (of Euro-board) formaat met een 32 polige busconnector a (mag ook een 64 p. a-b zijn) wordt elke modulekaart op de buskaart geplaatst. De laatste verzorgt het datatransport tussen de kaarten en de centrale kaart. De functies van de kaarten staan links opgesomd. Er kunnen max. 16 functiekaarten worden geselecteerd, waarbij ik door de afmeting van mijn Euro-rekje het aantal beperk tot 4 blokkaarten en 1 wisselkaart. Elke blokkaart beheert twee fysieke blokken. De wisselkaart kan 7 wissels aansturen en nog 1 electro-magneet. Er kunnen 8 of 16 "posities binnen blok" worden uitgelezen. Op mijn geplande baan - niet zo'n grote - denk ik dat 8 posities genoeg is. Ik ben op dit moment bezig de wisselkaart te prototypen en kan nog kiezen (keuze tussen een 8 of 16 bit multiplexer). Op de uiteindelijke baan wil ik met 3 treinen tegelijkertijd kunnen rijden. Beter gezegd: 3 treinen werken tegelijkertijd en automatisch hun eigen spoorboekje af. En dan is het met een niet al te ingewikkelde layout al best druk op zo'n baan, kijkend naar die paar doorgangsblokken waar alle dienstregelingen gebruik van maken. Met 8 posities kan ik dan 8 "stations" qua stop-positie verwerken. Er wordt met 5V gewerkt voor de logica en 14V-18V voor de treinen en de wissels. Die spanning mag ook nog fors hoger zijn, de gebruikte drivers kunnen dat aan.

Kijken we nu naar het overzicht van een op zich redelijk eenvoudige, maar belangrijke kaart (board), de Centrale Kaart:


Omdat ik zelf na ca. 20 jaar wel de behoefte had om eerst weer even te weten wat ik toen allemaal verzonnen had (en toen natuurlijk te weinig had gedocumenteerd) heb ik met wat puzzelen a.d.h.v. het echte schema weer een beeld gemaakt van wat er ook al weer gebeurt hier.

De Centrale Kaart doet twee belangrijke zaken, naast het behoorlijk bufferen van de 8 input- en output-bits afkomstig van de I/O kaart van de PC (een kaart met een Intel 8255).

Ten eerste: op basis van een kaartnummer 0..15 wordt de gewenste kaartfunctie geselecteerd. Zo hebben bijv. de blokkaarten een nummer van 0..7 en d.m.v. het KaartSelect-signaal KSx wordt die functie "op de bus gezet". Vanaf dat moment kan de PC die gewenste functie informatie geven of informatie nemen. Bij de blokkaart kan dan de gewenste snelheid voor dat blok worden ingesteld of kan de blok-bezet waarde worden uitgelezen.

Ten tweede: een centrale klok die op 1600 Hz loopt en die door een teller voortdurend wordt omgevormd in een getal dat telkens van 0..15 loopt. Dus 100 x per seconde doorlopen de bits C0 t/m C3 de waarde 0 t/m 15. Waarom dat gebeurt? Dit is de basis voor de snelheidsregeling die een combinatie is van deze "klok" en de logica aanwezig op elke blokfunctie.
De snelheidsregeling is pulsbreedte-gemoduleerd (PWM of Pulse Width Modulation) en wordt duidelijk als in de volgende bijdrage de blokkaart met telkens twee blok-functies wordt behandeld.

Here endeth this lesson....

Bart

Hans1135

  • Nieuwe gebruiker
  • Offline Offline
  • Berichten: 1
Re:Modeltreinen bestuurd met een MS-DOS XT: beschrijving besturing I
« Reactie #25 Gepost op: 02 January 2013, 23:11:48 »
Interessant topic.
Ben benieuwd naar het vervolg
mvg Hans

Bert van Gelder

  • Offline Offline
  • Berichten: 4385
Re:Modeltreinen bestuurd met een MS-DOS XT: beschrijving besturing I
« Reactie #26 Gepost op: 09 January 2013, 20:21:47 »
Ze zijn al samengevoegd, dankzij een anonieme lezer  ;) die op het knopje rechtsonder in elk bericht heeft gedruk.... (Meld dit berich aan de moderator)

Gr, Bert

Automatic-rock

  • Offline Offline
  • Berichten: 1062
  • Impressionistisch Modelbouwer
    • Modelspoor op Automatic-rock.nl
Re:Modeltreinen bestuurd met een MS-DOS XT: beschrijving besturing I
« Reactie #27 Gepost op: 09 January 2013, 20:31:24 »
Alleen de laatste post van Bart Sanders is nu dubbel
Vriendelijke groet, Benno

Mijn Brabantse H0 baan in opbouw:Westerweel 1985-1995
Ouderwets leuke & handige modelspoorideeën op: automatic-rock.nl

WesleyMunnik

  • Offline Offline
  • Berichten: 1200
    • Modelspoor Design
Re:Modeltreinen bestuurd met een MS-DOS XT: beschrijving besturing I
« Reactie #28 Gepost op: 09 January 2013, 21:15:40 »
En inmiddels opgelost ;) ;)

Gr,

Wesley
Met vriendelijke groet,

Wesley Munnik

www.modelspoordesign.nl

Bart Sanders

  • Offline Offline
  • Berichten: 109
Modeltreinen bestuurd met een MS-DOS XT: beschrijving besturing II
« Reactie #29 Gepost op: 14 January 2013, 22:18:25 »
Zo, nu enkele goede geesten e.e.a. in deze "thread" (draadje) hebben gestopt, is het weer mijn beurt.

Deze keer enige uitleg over de zogenaamde Blokkaart.

De globale taak van elke blokkaart is om twee blokken te besturen. Dit houdt in: op commando van het stuurprogramma de snelheid in dat blok sturen en de aanwezigheid van een trein in dat blok detecteren en op vraag van het programma teruggeven.

Eerst maar weer een plaatje:


We beginnen met de snelheids-instelling. In het blokschema zijn daarvoor het blok "Set Speed Memory & Compare" plus de feitelijke baansturing in blok Power Driver verantwoordelijk. Deze laatste is een in H-brug geschakeld Darlington-paar dat netjes verpakt zit in een L293 IC. Hieruit volgt dat ik gekozen heb voor een blok dat fysiek uit twee spoorstaven bestaat, die aan elke kant met geïsoleerde verbindingen aan de buur-blokken is bevestigd. Of een eind-blok is en dan maar aan een kant is aangesloten aan de buur.

Een ook in de HCCm ontwikkelingen beschreven snelheids-instelling op PWM-basis werkt als volgt. Eerst nog even PWM ofwel Pulse Width Modulation of in goed Nederlands puls-breedte-sturing. Ik spreek even bewust van "instelling" en "sturing". Het begrip "regeling" wordt vaak gebruikt, maar dat gebeurt hier niet. Er wordt een snelheid ingesteld en we gaan er gewoon van uit dat de locomotiefmotor die snelheid gaat volgen. Er wordt niets gemeten, dus ook niets geregeld in de strikte zin van het woord. Bij PWM sturingen van electromotoren wordt niet de hoogte van de (hier) gelijkspanning ingesteld, maar bij een constante gelijkspanning wordt deze gelijkspanning in pulsen van een bepaalde breedte aan de motor aangeboden. Dat heeft grote voordelen voor het motorgedrag bij lage snelheden. Het motorkoppel neemt dan n.l. toe bij een erg laag toerental. Precies wat we willen hebben om mooi langzaam te kunnen rijden.

We hebben bij de Centrale Kaart al gezien dat deze PWM-sturing in combinatie met deze Blokkaart gebeurt. De Centrale Kaart zet een voortdurend doortellend getal van 4 bits op de bus (C0-C3) en dit getal wordt in de Blokkaart gebruikt. Het wordt n.l. voortdurend vergeleken met een door de stuursoftware ingesteld getal tussen 0 en 15, zie de bits DO0-DO3. Bit DO4 is het bit dat vooruit of achteruit rijden instelt (Forward/Reverse bit). Het door de software ingestelde getal wordt in het Set Speed Memory opgeslagen. Een comparator (een vergelijker) checkt die waarde met het steeds doortellende 4 bit woord gevormd door C0-C3. De regel is nu:

De H-brug wordt aangezet in de door For/Rev ingestelde richting zo lang als Set Speed kleiner is dan het "nibble" C0-C3.

Voorbeeld: stel dat Set Speed Memory op 7 staat, dan gaat de H-brug aan voor de tijd die hoort bij het tellen van 8 t/m 15 door de "teller" C0-C3. Ergo: 50% pulsbreedte, de motor zal op de helft van het max. toerental lopen (dat hoort bij 100% pulsbreedte en de gebruikte motorspanning).

Zoals we weten loopt de teller met een tempo van 1600 Hz. Omdat we 16 waarden kunnen doorlopen met C0-C3 "loopt" de PWM met een frequentie van 100 Hz. Dus, elke puls-periode duurt 10 msec. Dat is voor gelijkstroommotoren zoals in onze modeltreinen gebruikt een mooie waarde. Bij langzaam lopen gaat er nog geen hinderlijk brommen o.i.d. ontstaan.

Tot zover de snelheidsinstelling.

Nu de bepaling of er een trein in het blok is of niet. Dat gebeurt in Train in Block Detector. In Which Block Selector wordt door de stuursoftware bepaald welk blok op dat moment voor die software interessant is en het signaal Tx/ wordt dan als signaal TRAIN op de bus gezet. Er zijn dus evenveel Block Detectoren als er blokken zijn. In mijn geval zijn dat er 8.
Hoe? Wetend dat als er een trein loopt in een blok en er dan een PWM signaal op dat blok staat, dan kunnen we dat m.b.v. een opto-coupler in Train in Block mooi galvanisch ontkoppelen en dan als 5V TTL pulssignaal aanbieden aan de Block Selector. Dat de pulserende rijstroom twee kanten op kan gaan (zie Forw/Rev bit) is een belangrijk detail voor het ontwerp, maar in dit blokschema speelt dat nog geen rol.

Dus als er een trein is in een blok, dan hoort daar een pulserend TRAIN signaal bij. Is er geen trein - of staat die stil - dan is TRAIN niet actief (dus 0). De situatie "stilstaande trein in blok" wordt door de software zelf bijgehouden, daar hebben we verder geen electronica voor nodig.

De goede verstaander heeft nu al in de gaten dat de software in wezen niets anders doet dan in een oneindige lus alle voor de diverse spoorboekjes relevante blokken: A. de snelheid in dat blok instelt en B. vraagt of er een trein is of niet. Die trein kan stilstaan of die kan rijden en een andere trein uit een ander spoorboekje wil misschien ook datzelfde blok inrijden, maar dat wordt bijgehouden in de datastructuren en dat is weer een ander verhaal..... ;)
« Laatst bewerkt op: 15 January 2013, 00:52:47 door Bart Sanders »