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

BR-18.6 Schaal-0. door FritsT
Vandaag om 22:49:23
Mijn eerste H0-modeltreinbaan in aanbouw door kar
Vandaag om 22:36:48
Piko 1136 van AC naar DC door Martijn193
Vandaag om 22:33:48
Waldbrunn an der Veluwe. Romantiek in H0 (2R) door kar
Vandaag om 22:30:49
Mooi weer om buiten te spelen door sncf231e
Vandaag om 22:28:10
DCC-decoder geïntegreerd in sein(voet) door Dennis1984
Vandaag om 22:20:10
"Spoor op Vleugels" in H0 door MOVisser
Vandaag om 22:07:43
schok bij vertrek door saskia
Vandaag om 22:03:07
Spoorongeval Duitsland, 27-7-2025 door Frank 123
Vandaag om 21:59:45
LED / Lampjes (Viessmann) seinpalen aansturen. Vraagje aan electronica experts door AP3737
Vandaag om 21:33:15
Toon hier je nieuwe (model-) spooraanwinst(en)... door Cegielski
Vandaag om 21:33:13
Rheinburg, TP V/VI door Dennis1984
Vandaag om 21:16:49
Dat overkomt mij niet. door klusser
Vandaag om 21:03:41
Ronald doet de Fork Challenge! door MaraNCS
Vandaag om 20:49:54
Raadplaatje door Cc72000
Vandaag om 20:10:38
US diorama in H0 door jan47
Vandaag om 19:45:53
Chinese prut kabel door BrightonBelle
Vandaag om 17:48:10
Aachenau West door Wim Vink
Vandaag om 17:47:51
BMB 00-Modulebaan, BMB-Rijdagen en BMB-Deelname aan Beurzen & Evenementen door BrightonBelle
Vandaag om 17:30:54
BMB-Module: “Corfe Castle Station” door Ferdinand Bogman
Vandaag om 15:43:38
Welke kleur is Roco oud bruin? door Bahn-AG
Vandaag om 15:17:45
Seuthe gaat stoppen door Rob Ellerman
Vandaag om 14:09:28
Station Roodeschool door Torikoos
Vandaag om 13:59:41
RhB 1:87, terug naar 25 jaar geleden door Jan Bennink
Vandaag om 13:42:30
Lokpilot 4 defect door bellejt
Vandaag om 13:27:01
Swalbenburg, N modulebaan door NS264
Vandaag om 13:02:57
Overstap naar HTM door Ronald Halma
Vandaag om 12:43:13
Wie heeft er ervaring met een baan in een inpandige garage in een app. gebouw? door Karben
Vandaag om 12:32:15
lampjes in huizen willekeurig schakelen door Bert55
Vandaag om 12:17:17
De bouw van mijn modelbaan in Thailand door thevandijks
Vandaag om 12:13:11
  

Auteur Topic: Tonen daadwerkelijke snelheid.  (gelezen 39563 keer)

peterha

  • Offline Offline
  • Berichten: 1186
Re: Tonen daadwerkelijke snelheid.
« Reactie #105 Gepost op: 26 May 2015, 12:08:19 »
@Gerard,
Per BDL-kaart wordt er 1 tester (= printje met de genoemde 5 ledjes) meegeleverd.
Inmiddels heb ik 8 kaarten en heb ik dus voldoende testers om van twee kaarten alle vier de connectoren hiervan te voorzien. Op die manier kan ik de trein (lees: alle bezetmelders) over de hele kaart volgen.
Voor het huppelen van de wielen ben ik niet zo bang en anders kan ik altijd de reactietijd op die BDL-kaart wat vertragen.

@Timo,
Ik ga voor de Arduino zeker een eigen voeding gebruiken.
M.b.t. die pull-down weerstand. Ik zie dat Max die weerstanden gekoppeld heeft aan de Arduino, maar ik ging er van uit dat die weerstanden op de uitgangen van de BDL168 gemonteerd moeten worden?
Moet ik nog een nieuwe foto maken van de BDL168, waar zaken wat duidelijker op staan?
Zo ja,van welk gedeelte dan?

