Puzzelmodelspoorbaan

Laat anderen meegenieten van je N-spoorbaan / Collectie.
Plaats reactie
Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Puzzelmodelspoorbaan

Bericht door kootje007 »

Zoals al een aangekondigd in Puzzelmodelspoorbaan wil ik een puzzelbaan gaan maken. Linkerzijde de Inglenook die al vaker hier op het forum voorbij is gekomen en rechts de Timesaver.

Het wordt een klein baantje met knoppen om de loc te laten rijden, wissels om te zetten en waarschijnlijk ook om te kunnen ontkoppelen. Alles moet heel simpel zodat kinderen ermee kunnen puzzelen.

Ondertussen is de rails binnen (peco code 80) en de wissels komen er binnenkort aan, iets met verkeerd besteld.

Vandaag kwam de Arduino Mega binnen waarmee ik vanavond direct stappen gemaakt heb. Dcc-ex is hier ook al vaker op het forum voorbij gekomen en dat wilde ik graag gebruiken voor deze baan zodat ik niet steeds de z21 van de grote baan hoef te lenen.

Grote voordeel van de Arduino is ook dat je er makkelijk de knoppen op kunt aansluiten en vervolgens met Ex-Rail acties aan kan knopen.

Ik heb genoeg ervaring met Arduino's maar dit was mijn eerste Mega. Met de EX-installer klik je er makkelijk doorheen om vervolgens met de webinterface een loc te kunnen laten rijden.

Vervolgens in ex-rail gedoken en dat stelt ook niet zoveel voor, tenminste niet wat ik nu nodig heb. Een sequence per knopje.

Hier een filmpje, ik heb de knopjes nog niet aangesloten dus ik loop te hannessen met een draadje, maar het gaat even om het idee.



Nu nog even bekijken hoe ik het kan maken dat ik ook met andere locs kan rijden. Ik zou de locs waarmee ik wil rijden kunnen invoeren (commando ROSTER) en dan voor elke loc een knopje kunnen maken. Wellicht met een draaiknop met verschillende standen die dan een SEQUENCE activeert en de loc 'activeert'.



deBult
Berichten: 109
Lid geworden op: 06 nov 2022 04:10

Re: Puzzelmodelspoorbaan

Bericht door deBult »

Volg modus aan. Beginner.
Hier ook plannen om van mijn 2e baan een rangeeropstelling te maken.
Het Kof III locje met automatische koppelingen is besteld.

De vraag over het hoe en waarom van de Inglenook? gesteld in een van de andere draadjes.
De timesaver moet ik nog doorgronden.

Groet, deBult


FLM Profi N rails, z21, 2 FLM locjes (BR 212, V200) 1 PIKO 2200 en een Kof III met automatische (ont)koppeling: “beginner”.
Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Weer even beziggeweest, knopjes even simpel aangesloten en zo geprogrammeerd dat de trein rijdt zolang de knop vastgehouden wordt. De lichtsluis ligt al klaar om aangesloten te worden. Aangezien de baan voor kinderen is komt er aan elke einde van de rails een lichtsluis die de trein laat stoppen zodat er geen stootblokken geramd worden.



De wissels komen als het goed is donderdag binnen.



deBult
Berichten: 109
Lid geworden op: 06 nov 2022 04:10

Re: Puzzelmodelspoorbaan

Bericht door deBult »

Goed doordacht en ziet er netjes uit Marco.

MVG deBult


FLM Profi N rails, z21, 2 FLM locjes (BR 212, V200) 1 PIKO 2200 en een Kof III met automatische (ont)koppeling: “beginner”.
Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Zojuist eens de MTB MP1 wisselaandrijving aangesloten op de DCC-EX centrale. Ik zat even te bedenken hoe ik dat ging doen. Het originele plan was om het niet via de centrale te doen maar via schakelaars rechtstreeks op de MP1.
Via de centrale is leuker omdat je dan makkelijker seinen kunt toevoegen later, en als je de centrale inschakelt kun je de wissels ook weer in de startpositie zetten etc.

Dus een relais gepakt en die aangesloten, even uitzoeken hoe en het is dit geworden:
MP1 poz1 aan Normally Closed op de relay module. Poz2 aan Normally Open op de relay module. MP1 common aan de +12v van de travo. De common van de relay module aan de massa van de travo. En de relay module vervolgens aan de 5v/gnd en IN1 aan een lege poort van de Arduino Mega. Dan is het een kwestie van PIN_TURNOUT(1, 53) IN EX-RAIL opgeven waarbij 1 een uniek id van de wissel is en 53 het poortje waar het relais op aangesloten zit.

En dan kun je met THROW(1) en CLOSE(1) de wissel omgooien.
Dat vervolgens in een SEQUENCE met een AFTER() om het achter een knopje te zetten om te activeren.

