Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

ongeremde Sikken/wagens in goederentreinen door timtrein
Vandaag om 19:23:18
Bentheimer Eisenbahn, gisteren, vandaag en morgen. door borotof
Vandaag om 19:22:52
Van NS 2439 naar SNCF 62439 door Tedo
Vandaag om 19:12:00
Raadplaatje door Nohome
Vandaag om 19:09:47
Groningers blij verrast met opening station, maar er is ook reden voor gemopper door roco
Vandaag om 18:56:57
Defensie wil oude koplopers ombouwen tot hospitaaltrein door ArjanB
Vandaag om 18:22:54
Ombouw Hornby LMS Class 2P 4-4-0 naar NS 2100 door puntenglijder
Vandaag om 18:08:05
Een nieuw begin door Frits C
Vandaag om 18:06:45
Brezelbahn in H0, Duitsland tp III. door Wim Vink
Vandaag om 17:37:33
Toon hier je nieuwe (model-) spooraanwinst(en)... door g-j
Vandaag om 17:34:30
De bouw van mijn modelbaan in Thailand door Thai-Bundesbahn
Vandaag om 17:30:08
Piko 2025 door Duikeend
Vandaag om 16:59:12
VERPLAATST: Re: Piko 2025 door Duikeend
Vandaag om 16:57:27
Länderbahn en Reichsbahn locomotieven. door Karben
Vandaag om 16:54:49
Heroplage Artitec Plan W? door spoorijzer
Vandaag om 16:49:08
Mijn eerste H0-modeltreinbaan in aanbouw door puntenglijder
Vandaag om 16:41:15
VERPLAATST: Klein baantje 1200x1200mm door Duikeend
Vandaag om 16:40:26
Spoor 1 nem of finescale door FritsT
Vandaag om 16:32:42
Klein baantje 1200x1200mm door tijgernootje
Vandaag om 16:32:07
Ronald doet de Fork Challenge! door Ronald Halma
Vandaag om 16:26:47
Even wachten nog...... (1:45 op 0,16 m2) door Scratchbuilt
Vandaag om 15:49:05
Hulp gevraagd: Yamorc YD7010 en ESU loksound door saskia
Vandaag om 14:58:10
De Projecten van RetroJack door RetroJack
Vandaag om 14:23:39
Spoorwegmuseum krimpt collectie in door henk
Vandaag om 14:00:41
DB Cargo gaat op Betuweroute proeven doen met automatisch rijdende locomotief door henk
Vandaag om 13:56:24
Ervaringen met veilingsites enzo (Marktplaats, Ebay, Catawiki, etc). door Martijn1974
Vandaag om 12:37:55
De Hasseberg (spoor nul op 9mm) door spoorijzer
Vandaag om 11:18:45
"Ein kleines Kalkwerk", een nieuwe tentoonstellingsbaan door Eric v C
Vandaag om 11:08:38
ICR-rijtuigen, voor welk merk ga je? LSmodels, PBmodels, Exact Train of Piko? door spoorijzer
Vandaag om 11:07:52
365 "Het is weekend foto's" door Wim Vink
Vandaag om 10:43:07
  

Auteur Topic: Volautomatische universele bidirectionele goedkope keerlus controller  (gelezen 16807 keer)

Erik84750

  • Offline Offline
  • Berichten: 56
Hi, ik weet niet of "omloopspoorbesturing" de juiste benaming is voor wat ze in het engels "autoreversing track controller" noemen.

Ik heb de voorbije week een controller ontwikkeld die in staat is om volautomatisch de polariteit van het DCC (of gewoon de DC voeding voor analoge sporen) om te wisselen bij een keerlus en dit doet:
- zonder de trein te stoppen
- zonder kortsluitstroomdetectie
- met om het even welk type detector, zolang die bij "geen detectie" een LAAG signaal, en bij "detectie" een HOOG signaal geeft (en indien het omgekeerd moet kan dat ook: een kleine software aanpassing is dan nodig)
- in beide richtingen
- ook voor treinen die in de loop stoppen en achteruit terug rijden
- voor om het even welk type of vorm van omloopspoor
- de lengte van het omloopspoor moet minimaal maar niet meer dan één keer de lengte van de langste trein zijn

