Auteur Topic: Een analoge baan aan sturen via je laptop  (gelezen 12863 keer)

0 leden en 1 gast bekijken dit topic.

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Een analoge baan aan sturen via je laptop
« Gepost op: 13 oktober 2020, 17:02:29 »
Ik ben aan een nieuw project begonnen, het aansturen van een analoge baan via je laptop.

Vanuit de laptop wordt de I/O-kaart aangesproken die vervolgens de baan bedient via relais.
Ik probeer het programma zo eenvoudig mogelijk te houden.
In de eerste versie kun je met het programma nog maximaal 32 wissels, blokken en/of seinen bedienen.
De tekening in het programma maak je gewoon met een tekenprogramma zoals paint.


Gr Theo



Offline Jan Trein

  • Stationchef
  • ***
  • Berichten: 180
  • Thanked: 7 times
  • Geslacht: Man
  • (2+3)-rail rijder
Re: Een analoge baan aan sturen via je laptop
« Reactie #1 Gepost op: 13 oktober 2020, 22:40:46 »
Je gebruikt deze kaart, en ik lees daarover bij farnell, die de datasheet beschikbaar stelt, dat je er in windows voor kunt programmeren. Visual Studio, of moet ik toch meer richting assembler denken?

Dit verkoop praatje maakt me niet wijzer:


Het lijkt me iets duurder in de aanschaf dan een Arduino board, maar als je met Visual Studio iets kan, ligt dat anders (maak van je werk je hobby).

Succes.
Groet, Jan

ik spoor niet, ik doe alsof

Offline Anne W

  • Super Modelspoorder
  • ******
  • Berichten: 1.911
  • Thanked: 31 times
  • Geslacht: Man
  • Elk vogeltje zingt zoals het gebekt is
Re: Een analoge baan aan sturen via je laptop
« Reactie #2 Gepost op: 13 oktober 2020, 22:41:08 »
Beste Theo,

Ik denk dat je het leuk vindt om te doen, maar je weet dat zo'n systeem al bestaat, Dinamo http://www.vpeb.nl/oplossingen/treinen/ ?

Groet, Anne W
Voorheen: Raptor, Edits booster 10A, 20 digitale loks, automatisch bedrijf (Raptor), voor het volgen van de bouw en de ontmanteling van mijn baan, google \"mochten jullie denken dat ik alleen met\"

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #3 Gepost op: 14 oktober 2020, 10:00:21 »
Ja, het is vooral leuk om het te maken. Ik heb ook gekeken naar de arduino, maar een arduino is niet echt geschikt om vanuit je pc aan te sturen, dus toch maar de k8055. Met alleen een k8055 heb je te weinig  uitgangen,  8 stuks en daarmee zou je maar b.v. 4 wissels mee kunnen bedienen. Als je gebruik maak van multiplexers kan je maximaal 64 wissels, blokken en/of seinen aansturen.
Bij tante Ali heb ik er nu 4 besteld, dus even wachten totdat ze binnen zijn. (een muliplexer heb je daar al voor 50 cent, toch geen geld meer)
In de versie waar ik nu mee ben begonnen is nog beperkt tot 32 wissels en zo, maar als deze goed werkt kan je als nog naar 64 gaan.
Je kunt het programma zo als het er nu uitziet downloaden via http://www.modelspoorpic.nl/stoomspoor.html
In eerste instantie kun je met het programma alleen aansturen, maar daarna wil ik ook sensoren plaatsen zodat je kan zien af de trein ook daadwerkelijk is aangekomen. De laatste stap zal dan zijn het maken van een spoorboekje.
Maar eerst even afwachten tot de elektronica binnen is.