Erg leuk! Ik ga het omzetten van het wissel met 1 knopje doen, de SEQUENCE kijkt met IFCLOSED naar de status van de wissel. Ik koppel er een tweetal ledjes aan die aangeven of de wissel op rechtdoor of afbuigen staat.

Afbeelding

Ik maak gebruik van een relaisbordje met 2 relais erop, dus ik kan met een bordje 2 wissels aansluiten.
Laatst gewijzigd door kootje007 op 21 apr 2025 12:33, 2 keer totaal gewijzigd.


Gebruikersavatar

Dré
Berichten: 169
Lid geworden op: 11 jul 2020 10:57

Re: Puzzelmodelspoorbaan

Bericht door Dré »

Hi Marco,
Goed bezig met de Arduino centrale :Thumb .
Altijd leuk om te zien hoe anderen met ermee omgaan.
Ik vind het ook zo leuk aan DCC-EX en EX-RAIL dat er zoveel mogelijkheden zijn.
Om zo'n relaisbordje te schakelen gebruik ik de SET(53) en RESET(53) functie.
Bij SET wordt de uitgang hoog en bij RESET weer laag en hiermee wordt het relais aan of uit gezet.
Is wel afhankelijk van het type bordje, bij het ene type gaat het relais aan bij "hoog" en het andere type juist aan bij "laag".
Er zijn ook relaisbordjes waarmee men dmv een jumper kan kiezen tussen hoog of laag aan.

Dré


Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

SET en RESET kan inderdaad ook. Ik vond het wel mooi om THROW en CLOSE te gebruiken omdat het om een wissel gaat.

Mijn code ziet er zo uit, ik gebruik verschillende .h bestanden om overzicht te houden.

myButtons.h:

Code: Selecteer alles

//-------------------------------------------------
//--- BUTTONS -------------------------------------
//-------------------------------------------------
ALIAS(BTN_FWD, 39)
// 40 is waarschijnlijk stuk.
ALIAS(BTN_REV, 41)
ALIAS(BTN_LIGHTS, 30) // ,43)
ALIAS(SENSOR1, 45)
ALIAS(BTN_TURNOUT1, 43)
ALIAS(BTN_TURNOUT2, 44) // not connected yet.
myButtons.h

Code: Selecteer alles

PIN_TURNOUT(TURNOUT1, 53, "Wissel 1")
PIN_TURNOUT(TURNOUT2, 52, "Wissel 2")
mySequences.h

Code: Selecteer alles

//-------------------------------------------------
//--- SEQUENCES -----------------------------------
//-------------------------------------------------
ALIAS(SEQ_FWD, 1)
ALIAS(SEQ_REV, 2)
ALIAS(SEQ_LIGHTS, 3)
ALIAS(SEQ_AUTOSTOP, 4)
ALIAS(SEQ_TURNOUT1, 5)
ALIAS(SEQ_TURNOUT2, 6)
ALIAS(SEQ_INITIALIZE_ACTIVE_TRAIN, 98)
ALIAS(SEQ_INITIALIZATION, 99)

//-------------------------------------------------
//--- SEQUENCE: INITIALIZATION---------------------
//-------------------------------------------------
SEQUENCE(SEQ_INITIALIZATION)
	PRINT(">> CLOSING ALL TURNOUTS.")
	CLOSE(TURNOUT1)
	CLOSE(TURNOUT2)
	RETURN

SEQUENCE(SEQ_INITIALIZE_ACTIVE_TRAIN)
	PRINT(">> SENDING ACTIVE TRAIN TO SEQUENCES.")
	SENDLOCO(ACTIVE_TRAIN,SEQ_FWD)
	SENDLOCO(ACTIVE_TRAIN,SEQ_REV)
	SENDLOCO(ACTIVE_TRAIN,SEQ_LIGHTS)
	SENDLOCO(ACTIVE_TRAIN,SEQ_AUTOSTOP)
	RETURN

//-------------------------------------------------
//--- SEQUENCE: FORWARD ---------------------------
//-------------------------------------------------
SEQUENCE(SEQ_FWD) 			
	AUTOSTART
	AT(BTN_FWD)
	PRINT(">> FORWARD.")
	FWD(MAX_SPEED_FWD)  
	AT(-BTN_FWD)
	STOP
	PRINT(">> STOP.")
	FOLLOW(SEQ_FWD)
	
//-------------------------------------------------
//--- SEQUENCE: FORWARD ---------------------------
//-------------------------------------------------
SEQUENCE(SEQ_REV)
	AUTOSTART
	AT(BTN_REV)
	REV(MAX_SPEED_REV)
	PRINT(">> REVERSE")
	AT(-BTN_REV)
	STOP
	PRINT(">> STOP")
	FOLLOW(SEQ_REV)
	
