Doel:€250.00
Donaties:€50.00

Per saldo:€-200.00

Steun ons nu!

Laatst bijgewerkt
op 03-01-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Piko NS 2015 stroomafname probleem door Ben
Vandaag om 19:08:30
Bauarbeiten im gange door ruudns
Vandaag om 18:50:26
MARDEC, de Multifunctionele ARduino dcc DECoder. door NTeering
Vandaag om 18:39:49
Mijn eerste H0-modeltreinbaan in aanbouw door aad52
Vandaag om 17:40:42
HSM D1715 door vpeters1984
Vandaag om 17:34:25
Beekdaelen in H0 door Stieven76
Vandaag om 17:17:41
Punt- en hartstukken door FritsT
Vandaag om 17:11:38
Al mijn goede ideeën... door Monobrachius
Vandaag om 17:10:33
Gebruik je Arduino zonder te "programmeren" ;) door Rsd1000
Vandaag om 17:07:59
Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Ronald69
Vandaag om 17:04:52
Toon hier je nieuwe (model-) spooraanwinst(en)... door Ronald69
Vandaag om 16:54:22
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 15:58:15
US diorama in H0 door VAM65
Vandaag om 15:22:05
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door spoorijzer
Vandaag om 15:08:30
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 15:06:14
U-vorm beperkte ruimte (H0 C-rails) door Jelmer
Vandaag om 14:58:04
Onlangs gespot - gefotografeerd, de links door Jeroen Water
Vandaag om 14:33:00
N spur scenery elementen maken van gips of klei? door Dave.......
Vandaag om 14:30:06
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 14:28:54
Onlangs gespot - gefotografeerd, de foto's door mass am see
Vandaag om 14:18:46
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 14:07:52
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Railman
Vandaag om 13:40:42
GSS Jubileumbaantje (0e / 0n30) door MacArthur
Vandaag om 12:55:30
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
Variaties op Station Zetten Andelst in HO door Duikeend
Vandaag om 10:54:40
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 10:42:29
Internationale Spoor 0 en 1 dagen in Gießen, 23 en 24 maart, 2024 door bernhard67
Vandaag om 08:42:53
De Hondsrugbaan door mass am see
Vandaag om 08:15:11
Pfarrerwinkel bahn door Jelmer
Vandaag om 08:00:19
  

Auteur Topic: Arduino analoge(!) modelbaan sturing  (gelezen 139008 keer)

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #315 Gepost op: 14 februari 2016, 21:44:31 »
Hoi volgers,

Heb eindelijk weer wat te melden.

Ik ben begonnen met de eerste module van mijn nieuwe modelspoor baan gestuurd door het AAMS systeem


Dit is de laatste module keer/wacht van de modulebaan.

Ik ben aan het elektrische gedeelte van de baan begonnen.




Om een zo storingsvrije modulebaan te maken soldeer ik alle bedrading op gaatjesprint en leg de draden in een bindrug om geen loshangende bedrading te hebben.



Er moet nog veel gesoldeerd worden om de baan te kunnen testen, ook moeten er nog verschillende sturingen gemaakt worden, als sensor ga ik LDR's gebruiken en IR benaderings- sensoren (In de berg, schaduwstation), dat werkte op het proefbaantje erg goed.

De seinen worden aan gestuurd door een 74hc595 shiftregister en de sensoren worden door de 74hc165 shiftregister gestuurd (alle ldr's worden via een digitale ingang gelezen, en de IR benadering sensoren via analoog in.)

Om de wissels te sturen wil ik gebruik maken van mosfet drivers, deze drivers kosten tussen de een en de twee Euro.


Plaatjes van Ebay.com geleend

Deze printjes zijn goed onder de baan te monteren, zonder dat deze printjes in de weg zitten.

@Gerard en Timo

Badankt voor jullie input.

Mvg Paul ;D
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

Fritsprt

  • Offline Offline
  • Berichten: 2617
Re: Arduino analoge(!) modelbaan sturing
« Reactie #316 Gepost op: 14 februari 2016, 23:55:05 »
Hallo Paul,

Fijn dat je er weer bent met updates. Leuk draadje om te lezen.

succes, Frits
Groet Frits

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #317 Gepost op: 18 februari 2016, 23:40:04 »
Hoi volgers,

Wisselsturing en ULN driver AAMS.

Ik heb een wisselsturing en 2 voudige wisselsturing in combinatie met een uln2803 driver om diverse zaken mee aan te sturen, er valt te denken aan ontkopelrails, servo's, seinsturingen voor gloeilampje enz. ,eigenlijk alles wat je kan aansturen met het AAMS systeem.

Deze printen zijn prototype's om mee te gaan testen, ik denk dat ik geen printontwerp voor deze schakelingen ga ontwerpen, deze schakelingen kunnen zonder probleem op stripe-board gebouwd worden (kan de Nederlandse vertaling ken ik van dit type protoboard niet vinden) groot zijn de schakelingen niet, misschien de componenten lay-out  aanpassen.

De blus diodes komen bij de spoelen van de wissels te zitten, of kan ik ze beter er op de print bij solderen?

Foto sturingen.



Onder de Baan gemonteerd.



AAMS systeem en blok sturingen.

Na veel test en onderzoek werk heb ik besloten om voor de Arduino Nano te kiezen, prijs technische de beste keuze,  om het AAMS systeem te gaan bouwen, ook word de indeling van de sturing veranderd naar een bloksturing, dwz. dat ik een Arduino Nano inzet per blok en de motordriver( tweevoudig ) verdeel over twee blokken, op deze manier kan ik de twee blokken synchroniseren zodat er geen sluiting kan ontstaan tussen de twee blokken, hoe ik dat ga doen met de rest van de blokken moet ik nog verder uitzoeken.

Arduino blok communicatie.

Ik moet nog uitzoeken hoe ik twee poorten met elkaar kan laten communiceren.

IK ben er al bezig mee geweest maar het lukt mij nog niet om het werkend te krijgen ???, zo moeilijk kan dat niet zijn, ik zal wel weer wat over het hoofd zien

Zie plaatje



Het moet zo zijn als er een bezetmelding binnenkomt via de analoog in op blok 2, blok 1 bezet word gemeld.

Bedienings-paneel en Arduino.

In de pen zit nog een bedienings-paneel waarmee ik ook de AAMS sturing kan bedienen, dit wil ik gaan doen dmv or-poorten, dit project moet nog verder uitgewerkt worden.

Bindruggen

Ik ga een nieuwe voorraad bindruggen 8 mm halen om de bedrading onder de baan te kunnen ordenen.

AAMS Projecten in de pen.

Ik heb onderdelen bestelt om meer wisselsturingen te maken en een aantal onderdelen om een shiftregister input (74hc165) en een shiftregister output (74hc595) te gaan bouwen, deze shiftregisters worden op een print samen gebouwd (om 8 inputs en 8 outputs te maken heb ik dan maar vier poorten van de Arduino voor nodig), dit projectje moet nog verder uitgewerkt worden.

Alleen nog wachten tot de onderdelen binnenkomen.  ::)

