Voorde dok: Een tableau en knoppen bouwen voor sturen van wissels met Z21

Gestart door wouterdt, 01 november 2017, 19:59:25 PM

stoomlokje

Dat is de kop op de nagel Frans,   ;)
Ik kan ook zelf iets ( na-) bouwen als ik de goede schemakes heb , ik heb zelf electronica gestudeerd,
maar dat is zo'n 40jaar geleden , en toen waren het de transistorkes en was van microcontrollers e.d. nog (bijna) geen sprake.
zodus zelf ontwerpen , of met zoiets als microprocessors  bezig zijn , zonder goede nederlandstalige uitleg , is voor voor mij helaas ook niet weggelegd , en zo zijn er vele modelbouwers denk ik. :(

modelbaanHO

Citaat van: stoomlokje op 03 november 2017, 11:35:30 AM
...en zo zijn er vele modelbouwers denk ik. :(

Daar ben ik er al zeker een van.

Ik vind de mogelijkheden die de hedendaagse systemen en componenten bieden fantastisch maar heb het moeilijk om er mee aan de slag te gaan (lees geen goesting / geen tijd / geen...)
Luc.
2R DC, analoog DB tp 3&4 - 2R DC Digitaal (Minibaantje Das Depot / HGK) - Verzamelaar Belgische modellen. Lid MTD.
http://www.modelbaanho.be

Geert

Hoe diep moet ik in de materie ingaan vraag ik mij soms af, want ik sta wel open om hierin te helpen.

Het leren programmeren van microcontrollers µC (programma's schrijven) dat gaat te ver om hier een topic over te starten.

Wat ik wel nu al heb geschreven is een korte uitleg hoe je een µC van code kunt voorzien.

Wat heb je daar voor nodig, waar kun je die dingen kopen, (de juiste bestelgegevens) waar kan je de software vinden HEX-code enz...

Wat kun je met de schakeling, hoe kan ik de schakeling zelf namaken. Dit is meestal een strokenprintje, want etsen gaat voor vellen al te ver.


We zien wel, het volgende projectje komt er binnenkort aan.  ;)

Geert

Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

stoomlokje

Geert ,
ik verwijt je absoluut niets hoor, Ik vindt het fantastich wat je allemaal doet en kan .
Ik heb helaas echter de moderne boot gemist en als het dan in het engels ( of een andere taal uitgelegd wordt , begrijp ik er te weinig van om ermee aan de slag te kunnen.

Ikzelf heb een schema voor magneetartikelen volledig hertekend en uitgebreid voor mijn gebruik.
Echter dat is gebeurd in Express. PCB , en nu zit ik met het probleem dat ik dit niet kan omzetten in een taal om de nodige PCB's te laten maken.
Zodus bij mij zit  alles vast op aansturingsgebied.

Nota , mijn PCB's moeten zoveel als mogelijk in 19" rack's kunnen gestoken worden om deze later gemakkelijk te kunnen uitwisselen bij een eventuele fout.

Ronald

Citaat van: SuSke op 03 november 2017, 10:35:42 AM
... maar me niet ga suf studeren om alles zelf te ontwerpen.

Ofwel; beter goed gejat dan slecht verzonnen ;)

SuSke

Frans - 2R digitaal (tpIII-IV Belgisch - TPV&VI de vrije markt) en wat eigenaardigheidjes :-)
lid van MTD treinenclub vzw Edegem - www.mtdtreinenclub.be
Tentoonstelling MODELSPOOR by MTD - 50 jaar MTD - Hangar 27, Edegem op 18 & 19 Oktober 2025
De trein rijdt nooit op tijd, maar altijd op sporen.

Peter_66

Dikwijls zijn gekochte elementen zeer duur of gewoon weg niet te verkrijgen.
Dan is zelfbouw noodzakelijk

wouterdt

Ik zie dat er er hier een levendige discussie ontstaat over delen van kennis/software etc.
Nu ja als je daarin geïnteresseerd bent moet je maar is wat gaan lezen over vrije software. Sommige organisaties promoten dit, soms zelf tot op het religieuze af (Richard Stallman). We moeten niet verder kijken dan de modelspoor om voorbeelden aan te halen waarbij gratis (maar geen vrije software, dat is dus niet hetzelfde) plotseling betalend werd of niet meer ontwikkeld(Koploper, SCARM). En vermits de broncode niet vrij is kunnen we er niks aandoen. Nu ja, daar is niks mis mee dat is nu eenmaal de auteur zijn recht, dat staat als een paal boven water. Ondertussen zijn wij natuurlijk wel de pineut

Sta mij toe terug naar het onderwerp te keren
Communicatie met Z21 en Arduino over Ethernet
Onze verkenningstocht wordt verdergezet en we zijn aangekomen in netwerk communicatie.
De Z21 aanvaardt commando's over het netwerk en voert die dan uit op de baan.
Nu dit zorgt ervoor dat ik met niet meer moet bezig houden met het elektrische gedeelte van de communicatie zoals bij Xpressnet, daar dit allemaal wordt verzorgd in de TCP/IP standaard, ik moet gewoon de juiste pakketten naar de centrale sturen.

Het nadeel is natuurlijk dat die pakketten enkel maar op de Z21 werken, er is namelijk tussen modeltreinboeren geen gemeenschappelijk protocol om over een computernetwerk met centrales te spreken. Moest ik dus ooit het idee (en het geld) krijgen om mij een andere centrale te kopen, dan moet ik de communicatie hermaken zodat die centrale het kan verstaan
.
Voordeel is dat door dit te gebruiken ik niet meer alle fysieke (componenten) en elektrische zaken moet maken daar dit allemaal reeds wordt gedaan door Ethernet


Hoe werkt het schematisch
================                               ===                    ====
Arduino + Ethernet Shield  <— UDP 21105 —> Z21 —> DCC -->  baan
================                               ===                    ====

IMG_20171103_200255 by Wouter, on Flickr
De arduino stuurt UDP pakketten uit naar de centrale volgens de standaard
die deze dan uitvoert op de baan. Eveneens kan de client zich inschrijven om events van de centrale te krijgen. Op moment dat dit event dan gebeurt krijgt de client een UDP pakket toegestuurd met daarin informatie of wat er gebeurd is (wissel gezet, noodstop,...).

Bij druk op een knop
=====                                     =====
Arduino   --UDP: Zet Wissel -->   Centrale
=====                                     =====

Voor het ontvangen van events (kortsluiting, wissel geschakeld,...)                             
=====    -- UDP: schrijf in -->    =====
Arduino   <-UDP: Kortsluiting!--   Centrale
=====                                     =====


Nu vond ik voor Arduino een handige library (die ik intussen geforked heb) op GitHub met een extra voorbeeld.
Het geheel zit simpel in elkaar. Je gebruikt de library op voor jou de pakketten te maken gebruik makend van de hiervoor voorziene functies. Die kan je dan versturen met je eigen communication libary(Ethernet hier)
Voor wat betreft de events:
Je hangt je eigen functies aan de daarvoor voorziene pointers die worden gecalled als een bepaald evenement zich voordoet
Je leest zelf de UDP queue uit en je stuurt de inkomende pakket voor verwerking de libary in
Die dan jouw functie callt indien die matcht met het event.

https://github.com/wouterdt/ArduinoZ21Library/blob/master/examples/Z21EthernetExample/Z21EthernetExample.ino

Nu ik heb dit getest en dat lijkt allemaal goed te werken, het werkt zelf zo goed dat ik kan gaan beginnen bekabelen en implementeren 8).

sdz1976

www.ovmv.be
Creatieve mensen hebben geen rommel,
ze hebben overal ideeen liggen.
ho- hoe- on30- 1

wouterdt

Nog is een update!
De Chinese knoppen zijn toegekomen en gemonteerd:
IMG_20171219_185741 by Wouter, on Flickr

Alle draden aan de achterkant gesoldeerd, ziet er nog redelijk uit(niet direct cableporn maar het kan  slechter)

IMG_20171219_185728 by Wouter, on Flickr

En wat nog mooier was, zodra de utp kabel in de router van de Z21 stak, werkte alles.
Het enige wat ik moest doen was  posities omdraaien op bepaalde wissels, maar qua code werkt alles (voorlopig  ::) ) perfect
Code op github gezwierd, samen met een schema
https://github.com/wouterdt/ArduinoZ21Library/tree/master/examples/Z21BoardExample
Nu is kijken of we daar terugmeldingen opkrijgen...