Doel:€250.00
Donaties:€80.00

Per saldo:€-170.00

Steun ons nu!

Laatst bijgewerkt
op 09-12-2018
Algemeen

De stichting

Recente berichten

Verschillen decoders door Hennik
Vandaag om 01:29:50
Neurenberg 2019; wat staat er op jouw verlanglijst? door Martin Welberg
Vandaag om 00:32:08
Ovaalramer in messing. Schaal 0 door FritsT
Vandaag om 00:18:13
Piko 185.2 Altmann door GertMeering
12 december 2018, 23:44:37
Aanschaffen BR245, Brawa of ACME? door Rondje_HO
12 december 2018, 23:33:57
Cranicher Altbahn door Arjen52
12 december 2018, 23:29:26
Tussendoortje: Roco en Mastica zelfbouw klompentrein door GerardvV
12 december 2018, 23:19:47
NS modelbaan Hoekdam H0 door phdirk
12 december 2018, 23:15:26
Mijn eerste H0 modeltreinbaan in aanbouw door NS264
12 december 2018, 23:07:31
BMB 00-modulebaan, Algemeen. door Thijs1271
12 december 2018, 23:04:47
Berijden van enkelspoor en/of kopspoor in beide richtingen, DCC door rjr
12 december 2018, 22:58:06
Leids spoor (voorheen Blauwpoortsbrug) door BrightonBelle
12 december 2018, 22:56:20
Silencer nieuw baanplan HO - met 9 jaar vertraging... door NS264
12 december 2018, 22:40:24
De Rheingold in model naoorlogs door Chris2412
12 december 2018, 22:28:33
MB-module: "L'Esimé" door Chris80
12 december 2018, 22:10:11
Draglinebak en andere grijpmiddelen in h0. door Ronald Halma
12 december 2018, 21:59:32
3D/RM-IG: Onshape - Materieel 1:76 door St00mboy
12 december 2018, 21:56:23
NS 5500 / HSM 700 spoor 0 / 1 door 1795
12 december 2018, 21:09:52
  

Auteur Topic: El carrilet  (gelezen 8053 keer)

Reinout van Rees

  • Team forummoderators
  • Offline Offline
  • Berichten: 4627
  • Forummoderator
    • Persoonlijke website + weblog
Re: El carrilet
« Reactie #15 Gepost op: 16 januari 2018, 08:41:24 »
Oh wow, dat ziet er stukken handiger en netter uit dan mijn klein-cameraatje-met-ducttape-op-rongenwagen experiment! Tijd om een oud rijtuig bij de kladden te vatten.

Om het naar je pc te kijken zou je een goedkope "video grabber" (voorbeeld) kunnen gebruiken.

Reinout
Bouw v/d EifelBurgenBahn (h0, zijlijn in de Eifel)
Eifelgeschiedenis (verhalen en video's over de Eifelburgenbahn)

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1178
    • El Carrilet
Re: El carrilet
« Reactie #16 Gepost op: 16 januari 2018, 11:57:31 »
Citaat
...  "video grabber"
Nu je het zegt... ik heb nog ergens zo een ding liggen, ooit gebruikt om videotape op DVD te zetten. Dat wordt even zoeken...
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

mikeya

  • Offline Offline
  • Berichten: 68
Re: El carrilet
« Reactie #17 Gepost op: 16 februari 2018, 14:30:29 »
Zojuist dit topic gevonden via de link in je signature.
Geinig project. Ik sta er niet altijd bij stil dat het digitaliseren van de baan iets is wat bijvoorbeeld al in de jaren 80 werd gedaan.
Ook leuk om generatieverschillen te zien qua programmeren  ::)
Zelf een beetje gerommeld met Delphi rond 1999, dat was zo rond mijn 13e, maar nooit meer iets meegedaan.

Dit ga ik wel volgen :)
- Mike

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1178
    • El Carrilet
Re: El carrilet
« Reactie #18 Gepost op: 18 februari 2018, 22:02:14 »
Citaat van: Reinout van Rees
...  "video grabber"
Ik heb mijn oude video grabber weer opgezocht en aangesloten op de ontvanger en de computer.  Vervolgens MS Movie Maker gedownload en uitgeprobeerd. Nu krijg ik alleen maar een zwart/wit beeld op de computer terwijl ik met de ontvanger op de TV wel een kleurenbeeld krijg... rara??

