Nieuws:

Nu in MSM 246 TEST: Mistral 69 TEE rijtuigen van Arnold * ARS-Alltmann autotransporters van Roco

Hoofdmenu

G.I.P: automatisch schaduwstation zonder wissels

Gestart door conducteur, 09 mei 2012, 21:33:26 PM

jakke

@ conducteur .
Ik blijf het een tof project vinden .
Ik wens je veel doorzetting en een geslaagde landing .
Wisselstromer via computer ,met belangstelling voor Belgische modellen

Gerolf

Die kuistrein-modus is in elk geval een goed idee  8)
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

PeterC

Citaat van: conducteur op 27 november 2012, 17:28:53 PM
...Ik wil zeker beginnen met 'bouwen' in Januari...

Krijgen we een 'bouwverslag' te zien?
Groetjes, Peter


conducteur

Tuurlijk (als ik de foto's tenminste niet vergeet)
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

niko

mooi project met een grootte omvang.
Veel succes nog .

mvg niKo
mvg Niko

Havoc

Dat van die kuistreinmode versta ik niet goed. Als ik het begin goed herinner was dit toch een aantal parallel sporen op een roltafel die elk om beurt aan een spoor konden aansluiten. Soort omgekeerde rolbrug. Hoe zit het dan met die kuistrein die "rondjes rijdt" in de fiddle?

Citeer- Een nieuw driver ic voor de motor hebben we gevonden: l6208

Ik heb ooit in een project een L6207 gebruikt, dat is een versie voor DC motoren. Behoorlijk wat problemen mee gehad. Vooral als je "te kleine" motoren aansluit. De inductantie is dan niet groot genoeg en de stroomregeling werkt niet goed. Eigenaardig genoeg draaide het allemaal beter als we een spoel in serie met de motor zetten. Lees die datasheet dus maar verschillende keren!
Met vakantie voor onbepaalde duur.

conducteur

Het is de bedoeling om de fiddle yard, in een later stadium aan een nog te bouwen treinbaan te koppelen.
Als een trein de fiddle yard op zal rijden, dan zal die volgens het standaard programma op het einde van het spoor stoppen. Vertrekken zal gebeuren door op een knopje te drukken op een bedieningspaneeltje. Per spoor zal een drukknop voorzien worden (= één poort van de µC). Bij het bedienen van die knop zal de tafel zich verplaatsen met het overeenstemmende spoor, en daar de trein laten vertrekken.


In de automatisch rijden modus zal de werking van dat paneeltje overgenomen worden door de µC zelf. Hij zal een trein laten vertrekken, van zodra er een is toegekomen.
In de kuistrein modus zal een trein (bv een kuistrein) gewoon kunnen doorrijden zonder stoppen, of afwisselen. Zo kunnen de sporen continu gekuist worden.
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

conducteur

#112
Nog een kleine update.
De examens lopen nog tot dinsdagvoormiddag. Daarna ben ik vrij tot in 2013... De moeilijkste examens zijn al voorbij en er komt al een beetje tijd vrij voor andere dingen te doen. Ik moet de werking van het programma voor de µC in grote stappen in een schema/flowchart weergeven. Om als basis te gebruiken om later het programma te 'maken'. Die moet wel veel doen:


-De 8 sporen aansturen + inrijspoor
-LCD display aansturen
-knoppen/schakelaars bedieningspaneel uitlezen
-motor aansturen
-terugmelding 8 sporen + inrijspoor

...


Ik zie niet zo goed hoe alles te ordenen. Voor zover ik weet kan een µC slechts één ding per keer. Bv hoe controleer je de toestand van de knoppen op het paneeltje, terwijl de µC pulsen stuurt
Dat programma wordt ook wel nog een uitdaging... Mijn enigste ervaring met programmeren (in flowcode) is met de formula flowcode buggy:

Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

PeterC

Citaat van: conducteur op 15 december 2012, 23:05:47 PM
...Voor zover ik weet kan een µC slechts één ding per keer...

Rian, vrouwelijke hormonen nemen: ik verklaar me nader: vrouwen gaan er prat op dat ze kunnen multitasken (wij mannen gelukkig niet, maar doen dan één taak wel degelijk)...

Alle gekheid op een stokje: inderdaad multitasken: je processortijd verdelen over de verschillende taken...  Dus interrupts en een time-based scheduler...

...Ofwel meerdere controllers  'eenvoudig' werk laten verrichten en laten coördineren door een 'big brother' controller...

Groetjes, Peter


conducteur

Dan bedoel je dat er bv onder op het bedieningspaneeltje een printje hangt met een (kleinere) µC die constant de knopjes inleest en die info naar een centrale µC stuurt.
Hoe zie je die communicatie dan? Hoe gaat zoiets? Is dat zoiets als de 'big brother' µC geen taken heeft dat die een signaaltje uitstuurt naar de µC onder het bedieninspaneeltje in de zin van 'ik ben klaar om info te ontvangen van je' (waarop die zijn laatst geregistreerde knopindrukken doorstuurt)?
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Gerolf

#115
Je kan ook de snelheid van de µC gebruiken, hoor: in een lus telkens dingen laten lezen, verwerken, uitgangen zetten.
Een knop indrukken duurt minstens een kwart seconde, en op die tijd loopt je lus héél vaak  :)