@Max,
Mooi plaatje.
Maar even voor mijn duidelijkheid; is dat één puls signaal? En is die bedoeld voor beide bezetmelders/ingangen voor de Arduino?
Want (waarschijnlijk overbodige opmerking) de meting kan pas starten als beide bezetmelders/ingangen laag zijn en de meting start als bezetmelder 1 (A0) hoog wordt en eindigt als bezetmelder 2 (A1) hoog wordt.

Van electronica heb ik weinig verstand, ik kan wel een heleboel dingen volgen die jullie schrijven en ben daarom ook erg blij met jullie reacties en bijdragen. Op deze manier gaat het voor mij ook wat meer 'leven'.

Groet,
Peter
Met vriendelijke groet,
Peter

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3603
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Tonen daadwerkelijke snelheid.
« Reactie #106 Gepost op: 26 May 2015, 12:24:43 »
Het enige IC wat in aanmerking komt als opto-coupler is het IC naast de DPR315. Het tweede IC aan de rechter onderkant. De tekst daarvan (alleen bovenste regel) is voldoende. Dit IC zit er overigens 2 keer op.
Wat beterft de GND of 0V. Die wordt hard verbonden. Dus de 0V van de BDL en de Arduino worden gelijk. Hierdoor is de plaats van de twee weerstanden onbelangrijk. Aangezien ze toegevoegd worden kunnen ze het beste op de arduino.
Wij elektronicie zijn lui. Als het met een plaatje kan doen we het met een plaatje. De puls hoor je eigenllijk 2x te tekenen, voor iedere ingang een. Maar de beide signaal vormen zijn gelijk dus waarom?

@Peter:
Even over de signalen. Als een trein op de sectie staat, brand dan de LED op de testprint, of is de LED dan uit?
Als de LED brand als er een trein in de sectie staat, dan is de puls zoals getekend. En de volgorde is als volgt:
A0 en A1 beide 0V: rust of meten
A0 gaat hoog: start meting
A0 is hoog: meten

A1 gaat hoog: stop meting en bereken de data
A1 hoog: Blijf data weergeven


Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Tonen daadwerkelijke snelheid.
« Reactie #107 Gepost op: 26 May 2015, 12:38:04 »
Of je de weerstanden nu bij de BDL plaatst of de Arduino maakt niet uit. Laatste lijkt me makkelijker. In het schema van Max staan beide ingangen/blokken/signalen. Wat het misschien wat verwarrend maakt is dat Max de derde draad (de GND draad) niet getekend heeft. Deze is wel belangrijk  ;D Deze gaat naar de GND van de BDL.

Van mij hoef je op zich geen foto te maken. Mag wel als mensen het echt willen weten :p

@Max, kan je deze er nog bij tekenen?

[Edit] Gerard was weer eerder. In de handleiding staat dat de uitgang active high is (brandt als er detectie is).

Detectie is dan bijna zoals Gerard zegt alleen dan vanaf twee kanten. Als A0 eerst hoog werd dan wachten op A1. Anders andersom. Het maakt voor de snelheid niet uit welke kant op gereden word.


Timo
Verzonden vanaf mijn desktop met Firefox

peterha

  • Offline Offline
  • Berichten: 1186
Re: Tonen daadwerkelijke snelheid.
« Reactie #108 Gepost op: 26 May 2015, 12:58:36 »
Aangezien ik 1 vierpolige (of 2 tweepolige) connectoren moet maken met draden naar de Arduino, dacht ik 't lui en makkelijk op te kunnen lossen door op de connector voor de BDL twee weerstanden (een voor elke uitgang) te solderen en daarna gewoon de draden naar de Arduino te voeren. Is voor mij makkelijker  ;D
Zijn jullie het er al over eens wat de waarde van de weerstand moet zijn?