Mvg Paul ;D
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

Servé

  • Team encyclopedie
  • Offline Offline
  • Berichten: 1748
  • Niks kan tippen aan een E1700
Re: Arduino analoge(!) modelbaan sturing
« Reactie #318 Gepost op: 19 februari 2016, 09:38:43 »
Misschien even de GND's met elkaar doorverbinden?
Vriendelijke groet, Servé.

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #319 Gepost op: 19 februari 2016, 09:43:55 »
Hoi, Serve

De gnd en de +5v zijn in de proefopstelling door gekoppeld.

Het lukt alleen niet om de Arduino de poorten te sturen, ik denk dat ik wat over het hooft zie in het programma.

Mvg Paul
« Laatst bewerkt op: 20 februari 2016, 21:07:10 door smits66 »
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #320 Gepost op: 20 februari 2016, 22:21:33 »
Hoi volgers,

Ik heb vandaag de bindruggen binnen gekregen, ik kan nu verder met het netjes maken van de bedrading onder de baan

Ik ben vandaag nog even bezig geweest met het ontwerpen van een Shiftregister input / output schakeling, deze heb ik op een
stripe-board ontworpen zodat ik kan zien hoe ik het moet gaan maken, ik ga voor deze schakeling geen print ontwerpen omdat het op een standaard stripe-board (10 x 5 cm)gebouwd word.

Schema (kan nog een foutje in zitten)



Eerste ontwerp op stripe-board (kan nog een foutje in zitten)



Het 74HC165 ic heb ik eerst moeten ontwerpen voor Fritzing, staat niet in de onderdelen lijst van Fritzing.

Fritzing is een prima programma om schema's en printontwerpen mee te maken.

Mvg Paul ;D
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

Te 2/2

  • Offline Offline
  • Berichten: 969
  • Metrop-Märklin
Re: Arduino analoge(!) modelbaan sturing
« Reactie #321 Gepost op: 24 februari 2016, 00:17:22 »
Ik ben wel een beetje benieuwd, want jouw draadje stimuleert me om anders te gaan kijken naar de analoge schakelingen uit het verleden. Ik zie althans winstpunten, al zie ik ook op tegen het voor mij nog wat onbekende terrein van deze hardware. Zo zie ik bijvoorbeeld dat ik bepaalde oplossingen niet kan bereiken met minder relais (dat blijven er evenveel), maar wel door ze anders te bedraden, en hun functie te verleggen. En daarin schuilt dan de grootste winst.

Ik blijf je volgen, op afstand.
Jan Willem

analoog hybride DC baan (2-rail+3-rail),
CH, peco, piko, roco, k-rail

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduino analoge(!) modelbaan sturing
« Reactie #322 Gepost op: 14 maart 2016, 14:46:36 »
Hoi Paul,

Weer lekker bezig zie ik :D

De blus diodes komen bij de spoelen van de wissels te zitten, of kan ik ze beter er op de print bij solderen?
Waarom niet op de print? Alle ruimte en zit je niet te stoeien bij de spoel en heb je niet de mogelijkheid dat je ze vergeet.

Na veel test en onderzoek werk heb ik besloten om voor de Arduino Nano te kiezen, prijs technische de beste keuze,
Nano en Pro Mini zijn niet alleen prijsvriendelijker, ze zijn ook veel print vriendelijker.

  om het AAMS systeem te gaan bouwen, ook word de indeling van de sturing veranderd naar een bloksturing, dwz. dat ik een Arduino Nano inzet per blok en de motordriver( tweevoudig ) verdeel over twee blokken,
waarom dan niet überhaupt één Nano per twee blokken?

op deze manier kan ik de twee blokken synchroniseren zodat er geen sluiting kan ontstaan tussen de twee blokken,
Sluiting heb je (bij zelfde rijrichting) nooit. Het probleem met synchronisatie is dat de twee motor bruggen precies aan staan in elkaars uit gebied waardoor er dus langer spanning op de train staat met als gevolg harder gaan rijden.

