BeneluxSpoor.net forum

Wat zijn we aan het bouwen? => Baanplannen => Topic gestart door: 72sonett op 27 september 2016, 23:28:43

Titel: El carrilet
Bericht door: 72sonett op 27 september 2016, 23:28:43
Mijn meerjarenplan, inmiddels al 30 jaar...

Getekend met SCARM (http://www.scarm.info/index.php).
(https://images.beneluxspoor.net/bnls/snapshot6.jpg)

(https://images.beneluxspoor.net/bnls/snapshot7.jpg)
Niet helemaal precies zoals gebouwd, meer een design as you go. Afmeting ca. 3,40 x 2,40 m.

(https://images.beneluxspoor.net/bnls/DSCI2554.jpg)

(https://images.beneluxspoor.net/bnls/DSCI2557.jpg)

(https://images.beneluxspoor.net/bnls/DSCI2566.jpg)

(https://images.beneluxspoor.net/bnls/Photo0168.jpg)

(https://images.beneluxspoor.net/bnls/scouts2.jpg)
Titel: Re: El carrilet
Bericht door: VFR op 28 september 2016, 12:12:14
En als ik dit zo zie, ook al 30 jaar plezier van neem ik aan.  ;D
Titel: Re: El carrilet
Bericht door: 72sonett op 29 september 2016, 14:10:38
 8) filmpjes;


https://www.youtube.com/v/JB91Qlc-WU4

https://www.youtube.com/v/0e0jT8e-Tnk
Titel: Re: El carrilet
Bericht door: 72sonett op 03 oktober 2016, 20:08:27
De hard- en software;

(https://images.beneluxspoor.net/bnls/Trein-8255ppi.jpg)

In de computer zitten twee I/O kaarten met een 8255 PPI (https://en.wikipedia.org/wiki/Intel_8255) volgens een ontwerp van Elektuur (uit 1989). De ene kaart is geconfigureerd voor invoer, de andere voor uitvoer, ieder 3 bytes breed. Aan de invoerkant is daarmee ruimte voor 24 bezetmelders met reedschakelaars, aan de uitvoerkant is ruimte voor 24 relais voor stopsecties en wissels.

Het programma op de computer leest constant de 3 adressen van de 24 bezetmelders. Aan de hand van een melding wordt de status van de blokken bijgewerkt en op het scherm getoond, de stopsecties worden met de relais in/uitgeschakeld en wissels worden omgezet.
Op de baan staat een constante 12 V voor de 'snelle' delen, vóór en na iedere stopsectie zit ca 1 m spoor waar 10 V op staat, zodat de loc daar langzamer rijdt. Ook de stopsecties worden met 10 V geschakeld.

Het programma is geschreven in Pascal met een Lazarus IDE (http://www.lazarus-ide.org/), maatwerk specifiek voor deze baan.
Titel: Re: El carrilet
Bericht door: ruudns op 03 oktober 2016, 20:10:22
 (y) Wijs, nog met de echte oude Faller autowegen (y).
Titel: Re: El carrilet
Bericht door: Te 2/2 op 22 november 2016, 10:50:38
Bij toeval stuit ik op dit draadje, en zie daar zo'n oude faller overweg, met messing middelrail. Goede herinneringen uit m'n jeugd. De autootjes deden het allang niet meer, de trafo had ik in mijn jeugd misbruikt voor electrolyse proefjes, maar die baandelen zouden nog ergens op zolder kunnen slingeren.
Bij gelegenheid maar eens kijken ...

Daarna zie ik een schema uit elektuur (1989). Met plek voor 24 reedcontacten en 24 relais op 24-bit format, en vooral dat laatste verbaasde me. Vandaag de dag zou je dat anders aanpakken, maar voor 1989 is dat buitengewoon efficiënt. Betekent 1 bit (pin?) per apparaat, dus monostabiele relais. Klasse dus. Leuke link naar Lazarus, erbij. Ken ik niet, omdat ik in de C++ wereld leefde, en pascal iets is van lang geleden voor mij (<1987).

Kortom, een leuk draadje, bedankt.
Titel: Re: El carrilet
Bericht door: 72sonett op 22 november 2016, 21:55:20
Citaat
...... een schema uit elektuur (1989). ... buitengewoon efficiënt..
In 1985/86 deed ik HTS informatica en toen was Pascal de standaard programmeertaal. Ik ben toen ook met Borland's Turbo Pascal begonnen, in DOS uiteraard - Windows ...  ???

Die Elektuur I/O-kaart zit in een ISA connector van een 386 PC. Door de beperkte grafische mogelijkheden van Turbo Pascal onder DOS draait het op een PC met Windows 95 maar wel in een DOS box.  OK voor toen, maar alles bij elkaar nu behoorlijk achterhaalde techniek, noem het maar remmende voorsprong...  ISA connectoren zijn er niet meer, Windows staat niet meer toe dat een programma rechtstreeks I/O adressen leest of schrijft (moet via DLLs of API's) en alleen heel oude versies van Lazarus/FP compileren nog voor W95.

Ik heb er wel eens aan gedacht om opnieuw te beginnen, Lazarus IDE met Free Pascal, Windows XP en 2x een USB I/O kaart (https://nl.aliexpress.com/item/From-intelligent-household-USB-I-0-Data-acquisition-card-Control-module-MCU-IO-pin-16-road/32324935299.html?spm=2114.48010508.4.2.Yt06b4) met ieder 16 pennen.
(https://ae01.alicdn.com/kf/HTB1nTYjLpXXXXXOapXXq6xXFXXXn/Gratis-drive-intelligente-Ik-0-USB-data-acquisitie-kaart-controle-module-16-MCU-IO-pin.jpg_640x640.jpg)

Op het WWW zijn wel voorbeelden te vinden hoe deze kaart aan de praat te krijgen is maar dat is allemaal in C/++.  Voor de Arduino ben ik daar wel mee begonnen maar ik vind het een hopeloos cryptische programmeertaal vergeleken met Pascal, zeker als er nog OOP bij komt ook, ik ben meer 'procedureel', de vertaalslag van C naar Pascal is me nu nog te vaag.
Citaat
... Lazarus .... Ken ik niet, omdat ik in de C++ wereld leefde, en pascal iets is van lang geleden voor mij (<1987).
Ik heb 2 van die USB kaarten besteld, worden hopelijk half december geleverd. Misschien pb ik je nog wel met vragen over het vertalen van C naar Pascal...  :)
Titel: Re: El Carrilet
Bericht door: 72sonett op 11 oktober 2017, 23:15:21
De afgelopen maanden heb ik o.a. de hard- en software omgebouwd naar gebruik voor Windows XP met 4 USB I/O sticks. Het zou nu ook op latere Windowsversies moeten werken, maar dat moet ik nog uitproberen.


(https://images.beneluxspoor.net/bnls/IOboard.jpg) (https://images.beneluxspoor.net/bnls/IOboard.jpg)

In het midden zit een USB hub met 4 aansluitingen, deze hub zit met een kabeltje aan de computer (laptop).
Aan de hub zitten de 4 USB I/O sticks, 2 voor invoer (onder en boven), 2 voor uitvoer (links en rechts). De invoer komt van bezetmelders (reedschakelaars), die via in de I/O kaart  ingebouwde optrekweerstanden even naar massa schakelen als er een loc met een magneetje er onder een blok inrijdt.
De uitvoer gaat via twee relaiskaarten die de stopsecties en wissels schakelen. De linker kaart heeft 16 relais, de rechter 10 relais + 6 open collector transitorschakelaars.
Een aantal wissels zonder eindafschakeling wil ik nog gaan schakelen met servo's, ook ipv te vertrouwen op afschakeling van wissels die dat wel hebben.


Op de achterkant van het paneel zit de voeding, 12 V en 5 V uit een oude computervoeding, en nog twee voedingen, één om 10 V uit de 12 V te halen voor de afremsecties, en één aparte met meerdere spanningen voor ledverlichting en andere grappen.
Die 10 V wil ik nog vervangen door een instelbare 12 V PWM regeling.

(https://images.beneluxspoor.net/bnls/voedingen.jpg) (https://images.beneluxspoor.net/bnls/voedingen.jpg)


De reedschakelaars zitten aan het begin van ieder blok tussen de rails.
(https://images.beneluxspoor.net/bnls/reed2.jpg) (https://images.beneluxspoor.net/bnls/reed2.jpg)
Eenmaal aangevuld met ballast en wat bijgeverfd vallen ze niet meer op.



Het programma op de laptop is herschreven in (Free) Pascal in de Lazarus IDE, bijna 2000 regels code, voor gebruik van de USB sticks ipv die Elektuur I/O kaart. De twee eerder gekochte USB sticks heb ik na veel www-zoeken aan de praat gekregen en vervolgens nog twee bijgekocht.
Bij de USB sticks werd een .DLL meegeleverd en programmavoorbeelden in C++, die heb ik herschreven in Pascal. In het Pascalprogramma kan ik procedures en functies in die .DLL als extern definieren en aanroepen alsof ze een deel van het Pascalprogramma zijn. Zo is iedere individuele pen van de stick als invoer of uitvoer te definieren en je kunt ze uitlezen c.q. een waarde geven.


Geinspireerd door andere zelfbouwtopics op dit forum heb ik me ook nog gewaagd aan deze kruising, bij gebrek aan een bestaand iets met een bocht er in. De rails zijn gesoldeerd op een stukje dubbelzijdig printplaat. Het is nog niet perfect maar de meeste treinen gaan er overheen zonder ontsporen...

(https://images.beneluxspoor.net/bnls/kruising_6.jpg) (https://images.beneluxspoor.net/bnls/kruising_6.jpg)






Titel: Re: El carrilet
Bericht door: laurent op 11 oktober 2017, 23:47:14
Wat ik in je kruising mis zijn de contrarails om te zorgen dat je wielen niet de verkeerde kant op gaan. :) Verder een interessant project zo, zeker met die zelfbouw elektronica allemaal erbij.
Titel: Re: El Carrilet
Bericht door: 72sonett op 11 oktober 2017, 23:51:56
Er zitten bielzen tussen als contrarails, is op de foto niet zo goed te zien.

Mijn interesse gaat meer uit naar elektronica en besturing dan naar scenery en tijdperkcorrecte treinstellen, bij mij rijdt vanalles door elkaar...
Titel: Re: El Carrilet
Bericht door: 72sonett op 13 oktober 2017, 10:38:35
Zo ziet het er uit op het computerscherm:
(https://images.beneluxspoor.net/bnls/scherm1.jpg) (https://images.beneluxspoor.net/bnls/scherm1.jpg)

De 4 opstelsporen rechts zijn er in werkelijkheid nog niet, komt later.
Rode lijn is bezet blok, groen is vrij. De seinen worden aangegeven met een dikke rode of groene stip.
De lijst midden in het scherm geeft de treinen die beschikbaar zijn op de witte sporen aan de linkerkant, dat deel is handbediend. Een geselecteerde trein kan ik het gecontroleerde deel in laten rijden, en er weer uit.

De blauwe stippen zijn bezetmelders (reedschakelaars), door ze op het scherm aan te klikken kan ik een trein simuleren.
Titel: Re: El carrilet
Bericht door: 72sonett op 26 november 2017, 23:43:58
De meeste elektrische wissels worden rechtstreeks bediend door een relais op de uitvoerkaart waarbij ik vertrouw op de eindafschakeling, maar nog niet alle wissels zijn elektrisch en de klassieke Roco of Fleischmann wisselaandrijvingen zijn me te duur.

Door goedkope servo's en een omgebouwde servotester te gebruiken worden die wissels nu omgezet door een servo:

- goedkope Chinese servotester, ca 1 euro
(https://images.beneluxspoor.net/bnls/wisselservo-01.jpg)

- potmeter (10k) lossolderen:
(https://images.beneluxspoor.net/bnls/wisselservo-02.jpg)

- connector en draadbrug er op:
(https://images.beneluxspoor.net/bnls/wisselservo-03.jpg)

- 2 potmeters (10k) parallel en 2 connectoren op apart stukje gaatjesboard:
(https://images.beneluxspoor.net/bnls/wisselservo-04.jpg) (https://images.beneluxspoor.net/bnls/wisselservo-05.jpg)

- gaatjesboard op testerprintje geprikt
(https://images.beneluxspoor.net/bnls/wisselservo-06.jpg)

-SG92 servo (ca 1 euro) aangesloten en connector met 3 lange draden naar relais op uitvoerkaart
(https://images.beneluxspoor.net/bnls/wisselservo-07.jpg)

Het common relaiscontact komt aan het oude lopercontact van de tester. De NC en NO relaiscontacten komen aan de lopers van de 2 potmeters. Met het schakelen van het relais wordt steeds één van de 2 potmeters gekozen. Hiermee zijn de eindstanden van de servo in te stellen.

Zie ook deze pagina in de encyclopedie (https://encyclopedie.beneluxspoor.net/index.php/Servo-aansturing#Aangepaste fabrieks-servotester).

Wisselaandrijving voor ca 2,50 euro, een fractie van de fabrieksaandrijving...
Titel: Re: El carrilet
Bericht door: Hans Grasmaijer op 27 november 2017, 00:53:59
Leuke baan met veel zelfbouw. Bijvoorbeeld je wisselaandrijving, dat geeft te denken.
Filmpjes ook leuk, lekker puur techniek el carrilet y el coche.
Mag ook wat muziek eronder, van de animals bijvoorbeeld, of jouw voice-over met uitleg.  (y)




Titel: Re: El carrilet
Bericht door: 72sonett op 27 november 2017, 18:59:58
Het 1e schema is het ge-"reverse engineerde" schema van een servotester, rond het IC niet helemaal correct maar het gaat vooral om hoe de potmeter aan het IC zit.
Het 2e schema geeft het principe van 2 potmeters en een schakelaar.
Het 3e schema is zoals ik het gemaakt heb, met een piggy back printplaatje met connectoren en 2 potmeters op de plaats van de ene potmeter.

Een wisseldecoder werkt ook met een relais toch? Dit is dan ook voor een digitale baan te gebruiken.

(https://images.beneluxspoor.net/bnls/wisselservo-08_1.jpg)


Die filmpjes heb ik ooit even snel gemaakt met mijn telefoon, met slechte belichting. Teveel moeite om ze mooier te maken met een muziekje er bij...
Titel: Re: El carrilet
Bericht door: 72sonett op 15 januari 2018, 19:49:17
Dit weekeind een draadloos camera'tje ingebouwd in een lange "DIGITAL is cool" wagon:

(https://images.beneluxspoor.net/bnls/camera-1.jpg)

(https://images.beneluxspoor.net/bnls/camera-2.jpg) (https://images.beneluxspoor.net/bnls/camera-3.jpg)

Ontvanger, aangesloten op video ingang van TV:

(https://images.beneluxspoor.net/bnls/camera-5.jpg)

Beeld op TV:

(https://images.beneluxspoor.net/bnls/camera-6.jpg)


Nu nog uitzoeken hoe ik er een filmpje van kan maken.

Titel: Re: El carrilet
Bericht door: Reinout van Rees 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 (https://www.conrad.nl/nl/basetech-br116-video-grabber-incl-videobewerkingssoftware-plug-play-1168633.html?sc.ref=Search%20Results)) kunnen gebruiken.

Reinout
Titel: Re: El carrilet
Bericht door: 72sonett 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...
Titel: Re: El carrilet
Bericht door: mikeya 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 :)
Titel: Re: El carrilet
Bericht door: 72sonett 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 (https://www.microsoft.com/nl-nl/store/p/movie-creator-free-video-editor/9nblggh4wwjr) 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...

(https://images.beneluxspoor.net/bnls/camera1306-1.jpg)

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:

(https://images.beneluxspoor.net/bnls/camera1306-5.jpg)

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.

(https://images.beneluxspoor.net/bnls/camera1306-3.jpg)

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
Titel: Re: El carrilet
Bericht door: gvandersel 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.
Titel: Re: El carrilet
Bericht door: 72sonett 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.

(https://images.beneluxspoor.net/bnls/schaduw01.jpg)


Titel: Re: El carrilet
Bericht door: 72sonett 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 (https://forum.beneluxspoor.net/index.php?topic=78506.msg3221828456#msg3221828456)).

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...
Titel: Re: El carrilet
Bericht door: 72sonett op 10 oktober 2018, 17:08:56
Dat ziet er dan zo uit:

Potmeters
(https://images.beneluxspoor.net/bnls/potmeters.jpg) (https://images.beneluxspoor.net/bnls/potmeters.jpg)


Arduino, H-brug motorregelaar
(https://images.beneluxspoor.net/bnls/ArduinoUno.jpg) (https://images.beneluxspoor.net/bnls/ArduinoUno.jpg)


Trafo, voeding
(https://images.beneluxspoor.net/bnls/regelaarHbrug-2.jpg) (https://images.beneluxspoor.net/bnls/regelaarHbrug-2.jpg)


Pulsen zichtbaar op DSO
+puls
(https://images.beneluxspoor.net/bnls/pluspuls.jpg) (https://images.beneluxspoor.net/bnls/pluspuls.jpg)

-puls
(https://images.beneluxspoor.net/bnls/minpuls.jpg) (https://images.beneluxspoor.net/bnls/minpuls.jpg)

beide
(https://images.beneluxspoor.net/bnls/helepuls.jpg) (https://images.beneluxspoor.net/bnls/helepuls.jpg)

Puls met rijdende auto
(https://images.beneluxspoor.net/bnls/viezepuls.jpg) (https://images.beneluxspoor.net/bnls/viezepuls.jpg)


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

https://www.youtube.com/v/eeQ7wKJ8dOA

Pulsen met rijdende auto
https://www.youtube.com/v/cYd4oS7vSTA
Titel: Re: El carrilet
Bericht door: 72sonett 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:

(https://images.beneluxspoor.net/bnls/AMSregelaar4xPWM.jpg)

Regelaar:
(https://images.beneluxspoor.net/bnls/regelaarNanox4-1.jpg)

(https://images.beneluxspoor.net/bnls/regelaarNanox4-2.jpg)

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.
Titel: Re: El carrilet
Bericht door: mikeya op 26 december 2018, 19:58:17
 (y) (y) (y)
Titel: Re: El carrilet
Bericht door: Sven op 21 juli 2019, 10:24:36
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
Martin, ik heb een Wifi camera (SQ13) om in een lok in te bouwen en ik wil ook zoiets erom heen bouwen, zodat de camera stroom afneemt van het spoor en een stroombuffer heeft. Weet je misschien waar ik ergens een overzicht/schema hiervan kan vinden hoe ik dat in elkaar zet? Het lijkt me een redelijk eenvoudige opstelling en ik ben wel handig met solderen, maar niet met het bedenken van elektronische schakelingen.
Titel: Re: El carrilet
Bericht door: Sven op 21 juli 2019, 11:17:15
Antwoord ontvangen via PM. Camera heeft batterij, da's z'n stroombuffer. 5V DC converter erop, klaar. Ik zal er in mijn draadje over de SQ13 verder over schrijven als ik zover ben.