Waar zijn we nu mee bezig ? Microcontrollers

Gestart door ToThePoint, 13 januari 2012, 10:27:28 AM

Geert

Seindata is wel degelijk 11. Wisseldata is 00, ik heb daar al een heel project aan gewijd om wissels aan te sturen met 00 als vijfde trits en dat lukte. Ik heb ook al eens seinen aangestuurd met de welbekende MC145027 en daar heb ik de vijfde trits positief gemaakt (11) en dit werkte ook (zie schema)



Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

Geert, toch nog eens mijn bronnen geraadpleegd (oa Sven Brand http://www.digital-bahn.de/info_tech/motorola.htm en de Edits en Edits Pro boeken) en overal vind ik hetzelfde: bij sein/wisseldata (die trouwens identiek zijn) MOET trit 5 '00' zijn...  Trit 5 heeft geen enkele betekenis bij sein/wisseldata. Bij lokdata wordt trit 5 enkel gebruikt voor de richtingsafhankelijke functie F0 (zowel bij het 'oude' als bij het 'nieuwe' Motorolaformaat).
Groetjes, Peter


Geert

Ik denk dat we alle twee gelijk hebben. Ik weet niet hoe een IB seinen aanstuurt, bij mij is alles zelfbouw, ook de centrale. Ik stuur seinen aan  via 4 functies die ik  kan aansturen via het dubbele frequentie MM protocol (gelijkaardig als deze van de wissels) en dit volgens volgend protocol: trits 1-4 = adres, trits 5=11 en trits 6-9 is telkens een functie. Trits 6=F1 (00= off, 11=on), trits 7=F2; trits8=F3 en trits9=F4.

dit is mijn bron: http://spazioinwind.libero.it/scorzoni/motorola.htm


De methode die jij vermoedelijk gebruikt is deze via het wisselprotocol met onthoudfunctie.

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

citaat:
Geplaatst door Geert

Ik denk dat we alle twee gelijk hebben...



Bij zelfbouw doe je natuurlijk wat je wil met die vijfde trit.

Een wissel activeer ik wanneer (zoals voorzien) het negende trit '11' is en deactiveer de spoel wanneer voor dat adres trit 9 terug '00' wordt (na x-tijd; in te stellen op de IB).
Bij een sein reageer ik niet op dat '00' worden en blijft het sein op de ingestelde positie tot er een andere positie/seinbeeld geselecteerd wordt.

Die link die je opgeeft is een vrij zware boterham als je die de eerste keer doorneemt.  Ik had er mij in het verleden al in verdiept en heb er nu veel interessante gegevens uitgehaald voor de gecombineerde data snelheid/richting/functies.

...


Waar staan we ondertussen: een MM protocol decoder gebouwd (schema).
Om het mezelf wat gemakkelijker te maken heb ik er een LCD en 'geheugenscoop' aansluitingen bij voorzien.

Wat doet de decoder?  Tien seinadressen worden gedetecteerd (ik heb er 10 nodig voor mijn automatische-fiddle-yard).  Het eerste adres is instelbaar (nu nog in software - is de bedoeling dat er een leer-modus bijkomt).

Alle locdata op de baan wordt bijgehouden (loc, snelheid, richting, functietoetsen, 'oud' - 'nieuw' protocol) en opgeslagen in een array.  Wanneer er 80 loc's actief zijn, worden die allemaal netjes bijgehouden.

De data van de laatst gewijzigde lok komt op het display.

De hoofdroutine 'snift' de data die door een interruptroutine wordt aangemaakt (die interruptroutine bekijkt daadwerkelijk de data op de baan en maakt er terug 18 leesbare bits van).  Wanneer de hoofdroutine ziet dat die data slechts een herhaling is van wat hij al wist, doet hij er verder niets mee.  Nieuwe of gewijzigde data wordt opgeslagen.

Timing?  De processor werkt op 8MHz en zit het het grootste deel van de tijd lekker in zijn neus te peuteren uit verveling.  De interruptroutine neemt nauwelijks tijd in beslag en de hoofdroutine heeft enkel wat werk te verzetten bij nieuwe of gewijzigde data.



Een overzicht van de timing.  Bovenaan het digitale signaal op de baan en onderaan de bezettijd van de processor:
1   interrupts tijdens het 1? datapakket
2   interrupts tijdens pauze (voor faseherkenning)
1   interrupts tijdens tweede (gelijke) datapakket met op het einde een 'eventjes bezig' om de
   data te verwerken (in dit geval al gekende data).
4   interrupts tijdens DCC data (IB staat op gemengd DCC-MM signaal).
2   interrupts tijdens pauze (voor faseherkenning)
1   interrupts tijdens het 1? datapakket
2   interrupts tijdens pauze (voor faseherkenning)
1   interrupts tijdens tweede (gelijke) datapakket
5   op het einde een langere werkperiode omdat het nieuwe of gewijzigde data is.

Zoals op het tijdsdiagramma te zien is, is de PIC meestal in pauze en is dus nog ruimschoots de tijd om het programma uit te breiden.


Twee beeldjes van wat er zoal op het display verschijnt:



Loc 50 met 'nieuw' Motorolaformaat rijdt vooruit met snelheid 9.  Enkel F1 en F4 staan aan.
De backslash op het einde maakt deel uit van een 'molentje' dat draait als er data verwerkt wordt ( | / -  | / - ...).
De onderste regel toont sein 1 (of wissel 1) ingeschakeld



Loc 60 met 'oud' formaat vooruit met snelheid 7 en F0 ingeschakeld.
Sein of wissel 5 ingeschakeld.


Waarvoor moet dit gaan dienen?
In eerste instantie was dit mijn concept voor de automatische-schuif-fiddle-yard:



De railsoftware (Koploper - RocRail - ...) selecteert een wisselstraat
De seindecoder reageert op ??n van de seintoestanden die vanuit railsoftware als wisselstraat wordt gestuurd en geeft een sein aan de I2C master die op zijn beurt de motorsturing aan het werk zet.  De railsoftware reageert zoals in een normale wisselstraat en stuurt de loc naar het geselecteerde spoor.  Via de S88 weet de railsoftware waar de loc zich bevindt en laat die deftig stoppen.

Nu wordt mijn plan iets ambitieuzer en wil ik de railsoftware er volledig van tussen laten.
De controller moet weten welke loc binnenkomt, die met eigen signalen 'overnemen'.  Het juiste spoor selecteren, de loc erop en alles nog doorgeven aan de eventuele railsoftware...

Ambitieus...  Nogal...  Maar met tijd en boterhammen...

Groetjes, Peter


Gerolf

citaat:
Geplaatst door PeterC
Ambitieus...  Nogal...  Maar met tijd en boterhammen...
[:D] [:D]
Knap project ... en misschien ook nuttig voor anderen [8D]
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

PeterC

citaat:
Geplaatst door Gerolf

...misschien ook nuttig voor anderen [8D]



Als er zich iemand geroepen voelt om de interruptprocedure aan te passen voor DCC (ik ben een Marklinist [:o)][:o)][:o)]), ga je gang.