Voor de beeldvorming: ik rij op mijn baan met eenrichtingsverkeer; dus zal bij mij altijd de volgorde A0 > A1 zijn. Scheelt misschien ook weer wat programmeerwerk, althans voor mijn situatie.
Dus, zodra een trein de sectie binnenrijdt gaat de led branden en als de trein de sectie verlaat, gaat de led uit. Op de BDL is overigens nog een mogelijkheid om (ter voorkoming van valse signalen of 'denderen' van het signaal) de reactietijd wat te vertragen. Maar bij staat die op minimaal.

Dus inderdaad zoals je aangeeft:
A0 en A1 beide geen spanning: geen trein/bezetmelding in beide secties;
A0 gaat hoog: de trein rijdt de sectie binnen, dus start meting;
A1 gaat hoog: de trein verlaat deze sectie en gaat de volgende sectie binnen: stop meting.

Hoe lang A0 of A1 hoog blijven is m.i. niet belangrijk. Als er een heeeeele lang trein in dat blok rijdt (die heb ik overigens niet) kan in theorie zowel A0 alsook A1 hoog zijn.
Maar een gegeven moment is de trein beide blokken uit en zijn beide melders dus weer laag en kan een nieuwe meting beginnen.

Gr. Peter
Met vriendelijke groet,
Peter

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Tonen daadwerkelijke snelheid.
« Reactie #109 Gepost op: 26 May 2015, 13:14:19 »
U vraagt, wij draaien...



Dender is geen probleem want de software reageert op de eerste flank.

Peter had al gemeten dat vrij laag is en bezet hoog dus heb ik de software even aangepast:

Dit werkt (met drukknoppen):

/*****************************************************************************
test versie: Speedometer tbv Peter
*****************************************************************************/

// libraries
#include <Wire.h>
#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"

Adafruit_7segment display = Adafruit_7segment();

const int LDRleft       =     A0; // LDR left
const int LDRright      =     A1; // LDR right

const int Overflow      =  10000;
unsigned long curTime   =      0;
unsigned long preTime   =      0;
unsigned long runTime   =      0;

// speedometer
bool  timerRuns         =  false;
bool  fromLeft          =  false;
bool  fromRight         =  false;
bool  calcReady         =  false;
int   valLeft           =      0;
int   valRight          =      0;
int   refLight          =    511; // 0 is uit, 1023 is aan
float distance          =     98; // afstand tussen meetpunten in mm.
float scaleSpeed        =      0; // in schaal km/h.

// display schaalsnelheid
unsigned long showTime  =  5000; // tijd snelheid zichtbaar in ms
unsigned long showStart =     0;

/****************************************************************************/

void setup() {
 
  // set display
  display.begin(0x70);
  display.setBrightness(7); // 0..15
  display.writeDisplay();

  showStart = millis();
 
} // end setup

/****************************************************************************/

void loop() {
   
   speedometer();
   displaySpeed();
 
} // end loop

/****************************************************************************/

void speedometer() {
 
  if (calcReady) return;            // als berekening klaar is rest overslaan.

  valLeft  = analogRead(LDRleft);
  valRight = analogRead(LDRright);

  if (!timerRuns) {                                         // nog geen meting

    if (valLeft > refLight || valRight > refLight) { // links of rechts bezet?
      timerRuns = true;                                        // meting loopt
      preTime   = millis();
      runTime   = 0;
      if (valLeft  > refLight) fromLeft  = true;
      if (valRight > refLight) fromRight = true;
    }

  } else {                                           // als de meting loopt...
 
    curTime = millis();         
    runTime = curTime - preTime;
   
    if (fromLeft  && (valRight > refLight) ||
        fromRight && (valLeft  > refLight)) {              // meting ten einde
     
      // bereken schaal snelheid
      scaleSpeed = ((distance * 3600) / runTime / 1000) * 87;
      calcReady  = true;
      timerRuns  = false;
      fromLeft   = false;
      fromRight  = false;
      showStart  = millis();
    }
  }
}