Ik heb de camera overigens weer uit de 'Cool' wagon gehaald en ingebouwd in een oude Jouef 1306, zonder motor, zodat hij door een andere loc opgeduwd kan worden ipv getrokken. Ik werd wat duizelig van het achteruitrijden...



Ik heb alle assen van de 1306 voorzien van stroomafnemers, een brugcel en een buffer-elco toegevoegd en een 7809 spanningsregelaar. De camera werkt nu zonder batterijtje, scheelt een hoop ruimte:



De camera zit achter het kleine gaatje onder de middenstijl, zit vast met twee M2 boutjes waarvan de koppen te zien zijn. Er zitten ook nog twee witte leds in die genoeg licht geven om ook in tunnels beeld te hebben.



Citaat van: mikeya
... Ik sta er niet altijd bij stil dat het digitaliseren van de baan iets is wat bijvoorbeeld al in de jaren 80 werd gedaan.
Ja, ik ben er begin jaren '80 mee begonnen, toen was jij nog niet geboren...  :)  Je bent net zo oud als mijn zoon.

Citaat
Dit ga ik wel volgen
Leuk, maar ik post niet zoveel, je moet wel geduld hebben.  ;D
« Laatst bewerkt op: 18 februari 2018, 22:07:41 door 72sonett »
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3246
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: El carrilet
« Reactie #19 Gepost op: 24 mei 2018, 09:19:27 »
Hoi,

Zit even te neuzen in je bouwdraadje (Dankzij je signature). Qua leeftijd en opleiding en programma afkomst redelijk op hetzelfde niveau.
Ben in de jaren 80/90 bezig geweest met automatiseren met het HCC!m systeem. Dus kon ook hun software gebruiken.
Daarnaast in die tijd Delphi gebruikt om mijn eerste stapjes in OO te zetten. Later veel aan gehad.
Nu is Visual Studio de ontwikkel omgeving voor de normale zaken. Verder zoveel mogelijk de bijbehorende IDE.

Groet,

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

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1178
    • El Carrilet
Re: El carrilet
« Reactie #20 Gepost op: 24 mei 2018, 11:49:06 »
Ik ben inmiddels gepensioneerd dus ik heb alle tijd voor modelspoor en ander hobbies.

Ik heb in het verleden ook veel programmeerwerk gedaan maar hoofdzakelijk voor relationele databases, niets in procesbesturing e.d., daar ben ik pas mee begonnen met deze modelbaan, de overstap van procedureel naar OOP heb ik ook nooit echt gemaakt, ben er wel mee begonnen, ook in Delphi maar het was me teveel gedoe en het ging me niet snel genoeg. Ik kan nu met Pascal alles doen wat ik wil dus ik begin ook niet meer aan OOP.

Wat ik nog wel doe is werken met een Basic Stamp microcontroller, o.a. de traverse op mijn baan wordt bestuurd door een BS2 en het een mechanisme uit een oude matrixprinter en er ligt ook nog ergens een Arduino waar ik wat mee stoei in C++ (wat een gedoe) en waar  nu een DCC++ centrale op staat, maar Pascal blijft mijn favoriete programmeertaal. Die Arduino centrale met JMRI is nog een project voor later...

Mijn modelbaan is inmiddels uitgebreid met een (soort van) schaduwstation met 4 sporen, dat vereiste weer wat extra programmeerwerk...

gr M.




« Laatst bewerkt op: 25 mei 2018, 15:00:06 door 72sonett »
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1178
    • El Carrilet
Re: El carrilet
« Reactie #21 Gepost op: 10 oktober 2018, 01:53:31 »
Vandaag maar eens een softwarematige aanpak bedacht voor een PWM snelheidsregeling omdat de vorige niet werkte... (zie hier).

Arduino Uno gekocht en een dubbele H brug. Een printje met 3 potmeters had ik nog liggen, uit een oude TV. Voeding gemaakt van de onderdelen uit een defecte spaarlamp + een ledje. Faller AMS trafo van 16 V had ik ook nog.

