Doel:€250.00
Donaties:€128.00

Per saldo:€-122.00

Steun ons nu!

Laatst bijgewerkt
op 16-04-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

h0 diorama USA “The Paintshops” door Wim Vink
Vandaag om 23:43:58
Ronald en Wanda's "Southern Comfort" swamp layout! door Mudhen
Vandaag om 23:29:31
Einde Koemo ballast ??? door Nullem
Vandaag om 23:27:07
Nederland jaren 50 op basis van mijn roots door defender
Vandaag om 23:05:17
Haandrecht materieel door orientexpress
Vandaag om 23:02:39
EifelBurgenBahn door Frank 123
Vandaag om 23:01:42
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
Vandaag om 23:00:45
Keerlusmodule Digikeijs DR5013 gaat na willekeurig aantal rondes op kortsluiting door bask185
Vandaag om 23:00:41
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 22:38:39
Traintastic - modelbaan besturingssoftware (gratis en open source) door bask185
Vandaag om 22:27:47
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door raymond erdtsieck
Vandaag om 22:23:17
Laag-Baarlo door Benelux795
Vandaag om 22:22:31
Een stukje Odsherreds Jernbane (OHJ) door gdh
Vandaag om 21:51:42
US diorama in H0 door Wim Vink
Vandaag om 21:38:59
IC-trein naar Berlijn in model, welke rijtuigen? door Michiel 80
Vandaag om 20:49:29
Toon hier je nieuwe (model-) spooraanwinst(en)... door johanw
Vandaag om 20:31:36
La Fabrique (1:87, 0,16m2) door tothebeach
Vandaag om 20:02:10
Cranicher Altbahn door Arjen52
Vandaag om 19:47:50
BMB 00-Modulebaan, BMB-Rijdagen en BMB-Deelname aan Beurzen & Evenementen door Hans van de Burgt
Vandaag om 19:41:34
Decals voor een Roco 64892 DSG Speisewagen door grossraumwagen
Vandaag om 19:37:41
Van Biervliet/B Models 2019, nieuws van de fabrikant door Sicco Dierdorp
Vandaag om 18:55:04
Aachenau West door MichielB
Vandaag om 18:48:39
Jeugdsentiment (show je oude treintjes) door thonis
Vandaag om 18:36:00
Openen Lima Hondekop door Mispoes
Vandaag om 17:59:32
LS Models 2024 door Daan!
Vandaag om 16:34:44
Piko 2200 (52686)+ uhlenbrock 76420(?) door Ben
Vandaag om 16:14:12
Onlangs gespot - gefotografeerd, de foto's door dh3201
Vandaag om 15:30:48
ACME 2024 met NS ICNG! door Daan!
Vandaag om 14:09:36
"Nederlandse" modellen door ArjanB
Vandaag om 14:07:20
Stationsplein Baden Baden door Dion
Vandaag om 10:52:24
  

Auteur Topic: Volautomatische universele bidirectionele goedkope keerlus controller  (gelezen 15413 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 mei 2017, 18:39:17 door Erik84750 »

Te 2/2

  • Offline Offline
  • Berichten: 967
  • Metrop-Märklin
Re: Volautomatische universele bidirectionele goedkope omloopspoorcontroller
« Reactie #1 Gepost op: 09 mei 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 mei 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 mei 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 mei 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 mei 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: 454
  • Het liefste stoom in module vorm
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #4 Gepost op: 09 mei 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.
Met-1 is alles groter.
Veel succes met de hobby.

Erik84750

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

Inderdaad. En: ..net na de wissel en vòòr de geïsoleerde lus.
« Laatst bewerkt op: 09 mei 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 mei 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 mei 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 mei 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 mei 2017, 09:38:11 door Erik84750 »

Erik84750

  • Offline Offline
  • Berichten: 56
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #9 Gepost op: 10 mei 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 mei 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 mei 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 mei 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 mei 2017, 09:28:25 door Bert van Gelder. Reden: Citaat verwijderd »

Reinout van Rees

  • Team forummoderators
  • Offline Offline
  • Berichten: 7397
  • Forummoderator
    • Persoonlijke website + weblog
Re: Volautomatische universele bidirectionele goedkope keerlus controller
« Reactie #12 Gepost op: 10 mei 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 mei 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 mei 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 mei 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.