/****************************************************************************/

void displaySpeed() {
 
  unsigned long timeNow = millis();

  if (timerRuns) {                         // als snelheidsmeting gaande is...
   
    if ((runTime / 100) % 2) {                            // knipperen display
      display.println(Overflow);                             // display "----"
    } else
      display.clear();                                       // display "    "
   
  } else {

    if (calcReady) {                        // als snelheidsmeting klaar is...
      if ((timeNow - showTime) < showStart) {
        display.print(scaleSpeed, 1);      // display gemeten snelheid in km/h
      } else {
        calcReady = false;
        showStart = timeNow;
        display.println(Overflow);                           // display "----"
      }
    }
  }
  display.writeDisplay();
}

/****************************************************************************/

Als ik zin heb zal ik de naamgeving even aanpassen aan Peter's situatie...  8)

mvg

"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Tonen daadwerkelijke snelheid.
« Reactie #110 Gepost op: 26 May 2015, 13:22:33 »
Dus inderdaad zoals je aangeeft:
A0 en A1 beide geen spanning: geen trein/bezetmelding in beide secties;
A0 gaat hoog: de trein rijdt de sectie binnen, dus start meting;
A1 gaat hoog: de trein verlaat deze sectie en gaat de volgende sectie binnen: stop meting.

Hoe lang A0 of A1 hoog blijven is m.i. niet belangrijk. Als er een heeeeele lang trein in dat blok rijdt (die heb ik overigens niet) kan in theorie zowel A0 alsook A1 hoog zijn.
Maar een gegeven moment is de trein beide blokken uit en zijn beide melders dus weer laag en kan een nieuwe meting beginnen.

En dankzij het gebruik van software is het altijd mogelijk het een en ander aan te passen aan de situatie. Denk aan het missen van een detectie, lengte van het meettraject, snelheid zichtbaar tijd, automatische reset. Aanpassen is geen probleem - (bijna) alles kan...

mvg
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3603
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Tonen daadwerkelijke snelheid.
« Reactie #111 Gepost op: 26 May 2015, 13:45:15 »
Max,

De regel:
scaleSpeed = ((distance * 3600) / runTime / 1000) * 87;
is voor Peter volledig valide. Voor een modelspoorder is het handiger als de 87 een constante wordt.
Ik als N rijder kan hier dan 160 invullen, die dan automatisch via compileren goed gezet wordt.

Vraag van een niet Arduino bezitter:
Doet analogRead(A0) een digitale read?

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

peterha

  • Offline Offline
  • Berichten: 1186
Re: Tonen daadwerkelijke snelheid.
« Reactie #112 Gepost op: 26 May 2015, 13:50:58 »
 ;D Zojuist is dan eindelijk mijn Arduino binnengekomen  ;D

Software + drivers geïnstalleerd, Arduino aangesloten en warempel: het werkt!
Eerst maar wat van de voorbeelden proberen, ik heb in ieder geval de 'Blink-sketch' laten werken  (y)

Volgende stap is het Adafruit display aansluiten.

@Max,
Ik zal de variabele 'distance' aanpassen aan mijn situatie, nl. 3660 mm.
En als ik de weerstanden aanbreng en de verbinding van de BDL naar de Arduino, zou het moeten werken?

@Gerard,
Ik was zelf van plan om de schaal en de omreken factoren voor tijd en mm>km als algemene variabelen te definiëren.

Ga meteen aan de slag. Weerstanden 47k heb ik al klaarliggen.

Wordt vervolgd.....