Ik heb daarover een topic gestart in http://www.trainboard.com/highball/index.php?threads/cheap-and-universal-automatic-bidirectional-reversing-loop-controller.105591/ in het engels, de vertaling is me teveel werk maar ik wil gerust hier de tekst kopiëren, als dat mag.

- De controller kan om het even welke Atmega zijn (Arduino Uno of Mega, Pro Mini, ATtinyxx,..), ik gebruik een ATtiny85 van 2 euro.
- De detectoren mogen om het even wat zijn: LDR, laser, phototransistor, infrarood sensor, inductief, capacitief,..
- Het relais is een 2-polige double throw type. Opgelet: gebruik relais die minder dan 25mA verbruiken (max microcontroller uitgangsstroom) of gebruik anders eerst een klein relais dat op zijn beurt een groter aanstuurt (zie ook link hierboven voor meer details).

Laat maar weten wat jullie ervan vinden.

Grtn,
Erik

Mijn code:
const byte Relay = 3;
const byte LDRa = 1;
const byte LDRb = 2;
const byte LDR1 = 0;
boolean A = LOW;
int stateLDRa;
int lastStateLDRa = LOW;
int stateLDRb;
int lastStateLDRb = LOW;
int stateLDR1;
int lastStateLDR1 = LOW;
unsigned long lastDebounceTimeLDRa = 0;
unsigned long lastDebounceTimeLDRb = 0;
unsigned long lastDebounceTimeLDR1 = 0;
unsigned debounceDelay = 1000;

void setup() {
  pinMode(Relay, OUTPUT); //setting the pin mode to Output
  digitalWrite(Relay, LOW);
}

void loop() {
  // read LDRa and debounce
  int readingLDRa = digitalRead(LDRa);
  //digitalWrite(ledPin, readingLDRa);
  if (readingLDRa != lastStateLDRa) {
    lastDebounceTimeLDRa = millis();
  }
  if ((millis() - lastDebounceTimeLDRa) > debounceDelay) {
    if (readingLDRa != stateLDRa) {
      stateLDRa = readingLDRa;
    }
  }
lastStateLDRa = readingLDRa;
  // read LDRb and debounce
  int readingLDRb = digitalRead(LDRb);
  if (readingLDRb != lastStateLDRb) {
    lastDebounceTimeLDRb = millis();
  }
  if ((millis() - lastDebounceTimeLDRb) > debounceDelay) {
    if (readingLDRb != stateLDRb) {
      stateLDRb = readingLDRb;
    }
  }
lastStateLDRb = readingLDRb;
  // read LDR1 and debounce
  int readingLDR1 = digitalRead(LDR1);
  if (readingLDR1 != lastStateLDR1) {
    lastDebounceTimeLDR1 = millis();
  }
  if ((millis() - lastDebounceTimeLDR1) > debounceDelay) {
    if (readingLDR1 != stateLDR1) {
      stateLDR1 = readingLDR1;
    }
  }
lastStateLDR1 = readingLDR1;
   if (stateLDRa == HIGH && stateLDR1 == LOW && stateLDRb == LOW)  //condition 1; clockwise
  { digitalWrite(Relay, HIGH);
    A = HIGH;
  }
  if (stateLDRa == LOW && stateLDR1 == HIGH && stateLDRb == LOW && A == HIGH) //condition 2; clockwise
  { digitalWrite(Relay, LOW);
  }
  if (stateLDRa == LOW && stateLDR1 == LOW && stateLDRb == HIGH) //condition 3; clockwise and counterclockwise: set relay low
  { digitalWrite(Relay, LOW);
    A = LOW;
  }
  if (stateLDRa == LOW && stateLDR1 == HIGH && stateLDRb == LOW && A == LOW)  //condition 4; counterclockwise: set relay high
  { digitalWrite(Relay, HIGH);
  }
}