Programma'tje geschreven voor de Arduino. Het idee was om een positieve puls te maken met een variabele lengte van 0.. 10ms gevolgd door een negatieve puls van 0..10 ms, op soortgelijke manier als het originele Faller AMS systeem dat doet met een halve sinus, waarvan dan de amplitude geregeld wordt door een variabele weerstand, totale vaste lengte 20 ms (= 50 Hz). Met PWM regel je de pulsbreedte, niet de pulshoogte (die blijft constant).

Mijn idee was om tzt een parallelle LCD aan te sluiten om de snelheid te laten zien op een schaal van 0..100, dus die code zit ook al in het programma, maar het wordt dan waarschijnlijk te traag om nog op tijd pulsen te maken. Met een seriële terminal lukt het in ieder geval niet.

// AMSregelaar.ino
// regelt 2 auto's mbv een halve L298N dual H bridge module en 2 potmeters
//
// ================================= [include libraries ] ==========================================
#include <LiquidCrystal.h> // Hitachi HD44780 LCD library

// ================================= [global variables ] ==========================================
const byte LCDRSpin = 12;  // LCD pinnen
const byte LCDEnpin = 11;
const byte LCDD4pin =  4;  // data
const byte LCDD5pin =  5;
const byte LCDD6pin =  6;
const byte LCDD7pin =  7;
LiquidCrystal lcd(LCDRSpin, LCDEnpin, LCDD4pin, LCDD5pin, LCDD6pin, LCDD7pin);
//
// input pins met potmeter
const byte speed1pin =  A1; // snelheid auto 1 ++/-- met potmeter
const byte speed2pin =  A2; // snelheid auto 2 ++/-- met potmeter

// output pins motor control H-bridge
const byte auto1pin = 8;    // auto 1 op rijstrook A, '0' = stop, '1' = rijden
const byte auto2pin = 9;    // auto 2 op rijstrook A

const byte pulstijd = 10;   // pulslengte bij 50 Hz = 1/50 = 20/1000 = 20 ms = 10 msec +puls + 10 msec -puls
//word snelheid;
word rijtijd;
//                             +5 V|--------|              |-----|                 |---|
//                                 |        |              |     |                 |   |                   |
//                              0 -|        |--|  |--------|     |-----|  |--------|   |-------|   |-------|
//                                             |  |        |           |  |        |           |   |       |
//                             -5 V            |--|        |           |--|        |           |---|       |
//                                             |           |           |           |           |           |
// PWM deel              msec      |  8     | 2| 2|   8    |  5  |  5  | 2|    8   | 3 |   7   | 3 |   7   |
// hoog/laag freq        msec      |     10    |    10     |    10     |    10     |    10     |     10    |
// hoog + laag           msec      |          20           |          20           |          20           |
// ==============================================================================================================
void disp(word s, byte r){  // regel 1 = 0                  Subroutine om tekst op LCD te laten zien
  lcd.setCursor(0, r-1);    // laat s zien op regel r van display
  lcd.print("snelheid ");
  lcd.print(r,DEC);
  lcd.print(": ");         
  lcd.print(s, DEC);         
  lcd.print("  ");
}
// ========================== [set up ] ========================================================================
//
void setup() {
  lcd.begin(16, 2);          // set up LCD 16 karakters, 2 regels
  lcd.clear();
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(speed1pin,INPUT);  // joystick potmeter snelheid auto 1
  pinMode(speed2pin,INPUT);  // joystick potmeter snelheid auto 2
  pinMode(auto1pin,OUTPUT);  // aansturing H brug
  pinMode(auto2pin,OUTPUT);
  digitalWrite(auto1pin,LOW); // auto 1 uit
  digitalWrite(auto2pin,LOW); // auto 2 uit

  //Serial.begin(9600);         // open serial port  9600 bps: 
}
// ========================= [ main ] ============================================================================
void loop() {
  digitalWrite (auto1pin,HIGH);        // laat auto 1 rijden, kijk ondertussen naar +/- joystick
  digitalWrite(LED_BUILTIN, HIGH);     // ingebouwde LED loopt mee met auto 1
  //snelheid = analogRead(speed1pin)/10; // potmeter; waarde 0..1023/10 = 0..102
  //disp(snelheid,1);                    // laat snelheid 1 zien op regel 1 van lcd
  //Serial.print("snelheid 1: ");        // test
  //Serial.println(snelheid);            // test
  //rijtijd = snelheid/10;               // waarde 0..102/10 ==> puls 0..10 msec
  rijtijd = analogRead(speed1pin)/100; // waarde 0..1023/100 ==> puls 0..10 msec
  delay (rijtijd);                     // laat auto 1 rijden gedurende 'rijtijd1' = 0..10 msec
  digitalWrite(auto1pin,LOW);          // stop auto 1
  digitalWrite(LED_BUILTIN, LOW);      // ingebouwde LED loopt mee met auto 1
  delay (pulstijd - rijtijd);          // gedurende rest pulstijd, totaal 10 msec

  digitalWrite(auto2pin,HIGH);         // laat auto 2 rijden, kijk ondertussen naar joystick
  //snelheid = analogRead(speed2pin)/10; // potmeter; waarde 0..1023/10 = 0..102
  //disp(snelheid,2);                    // laat snelheid 2 zien op regel 2 van lcd
  //Serial.print("Snelheid 2: ");
  //Serial.println(snelheid);
  //rijtijd = snelheid/10;               // waarde 0..102/10 ==> puls 0..10 msec
  rijtijd = analogRead(speed2pin)/100; // waarde 0..1023/100 ==> puls 0..10 msec
  delay (rijtijd);                     // laat auto 2 rijden gedurende 'rijtijd2' = 0..10 msec
  digitalWrite(auto2pin,LOW);          // stop auto 2
  delay (pulstijd - rijtijd);          // gedurende rest pulsijd

// LOOP                    // voor altijd
}
// ==========================[ end main ] ========================================================================

