Nieuws:

Heb je vragen over de werking van het Stichting 3rail Forum? Krijg deze beantwoord in de Forumtips.

16 Wissels aansturen met een Marklin Mobiel Station 1

Gestart door Geert2 vrijdag 11 november 2011, 21:18:06

0 leden en 1 gast bekijken dit board.
16 Wissels aansturen met een Marklin Mobiel Station 1
16 Wissels aansturen met een Marklin Mobiel Station 1 (MS1) en dit met een PIC Microcontroller.

Kan dat wel met een MS1?

Normaal niet, maar je kan trucjes gebruiken. Zeer kort samengevat werk dit zo:

Programmeer een microcontroller zo dat deze 4 Marklin Motorola (MM) locomotief adressen kan herkennen bv. MM adres 1,2,3 en 4.

Op je MS1 voeg je 4 locomotieven toe met deze 4 adressen. Als locsymbool kies je niets. Selecteer als zelf te kiezen naam voor deze adressen bv. het volgende: Wissel 1-4; Wissel 5-8; Wissel 9-12 en Wissel 13-16.

Op elk MM adres kan je ook 4 functies mee doorsturen. Deze 4 functies komen overeen met de 4 linkse drukknoppen op je MS1.

Telkens je op een van deze 4 knoppen drukt, zal de desbetreffende wissel 1-4, 5-8, 9-12 of 13-16 door de microcontroller gedecodeerd en omgezet worden. (met omzetten bedoel ik in de andere stand zetten) Dit omzetten gebeurd door een korte puls te zetten van 1s op de wisselspoel. Omdat 16 wissels samen 32 spoelen hebben, heeft de microcontroller 32 uitgangen nodig speciaal daarvoor. Elke uitgang moet nog wel aangepast worden zodat deze meer vermogen kan schakelen. Dit kan bv. via transistors.

Meer uitleg over het MM protocol kan je hier ergens lezen.

Het PIC 16F887 microcontroller assembler program vind je ook op bovenstaande link. (doorklikken via wissels aansturen met een MS1)

Nog meer uitleg volgt mogelijk later indien interesse?

Wat kost zulke microcontroller: 2,15 US$ (zonder verzenkosten) bij digikey.

Ho ja, denk er wel aan dat je met een MS1 maar 10 locs kan aansturen. Als je er 4 gebruikt voor je 16 wissels, dan heb je er maar 6 over voor je 'echte' locomotieven.  Maar dit kan ook omzeild worden via een trucje, maar dan wordt het iets te ingewikkeld vrees ik...

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Hmmm interesant, ben benieuwd naar wat meer uitleg...



groeten Dylan
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Hmm, voor een 200 euro geeft het een beperkte MS 1 nog meer beperking 6 ipv 10 locs
Cees
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Mooie site, eindelijk een plek waar het mm protocol leesbaar wordt uitgelegd :thumbup:

Dennis
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Lid sinds: 2008

There is no place like 127.0.0.1

online
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Beetje meer programmeerwerk, maar je kan best wel F1..F8 gebruiken i.p.v. alleen maar F1..F4,
dus één loc-adres per 8 wissels :-)
Kost je dan maar 2 Loc-adressen voor 16 wissels :-)
En als je het helemaal te bont wil maken, gebruik je de F0 als "shift-toets" ...
F0 uit is dan F1...F8 voor wissel 1 t/m 8 en met F0 aan is dan F1...F8 voor wissel 9 t/m 16.
Dan heb je maar één Loc-adres nodig voor 16 wissels ...

@Cees,

Wat bedoel je met die 200 euro ?

succes,
Kris
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Vertel mij eens welk trukje ik moet gebruiken om al de functietoetsen F1...F8 ik kan doorzenden via het MM protocol? Dit is voor mij iets nieuw? Overigens dat met de F0 functie had ik ook al aan gedacht. Op deze wijze kan je zelfs oneindig aantal wissels aansturen met je MS1. Maar het moet wel overzichtelijk blijven.

Wat me wel verbaast op dit forum is dat er nergens iets terug  te vinden is hoe het MM protocol werkt. Nochtans is dit iets dat elk forumlid best kan begrijpen. Kwestie van het op een éénvoudige manier uit te leggen...

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Lid sinds: 2008