Gr Theo


Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #4 Gepost op: 15 oktober 2020, 09:22:44 »
Het idee is om de relais op de volgende manier aan te sturen.
De klok staat uit, dus er wordt geen signaal naar de relais gestuurd, zeg maar de "uit" stand in rust.
Dan worden adres-1 en adres-2 gemaakt, hiermee wordt een specifiek relais gekozen, maar nog niet aangezet.
Daarna gaat de klok naar 5V, de "muliplexer 1=>4" heeft een "1=>16 muliplexer" geselecteerd en deze wordt nu aangezet.
Het geselecteerde relais wordt nu 0,5 seconde bekrachtigd.



Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #5 Gepost op: 17 oktober 2020, 09:32:50 »
Met de uitgangen kan ik nu even niet verder omdat de multiplexer nog uit China moeten binnen komen.
Maar ik kan wel alvast gaan nadenken over de ingangen, de sensors op de baan.
Ik wil 10 sensoren kunnen plaatsen die om beurten worden afgetast. Iedere seconde worden deze 10 een keer afgetast (en ook moet ik hier een multiplexer inzetten, de kaart heeft van zichzelf maar 5 ingangen.)
Maar het kan zijn dat als z'n sensor wordt afgetast de trein net niet meer over de sensor rijdt en de sensor geen trein ziet op het moment dat ik de sensor uitlees, kort om er moet hier een tijdsvertrager worden gemaakt. Ik denk eraan om hiervoor twee arduino's in te zetten. Je kunt met een programma (een schets) een tijdvertrager maken.
Wie weet een simpele schets om dit te programmeren in arduino-nano??
Deze schets moet aan de volgende eisen voldoen:
- de input moet laag getrokken worden als er een trein over de sensor rijdt
- de uitgang moet 1,2 seconde actief blijven
- de uitgang moet laag getrokken worden bij detectie
- de arduino moet continu blijven detecteren, je kan geen delay of zoiets gebruiken

Wie heeft er een simpele oplossing?

Gr Theo




Offline Jan Trein

  • Stationchef
  • ***
  • Berichten: 180
  • Thanked: 7 times
  • Geslacht: Man
  • (2+3)-rail rijder
Re: Een analoge baan aan sturen via je laptop
« Reactie #6 Gepost op: 17 oktober 2020, 12:06:22 »
Van arduino weet ik zo goed als niets, dus daarbij kan ik je niet helpen, maar van sensors juist heel veel.

Uit je woordkeus maak ik op dat je een bepaald type sensor voor ogen hebt, namelijk eentje die soms uit is als die aan had moeten zijn. Dat betekent dat je een bipolaire optocoupler niet in overweging hebt genomen, maar bijvoorbeeld denkt aan LDR, IR-beam of IR-reflexie, of zelfs reedcontact of unipolaire hallsensor.