De Arduino verbonden met de potmeters en de stuuringang van de motorregelaar. De Arduino zit op een 12 V adapter.
De motorregelaar krijgt een gelijkspanning van ca 20 V uit de trafo en de voeding, de uitgang van de regelaar gaat naar de baan.

Foto's volgen...
« Laatst bewerkt op: 10 oktober 2018, 17:26:13 door 72sonett »
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1178
    • El Carrilet
Re: El carrilet
« Reactie #22 Gepost op: 10 oktober 2018, 17:08:56 »
Dat ziet er dan zo uit:

Potmeters



Arduino, H-brug motorregelaar



Trafo, voeding



Pulsen zichtbaar op DSO
+puls


-puls


beide


Puls met rijdende auto



Video van pulsen bij verdraaien van potmeters, eerst + puls van 0-- -> 10 ms, dan -puls 0 ---> 10 ms
en weer terug naar 0 ms

<a href="https://www.youtube.com/v/eeQ7wKJ8dOA" target="_blank" class="new_win">https://www.youtube.com/v/eeQ7wKJ8dOA</a>

Pulsen met rijdende auto
<a href="https://www.youtube.com/v/cYd4oS7vSTA" target="_blank" class="new_win">https://www.youtube.com/v/cYd4oS7vSTA</a>
« Laatst bewerkt op: 10 oktober 2018, 17:15:25 door 72sonett »
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1178
    • El Carrilet
Re: El carrilet
« Reactie #23 Gepost op: 10 december 2018, 14:11:32 »
Dit weekeind nog wat verder nagedacht...

Een Arduino heeft 6 analoge ingangen en 6 PWM uitgangen. Door die te gebruiken, met een dubbele H-brug motorregelaar, is het mogelijk om 4 auto's onafhankelijk van elkaar te laten rijden.

Schema:



Regelaar:




Maar dan blijven er van de Arduino nog 2 in- en uitgangen ongebruikt, dat is jammer...
Door nog 2 potmeters toe te voegen en een 2e motorregelaar, zijn er dus 6 auto's te regelen, en met 2 Arduino's en 3 regelaars dus 12 auto's (de 2e motorregelaar wordt met 2 Arduino's gestuurd).