Sluiting kan natuurlijk ook maar dat probleem is hetzelfde of ze nu wel of niet via dezelfde Arduino aangestuurd worden.

hoe ik dat ga doen met de rest van de blokken moet ik nog verder uitzoeken.
Denk wel dat dit iets waar je mee moet gaan beginnen wil je dit mooi oplossen. Het regelen van snelheid is namelijk wel iets waar je hele systeem op leunt en later slechter in te bakken is. Twee mogelijke oplossingen:

1) Een puls lijn. Bijvoorbeeld de master (zou logische keuze zijn) stuurt periodiek een puls over een vaste lijn naar alle Arduino's
2) Je past toch al data communicatie toe. Waarom zou de master deze boodschap niet als pakket kunnen versturen?

Maar hoe dan ook zou je er in moeten duiken hoe je de timer van PWM beïnvloed zodat deze redelijk gelijk lopen. Zoals ik zei, kortsluiting krijg je niet dus een kleine afwijking (minimaal snelheidsverschil) is niet zo erg. Maar het is niet iets wat door de Ardui9no IDE makkelijker gemaakt is dus je zult direct de timer moeten beïnvloeden.

IK ben er al bezig mee geweest maar het lukt mij nog niet om het werkend te krijgen ???, zo moeilijk kan dat niet zijn, ik zal wel weer wat over het hoofd zien
Afgezien van onverbonden GND's (in ieder geval op de tekening) zie ik nietsfout en zou het zo moeten werken. Alleen ook hier geldt, lange draden (10cm+) zijn een no-go. Dit zou je al wat kunnen rekken door filtering van het signaal en een externe pull up weerstand (of pull down, maar in ieder geval stuk sterker dan de interne pull up an de Arduino).

In de pen zit nog een bedienings-paneel waarmee ik ook de AAMS sturing kan bedienen, dit wil ik gaan doen dmv or-poorten, dit project moet nog verder uitgewerkt worden.
Mag ik vragen wat je precies van plan bent met die or-poorten? Klinkt mij niet heel specifiek bedieningspaneel.

Schema (kan nog een foutje in zitten)
Het schema is überhaupt al wat lastig leesbaar maar zie ook wat rare dingen.

Waarom gebruik je Q7' ipv Q7 om de HC165 uit te lezen?

Ik mis iets heeeeeeeel belangrijks! De ontkoppelcondensatoren. Zowel bij de HC165 als de HC5958 moet je zo dicht mogelijk bij Vcc een 100n keramische condensator plaatsen. En omdat de HC595 echt een last stuurt zou een zo een elco ook niet misstaan.

Je hebt nu de data lijnen aan elkaar gehangen en de "kortsluiting" ondervangen door een weerstand tussen de data lijnen. Dit zou wel moeten werken maar ben je in software dus de pin aan het wisselen tussen uitgang en ingang en doe je om en om input output. Een meer gebruikte optie is om de hardware matige SPI module van de Arduino te gebruiken. Hierbij koppel je juist de latch pinnen en clock pinnen maar voer je de dataIn en dataOut los naar de Arduino. Op deze manier lees je de HC165 tegelijk dat je de HC595 beschrijft en heb je geen weerstand nodig.

Code is dan in de trant van:
#include <SPI.h>

const byte LatchPin = 10;
//Volgende zijn vanzelf door hardware SPI
//Clock = 13
//dataInPin = 12
//dataOutPin = 11

byte dataIn;
byte dataOut;

void setup(){
  SPI.begin();  //configureer de SPI uitgangen
  SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE0)); //stel in
  pinMode(LatchPin, OUTPUT);
}

void loop(){
  updateShiftRegisters();
}

void updateShiftRegisters(){
  digitalWrite(LatchPin, HIGH); //Latch alle regsters
 
  //Gebruik SPI ahrdware.
  dataIn = SPI.transfer(dataOut);

  digitalWrite(LatchPin, LOW); //Reset voor volgende keer.
}

Het 74HC165 ic heb ik eerst moeten ontwerpen voor Fritzing, staat niet in de onderdelen lijst van Fritzing.
Vind je ook niet dat ze dat veeeeeeeel lastiger hebben gemaakt dan nodig zou moeten zijn? Het is verdorie makkelijker een footprint te maken in KiCad dan het is om een simpel DIP IC toe te voegen aan Fritzing...


Timo
Verzonden vanaf mijn desktop met Firefox

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #323 Gepost op: 14 maart 2016, 23:34:28 »
Hoi volgers,

@Timo

Bedankt voor je input.

vr1 :
Ik gebruik BD681 NPN Power Darlington transistor voor de aansturing van mijn wissels, als ik het goed in de datasheet heb gekeken zie ik tussen de C->E een blus diode zitten, vandaar dat ik in eerste instantie geen blusdiode heb zitten.
Voor mijn definitieve wissel sturing ga ik de BD139 power transistor gebruiken, daar worden wel blusdiodes op de print geplaatst.

vr2 :
Mee eens ;D

vr3 :
Het moet een flexibel bloksysteem worden, en als het nodig is kan ik het blok makkelijker uitbreiden.

vr4 en vr 5:

Daar ben ik nog mee bezig, om dat goed uit te zoeken  :D

vr6 :

Ik ga dat systeem niet gebruiken, ik blijf bij I2C voor de communicatie tussen de blokken.

vr7:

Het is de bedoeling om de baan zowel met de Arduino en het bedienings-paneel  te sturen en dat tegelijkertijd, ik wil de Arduino en de handbediening van elkaar scheiden, als per ongeluk, tegelijk de handbediening als de Arduino dezelfde wissel stuurt er geen rare dingen kunnen gebeuren. Overigens moet het een Xor gate zijn die ik daarvoor gebruik.

Zie Schema:




vr 8:

Er zitten inderdaad nog kleine foutjes in het schema, word nog aan gewerkt.
De poorten worden op verschillende manieren afgebeeld in de verschillende datasheets.
Q7' is de uitgang naar de volgende shiftregister.


Ik ben al een tijdje niet aan het programmeren, omdat ik het AAMS systeem eerst wil ontwerpen en proef printen gebouwd wil hebben, deze printen kan ik namelijk ook zonder Arduino testen.
Als ik daar mee klaar ben, ga ik me buigen over het programmeer werk.
Ik ben met teveel verschillende dingen bezig, met betrekking tot het AAMS systeem bezig geweest, zodat ik het spoor even bijster was.

vr9:
Het viel achteraf wel mee, in plaats van het schema/ breadboard/ icon symbool met inktscape aan te passen, lees ik in de svg file in, in een tekst editor en pas daar de teksten aan, interesse ;D  dan zet ik de tekst versie van een svg file in dit draadje.

@Allen

Ik ben nu alweer een tijd bezig met het ontwerpen van het AAMS systeem, het programmeren heb ik op een laag pitje gezet, om me eerst te richten op het ontwerpen van de diverse schakelingen met betrekking tot het AAMS systeem.

De eerste gedachte om mijn treinbaan met de computer te sturen heb ik voor nu laten vallen, de AAMS sturing word nu ontworpen als bloksysteem, waarbij elke Arduino(NANO) een blok is.
Alleen kan ik nog wel de mededelingen die de Arduino stuurt naar de computer uitlezen als dat nodig is, in een later stadium wil ik evt de computer gaan gebruiken om het blok systeem te sturen.
Doordat ik met te veel dingen bezig was met betrekking tot het AAMS systeem, ben ik de weg en de samenhang uit het oog verloren.
Op dit moment hou ik me eerst bezig met de electronica en het verder ontwikkelen van het AAMS systeem.

Op deze manier blijft het draadje wat beter leesbaar en overzichtelijker, dus eerst de electronica ontwerpen en prototype printen maken, daarna testen (kan namelijk ook zonder Arduino) als ik daarmee klaar ben ga ik me pas weer bezig houden met programmeren.

Welke sturingen wil ik gaan maken ontwerpen :
  • Output sturing met shiftregister 74HC595 (prototype klaar)
  • Input sturing met shiftregister 74HC165 (schema klaar)
  • Xor i/o sturing (voor automatische blok sturing en hand bediening) (schema klaar)
  • Wissel sturing met 2 wissels per print (BD139) (prototype bijna klaar)
  • Uln 2803 driver sturing, voor zwaardere belasting tot 600mA (prototype klaar)
  • Sensor interface Analoog (nog in ontwikkel stadium)
  • Rgb sturing voor uitlichten baan en dag/nacht sturing (prototype klaar)
  • Analog to digital  interface naar Input sturing (schema klaar)
  • Multi Voeding voor het voeden van de AAMS sturing (max 1A totaal, 5v, 9v, 12v) (schema klaar)
Morgen zet de de schema's(inclusief de prototypes op stripeboard) die klaar zijn in dit draadje.

Mvg Paul  ;D
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduino analoge(!) modelbaan sturing
« Reactie #324 Gepost op: 15 maart 2016, 10:20:20 »
Hoi Paul,

Bedankt voor je antwoord. Moest wel veel scrollen om door je vraag verwijzingen. Daarvoor zijn quotes erg handig :)

Ik gebruik BD681 NPN Power Darlington transistor voor de aansturing van mijn wissels, als ik het goed in de datasheet heb gekeken zie ik tussen de C->E een blus diode zitten, vandaar dat ik in eerste instantie geen blusdiode heb zitten.
Daar mag dan inderdaad wel een diode zitten maar dit is geenszins een blusdiode! Daarvoor zit hij simpelweg op de verkeerde plaats. De blusdiode moet over de spoel staan. Dat houdt hier dus in dat hij tussen de C en de V+ (voedingsspanning) moet. De diode in de transistor doet hier niets.

Het moet een flexibel bloksysteem worden, en als het nodig is kan ik het blok makkelijker uitbreiden.
Dat kan ook prima als je twee blokken op één Arduino hebt. De Nano is meer dan krachtig genoeg om twee blokken volledig los van elkaar aan te sturen. Dan maakt het in gebruik niet uit dat ze op dezelfde Arduino draaien of niet.

Ik ga dat systeem niet gebruiken, ik blijf bij I2C voor de communicatie tussen de blokken.
Zou ik wel kijken om zwaardere I2C pull up weerstanden te gaan gebruiken.

Het is de bedoeling om de baan zowel met de Arduino en het bedienings-paneel  te sturen en dat tegelijkertijd, ik wil de Arduino en de handbediening van elkaar scheiden, als per ongeluk, tegelijk de handbediening als de Arduino dezelfde wissel stuurt er geen rare dingen kunnen gebeuren. Overigens moet het een Xor gate zijn die ik daarvoor gebruik.
Met alle respect maar hierbij zijn de XOR's echt nutteloos. Wil je ook de wissels bedienen met een schakelaar, sluit deze dan gewoon aan over je huidige wisseldriver. Bereik je precies hetzelfde. En in beide gevallen zorg je er niet voor dat handbediening automatisch blokkeert of andersom. En de lijnen van de schakelaars naar de XOR zijn ook enorm storing gevoelig door de hoge impedantie.