//-------------------------------------------------
//--- SEQUENCE: LIGHTS ----------------------------
//-------------------------------------------------
SEQUENCE(SEQ_LIGHTS)
	AUTOSTART
	AFTER(BTN_LIGHTS, 0)
	FTOGGLE(0)
	PRINT(">> HEADLIGHT TOGGLE")
	FOLLOW(SEQ_LIGHTS)
	
//-------------------------------------------------
//--- SEQUENCE: AUTO-STOP -------------------------
//-------------------------------------------------
SEQUENCE(SEQ_AUTOSTOP)
	AUTOSTART
	AT(SENSOR1)
	STOP
	PRINT(">> STOP! END OF TRACK!")
	FOLLOW(SEQ_AUTOSTOP)
	
//-------------------------------------------------
//--- SEQUENCE: TURNOUT 1 -------------------------
//-------------------------------------------------
SEQUENCE(SEQ_TURNOUT1)
	AUTOSTART
	AFTER(BTN_TURNOUT1, 0)
	IFCLOSED(TURNOUT1)
		PRINT(">> THROW TURNOUT1")
		THROW(TURNOUT1)
	ELSE
		PRINT(">> CLOSE TURNOUT1")
		CLOSE(TURNOUT1)
	ENDIF
	FOLLOW(SEQ_TURNOUT1)
	
//-------------------------------------------------
//--- SEQUENCE: TURNOUT 2 -------------------------
//-------------------------------------------------
SEQUENCE(SEQ_TURNOUT2)
	AUTOSTART
	AFTER(BTN_TURNOUT2, 0)
	IFCLOSED(TURNOUT2)
		PRINT(">> THROW TURNOUT2")
		THROW(TURNOUT2)
	ELSE
		PRINT(">> CLOSE TURNOUT2")
		CLOSE(TURNOUT2)
	ENDIF
	FOLLOW(SEQ_TURNOUT2)
Dit wordt ingeladen in de myAutomation.h:

Code: Selecteer alles

#include "myLocomotives.h"
#include "myTurnouts.h"
#include "myButtons.h"
#include "mySettings.h"
#include "mySequences.h"

//-------------------------------------------------
//--- STARTUP -------------------------------------
//-------------------------------------------------
AUTOSTART
POWERON

CALL(SEQ_INITIALIZATION)
CALL(SEQ_INITIALIZE_ACTIVE_TRAIN)

DONE
Ik maak veel gebruik van ALIAS zodat de code clean blijft en ik niet al die regels door moet akkeren als er ergens een pin wijzigt.
Allereerst wordt de SEQUENCE 'SEQ_INITIALIZATION' aangeroepen die de wissels in de beginstand zet (rechtdoor). Vervolgens wordt de actieve trein gekoppeld aan de SEQUENCES die iets met rijden doen. De oplettende kijker ziet dat ik even de knop van de verlichting heb gebruikt voor een wissel, omdat ik nog maar 3 knopjes aangesloten heb.

Alles zit volgens dit schema aangesloten:
Afbeelding
(ik kreeg de MP1 niet mooi erin, dus even een ander component gepakt hiervoor. Poorten zijn vlnr: poz2, (+)com, poz1.)
Wissel 2 zit niet in het schema, maar dat is een kopie van hoe wissel 1 aangesloten is.

Ondertussen heb ik de baandelen compleet en een plaat hout gehaald, dus hopelijk kan ik morgen de baan uitleggen en de plaat hout op maat zagen zodat ik ook de lichtsluizen kan gaan plaatsen en dergelijke. Nu ligt alles los op het bureau waardoor ik de computer ook lastig kan gebruiken :-).


Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Vandaag met mijn dochters bezig geweest om de plaat op balken te schroeven, de baan uit te tekenen en met het snijden van kurk en om dit te plakken. Ik zat al vrij snel in mijn eentje :-).

Afbeelding

Afbeelding

Afbeelding


Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Vanavond even doorgepakt met rails leggen, en dan ziet het er direct gaaf uit.

Afbeelding

Even een handige doorverbinder gemaakt, ik het midden doorgeslepen dus 2x 5 aansluitingen die aan elkaar zitten.

Afbeelding

Straks eens de DCC-EX aansluiten en misschien de wisselaandrijvingen monteren.


Gebruikersavatar

Momfer
Berichten: 599
Lid geworden op: 29 okt 2020 13:13
Locatie: Zwolle

Re: Puzzelmodelspoorbaan

Bericht door Momfer »

kootje007 schreef: 15 apr 2025 20:55
====8><----

Nu nog even bekijken hoe ik het kan maken dat ik ook met andere locs kan rijden. Ik zou de locs waarmee ik wil rijden kunnen invoeren (commando ROSTER) en dan voor elke loc een knopje kunnen maken. Wellicht met een draaiknop met verschillende standen die dan een SEQUENCE activeert en de loc 'activeert'.
Als je AUTOMATION gebruikt ipv SEQUENCE, kun je via je ROSTER een lok selecteren (kan natuurlijk ook via een knop, iets meer programmeren :-) )