Het schema:




« Laatst bewerkt op: 09 May 2017, 18:39:17 door Erik84750 »

Te 2/2

  • Offline Offline
  • Berichten: 1004
  • Metrop-Märklin
Re: Volautomatische universele bidirectionele goedkope omloopspoorcontroller
« Reactie #1 Gepost op: 09 May 2017, 18:30:49 »
Mag het ook gewoon een keerlus controller heten?
Mooi werk trouwens !  (y)

Zie http://encyclopedie.beneluxspoor.net/index.php/Keerlus

Duitstalig heeft ook wel wat: kehrschleife
b.v.
http://k.f.geering.info/modellbahn/technik/kehrschleife.htm
« Laatst bewerkt op: 09 May 2017, 18:38:58 door Te 2/2 »
Jan Willem

analoog hybride DC baan (2-rail+3-rail),
CH, peco, piko, roco, k-rail

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope omloopspoorcontroller
« Reactie #2 Gepost op: 09 May 2017, 18:33:56 »

@Mag het ook gewoon een keerlus controller heten?
Mooi werk trouwens !  (y)

Zie http://encyclopedie.beneluxspoor.net/index.php/Keerlus

Bedankt! Aangepast.
« Laatst bewerkt op: 10 May 2017, 00:08:33 door NS264. Reden: direct citaat verwijdert »

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope omloopspoorcontroller
« Reactie #3 Gepost op: 09 May 2017, 18:40:41 »

Duitstalig heeft ook wel wat: kehrschleife
b.v.
http://k.f.geering.info/modellbahn/technik/kehrschleife.htm

Mijn programma is niet voor duitstalige microcontrollers  ;D

Bert Mengerink

  • SPOOR1HOBBY
  • Offline Offline
  • Berichten: 490
  • Het liefste stoom in module vorm
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #4 Gepost op: 09 May 2017, 19:24:58 »
Als er gebruik gemaakt wordt van stroom- of massadetectoren, zijn er nog twee extra cuts nodig net na de wissel. Dit wordt in de meeste keerlus modules zo gebruikt.
Groeten,
Bert Mengerink

Er is altijd tijd om iets nieuws te beginnen.
Veel succes met de hobby.

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #5 Gepost op: 09 May 2017, 20:34:06 »

Inderdaad. En: ..net na de wissel en vòòr de geïsoleerde lus.
« Laatst bewerkt op: 09 May 2017, 21:44:27 door Bert van Gelder. Reden: Citaat verwijderd »

jowi

  • Offline Offline
  • Berichten: 2375
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #6 Gepost op: 09 May 2017, 20:53:47 »
Een volledig uitgekauwd aansluitschema zou wel fijn zijn. Dus waarin de arduino etc te zien is, waar en hoe sluit je daar het relais op aan, hoe en waar sluit ik de boel aan op mijn detectie? Ik vind het een beetje summier zo.

Tulpendaal

  • Offline Offline
  • Berichten: 3580
  • Westlandbaan-Delft
    • DELFT
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #7 Gepost op: 10 May 2017, 06:38:39 »
Goedenmorgen
Ziet er zeer interessant uit. Daar je het getest hebt, heb je ook fotos van een testbaan met de komponenten? Ik kan met bij de komponenten niets voorstellen. Ben een elektroleek, maar heb een T keerdriehoek voor mijn tram nodig.
Alternatief is het mogelijk een komponenten pakketje samen te stellen?
Gr. Joke

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #8 Gepost op: 10 May 2017, 08:14:20 »
Een volledig uitgekauwd aansluitschema zou wel fijn zijn. Dus waarin de arduino etc te zien is, waar en hoe sluit je daar het relais op aan, hoe en waar sluit ik de boel aan op mijn detectie? Ik vind het een beetje summier zo.
Hoi jowi, goed idee. Hetgeen ik hierboven gepost heb is het gevolg van één week nadenken over en werken aan een oplossing voor courant aspect van modeltreinbanen.
Ik zal een apart blad maken met een gedetailleerd elektrisch schema en hier posten.