There is no place like 127.0.0.1

online
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Dit werkt met een 2de adres, F5...F8 zijn eigenlijk gewoon F1...F4 van een slave-adres.
In je decoder dien je dus te "luisteren" naar 2 adressen, maar als je in je MS1 een MFX loc instelt, gebruik je maar één loc-positie van de 10 in de MS1, maar heb je wel achterliggend aansturing
van die 2 adressen. (standaard is dat dus adres 255)

In een grijs verleden heb ik wel eens bezig geweest met die protocollen enzo (ben ook een zelfbouwer, en electronica is voor mij net zo'n hobby als het modelspoorgebeuren, ideaal om te combineren dus).
Echter ben ik wat data kwijt geraakt door de overschakeling van PC naar Imac. (tja, en dat voor een IT'er, I know, het schaamrood staat me op de wangen),
waaronder dus de nodige bookmarks :-(

Maar wat bedoel je exact dat je door die F0 oneindig veel wissels kan aansturen ?

groeten,
Kris
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Dat met die F0 toets werkt zo:

We gaan het wel even praktisch houden en we blijven bij wissels 1-4, 5-8, 9-12 en 13-16. De toestand van elke set van 4 wissels wordt ergens in de µcontroller bijgehouden door een byte (dat is nu ook zo). Voor elke set van 4 wissels heb je 4 bytes nodig.
je programmeert je µcontroller zo dat deze luistert naar 1 MM loc adres. Telkens je op F0 drukt ,on/off maakt niet uit,  zal de µcontroller naar een ander byte verwijzen. Met F1 tot F4 kan je dan deze wissels omzetten behorende bij die byte. Het is een soort kringetje dat je programmeert en dat aangestuurd wordt met F0.  En omdat µcontrollers met elkaar kunnen communiceren kan je zo eindeloos blijven doorgaan. 
Maar ja het moet praktisch blijven, je zult ook iets visueel kenbaar moeten programmeren zodat je weet welk set van 4 wissels geselecteerd zijn.

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Nee mijn verhaal hierboven met de F0 toets werkt niet vrees ik. :(

Een MM-loc code inclusief F1 tot F4 wordt regelmatig doorgestuurd door MS1. Telkens je F0 drukt zullen de 4 geselecteerde wissels de toestand overnemen van F1 tot F4 eigenlijk de toestand van de vorige 4 wissels. Spijtig, mogelijk kan ik dit wel omzeilen?

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Even wat staan ijsberen, mijn methode om iets te bedenken.  ;)

Dat met de F0 toets werkt wel, en de truc die je kan toepassen is de volgende:

We gaan van het nadeel van de functietoetsen op je MS1, nl. dat je niet kunt zien of F1 tot F4 on/off is bij een zelf geprogrammeerd MM lok adres, een voordeel maken. 

We gaan de geselecteerde wissel enkel omzetten als de bijbehorende functietoets van toestand veranderd. Je ziet het toch niet of deze on/off is.

Dus wel oneindig wissels?

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Lid sinds: 2008

There is no place like 127.0.0.1

online
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Slim bedacht :-)

Nooit gedacht dat ijsberen zo'n efficiënte resultaten kan opleveren  B)
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Kris,
Er is een komma notatie gebruikt samen met US$ niet een direct type.
google laten zoeken voor microcontroller levert lage tot hogere prijzen op.
een daarvan bij Conra.. is deze Bestnr.: 150111 - 89
Nummer fabrikant:
60-0047
345,92 EUR
Met een prijsje
Cees
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Dat is een programmeerapparaat, ik zal niet weten wie daar zo veel geld aan geeft.

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Geert ,
In jouw startbericht van dit draadje staat " Programmeer een microcontroller zo dat deze "
Dit doe je dan toch met een apparaat :?
Cees
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Geert,

Een heel interessant idee en project. Ik kan vanuit mijn werk aan allerlei verschillende microcontrollers komen (microchip, atmel). Heb je er ook al een printje voor ontworpen? Zo niet dan kan ik daar eventueel wel bij helpen.

Ik zal dit zeker blijven volgen

Gr. Stefan
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Een programmeerapparaat stelt niet veel voor, zelfbouw is mogelijk enkele componenten maar, en de software is gratis te vinden. (zie circuit on line site) Ben je niet zo handig, maar kan je wel solderen dan kan je deze van Velleman aankopen, ik dacht voor 35?.

Verder ontwikkelen van dit projectje was ik niet echt van plan, het was gewoon een uitdaging omdat ik op het forum regelmatig iets lees dat volgens sommige onmogelijk is, vandaar?.

Deze software en hardware is getest op een breadboard en stuurde LED-jes aan. Het is kwestie van de uitgangen te versterken om wisselspoelen aan te sturen.

Als je het Assembler program al eens hebt bekeken( bovenaan in de titel van de code), dan zie je dat de uitgangen naar de spoelen gegroepeerd zitten per 8, behalve Wisselaansturing  L 16. Deze laatste hoort eigenlijk bij de overige wissels R13 to R16 zodat er daar ook 8 zitten. Nu kun je gewoon recht in lijn van de uitgangen  4x een ULN2803 plaatsen. Een ULN2803 heeft 8 darlington transistors waarop je een hogere spanning en stroom kunt schakelen. Eigenlijk moeten we geen print ontwerpen, gewoon weer een gaatjesprint met rechte koperbanen, waar we hier en daar wat koper wegnemen. En wissel L16 brengen we gewoon enkel baantjes hoger op deze print.

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Geert,

Ik snap dat de opzet heel eenvoudig is en best goed te doen met gaatjes print. Maar in conventioneel word alles zo lomp groot. In smd is het veel mooier te maken en compacter. Ik werk bij een elektronica assemblage bedrijf als ontwikkelaar dus voor mij is zoiets heel eenvoudig te realiseren.

Gr. Stefan
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Als je het in smd techniek wil maken, dan zal het eerst wel grondig getest moeten worden.  Achteraf aanpassingen doen zal dan moeilijk zijn.
Ook de software zal aangepast moeten worden. Nu staat standaard MM lok adres 1 tot 4 geprogrammeerd.  Dit moet wijzigbaar zijn zonder je er telkens nieuwe code moet in steken.  Maar dit is oplosbaar. Er zijn zelfs nog 3 pinnen over op het  IC. Goed voor nog eens 7x4MM locadressen te selecteren met dip switches. Maar ja dat kan die arme MS1 voor niets anders meer gebruikt worden. Wat ook een oplossing is natuurlijk.  Een (tweedehands) MS1 voor 40 wissels kost een pak minder dan 10 van die M@rklin drukknopkastjes. Je kunt je locs dan aansturen via een ander MS1 of zelfs een Centraal stadion. Zolang je maar met een gescheiden circuits werkt .

Maar ja dit is niet mijn bedoeling. Ik leg mijn wissels om met servo?s, dit is een pak goedkoper en realistischer dan de dure wisselspoelen.
Veel tijd steek ik er voorlopig niet in: ik ben nu bezig met een keerlusschakeling voor onze 2 rail vrienden.  De basis die ik hiervoor gebruik is spanningsval meten over een gebruiker in serie met de loc in de keerlus, en dit met een zeer klein PICje <-- 16F684! deze kan razendsnel 8 analoge spanningen meten en verwerken. Het program is al af, de hardware moet ik nog testen.

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Om te bewijzen dat het lukt zie volgend filmpje:

http://www.youtube.com/watch?v=Z7jH9PTBtBs&feature=feedu

Later meer uitleg hoe je eenvoudig deze software kan overbrengen in een µcontroller.

Een gaatjesprint voor deze schakeling (bovenzijde)  kan er ongeveer zo uitzien:





Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Ziet er goed uit Geert! Ik heb zelf ook besloten om een decoder te maken maar dan op basis van een atmel (werk hier veel mee) en dan met een S88N bus. Gezien wat terug melders kosten het loont wel de moeite om die dingen zelf te maken. Zodra ik wat proto's klaar heb zal ik hier wel wat posten.

Maar mooi om te zien dat een mobiel station op deze manier ook gebruikt kan worden.

Gr. Stefan
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
S88 met massa detectie heb ik ook al eens geprogrammeerd. 3? kost zoiets voor 16 ingangen. Maar ik ben geen voorstander van massa detectie. Hiervoor moet je je rails doorslijpen. Beter is stroomdetectie via de middenrail. Kostprijs 6? voor 16 ingangen. Spanningsval is minimaal (Ge-diode =0.3V in antiparallel) Het is deze spanningsval die ik meet via analoge ingangen µcontroller.

Geert
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Geert dit ziet er goed uit! Ik ben erg benieuwd naar de vorderingen!
Misschien als je alles klaar hebt kun je er wel een stap voor stap wiki-artikel overschrijven, het lijkt mij een goede oplossing in ieder geval voor mensen die geen ms 2 willen kopen.

Het zou voor mij een ms 2 en decoders schelen. Voor de mensen met meer treinen kunnen dan een tweede ms 1 aansluiten voor de wissels?

Begrijp ik het goed dat als je in het filmpje op het tweede functietoetsje drukt dat er dan een andere wissel schakelt?

Verder heb ik hierover ook al eens nagedacht, ik had namelijk het idee om met een functiedecoder (bijvoorbeeld FD-R basic van Tams?) een relais te schakelen die dan weer de wissel schakelt en het sein omzet. Zou dat misschien ook haalbaar zijn?

Nadeel ten opzichte van jou idee is dan dat je wel een decoder moet kopen per wissel en de relais natuurlijk dus jou idee is waarschijnlijk beter en niet onbelangrijk: goedkoper  O:-D :) 

blijf het volgen :)
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Er schakelt niet telkens een andere wissel als ik op F2 druk, wel dezelfde.  F1 schakelt de LED-jes op het breadboard, ik wilde eerst niet direct experimenteren met hogere spanningen voor de spoelen.