De code is voor dit laatste, 6 auto's per Arduino:
Code:
// AMScontrollerPWM.ino
//
// controls 2x 2 Faller AMS cars in same lane
// using L298N dual H bridge module and 4 (slide) potmeters
//
// ================================= [include libraries ] ==========================================
//  none
// ================================= [global variables ] ==========================================
//
// input pins potmeters
const byte speed6pin =  A0; // speed car 6 ++/--  potmeter
const byte speed1pin =  A1; // speed car 1 ++/--  potmeter
const byte speed2pin =  A2; // speed car 2 ++/--  potmeter
const byte speed3pin =  A3; // speed car 3 ++/--  potmeter
const byte speed4pin =  A4; // speed car 4 ++/--  potmeter
const byte speed5pin =  A5; // speed car 5 ++/--  potmeter
//
// output pins H-bridge 1 (PWM)
const byte car1pin = 11; // lane A, cars 1 & 2
const byte car2pin = 10;
const byte car3pin = 6;  // lane B, cars 3 & 4
const byte car4pin = 5;
// output pins H-bridge 2 (PWM)
const byte car5pin = 4;  // lane C, cars 5 & 6
const byte car6pin = 9;
//
const byte pulsetime = 10;  // pulse length at 50 Hz = 1/50 sec = 0.002 sec = 20 ms = 10 msec +puls + 10 msec -puls
//
// =========================== [ set up ]=========================================================================
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite (LED_BUILTIN, HIGH);  // built-in LED on
  pinMode(speed1pin,INPUT);  // potmeter speed car 1
  pinMode(speed2pin,INPUT);  // potmeter speed car 2
  pinMode(speed3pin,INPUT);  // potmeter speed car 3
  pinMode(speed4pin,INPUT);  // potmeter speed car 4
  pinMode(speed5pin,INPUT);  // potmeter speed car 5
  pinMode(speed6pin,INPUT);  // potmeter speed car 6
 
  pinMode(car1pin,OUTPUT);   // control of H bridge 1, cars 1..4
  pinMode(car2pin,OUTPUT);   // all pins output
  pinMode(car3pin,OUTPUT);
  pinMode(car4pin,OUTPUT);
  pinMode(car5pin,OUTPUT);   // control of H bridge 2, cars 5,6
  pinMode(car6pin,OUTPUT);
 
  digitalWrite(car1pin,LOW); // all cars stop
  digitalWrite(car2pin,LOW);
  digitalWrite(car3pin,LOW);
  digitalWrite(car4pin,LOW);
  digitalWrite(car5pin,LOW);
  digitalWrite(car6pin,LOW);
  delay (1000);                     // wait 1 sec
  digitalWrite (LED_BUILTIN, LOW);  // built-in LED off
}
// =========================== [ main ] ==========================================================================
void loop() {
  // ADC value on potmeter speed pin = 0..1023
  // divide by 4 to convert to pulse 0..255 ==> 0..100% duty cycle
  //
  // for '+' cars in lane A, B & C (cars 1, 3 & 5)
  digitalWrite (car1pin,LOW);
  analogWrite  (car2pin,analogRead(speed1pin)/4); // + car 1 in lane A
  digitalWrite (car3pin,LOW);
  analogWrite  (car4pin,analogRead(speed3pin)/4); // + car 1 in lane B
  digitalWrite (car5pin,LOW);
  analogWrite  (car6pin,analogRead(speed5pin)/4); // + car 1 in lane C
  delay (pulsetime); // wait positive halfwave

  // for '-' cars in lane A B & C (cars 2, 4 & 6)
  digitalWrite (car2pin,LOW);
  analogWrite  (car1pin,analogRead(speed2pin)/4); // - car 2 in lane A
  digitalWrite (car4pin,LOW);
  analogWrite  (car3pin,analogRead(speed4pin)/4); // - car 2 in lane B
  digitalWrite (car6pin,LOW);
  analogWrite  (car5pin,analogRead(speed6pin)/4); // - car 2 in lane C
  delay (pulsetime); // wait negative halfwave
 
} // repeat forever
 
// ==========================[ end main ] ========================================================================

Deze week nog maar wat bijbouwen.
El Carrilet

Not sent from my Pocketline Swing 380, Xperia Z2, iPhone, C5503, ALE-L21 or SM-G900F using Tapatalk.

MH