De software 'gooi' ik binnenkort 'open-en-bloot' (er zitten geen geheimen in) en door ze voor mezelf te houden, ga ik niet rijker worden.  Door ze te publiceren kan ik er wel 'geestelijk' rijker van worden...

Binnenkort omdat ik nog steeds veel heiligen moet aanroepen om die tijdverslindende HTML pagina's te schrijven (nog 2 afleveringen te gaan in mijn 16F684-project...  De projecten zijn al verdwenen van mijn breadboard en binnenkort gaat de timer - het laatste project - zijn (hopelijk) deugdelijkheid bewijzen) en met slechts (ondertussen al) 1.2 armen [:)] blijft het nog wat moeilijk...

Groetjes, Peter


Geert

Ik weet het even niet meer Peter. Ergens klopt er iets niet. Net als jij ben ik afhankelijk van externe bronnen en proberen wij deze info om te zetten in praktijk.

Geert

Ps: ik hoop je ooit eens te ontmoeten. Wij zijn gelijk gezindten en toevallig even oud...


update: over het mm protocol...
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

citaat:
Geplaatst door Geert

...Ik weet het even niet meer Peter. Ergens klopt er iets niet. Net als jij ben ik afhankelijk van externe bronnen en proberen wij deze info om te zetten in praktijk...



Geert, dat lukt toch?  Alleen een kleine onenigheid/onwetendheid/verwarring over die vijfde trit...



citaat:
Geplaatst door Geert

...ik hoop je ooit eens te ontmoeten. Wij zijn gelijk gezinden en toevallig even oud...



Dan moeten we daar even de moeite voor doen h?!  Nog twee weken moet/mag ik mij door vrouwlief laten rondvoeren en daarna kan ik zelf (hopelijk) terug achter mijn stuur kruipen.

Schaamrood moet ik nu wel toegeven dat ik wel ??n en ander weet, maar dat ik Google Maps heb moeten raadplegen om je woonplaats te kunnen situeren [:I][:0][:I][:0][:I][:0]...  ...Geen onoverkomelijke afstand dus... [;)]
Groetjes, Peter


ToThePoint

citaat:
Geplaatst door Geert


Ps: ik hoop je ooit eens te ontmoeten. Wij zijn gelijk gezindten en toevallig even oud...



Moet precies een goed productie jaar geweest zijn.
Het heeft veel doe het zelvers opgeleverd die wonderen verrichten.
Of hebben we de evolutie live meegemaakt en dat heeft ons gemaakt wat we nu zijn ?
Als u kijkt zoals u altijd keek zal u steeds zien wat u altijd zag. "BOEDDHA"
Now you're just somebody that I used to know "GOTYE"
Spoor HO, HOe, N, Z, digitaal, EP: I, II, III, IV, V, VI

PeterC

citaat:
Geplaatst door ToThePoint

...Of hebben we de evolutie live meegemaakt en dat heeft ons gemaakt wat we nu zijn ?