Dus wil je altijd de mogelijkheid voor handbediening, schakelaars gewoon over de stuurtransistor.
En wil je bij de mooie opzet van je project blijven zou ik ook een Arduino besturingspaneel maken. In de tussentijd kan je dan bovenstaande oplossing prima gebruiken.

Q7' is de uitgang naar de volgende shiftregister.
Maar Q7' is echt niet de uitgang naar het volgende shiftregister ;) Dat is Q7 (pin 9).

Ik ben al een tijdje niet aan het programmeren, omdat ik het AAMS systeem eerst wil ontwerpen en proef printen gebouwd wil hebben, deze printen kan ik namelijk ook zonder Arduino testen.
Als ik daar mee klaar ben, ga ik me buigen over het programmeer werk.
Ik ben met teveel verschillende dingen bezig, met betrekking tot het AAMS systeem bezig geweest, zodat ik het spoor even bijster was.
Eerst goed voor ogen hebben wat je wilt is de basis voor het maken van een passende oplossing.  (y) En subsystemen zijn al prima te testen los of eventueel al met de Arduino. Ook code, zolang je non-blocking code schrijft (zonder delay() ) is combineren van losse programmeeraspecten ook prima te doen.

Het viel achteraf wel mee, in plaats van het schema/ breadboard/ icon symbool met inktscape aan te passen, lees ik in de svg file in, in een tekst editor en pas daar de teksten aan, interesse ;D  dan zet ik de tekst versie van een svg file in dit draadje.
Dan heb je het achteraf nog moeilijk gedaan  ::) Na veel zoeken kwam ik er achter dat er voor DIP achtige dingen gewoon een kale DIP beschikbaar is die je kunt aanpassen en nummeren. Maar ook dat was best omslachtig. Vind het toch wel het slechtste punt van Fritzing  :(

Maar goed, weer lekker bezig :) Zelf ontbreekt het me helaas echt aan tijd :/


Timo
Verzonden vanaf mijn desktop met Firefox

Te 2/2

  • Offline Offline
  • Berichten: 969
  • Metrop-Märklin
Re: Arduino analoge(!) modelbaan sturing
« Reactie #325 Gepost op: 15 maart 2016, 18:46:17 »
vr3 :
Het moet een flexibel bloksysteem worden, en als het nodig is kan ik het blok makkelijker uitbreiden.
(...)
de AAMS sturing word nu ontworpen als bloksysteem, waarbij elke Arduino(NANO) een blok is.

Ik hobbel er nog wat achteraan.

Wat is voor jou een flexibel bloksysteem? En wat moet dat bloksysteem kunnen afhandelen?
Is het flexibeler als elk blok apart een schakeleenheid vormt, of is dat zo omdat een shield per NANO niet meer tegelijk kan afhandelen, of heeft dat er niets mee te maken?

Je stelt je voor dat je per 2 blokken motordrivers hebt, waarom niet 1 per blok?
Ik begrijp dat Timo voorstelt om de motordrivers per NANO (of pro mini) te rangschikken, en blokken per twee (of meer) per NANO onder te brengen. Dat is ongetwijfeld veel goedkoper.
Zouden er ook 6 blokken op een NANO kunnen? Wat vormt de inperking?

Ik mompel ook maar wat, maar ja, ik zit met 20-30 blokken, en wat daarmee te doen.
En een NANO per blok wordt dan ook weer begrotelijk (en hoe overzie je dat dan weer).

Als ik de schema's volg, dan rijg je de NANO's aan elkaar tot een soort netwerk. Daarbij is er eentje master, en de rest is slave.  Lijkt mij dat de master ook de bezetmeldingen verwerkt en de seinen kleurt, waardoor de slaafjes uitvoerend werk verrichten op blokniveau.
 
Jan Willem

analoog hybride DC baan (2-rail+3-rail),
CH, peco, piko, roco, k-rail

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Arduino analoge(!) modelbaan sturing
« Reactie #326 Gepost op: 15 maart 2016, 20:06:01 »
Is het flexibeler als elk blok apart een schakeleenheid vormt, of is dat zo omdat een shield per NANO niet meer tegelijk kan afhandelen, of heeft dat er niets mee te maken?
Ik ben dan geen Paul en kan niet zijn exacte idee weergeven maar één Nano is meer dan krachtig genoeg om best wat blokken te doen. Maar dan heb je bijvoorbeeld ook te maken met alle bekabeling van al die blokken die naar één punt moet.

Je stelt je voor dat je per 2 blokken motordrivers hebt, waarom niet 1 per blok?
Ik begrijp dat Timo voorstelt om de motordrivers per NANO (of pro mini) te rangschikken, en blokken per twee (of meer) per NANO onder te brengen. Dat is ongetwijfeld veel goedkoper.
De gebruikte motordrivers (die inderdaad een prima oplossing zijn) hebben al twee kanalen. Je kan er dus al twee motoren mee aansturen. Vandaar dat het mij logisch lijkt me Arduino ook twee (of een meervoud, maar twee is mooi modulair) aan blokken te laten doen.