Die ULN 2803 die ik gebruik om hogere vermogens te schakelen (klein IC op filmpje) is speciaal ontworpen voor inductieve belastingen zoals spoelen te schakelen met een ingang op TTL niveau en uitgang max. 500mA gelijkstroom. Eventuele in- uitschakelpieken van de inductieve belastingen worden intern in het IC afgeleid. Tot zover dit verhaal.

Het printje zoals hiervoor door mij getoond is al iets concreter geworden. Ik ga het ook gebruiken om een  K84 van Marklin te simuleren. Je betaald voor een K84 al gouw 129? voor 4 schakelfuncties. (conrad) Aan onderdelen kost dit printje dat ik gebruik ongeveer 12? (prijzen onderdelen volgens conrad, in USA nog goedkoper!) Er is wel een groot verschil met de K84 van Marklin van 129?. Het printje dat ik gebruik heeft 8 keer een K84 decoder ingebouwd en dit aan 12?, dus 32 schakelbare uitgangen.

Eerlijkheidshalve moet ik er wel bij vertellen dat een K84 hogere vermogens kan schakelen en een wisselcontact heeft)

Stuur je enkel met dit printje seinlichten, dan kan je de 4 ULN2803 weglaten en de LED-jes van de seinen rechtstreeks via een weerstand op de uitgang van de controller aansluiten. Je kunt dan wel geen 20mA per LED-je sturen maar ongeveer 5mA. Met SMD meer dan genoeg.

Later meer hierover.

Geert


Pic Bestnr.:  160449 - 8A  4.17?

Uln2803a 171824 - 8A 1.33?

IC voetje 18p  Bestnr.:  189537 - 8A  0.25?

IC voetje 40p Bestnr.:  189588 - 8A 0.54?
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Ook als je het vermogen niet nodig hebt die ULN laten zitten.
Het kan geen kwaad om kortsluitingen aan de uitgang voor de processor op te vangen.
Nu brandt hooguit je ULN uit anders heb je een nieuwe processor nodig.
Helaas zelf ervaring door die fantastische wisselaandrijvingen.
Nieuw ic-tje erin wissel opereren en gaan met de baan.

Een goedkoper adres in nederland is DickBestElectronica

Groeten Robin
Re:16 Wissels aansturen met een Marklin Mobiel Station 1
Bedankt voor dat goedkoper adres. De ULN2803 voor 0.5? is vrij goedkoop. Enkel de 16F887 PIC µC hebben ze daar niet.  :-(

Je hebt gelijk dat het veiliger is om de ULN2803 te laten zitten, zeker bij kortsluitingen. Maar ja wij zijn allen handige modelbouwers die geen kortsluitingen maken  >:-D :D

Geert