Doel:€250.00
Donaties:€130.00

Per saldo:€-120.00

Steun ons nu!

Laatst bijgewerkt
op 24-04-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Baan 'begroenen', hoe, wat en waarmee? door Hans van de Burgt
Vandaag om 03:46:41
Schrootplaats door ruudns
25 april 2024, 23:48:05
Bouw NS C 8605, BC 6012 en C 6820 door prutser
25 april 2024, 23:33:55
EifelBurgenBahn door Reinout van Rees
25 april 2024, 23:09:03
NS 6000 (in schaal 0) door FritsT
25 april 2024, 23:04:33
diorama, voor lange treinen. door Wim Vink
25 april 2024, 23:01:07
Toon hier je pas gereed gekomen (model-)spoorbouwsels ... door Bob R.
25 april 2024, 22:40:14
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
25 april 2024, 22:31:45
Nederland jaren 50 op basis van mijn roots door defender
25 april 2024, 22:23:03
hoe diep is de kuil van een 23 meter draaischijf door peterha
25 april 2024, 22:20:53
Ijzeren Rijn: militair transport door ijzeren rijn
25 april 2024, 22:10:05
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
25 april 2024, 21:39:10
Toon hier je nieuwe (model-) spooraanwinst(en)... door DavidNS400 Grote sik
25 april 2024, 21:38:25
Mijn eerste H0-modeltreinbaan in aanbouw door Schachbrett
25 april 2024, 21:09:44
Pfarrerwinkel bahn door Schachbrett
25 april 2024, 21:08:37
Bahnbetriebswerk "Altendorf" door basjuh1981
25 april 2024, 20:53:29
Station Roodeschool door Torikoos
25 april 2024, 20:52:40
US diorama in H0 door basjuh1981
25 april 2024, 20:51:10
Bouw van tijdperk 1 HSM en SS rijtuigen door MathynK
25 april 2024, 20:11:23
Les Billards du Vivarais door Frank 123
25 april 2024, 20:07:55
Piko lok digitaal rijdt direct weg door Ronaldk
25 april 2024, 19:59:22
Gewoon wat busfoto's door Keska
25 april 2024, 19:20:28
Aachenau West door wob
25 april 2024, 19:10:24
Modelbaan schaal H0 niet geheel sluiten in pc prog door MartinRT
25 april 2024, 19:04:37
19 Toen door defender
25 april 2024, 19:01:10
20 en 21 april MobExpo door class 37
25 april 2024, 18:16:26
Bouw van postrijtuig P 7911-7920 (plan C) van FRIE door Rob Bennis
25 april 2024, 17:45:39
Al mijn goede ideeën... door maartenvdb
25 april 2024, 17:22:59
Raadplaatje door Benelux795
25 april 2024, 17:18:39
18 t/m 21 april Intermodellbau '24 Dortmund door Ronald Halma
25 april 2024, 15:58:27
  

Auteur Topic: Volautomatische universele bidirectionele goedkope keerlus controller  (gelezen 15447 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: 7403
  • 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.