Zouden er ook 6 blokken op een NANO kunnen? Wat vormt de inperking?
Dat zou prima mogelijk zijn. De Arduino heeft standaard ook 6 PWM poorten dus dat komt goed uit. (Vergeet ik alleen even het feit dat je niet aan de frequentie van twee daarvan wilt zitten.) Alleen vormt alle IO die je nodig hebt dan ook al wel een enorme bottleneck. Twee blokken hebben nog beperkt aantal IO nodig waardoor je, eventueel met één of twee shiftregisters, wel klaar bent. Complexiteit neemt enorm toe terwijl een extra Nano eigenlijk niets kost.

Ik mompel ook maar wat, maar ja, ik zit met 20-30 blokken, en wat daarmee te doen.
En een NANO per blok wordt dan ook weer begrotelijk (en hoe overzie je dat dan weer).
Met €1,75 per Nano of €1,20 voor een Pro Mini is dat ook best te overzien.

30 blokken klinkt al als een redelijke baan. Bedenk wel dat de voorgestelde I2C niet geschikt is om afstanden mee te overbruggen ook al kom je er misschien mee weg als je stevige pull up's gebruikt.

Als ik de schema's volg, dan rijg je de NANO's aan elkaar tot een soort netwerk. Daarbij is er eentje master, en de rest is slave.  Lijkt mij dat de master ook de bezetmeldingen verwerkt en de seinen kleurt, waardoor de slaafjes uitvoerend werk verrichten op blokniveau.
Dat is maar net hoe je het wilt. Je zou er voor kunnen kiezen alle slimmigheid in de master te bakken maar dat is niet heel modulair. Je kan ook voor multi-master gaan waarbij iedere node iedere andere node kan aanspreken. Of je laat de slaves alles afhandelen en laat een master berichten tussen slaves verzenden als blokken iets moeten uitwisselen. Laatste twee lijken me een stuk modulairder.


Timo
Verzonden vanaf mijn desktop met Firefox

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #327 Gepost op: 19 maart 2016, 01:20:27 »
Hoi Volgers,

@Timo

 Bedank voor je andworden.

@TE2

Met een flexibel blok systeem bedoel ik, dat ik zonder al te veel gedoe er een blok kan tussen zetten, of het blok er bij zetten.

Citaat
Je stelt je voor dat je per 2 blokken motordrivers hebt, waarom niet 1 per blok?
Ik begrijp dat Timo voorstelt om de motordrivers per NANO (of pro mini) te rangschikken, en blokken per twee (of meer) per NANO onder te brengen.
Dat is ongetwijfeld veel goedkoper.Zouden er ook 6 blokken op een NANO kunnen? Wat vormt de inperking?

Dat heb je, denk ik verkeerd begrepen per blok gebruik ik 1 motodriver, de motodrivers die ik gebruik hebben 2 onafhankelijke sturingen op een print, vandaar dat ik 1 motordriver per blok gebruik.

Ik wil juist geen twee blokken op een Arduino NANO gebruiken vanwege de funkties die deze blokken moeten kunnen herbergen.

Een een overzicht van de in/uit gangen op een Arduino NANO

Arduino NANO

8x Analog in oa blokbezet melding (kan ook als digital in gebruikt worden)
13 digital i/o waarvan er twee nodig zijn voor de communicatie tussen de computer en Arduino

Mijn AAMS systeem gebruikt :

6x analog in voor bv. bezetmelding in een blok.
2x analog in voor I2C (word gebruikt voor communicatie tussen de verschillende blokken.)

2x digital voor seriële communicatie Arduino naar pc  (in een later stadium nodig voor sturing met pc)
3x digital voor 2 voudige output shiftregister.
3x digital voor 1 voudige input shiftregister. (door beide op dezelfde porten te zetten kan je nog 2 extra digitale poorten gebruiken)
3x digital voor motor driver (pwm uitgangen)
2x digital reserve. (bv wissel in blok die door de blok sturing word aangestuurd, of een extra bloksein enz.)

Er word ook nog een speciale Wissel sturing blok kaart gebruikt (Arduino NANO) (max 16 wissels met gebruik van een 4 voudige  output shiftregister)

Even simpel bekeken kun je met 1 Arduino NANO max 8 blokken gebruiken, als je 1 blokdetectie per Analog in gebruikt, je kunt max 2 motordriver per Arduino NANO gebruiken, 6x pwm uitgang! ::)

Er zal vast wel meer mogelijk zijn maar dat weet ik niet, het word er alleen maar ingewikkelder door ben ik bang, ik kies voor de simpele oplossing, 1 blok per 1 Arduino Nano. ;D

@Allen

Al een paar dagen bezig geweest om verschillende prototypes van de AAMS sturing te ontwikkelen en te bouwen, daarna kan ik deze prototypes gaan testen.

Als eerste.

AAMS Wisselsturing:

Dit prototype neemt het omzetten van de wissels voor zijn rekening, per print kun je twee wissels sturen.

Het prototype:





Het schema:


 


Foto prototype:





Het  input shift register

Op dit prototype kan ik diverse digitale sensoren aansluiten voor bv. detectie.

Het prototype:





Het schema:





Foto prototype:





De 2 voudige output shiftregister:

Met dit prototype kun je 16 uitgangen gebruiken voor het omzetten van wissels of voor weergave seinbeelden, of het sturen van relais enz.

Het prototype:





Het schema:





Foto prototype:





De uln2803 driver.

Met dit prototype kun je zwaardere stromen sturen bv. ontkoppel rails, seinen met gloeilampjes enz.

Foto Prototype:





LM311 analog to digital converter

Met dit prototype kun je de analoge sensoren gebruiken om in te lezen naar een digital in port, het wekt met verschillende sensoren.

Het prototype:





Het Schema:





Foto Prototype:





Zoals je ziet is deze schakeling enkelvoudig gebouwd, er moet nog een tweede schakeling bijkomen, deze enkelvoudige prototype heb ik getest en het werk goed.

De Opstelling van de Arduino Nano's.



De Arduino NANO's worden per 4 blokken en twee motordrivers samengebouwd.

Het eerste project om het AAMS systeem te testen, ben ik ondertussen aan het bouwen, op deze testbaan worden 4 blokken gebruikt en per blok worden er minimaal 4 sensoren per blok gebruikt, tevens is dit het eerste module van mijn nieuw te bouwen modulebaan, meer daarover in mijn bouwdraadje, zie onderaan de pagina.

Foto onderkant module:



Zo, dat was het weer :P   voor deze keer, ik probeer dit draadje regelmatig te updaten  ;D

Mvg Paul ;D
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #328 Gepost op: 19 maart 2016, 15:08:48 »
Hoi volgers,

Even wat van mijn afschrijven :( . (Ik wil het andere topic niet vervuilen)

Ik las in een ander topic waar de poster een vraag stelt over optocuoplers, weer een zinloze discussie op gang kwam, dat vind ik erg jammer, je haalt het topic er mee onderuit.

Ik heb een gedeelte van de tekst verwijderd.

Het is vaak makkelijker om alles met logische poorten en relais te sturen dan met de Arduino.

Als voorbeeld neem ik even de schakeling "LM311 analog to digital converter" door de output van de print op een, laten we zeggen: Xor poort te zetten kunnen we al een via een transistor op de uitgang van de Xor poort een relais aansturen (even simpel gezien, het werk echter wel), het werkt zelfs al door een transistor type PNP op deze uitgang te zetten.

Even een klein voorbeeld:

Stel ik heb een ovaal met uitwijk spoor, op de "LM311 analog to digital converter" zitten twee LDR's elke LDR stuurt een uitgang aan, aan deze uitgang hang ik een Xor poort, als een trein over een LDR heen rijd word de uitgang hoog en stuurt een van de ingangen die op de Xor poort aan waardoor het relais aantrekt dan wel afvalt (afhankelijk van de uitvoering met of zonder optocoupler) waardoor de trein stopt de andere uitgang zal nu vrij gegeven worden waardoor de andere trein kan vertrekken.

LET OP! dit is even simpel gedacht, maar het werk wel, probeer het maar eens uit als je het niet geloofd. (je kunt het ook testen met twee elektromotoren, wel even een transistor type PNP gebruiken! ;) )
Citaat
Voor het schakelen van een relais heb je inderdaad een goeie voeding nodig. Maar ook genoeg ontkoppeling op de voeding. Een extra condensator kan helpen om de inschakelpuls op te vangen. Ook moet je nooit de on-board 5V regulator van de Arduino om andere dingen dan chips en een paar ledjes te voeden. Daarvoor is hij simpelweg te licht. Gebruik hiervoor een externe (DC-DC converter) regulator. 
Ikzelf heb 8 relais tegelijk gestuurd (Eerste testen met AAMS) ,de Arduino gaf geen krimp ook als ik alle 8 de relais tegelijk schakelde, het kan misschien wel van de Arduino uitvoering afhangen of het werk, ik heb de Arduino uitvoering gebruikt met de 28 pollig ATmega 328 in dil uitvoering, het kan zijn dat de Arduino's met de smd ATmega 328 chips dat niet kunnen.




Zoals je op de foto ziet is de spanigsregelaar op de linker Arduino groter  dan de Arduino's aan de rechterkant, dat kan misschien verschil maken ::) , echter weet ik dat niet, het zou kunnen.

Het is natuurlijk wel verstandig om voor de schakelingen achter de poorten een eigen voeding te gebruiken, maar het is niet direct nodig.

Ik heb zelf ook relais printen gemaakt, type: actief hoog, dat werkt net zo goed als de uitvoering met optocouplers, de relais kaarten met optocouples zijn wat makkelijker verkrijgbaar dan die zonder optocouplers (ik kan niet bij Aliexpress bestellen, heb geen creditcard) het zou kunnen dat je daar nog exemplaren zonder optocoupler kun vinden.

Voor mijn AAMS systeem blijf ik voor een gedeelte afhankelijk van relais, dit om de stations sporen, kop/laad/los/opstel sporen te kunnen uitschakelen, het blijft een analooge sturing, digitale locomotieven kunnen er waarschijnlijk niet eens op rijden.

Voor mijn kleine schaduw station heb ik een 4 voudige relais sturing nodig, waarmee ik de schaduw sporen mee kan uitschakelen, deze ga ik zelf bouwen, er zijn natuurlijk ook 4 voudige relais kaarten verkrijgbaar, maar ik gebruik bij voorkeur voor deze toepasing bi-polaire relais, zodat ik een terug koppeling naar mijn bedienings-paneel heb, zonder poortjes van de Arduino te gebruiken.

Het AAMS systeem is gebaseerd op het van Meekeren blokkaarten systeem, alleen dan gestoeld op een Arduino.

Er worden nog timer printen gemaakt voor het sturen van de wissel, je kan dat met de Arduino doen, maar het lukt mij niet om het zonder het delay() commando, de voorbeelden die ik heb gehad van mede forum gebruikers (daarvoor dank) krijg ik op de een of andere manier niet werkend voor de wisselsturingen en wachttijden bij het station, dit frustreert mij zo dat ik voor een hardwarematige oplossing kies.

De oplossing die ik kies zal niet de beste zijn maar deze timer circuits werken wel.