Voor wie dit reeds kan gebruiken: kijk op Aliexpress voor "Digispark" of "Digistump" of "ATtiny85".

Ik kopieer hieronder even een deel van mijn publicatie op Trainboard.com (http://www.trainboard.com/highball/index.php?threads/cheap-and-universal-automatic-bidirectional-reversing-loop-controller.105591/) .
Weliswaar in het engels, met daarin wat meer details over de microcontroller en het gebruikte relais:

If needed I can program the controller for you, just send me 2 units: one for return programmed and one to cover postage; just pm me.

The ATtiny I used has following connections (see also the code):

PB0 = LDR1 (the one inside the loop)
PB1 = LDRa
PB2 = LDRb
PB3 = Relay output (EDIT: beware: a controller supplies a max of about 10 to 20mA safely per output: use a high impedance relay https://www.aliexpre...d-58936f8fd807 which in turn drives the power relay).

Make sure you cut the trace to the LED connected to PB1 or the voltage divider used for the LDR will not work properly. But best of all is to use an LDR driving a comparator, no need for calibration.

This is the controller I use: https://tinyurl.com/k47e2pn


Alles wat je nodig hebt zijn microcontroller, een relais en 3 treindetectoren.

Je kan dit programma uiteraard ook testen op een Arduino Uno en de 3 detectoren simuleren met draadjes verbonden tussen de inputs en ofwel 0V ofwel 5V.
Je verbindt dan de 2 detectoren die buiten de keerlus moeten worden aangebracht met pin 1 (DET-a) en pin 2 (DET-b).
De detector die binnen de lus moet komen (DET-1) verbind je met pin 0 en de uitgang is pin 3.
Op uitgang pin 3 kan je een LED met weerstand in serie van ongeveer 300ohm naar 0V aansluiten. De waarheidstabel heb ik ergens liggen en zal die ook publiceren.
De werking is als volgt:
1. loco over DET-a: DCC signaal keerlus in lijn met track onder DET-a (pin3=H)
2. loco rijdt lus binnen, rijdt over DET-1: enkel als DET-a vrij komt keert het relais (pin3=L)
3. loco rijdt lus buiten over DET-b: niets verandert (pin3=L)
4. omgekeerde zin: loco rijdt over DET-b, pin3=L
5. loco rijdt verder over DET-1: enkel zodra DET-b vrij is keert het relais: pin3=H
6. loco rijdt over DET-a: pin3=H
7. DET-1 = vrij en DET-a = bezet: pin3=H
8. DET-a is vrij: pin3=H
Met andere woorden: pin3 blijft op de status waar de laatste trein hem gelaten heeft.

Op een frans forum (http://forums.lrpresse.fr/trains/viewtopic.php?f=3&t=84123&sid=60db161af5c62faae8a126c2387bd8df kreeg ik de vraag of het mogelijk is om treinen op parkeertracks binnen de loop te zetten.
Met andere woorden: met meerdere treinen de loop binnen te rijden, en los van elkaar terug buiten te laten.
Antwoord: ja dat kan op voorwaarde dat de keerlusdetector DET-1 niet wordt geactiveerd zolang er nog treinen komen binnenrijden, en op voorwaarde dat alle treinen in dezelfde richting de lus buitenrijden.

Een andere vraag was over het gebruik van dubbele crossovers: ja dat kan ook. Een dubbele crossover wordt door de software gezien als twee keerlussen in één, en dan moet je de setup gebruiken zoals getoond in drawing 5: 2x DET-a en 2x DET-b, met de uitgangen van de detectorparen over een forward biased diode laten lopen (vermijden dat de detectorpaar uitgangen elkaar zouden beïnvloeden.
« Laatst bewerkt op: 10 May 2017, 09:38:11 door Erik84750 »

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #9 Gepost op: 10 May 2017, 08:22:49 »
Maar effecteif en voor een zelfverklaarde 'elektroleek' als Joke misschien toch handiger. Of een gewone Lenz.
Het lijkt wel of met het voortschrijden der techniek de keerlusautomaten steeds ingewikkelder worden.  ;D
Oh ja, dat heet hobby.  :)
Ik kan me voorstellen dat dit inderdaad ingewikkeld lijkt maar het is eigenlijk niet zo moeilijk, op voorwaarde dat je iets afweet van microcontrollers. Maar zelfs dan: het enige wat je nodig hebt is een geprogrammeerde controller, een relais en 3 detectoren.
Als je wilt programmeer ik de controller wel voor jou, en alles wat je dan nog moet doen is 3 detectoruitgangen aansluiten, een relaismodule (bijvoorbeeld: link) aansluiten op pin 3.
En dan de keerlusrails op de 2 "common" contacten aansluiten, en het DCC booster output signaal op de NC contacten en het DCC signaal, omgewisseld, op de NO contacten aansluiten.
Baseer je op de aansluitingen zoals ik die reeds getekend heb ik mijn bijlage in de eerste post.
« Laatst bewerkt op: 10 May 2017, 08:55:31 door Reinout van Rees. Reden: Link visueel minder lang gemaakt »

oudebiels

  • Offline Offline
  • Berichten: 436
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #10 Gepost op: 10 May 2017, 08:42:39 »
Omdat we ons hier internationaal orienteren en ondanks de GB-uitgang:

"Hi Erik,

Thank you for sharing this project!"

Groet van keerlusloze oudebiels

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #11 Gepost op: 10 May 2017, 08:48:29 »

Bedankt!

Mijn objectief is om hetgeen ik leer uit dit forum terug te geven onder de vorm van eigen ideëen.

Voor dit project ben ik bereid iedereen die met vragen zit hierover te helpen en ondersteuning te geven, dus laat maar weten!
« Laatst bewerkt op: 10 May 2017, 09:28:25 door Bert van Gelder. Reden: Citaat verwijderd »

Reinout van Rees

  • Team forummoderators
  • Offline Offline
  • Berichten: 7750
  • Forummoderator
    • Persoonlijke website + weblog
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #12 Gepost op: 10 May 2017, 08:54:44 »
oei, plots zijn mijn berichten heel breed uitgesmeerd: hoe los ik dat op?

Dat komt waarschijnlijk door het code blok. Dat gebruikt de hele breedte die je erin stopt. Dus die commentaren aan het eind van een paar regels zijn de dader.

Soms komt het ook door een lange link. Edit: ja, het was een link. In dit bericht heb ik de ellenlange aliexpress url vervangen door het woordje "link" :)

Reinout
« Laatst bewerkt op: 10 May 2017, 08:56:48 door Reinout van Rees »
Bouw v/d EifelBurgenBahn (h0, zijlijn in de Eifel)
Eifelgeschiedenis (verhalen en video's over de Eifelburgenbahn)

jowi

  • Offline Offline
  • Berichten: 2375
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #13 Gepost op: 10 May 2017, 08:56:28 »
Is een mechanisch relais wel snel genoeg om de polariteit te wisselen?
Gaat een rijdende trein daar geen hikje ofzo van krijgen als dat gebeurt?

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #14 Gepost op: 10 May 2017, 09:16:09 »
Dat komt waarschijnlijk door het code blok. Dat gebruikt de hele breedte die je erin stopt. Dus die commentaren aan het eind van een paar regels zijn de dader.

Soms komt het ook door een lange link. Edit: ja, het was een link. In dit bericht heb ik de ellenlange aliexpress url vervangen door het woordje "link" :)

Reinout
Bedankt! Zal ik ook nog aanpassen.