Gr. Peter
Met vriendelijke groet,
Peter

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Tonen daadwerkelijke snelheid.
« Reactie #113 Gepost op: 26 May 2015, 13:54:03 »
De regel:
scaleSpeed = ((distance * 3600) / runTime / 1000) * 87;
is voor Peter volledig valide. Voor een modelspoorder is het handiger als de 87 een constante wordt.
Ik als N rijder kan hier dan 160 invullen, die dan automatisch via compileren goed gezet wordt.

Uiteraard is een constante beter - ik heb er nooit aan gedacht om het voor meerdere schalen geschikt te maken. Uiteraard kan het ook met een schakelaar of dipswitch - dan zijn meerdere schalen mogelijk.

Citaat
Vraag van een niet Arduino bezitter:
Doet analogRead(A0) een digitale read?

Ja - het zet een analoge waarde van 0 tot 5 volt om in een digitale waarde van 0 tot 1023.

mvg
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Tonen daadwerkelijke snelheid.
« Reactie #114 Gepost op: 26 May 2015, 13:58:03 »
Ik zal de variabele 'distance' aanpassen aan mijn situatie, nl. 3660 mm.
En als ik de weerstanden aanbreng en de verbinding van de BDL naar de Arduino, zou het moeten werken?

Ja - succes  (y)

en zoniet - we zijn staande bij... 8)

mvg
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3603
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Tonen daadwerkelijke snelheid.
« Reactie #115 Gepost op: 26 May 2015, 14:07:27 »
Max,

Wat ik bedoel te vragen is:
Op A0/A1 ziiten geen LDR schakelingen meer. Je laat nu gewoon een digitale situatie omzetten naar analoog en dan verwerken. Het werkt, maar is "duurder".

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Tonen daadwerkelijke snelheid.
« Reactie #116 Gepost op: 26 May 2015, 14:29:34 »
Gerard,

dat klopt; maar het is wel universeel. Ik wil namelijk ook nog iets proberen met IR sluizen en IR reflectie. Met een beetje mazzel kan ik het met een schakeling af.

mvg
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

Fritsprt

  • Offline Offline
  • Berichten: 2615
Re: Tonen daadwerkelijke snelheid.
« Reactie #117 Gepost op: 26 May 2015, 14:39:34 »
@ Gerard
Citaat
Doet analogRead(A0) een digitale read?
Zoals de naam al zegt leest analogRead(A0) de analoge waarde van A0. Je kunt A0 overigens gewoon als digitale input gebruiken door digitalRead(A0) te doen. De Arduino (Uno) heeft 14 digitale in- en uitgangen (0 - 13) en 6 (A0 - A5) analoge ingangen. Je kan A0 -A5 zefs gewoon doortellen vanaf 14. M.a.w. A0 = 14, A1 = 15 enz.
Dus digitalRead(14) geeft de digitale waarde van A0

groet Frits
Groet Frits

peterha

  • Offline Offline
  • Berichten: 1186
Re: Tonen daadwerkelijke snelheid.
« Reactie #118 Gepost op: 26 May 2015, 14:51:16 »
Max, nog even een vraagje voor ik het display verkeerd aansluit en verknal.

Op het Adafruit display zitten 4 aansluitingen: SCL, SDA, GND en VCC
In jouw schema staat het display aangesloten op pinnen: +5V, A4, A5 en GND.
+5V=VCC, GND=GND, dat is niet moeilijk; maar waar gaan SCL en SDA naar toe van A4 en A5?
Op de website vind ik het niet.

Gr. Peter
Met vriendelijke groet,
Peter

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Tonen daadwerkelijke snelheid.
« Reactie #119 Gepost op: 26 May 2015, 15:01:00 »
Peter,
op de andere kant van de print staan de tekens die ik gebruikt heb:

SCL = C = A5 (clock)
SDA = D = A4 (data)
GND = -
VCC = +

Hier is een link: https://learn.adafruit.com/adafruit-led-backpack/0-dot-56-seven-segment-backpack

mvg
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)