Als je met reedcontacten (unipolaire hallsensoren) werkt, kun je denken aan twee reedcontacten (begin en eind van een traject, of aan twee magneten op de trein (voor- en achterkant). De sensor is uit op het moment dat jij 'm wil pollen, maar je pollt de sensors dan niet zelf, maar het relais (of D-flipflop) dat door die twee sensors per blok of twee magneten per trein wordt bediend. Het voordeel van 2 sensors t.o.v. 2 magneten op de trein is de plaatsingsmogelijkheid, en daarmee de volle lengte van de sectie die je ermee bestrijkt. De andere optie (twee magneten op een trein) is juist handiger voor de positiebepaling van die trein binnen een blok (b.v. gemeten vanuit het midden van een perron), en dan zul je inderdaad soms geen signaal ontvangen als je dat juist wel wilt.

Als je met LDR of IR werkt, dan werkt dat alleen zolang de trein wordt waargenomen, maar ook niet verder dan dat. Dus dat is alleen geschikt voor blokbewaking als de trein even lang is als een blok, en dat is zelden zo. Daarom worden die sensors meestal alleen gebruikt voor puntbewaking (b.v. de achterkant van een trein, de positie van de koppeling).
Een optocoupler heeft als voordeel dat je met stroom- of massadetectie kunt werken, binnen een bepaald tracee (b.v. een blok). Dat faalt nooit, is altijd aan als er een trein is, en altijd uit als hij er niet is. En bij elke poll heb je zekerheid.

LDR en IR zijn wel geschikt om vast te stellen of een deel van een blok vrij is, maar niet om vast te stellen of een heel blok bezet is. Daar komt het verschil met een optocoupler eigenlijk op neer. De optocoupler kan van een heel blok beide statussen vast stellen.
Groet, Jan

ik spoor niet, ik doe alsof

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #7 Gepost op: 17 oktober 2020, 14:03:55 »
Nee, mijn gedachten gaan niet uit naar een specifieke sensor. Het programma dat ik maak moet algemeen en voor iedereen te vrij gebruiken zijn. Wel heeft het de voorkeur dat de sensor de spanning naar beneden trekt, maar dit is niet perse nodig. Bovendien er zijn diverse trucs om een signaal om te keren. Wel de moet de uitgang van de timer omlaag gaan bij een detectie, dit is nodig voor de I/O-kaart (k8055) naar de laptop. Bij het programma wil ik ook een handleiding maken waarin je keuze hebt om een arduino of een PIC te gebruiken als timer.

Gr Theo

Offline Jan Trein

  • Stationchef
  • ***
  • Berichten: 180
  • Thanked: 7 times
  • Geslacht: Man
  • (2+3)-rail rijder
Re: Een analoge baan aan sturen via je laptop
« Reactie #8 Gepost op: 17 oktober 2020, 14:31:02 »
Bij het programma wil ik ook een handleiding maken waarin je keuze hebt om een arduino of een PIC te gebruiken als timer.
Timer: je wil dus een externe timer hebben vanwege arduino en k8055, en er niet een bestaande timer-chip tegen aan gooien, omdat je dan klokconflicten kunt verwachten.

Ik zit even te denken aan een oud draadje van iemand, Paul Smits, van de Delftse modelbouwclub (op een ander forum).
Die was bezig aan een eigen besturingssysteem (arduino)  op basis van bezetmelding met 1 LDR per blok, en een IC ULN2803A voor het multiplexen.

Hij kreeg het advies over te stappen naar 8x BD679A, omdat deze IC in praktijk ongeschikt was gebleken.
Hij komt dan uit op een derde mogelijkheid, een MOSFET (dat zegt mij al niets meer).
Hij krijgt van alle kanten advies. En moet halverwege z'n project stoppen om privéredenen.
Hij is dan al 3 keer geswitcht van arduino-types omdat oudere types niet voldeden.
Erg interessante lectuur, vooral alle goedbedoelde commentaar van kenners.
Lees het door want jij begrijpt er meer van dan ik.

Wel de moet de uitgang van de timer omlaag gaan bij een detectie, dit is nodig voor de I/O-kaart (k8055) naar de laptop.
Dat heet, als ik het goed begrijp, "input moet laag getrokken worden", dus naar GND?
In het algemeen doet men dat pull down gebeuren met een stevige weerstand van 1K.

Dat begrip is meer dan eens uitgelegd op een ander forum. Vakjargon. Maar wel nuttig om te weten.

Even 5 willekeurige draadjes waarin ik de term tegen kwam in verband met arduino:
url1,url2,url3,url3,url5

Ik maak uit die draadjes iets anders op dan een elektronicus of een Arduino gebruiker.
Analoog als ik ben, denk ik dan dat het gaat om het aloude principe van iets schakelen tegen + of -.
Ik heb er geen moment aan gedacht dat het daarbij om een timer zou kunnen gaan die je omlaag wilt kunnen trekken.
Laat staan dat ik me voor kan stellen wat er dan fysiek gebeurt: oorzaak-gevolg, ingreep-effect?
 
Het Beneluxspoor forum is overigens niet het enige treintjesforum met een actieve Arduino gebruikers groep.
Het 3-rail forum heeft ook zo'n groep, maar die zie je alleen als je bent ingelogd op die site. Buitenstaanders zien daar niets van. En het stummiforum.de heeft ook een actieve groep Arduino gebruikers. Gelegenheid tot buurten is er dus genoeg. 
Groet, Jan

ik spoor niet, ik doe alsof

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #9 Gepost op: 17 oktober 2020, 14:49:42 »
Nee, het is de bedoeling dat de arduino als timer wordt gebruikt, hij is dus de timer.
De arduino trekt op zijn beurt (als er een trein passeert) de K8055-pin leeg.
De timer moet het signaal van de sensor even oprekken, zodat deze zeker wordt gezien.
Je zou een analoge timer kunnen maken met een 555-ic, maar dat is een verleden tijd.

Gr Theo

Offline Jan Trein

  • Stationchef
  • ***
  • Berichten: 180
  • Thanked: 7 times
  • Geslacht: Man
  • (2+3)-rail rijder
Re: Een analoge baan aan sturen via je laptop
« Reactie #10 Gepost op: 17 oktober 2020, 15:10:06 »
Je zou een analoge timer kunnen maken met een 555-ic, maar dat is een verleden tijd.
In die verleden tijd leef ik nog. Dus als ik een 556 of 557 tegen kom, denk ik, leuk, zij bestaan ook nog, net als ik.

Een timer rekt dus een signaal wat op, maakt het langer, opdat het signaal door de PC gezien kan worden.
De PC snuffelt dus mee aan de Arduino, maar kan er niet rechtstreeks mee communiceren, op het eenmalig moment na dat je de code oplaadt naar de Arduino.
De Arduino kan wel de PC-insteekkaart (K8055) leeg trekken, maar de PC-insteekkaart kan de Arduino niet leegtrekken.

Dat wordt allemaal anders als je Arduino met wifi uit rust, want dan kan de PC (via wifi) wel actiever meesnuffelen?
(en heb je de insteekkaart- K8055 niet meer nodig, en dus de pull down op de timer ook niet?)
Groet, Jan

ik spoor niet, ik doe alsof

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #11 Gepost op: 17 oktober 2020, 15:48:36 »
Ja, de arduino moet alleen maar het signaaltje iets oprekken meer niet. Ik wil daarvoor de arduino-nano inzetten.
Deze is goedkoop, simpel en direct klaar voor gebruik. Volgens mij kan de arduino-nano niets met wifi, daarvoor moet je het broertje hebben van de nano. (denk ik, want zo thuis in arduino ben ik ook weer niet).  Zonder wifi heeft ook zijn voordelen, geen hackers of andere stoorzenders. Bij de metrolijn naar Hoek van Holland kunnen daar over meepraten. Toen alles nog van de NS was reedt de lijn  80 jaar zonder problemen, Maar de lijn moest gemoderniseerd worden en om gebouwd worden naar metro, ze hebben 2 jaar lang storing gehad, in die tijd kan de lijn niet worden gebruikt.

Inderdaad ardiuno trekt de PC-steekkaart leeg, maar de PC-steekkaart kan op zijn beurt ook de arduino leeg trekken als je dat wil, maar daar ga ik hem niet voor gebruiken.

Nee, ik ben alleen opzoek of iemand de code als timer voor een arduino kan schrijven, ik heb de code wel in een andere gelijk soortige taal, maar deze moet omgezet worden zodat een arduino die kan lezen.

Gr Theo




Offline Rob

  • Forumbeheerder
  • Super Modelspoorder
  • *****
  • Berichten: 2.743
  • Thanked: 161 times
  • Geslacht: Man
  • Rob zegt: denk aan morgen, doe vandaag.
Re: Een analoge baan aan sturen via je laptop
« Reactie #12 Gepost op: 17 oktober 2020, 16:51:34 »
Hoi Theo,

Ik kan wel een sketch in elkaar draaien. Ben al bezig....

Rob
Ergens in (West) Duitsland tussen 1960 en 1970 | gelijkstroom analoog, met geluid | kleine vaste baan en uitbreiding met modulebaan.
Nu vooral bezig met van alles en nog wat...

Offline Rob

  • Forumbeheerder
  • Super Modelspoorder
  • *****
  • Berichten: 2.743
  • Thanked: 161 times
  • Geslacht: Man
  • Rob zegt: denk aan morgen, doe vandaag.
Re: Een analoge baan aan sturen via je laptop
« Reactie #13 Gepost op: 17 oktober 2020, 18:09:06 »
Hoi Theo,

Hier de "Signaalverlenger" sketch voor de Arduino.

Je kunt op de computer (seriele monitor in de Arduino IDE) volgen welke pinnen 'laag' worden. Dit kun je na het soldeerwerk en testen ook uitzetten door de foutzoeker definitie op 'false' te zetten.

De pinnen die je wilt gebruiken kun je zelf definiëren, ook het aantal is instelbaar (al zul je dan ook de reeksen -Arrays- moeten uitbreiden).
Onder het motto: de beste documentatie is de code zelf, zie de toelichting in de sketch.

/*
SIGNAALVERLENGER
versie 1, 17 okt 2020, Rob van Deursen

De signaalverlenger meet input van sensoren en geeft het signaal langer door op overeenkomstige uitvoer pinnen.

Hiervoor gebruikt het programma 3 reeksen (Arrays):
- Een reeks voor het meten van de invoersignalen ("laag") op een of meer invoer pinnen (sensor pinnen)
- Een reeks met overeenkomstige uitvoer pinnen (signaal pinnen), die het invoer signaal langer doorgeven (ook als "laag").
- Een reeks voor het timen van de lengte van het signaal op elke signaal pin.

Het aantal pinnen, de gebruikte pinnen en de tijdsduur van de signaalverlenging worden in de definities vastgesteld.
Ook is er een foutzoeker, die met seriele print aangeeft welke sensoren actief zijn. Deze kan worden uitgezet.
*/
//*** DECLARATIES ***
//--- Definities ---
#define aantalSensoren            5                // aantal sensoren en signalen
#define verlengTijd            1200                // verlengtijd van het signaal, in milliseconden.
#define foutzoeker             true                // de foutzoker geeft sensor waarden door op de seriele monitor.
                                                   // zet de foutzoeker op 'false' als er geen fouten zijn te zoeken.

#define Sensor_1                  2                // invoer pinnen (waar de sensoren op zijn aangesloten)
#define Sensor_2                  3
#define Sensor_3                  4
#define Sensor_4                  5
#define Sensor_5                  6

#define Signaal_1                 9                // uitvoer pinnen (waar het verlengde signaal op wordt gegeven)
#define Signaal_2                10
#define Signaal_3                11
#define Signaal_4                12
#define Signaal_5                13

//--- Variabelen ---
int index = 0;
int SensorPin[]  {Sensor_1 , Sensor_2 , Sensor_3 , Sensor_4 , Sensor_5 };
int SignaalPin[] {Signaal_1, Signaal_2, Signaal_3, Signaal_4, Signaal_5};
long Alarmtijd [aantalSensoren];

//*** INITIALISATIE ***
// Zet de invoer en uitvoer pinnen in de juiste configuratie en initialiseer variabelen
void setup() {
  for (index = 0; index < aantalSensoren ; index++) {
    pinMode (SensorPin[index], INPUT_PULLUP);  // sensor pinnen in 'invoer' modus met interne pullup actief.
    pinMode (SignaalPin[index], OUTPUT);       // signaal pinnen in 'uitvoer' modus
    digitalWrite (SignaalPin[index], HIGH);    // geen signaal = 'hoog'
    Alarmtijd[index] = 0;                      // initialiseer alarmtijd
  }
  #if foutzoeker
  Serial.begin(9600);
  Serial.println("Foutzoeker actief");
  #endif
}

//*** HOOFDPROGRAMMA ***
// Elke invoerpin wordt gelezen. Bij "laag" op de invoerpin (sensor) wordt de overeenkomstige uitvoerpin
// ook "laag". Daarnaast wordt de Alarmtijd gezet. Bij het aflopen van de alarmtijd wordt het signaal op
// de uitvoerpin weer 'hoog'.
void loop() {
  for (index = 0; index < aantalSensoren ; index++) {
    if ( digitalRead(SensorPin[index]) == LOW) {  // sensor is actief
      digitalWrite (SignaalPin[index], LOW);      // signaalpin naar "laag"
      Alarmtijd[index] = millis() + verlengTijd;  // zet de alarmtijd
 
      #if foutzoeker
      Serial.print("'laag' signaal op pin: ");
      Serial.println(SensorPin[index]);
      #endif
    }
    if (Alarmtijd[index] < millis()) {            // alarmtijdstip is gepasseerd.
      digitalWrite (SignaalPin[index], HIGH);     // Signaalpin naar (of blijft) "hoog"
    }
  }
}

Je kunt, zoals gezegd, een en ander volgen inde seriële monitor, maar met deze definities zet digitale pin D06 ook de onboard LED op pin D13 voor 1,2 seconde uit. Dus dat kun je testen door pin 6 even met de GND te verbinden.

Overigens is een en ander nu zo geprogrammeerd dat de signaalpin 1,2 seconde 'laag' blijft nadat de sensor pin weer hoog is geworden.

Als je nog vragen hebt, hoor ik het wel.

Rob
Ergens in (West) Duitsland tussen 1960 en 1970 | gelijkstroom analoog, met geluid | kleine vaste baan en uitbreiding met modulebaan.
Nu vooral bezig met van alles en nog wat...

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #14 Gepost op: 17 oktober 2020, 18:15:33 »
Bedankt Rob,

Deze had ik zelf niet zo bedacht, hij is best ingewikkeld.
Ik heb zelf ook een arduino gekregen, maar nog nooit iets mee gedaan.
Deze ga ik mee nemen in het project.

Gr Theo

Offline Rob

  • Forumbeheerder
  • Super Modelspoorder
  • *****
  • Berichten: 2.743
  • Thanked: 161 times
  • Geslacht: Man
  • Rob zegt: denk aan morgen, doe vandaag.
Re: Een analoge baan aan sturen via je laptop
« Reactie #15 Gepost op: 17 oktober 2020, 18:20:49 »
Graag gedaan, Theo.
Succes er mee!
Rob
Ergens in (West) Duitsland tussen 1960 en 1970 | gelijkstroom analoog, met geluid | kleine vaste baan en uitbreiding met modulebaan.
Nu vooral bezig met van alles en nog wat...

Offline Jan Trein

  • Stationchef
  • ***
  • Berichten: 180
  • Thanked: 7 times
  • Geslacht: Man
  • (2+3)-rail rijder
Re: Een analoge baan aan sturen via je laptop
« Reactie #16 Gepost op: 17 oktober 2020, 21:29:58 »
Zonder wifi heeft ook zijn voordelen, geen hackers of andere stoorzenders. Bij de metrolijn naar Hoek van Holland kunnen daar over meepraten.
Als ouderwets netwerker: ik zweer bij vaste lijnen.

Ik heb ooit een wifi-muis gehad die op hol sloeg als de buurman van TV-kanaal switchte.
Toen ik het wifi modem bij de wisselwoning aansloot, bleek de hele woonwijk op wifi te zitten, sommigen met de deur uitnodigend open voor gasten. Op een stand alone PC kwamen de nieuwste Microsoft updates binnen, en 100x zo snel als via de eigen verbinding, zonder aansluiting of toestemming (straalverbinding van een van de buren). Paar van dat soort geintjes, en je trekt alle wifi zooi uit je hardware.  Ik zweer bij kabeltjes trekken (LAN of USB).

Volgens mij kan de arduino-nano niets met wifi, daarvoor moet je het broertje hebben van de nano.
Fijn dat Rob je direct kon helpen.

Over die nano had ik heen gelezen, maar je hebt gelijk, althans ik trof een citaat van een kenner:
Citaat
als hij Wifi wil toevoegen (neem aan met een ESP8266) kan hij het net zo goed gelijk
poorten naar de ESP. Wat betreft snelheid en geheugen is deze veel sneller /
beter geschikt dan een ATmega (Nano/Pro Mini/Uno)

En zo blijkt:
De ESP8266 heeft wifi onboard, en de andere Arduino's niet. De jouwe dus ook niet. (Dat maak ik eruit op).

Tegelijkertijd hou ik twijfels want: De wemos d1, een arduino board voor wifi.
Leuk, maar is dat dan een shield die je ergens op kunt gebruiken of is dat feitelijk zelf een arduino-variant?
Uit de contekst maak ik op dat het een van de vele Arduino klonen is.

En deze: Met de Arduino Mega met Wifi, of Mega2560 met losse wifi modules maken wifi mogelijk; maar die wifi is aan te passen naar ethernet-gebruik (via een library).

De Nano zit daar inderdaad niet bij. Dus jouw Arduino kan het niet, ook niet met losse modules ...

Goh, weer wat geleerd door even wat beter op te letten op zijsprongen in draadjes.

 


Groet, Jan

ik spoor niet, ik doe alsof

Offline Rob

  • Forumbeheerder
  • Super Modelspoorder
  • *****
  • Berichten: 2.743
  • Thanked: 161 times
  • Geslacht: Man
  • Rob zegt: denk aan morgen, doe vandaag.
Re: Een analoge baan aan sturen via je laptop
« Reactie #17 Gepost op: 17 oktober 2020, 23:11:11 »
Nou Jan,

Als je het toch over verbindingen hebt met draden: de Arduino's kunnen altijd nog serieel praten en luisteren. Niet de snelste manier, maar als er alleen maar wat statussen over de lijn hoeven, is dat ook nog te overzien.
Dus @Theo , misschien is dat seriële gebeuren ook nog een idee naast, of in plaats van, de multiplexers?

Rob
Ergens in (West) Duitsland tussen 1960 en 1970 | gelijkstroom analoog, met geluid | kleine vaste baan en uitbreiding met modulebaan.
Nu vooral bezig met van alles en nog wat...

Offline Jan Trein

  • Stationchef
  • ***
  • Berichten: 180
  • Thanked: 7 times
  • Geslacht: Man
  • (2+3)-rail rijder
Re: Een analoge baan aan sturen via je laptop
« Reactie #18 Gepost op: 18 oktober 2020, 00:22:27 »
Tja, ik zat even in een ander draadje verdiept, iemand die op een simpele manier probeert uit te leggen waarom je pullUp en pullDown weerstanden nodig hebt, zodra je met transistors werkt (en dat speelt vast ook met arduino's en zo).

Citaat
Bij een NPN–Transistor wordt de Basis via een 330 k–weerstand naar de min–pool  „omlaag getrokken” (pull down),
bij een PNP–Transistor omhoog naar de plusppol (pull up).

Omdat transistors anders onbetrouwbaar werken, vanwege hun gevoeligheid voor inductiviteit en dat soort zaken.
Dat is geen uitleg, meer een definitie, maar ik kan ermee leven, en inzien dat het om een vergelijkbaar iets moet gaan.

Draadjes, draadjes, draadjes. Ze zijn niet snel, en hoe lomper de elektronica hoe beter mijn ogen ze nog zien, inclusief draadjes. Bij zo'n SMD bordje (zoals die Arduino's) mogen ze van mij een loep met ledlamp bijleveren.
Groet, Jan

ik spoor niet, ik doe alsof

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #19 Gepost op: 18 oktober 2020, 11:30:59 »
Nu je het hebt over pulldown weerstanden, ook ik moet gebruik maken van deze weerstanden, het is de simpelste manier om een signaal om te keren. Maar ook bekende bussystemen zoals I2C en SPI gebruiken een pulldown weerstand.
Gr Theo

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #20 Gepost op: 20 oktober 2020, 16:38:40 »
Weer een stukje verder met het programma, er kunnen nu de eerste 5 sensoren worden ingelezen.
Ook het eerste beginnetje van de dienstregeling is er. Je bouwt de dienstregeling op met het invullen van het blokdiagram.
Je start de dienstregeling door op de knop "Dienst" te drukken.

Gr Theo

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #21 Gepost op: 24 oktober 2020, 16:48:07 »
Weer een stukje verder. Als voorbeeld een dienstregeling van "een rondje rond de kerk".
Bij de start wordt eerst wissel-3 om gezet.
- dan wordt het railblok onder spanning gezet zodat de trein vertrekt.
- hierna 4 seconde wachten, even de trein de tijd geven om te vertrekken.
- het railblok komt weer zonder spanning te staan.
- wachten totdat de trein over sensor-1 weer binnen komt.
- 60 seconde wachten bij het perron
- terug naar 2 voor de volgende ronde.



Het programma begint al een klein beetje te werken.
 Gr Theo

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #22 Gepost op: 27 oktober 2020, 12:23:39 »
Een klein foutje ontdekt in het programma waardoor het programma vast kon lopen, maar dat is inmiddels verholpen.

De aansluitpinnen hebben in het programma een bijnaam gekregen. Als b.v. een wissel op pin-9 zit om "om" te gaan, is pinnummer-9 niet makkelijk om te onthouden. Hij heeft nu een bijnaam gekregen, hier kun je hem W13Om noemen (Wissel-13 gaat om).

Gr Theo

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #23 Gepost op: 31 oktober 2020, 14:57:07 »
De eerste versie is klaar, het programma en de gebruikshandleiding.
Misschien zijn er nog verbeteringen?????
De handleiding en programma kun je vinden op de site http://www.modelspoorpic.nl/stoomspoor.html

Gr Theo

Offline Theo

  • Stationchef
  • ***
  • Berichten: 208
  • Thanked: 6 times
  • Geslacht: Man
    • ModelspoorPIC
Re: Een analoge baan aan sturen via je laptop
« Reactie #24 Gepost op: 12 november 2020, 13:16:28 »
De multiplexers uit China zijn binnen gekomen, dus tijd om een testversie te maken.

Het relaisblok heb ik nog even vervangen door test LED's, omdat ik nog geen goede relaisblok heb, die ik heb is 12V en geen 5V.
Maar de testopstelling werkt, wel is het even uitzoeken waar wie is terecht is gekomen.
De wissels krijgen 0,5 seconde om over te gaan, lijkt mij voldoende.

Inmiddels ben ik ook bezig met een uitgebreide versie te maken, ik heb hem maar StoomspoorXL genoemd.
Deze versie staat als alles goed gaat in december op de site zodat dat iedereen hem kan gebruiken als hij/zij dat wil.
Deze versie heeft 63 aansluitingen voor wissels, blokken enz. 10 sensor ingangen, en hiermee kun je vier dienstlijnen gelijktijdig en onafhankelijk van elkaar laten rijden.

Theo