Een ander idee waar ik mee bezig ben is het sturen van de baan met behulp van een IR-afstandsbediening, ik vind het leuk om wat andere zaken te sturen met IR zo ook mijn modelbaan, het is nu nog maar een idee, als het AAMS systeem werkt wil ik met IR sturing gaan experimenteren.

Voor het AAMS systeem moet in nog een Analoge interface bouwen en een digitale interface, de digitale interface heb ik nodig om de 4 Arduino's NANO, te kunnen verbinden met de baan, de Arduino NANO's zitten nu op een motherboard met sensor aansluitingen, de verbindingen naar mijn baan worden met losse draden uitgevoerd.

Voor de Arduino's Nano wil ik nog een motherboard maken met ingebouwde voeding 5V en 12V en de in/uitgangen uitvoeren met printkroonstenen of met losse draden, daar moet ik mijn gedachten nog even over laten gaan.

Alle componenten van de AAMS sturing wil ik op dezelfde manier maken, de prototypes hebben dat nog niet, deze zijn gemaakt om het AAMS systeem te testen op zijn werking, de definitieve uitvoering word op dezelfde manier uitgevoerd.

Ik zit nog te bedenken of ik van alle printen een printontwerp kan maken, dat is weer een nieuwe uitdaging in de ontwikkeling van het AAMS systeem, het is niet echt nodig ik kan deze schakelingen prima op een protoboard bouwen.

Ik wil wel eens bekijken of ik de Arduino NANO en alle componenten op 1 print kan bouwen, dit scheelt enorm veel ruimte in de stuurkast.

Binnen het AAMS systeem wil ik nog een pendelbaan sturing ontwerpen, gestoeld op het AAMS systeem, ook daar moet ik mijn gedachten over laten gaan.

Als extra component binnen Het AAMS systeem wil ik nog een multie voeding (5V, 9V, 12V) gaan bouwen.

Er is nog genoeg te ontwerpen en te bouwen, ik hou jullie op de hoogte.

Mvg Paul
« Laatst bewerkt op: 21 maart 2016, 22:23:27 door smits66 »
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"

smits66

  • Offline Offline
  • Berichten: 543
  • Schaal 1:160, Arduino
Re: Arduino analoge(!) modelbaan sturing
« Reactie #329 Gepost op: 19 maart 2016, 21:44:20 »
Hoi volgers,

In mijn vorige post had ik het over eem LM311 die ik gebruik als A/D conventer.

Citaat
Als voorbeeld neem ik even de schakeling "LM311 analog to digital converter" door de output van de print op een, laten we zeggen: Or of Xor poort te zetten kunnen we al een via een transistor op de uitgang van de Or of Xor poort een relais aansturen (even simpel gezien, het werk echter wel), het werkt zelfs al door een transistor type PNP op deze uitgang te zetten.

Citaat
LET OP! dit is even simpel gedacht, maar het werk wel, probeer het maar eens uit als je het niet geloofd. (je kunt het ook testen met twee elektromotoren, wel even een transistor type PNP gebruiken! )

Ondertussen in het vorige bericht aangepast. (PNP stond er nog niet bij) ;)

Ik heb even een testversie op een klein breadboardje gemaakt om dat te laten zien.



Echter toen ik het wilde uittesten werkte het niet zoals ik dat had dacht, ik kon een standaard NPN transistor niet open sturen ??? , het werkt gewoon niet, nu sta ik met een mond vol tanden ;D  of toch niet  ;) , het vreemde was dat de Arduino het signaal wel goed oppakt en het ledje wat over de uitgang zit werk ook, maar met een NPN transistor werk het niet :P , wat nu, voor mijn AAMS systeem werk het wel maar standalone werkt het niet en de uitdaging was om het standalone te gebruiken, na wat gepuzzel heb ik de BC547 npn  vervangen voor een Bc557 pnp en zie het werk zoals ik zij.  ::) 

Waarom het dan wel werk ben ik nog niet achter, ik vermoed dat de output een negatieve waarde heeft waardoor een npn transistor niet werk maar een pnp transistor wel, het is voor mij gissen.

Weet iemand hier een antwoord op dan hou ik mij aanbevolen waarom het zo werkt.

Maak ik gebruik van bv een Quad 2-input AND gate en ik zet op de uitgang een npn transistor word deze wel open gestuurd.

Ik heb meteen een kort filmpje gemaakt en gelijk maar even op Youtube gezet https://youtu.be/awUtRI8XbSo  om te laten zien dat het standalone aangestuurd kan worden.

Ik gebruik in deze schakeling een PNP transistor van het type BC557 en stuur daar een relais mee aan die op zijn beurt de motor laat draaien als er genoeg licht op de LDR valt stopt met draaien.

Het ontwerp van de multi-voeding 5/9/12 v is ondertussen ook klaar.

Het prototype:





Het schema:




Ik zit nu nog te wachten op de bestelde onderdelen om hiervan een prototype te gaan bouwen.


Nu nog te ontwikkelen :

* I2C interface voor de AAMS sturing.
* Analog input interface voor baan sensoren.
* Output interface van Arduino NANO motherboard met sensor aansluitingen  naar aansluiting van losse draden op mijn modelbaan.
* Een Arduino motherboard met voedings aansluiting van 5v en 12v en de uitgangen uitgevoerd met printkroonsteen of losse draden.

In de toekomst wil ik alle onderdelen van de sturing op 1 printplaat hebben.

Mvg Paul  ;D
Üdvözlet Paul Smits.


bouw draadje "Laubenstein"