zie ook Type of Sequences


Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Klopt, maar dan moet je wel een Throttle gebruiken volgens mij. Ik doe alles met knoppen. Misschien dat ik een stuk spoor aansluit op de programmeeraansluiting. Dan kan ik daar een loc opzetten, op een knop drukken om READ_LOCO uit te voeren.

Vanavond ook de MP1 aandrijving onder de baan geschroeft. Op dit moment zit het veertje nog in de wissel, ik twiifel of ik die er nog uit haal. De wissel gaat prima om en door veertje drukt ie goed tegen de rails aan.

Nu moet de centrale er nog onder waarbij ik rekening moet houden met de plek voor de ontkoppelmagneten.
Voor nu even simpel aangesloten en de baan werkt goed, treintje rijdt mooi!


Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Vanavond alles eens onder de baan geschroefd en netjes aangesloten. Vergeten een foto te maken dus die komt morgen.

Heb een okkie toegevoegd waarmee alles aangesloten is zodat ik ook bezetmelding heb. Had hem liggen en dit leek mij handig voor de toekomst, wellicht komt er nog een module aan zodat er straks automatisch gependeld kan worden.

Heb de baan ook in iTrain voor elkaar, niet echt nodig maar handig om de bezetmelders te testen. Op 1 wissel gaat ie nog niet lekker, nog even maar kijken. De wisselaandrijving werkt nu ook, tijd mee aan het knooien geweest om ze via iTrain te kunnen laten schakelen. In mySetup.h dien je de pinnen waarmee het relais bediend wordt als output te definieren (en de pinnen waar de okkie opzit als input) met SETUP("Z id pin 0"). Dat had ik wel gelezen en gedaan maar werken ho maar.

Uiteindelijk met JMRI PanelPro uitgelezen en die zag de outputs niet. Uiteindelijk daarin toegevoegd en opgeslagen. Toen werkte alles.

Uiteindelijk vond ik net dat je na het zetten van de outputs ook nog het commando E moet uitvoeren zodat de outputs weggeschreven worden naar de EEPROM. Dat morgen maar even toevoegen.


Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Ondertussen de knopjes in de baan gemaakt en alles aangesloten. Alleen de ontkoppelaars moeten nog.

Afbeelding

Erg leuk! We kunnen er nu al mee spelen, het ontkoppelen zal dan even met een stokje of iets dergelijks moeten.

Hier een filmpje dat het operationeel is:


Gebruikersavatar

Dré
Berichten: 169
Lid geworden op: 11 jul 2020 10:57

Re: Puzzelmodelspoorbaan

Bericht door Dré »

Marco,
Lekker in de weer geweest met de codering, ziet er deftig uit :Thumb .
Handig gedaan ook met die alias en include commando's.
Ikzelf heb het wat simpeler gedaan (oftewel net zolang klooien tot het werkte) met deze regels.
Hiermee kan de lok voor en achteruit worden gereden.
Het langzaam optrekken en afremmen is met de cv's van de decoder ingesteld.

Code: Selecteer alles

AUTOSTART
POWERON
DONE

SEQUENCE(1)
AUTOSTART
SETLOCO(18)
AT(38)
FWD(50)
AFTER(38)
STOP
FOLLOW(1)

SEQUENCE(2)
AUTOSTART
SETLOCO(18)
AT(39)
REV(50)
AFTER(39)
STOP
FOLLOW(2)
Ben benieuwd hoe jouw ontkoppelaar er uit gaat zien.
Zal nog wel lastig worden om precies om op de goede plek tot stilstand te komen.


Gebruikersavatar

Onderwerp starter
kootje007
Berichten: 395
Lid geworden op: 11 jun 2017 12:43
Locatie: Zwolle
Contacteer:

Re: Puzzelmodelspoorbaan

Bericht door kootje007 »

Dat wordt nog even puzzelen inderdaad, de magneten komen deze week binnen.

Vandaag alle lichtsluizen gemonteerd, dat werkt ook mooi. Komt een loc of wagon tussen de sluis dan wordt er een noodstop gemaakt en staat alles net voor de stootbuffer stil. Nodig want kinderen :-). Vervolgens rijdt de trein iets terug.



jw82
Berichten: 435
Lid geworden op: 11 mei 2021 09:03

Re: Puzzelmodelspoorbaan

Bericht door jw82 »

Leuk om te zien! En mooie code inderdaad, werken met aliassen en includes doe ik ook bij voorkeur voor het overzicht en beheer(s)baarheid.


Hartelijke groet,
Jan-Willem

Nederlandse baan in ontwikkeling: Kokkerdam
Plaats reactie