Er is mogelijk wél een probleem met je beschikbare poorten: een lcd heeft minstens 6 pennen nodig, je hebt acht sporen te sturen en te checken, je toetsenbord met X schakelaars en verklikkers, ...
=> en dan moet je misschien toch met meerdere microcontrollers werken ...
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

conducteur

#116
We hebben geteld, er zijn er juist voldoende... Dit is wat ik samen met de leerkracht heb opgesteld:


Nodige uitgangen
8 reliasuitgangen selectie spoor : aan/  afleggen spanning
1 relais uitgang inrijspoor :aan/  afleggen spanning
8 drukknopingangen (spoorselectie)
1 schakelaar continu rijden (sporen kuisen)
1 schakelaar rijden en autom afwisseling
Lichtsluis ingang
Stappenmotor stuurlijnen (L/R,START, snelheid ?)
Mogelijkheid om display aan te sluiten om toestand installatie weer te geven.


Keuze microcontroller 16F877a
Display op poortA
Drukknoppen op poort B
Schakelaars opE0,E1, lichtsluis op E2
Stuurlijnen stappenmotor C (PWM mogelijkheid)  + uitgang relais inrijspoor C7
Stuurlijnen relaisuitgangen poort D






Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

PeterC

Citaat van: conducteur op 16 december 2012, 10:42:05 AM
...
Keuze microcontroller 16F877a
Display op poortA
Drukknoppen op poort B
Schakelaars opE0,E1, lichtsluis op E2
Stuurlijnen stappenmotor C (PWM mogelijkheid)  + uitgang relais inrijspoor C7
Stuurlijnen relaisuitgangen poort D

Met een dergelijk beest inderdaad poorten genoeg.  Opteer voor een kristaloscillator van 20 MHz dan duurt een instructie slecht 0.2 µs (je zal heel wat instructies moeten verwerken).

Je zet je schakelaars rechtstreeks op een inputpoort: één keer die poort lezen en je weet of er één of meerdere ingedrukt zijn.  Relaisuitgangen ook samen op één poort (drivertransistor voorzien!) dus ook in één keer aan te sturen.  Je display?  Ik weet niet of Flowcode daar bibliotheken voor heeft, maar dat aansturen vraagt ook niet veel tijd.
De meeste tijd voorzien voor je lichtsluizen en je stappenmotorsturing.
Die stappenmotorsturing?  Ga je je pulstreinen zelf maken met je controller of gebruik je daarvoor een stuur IC (genre L297)?  Met een L297 geef je terug een groot (en tijdgevoelig) deel van je programma uit handen en moet je er dan ook geen rekening meer mee houden.

Ik ben eens gaan kijken wat Flowcode is en hier een beknopte video.

Groetjes, Peter


conducteur

Ja, er is een L6208 voorzien, dat is één chip die de ganse sturing zal regelen op basis van 'eenvoudige' signalen uit de µC. Beetje vergelijkbaar met de combinatie van l297+l298, maar dan in één chip. 
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Havoc

Er zijn verschillende mogelijkheden.

1: je maakt een soort mini operating system dat elke taak tijd geeft. Dat is waar Peter het eerst over heeft. Sommige taken gaan maar af en toe moeten lopen (zoals schakelaars inlezen), andere heel vaak (zoals de pulsen voor de steppers als je die zelf maakt). Sommige taken zijn ook heel kort, andere duren wat langer. Sommige hebben prioriteit (de noodstop). Veel varianten mogelijk. Probleem hier is dat je dat niet liggen hebt en dat je dus een stuk extra werk hebt dat eigenlijk niet zichtbaar is. Voordeel is dat dit heel flexibel is en de processor goed gebruikt.

2: de aanpak van Gerolf met een hoofdlus. Je laat de processor een grote lus doorlopen waarin je telken de inputs inleest en dan beslist welke outputs je als gevolg daarvan (en waar je daarvoor mee bezig was) stuurt. Dat is dan een grote state machine. Probleem hier is dat je zeker moet zijn dat alles te verwerken is in de tijd die de lus nodig heeft. (je kan wel deellussen maken) En je moet alles op voorhand goed plannen. Voordeel is dat het "natuurlijker" overkomt.

3: je zou ook kunnen zien of wel alles tegelijk moet kunnen. Dan krijg je een mix tussen de 2 aanpakken. Je leest de knoppen in en voert dan een lus uit totdat een bepaalde handeling volledig uitgevoerd is. Bvb als je de tafel verplaatst, dan rijdt er geen trein binnen of buiten. Dus dat kan je afsplitsen. Je programma kijkt dus naar de knoppen, ziet dat er een verplaatsing moet gebeuren en voert dan een lus uit totdat die verplaatsing gedaan is. Gaat dan terug knoppen inlezen. Wel altijd de noodstop blijven checken. Voordeel is dat je overzichtbare stukken hebt die onafhankelijk zijn (en dus ook testbaar en toonbaar) maar minder flexibel.

4: multi µC is een optie. Maar ik denk voor jou geen optie. Je moet tenslotte op tijd iets toenbaars hebben dat werkt.
Met vakantie voor onbepaalde duur.