We hadden de ideale leeftijd om op de toen traag opgangkomende technologietrein te springen en mee te reizen (en mee te sturen).
Die trein rijdt nu zodanig snel dat je eerst al een heel eind moet lopen om dan nog op te stappen...  ...en in de achterste wagon beland zonder dat je daadwerkelijk afweet wat er vooraan gebeurd...

JP, join the train: Nijlen, Zwijndrecht en Deinze zijn slechts door enkele E- of N- wegen van elkaar gescheiden...  ...en jij bent toch een DCC man?

Groetjes, Peter


ToThePoint

Ik ben een fervent DCC aanhanger.
Allee het is te zeggen "loconet" waar men dcc kan uit destilleren.
Als u kijkt zoals u altijd keek zal u steeds zien wat u altijd zag. "BOEDDHA"
Now you're just somebody that I used to know "GOTYE"
Spoor HO, HOe, N, Z, digitaal, EP: I, II, III, IV, V, VI

Geert

Ik loop ook al 2 jaar met het idee rond om een fiddle-yard te maken. Voor de komende twee jaar zal dat nog steeds niet lukken. De idee?n zijn er wel, maar dat uitwerken h?? Het zal wel een groots project worden en uiteraard aangestuurd met ?C. Ik ga nog niet uit de doeken doen hoe ik dat ga verwezenlijken maar het is de bedoeling dat daar geen meter spoor aan te pas komt.  Begrijp me niet verkeerd, de loks en hun wagons moeten wel ergens over rijden maar niet in de vorm van sporen zoals de meeste deze kennen. Ik heb wel al testen gedaan met enkel wagons en het werkt perfect. Nu ik dat hier begin te schrijven heb ik al zin om er al aan te beginnen.[:p]

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Geert

citaat:
Geplaatst door PeterC

Als er zich iemand geroepen voelt om de interruptprocedure aan te passen voor DCC (ik ben een Marklinist [:o)][:o)][:o)]), ga je gang.




Ik heb al eens iets geschreven dat luisterd naar DCC, ook al ben ik een 3railer. Het is die enorme nieuwsgierigheid van mij om te weten hoe iets werkt. En dan probeer ik dat ook in praktijk uit te werken. Zo heb ik al eens een keerlusmodule programma geschreven en uitgewerkt met ?C waar ik eigenlijk als 3railer niets mee kan doen...
Wat me nu enorm bezighoud is het mfx protocol en de treinherkenning.

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Geert

citaat:
Geplaatst door Geert

Ik weet het even niet meer Peter. Ergens klopt er iets niet.




Ben even zeer diep in mijn kindertijd gedoken. De seinen toen bestonden uit relaisspoelen die net als een wissel omgezet moesten worden. Ik heb er zo nog enkele armseinen liggen. Nu begrijp ik plots hoe dat zit me de wissel/seindecoder (de k83). Ik gebruik geen spoelen meer, zeker nu met LED verlichting, en dan gebruik je de methode van de vijfde trits=11 om seinen aan te sturen.

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

citaat:
Geplaatst door ToThePoint

Ik ben een fervent DCC aanhanger.
Allee het is te zeggen "loconet" waar men dcc kan uit destilleren.



JP, over Loconet...  Ik denk dat ik daarover eens bij jou ga te rade komen...  Het heeft nog tal van 'geheimen' voor mij...




citaat:
Geplaatst door Geert

Ik loop ook al 2 jaar met het idee rond om een fiddle-yard te maken...

...maar het is de bedoeling dat daar geen meter spoor aan te pas komt.  Begrijp me niet verkeerd, de loks en hun wagons moeten wel ergens over rijden maar niet in de vorm van sporen

zoals de meeste deze kennen...



Geert, curieuzeneus die ik ben...  Je maakt mij (en vermoedelijk velen) wel nieuwsgierig...




citaat:
Geplaatst door Geert

citaat:
Geplaatst door Geert

Ik weet het even niet meer Peter. Ergens klopt er iets niet.




Ben even zeer diep in mijn kindertijd gedoken. De seinen toen bestonden uit relaisspoelen die net als een wissel omgezet moesten worden. Ik heb er zo nog enkele armseinen liggen. Nu

begrijp ik plots hoe dat zit me de wissel/seindecoder (de k83). Ik gebruik geen spoelen meer, zeker nu met LED verlichting, en dan gebruik je de methode van de vijfde trits=11 om seinen

aan te sturen.

Geert



Geert, we blijven het niet eens over trit 5.  Hierbij mijn interpretatie van het MM protocol bij sein/wisseldata:

bit1/bit2   trit1 -
bit3/bit4   trit2
bit5/bit6   trit3 vier adrestrits 0-80 (decoderadres)
bit7/bit8   trit4 -
bit9/bit10   trit5 altijd '00'
bit11/bit12   trit6 -
bit13/bit14   trit7 drie schakeladrestrits 0-7 (subadres)
bit15/bit16   trit8 -
bit17/bit18   trit9 '11' inschakelen '00' uitschakelen

Groetjes, Peter