Nieuws:

Kom gezellig een keertje bij jouw lokale Stichting 3rail Stamtafel lekker kletsen over treintjes en nog veel meer!

HSI-88/S88 met Arduino: bouw bezetmelders gestart

Gestart door Lokkie zondag 04 november 2012, 21:06:51

0 leden en 1 gast bekijken dit board.
HSI-88/S88 met Arduino: bouw bezetmelders gestart
Hoi,

Ik ben al redelijk gevorderd met mijn eerste Arduino projectje. :O
Afgelopen weekend bezig geweest met een HSI-88/S88 decoder. :)

De digitale pinnen van de Arduino worden gebruikt als bezetmelders en een programmaatje op de Arduino stuur de bezetmelding naar de PC.
Ik maak gebruikt van het protocol dat de HSI-88 ook gebruikt om de bezetmeldingen door te geven. :idea:
De Arduino Mega heeft 54 digitale pinnen waarvan er 43 gebruikt kunnen worden voor bezetmelding.
Voor het gemak ga ik uit van 40 melders per module.

De mogelijkheid bestaat om meerdere Arduino aan elkaar te koppelen (gebruikmakend van de I2C protocol).
Dit vergt nog wel enig programmeerwerk maar dat komt tzt. wel.

Hieronder het schema met de verschillende modules:



En zo wordt de bezetmelder aangesloten op de Arduino:



Normaal is de ingang hoog maar wordt de bezetmelder geactiveerd dan wordt de ingang laag.
Het programma checkt continue de status van de pinnen en als er een wijziging komt dan wordt dit doorgeven via de seriële poort.

Op een experimenteerbordje werkt het en binnenkort maar in de praktijk testen. :)

Heb je vragen of opmerkingen dan hoor ik het graag.

Gr.
René
Re: HSI-88/S88 met Arduino
Hallo René,

Dit ziet er al toppie uit, heb je ook al beelden van de werking?

Gr.
Piwie.
Re: HSI-88/S88 met Arduino
Hoi Piwie,

Dank je. :)
Nog niet, ik zal kijken of ik van de week wat foto's kan plaatsen.

Gr.
René
Re: HSI-88/S88 met Arduino
Citaat van: Lokkie op zondag 04 november 2012, 22:02:41
Hoi Piwie,

Dank je. :)
Nog niet, ik zal kijken of ik van de week wat foto's kan plaatsen.

Gr.
René

René,

OK, wacht wel af.

Gr.
Piwie.
Re: HSI-88/S88 met Arduino
aha, zo gaat dat dus...   Ik heb blijkbaar iemand flink besmet met het Arduino virus !
Ik kijk uit naar de verdere ontwikkelingen, René !    Wie weet kan ik nog wat van je leren .
Het idee van bezetmelding is top, had ik ook al mee zitten spelen.

Ik wou zelfs een stapje verder gaan : een volautomatisch schaduwstation, los van de pc.
Re: HSI-88/S88 met Arduino
Lid sinds: 2018

offline
Re: HSI-88/S88 met Arduino
Superleuk dit soort initiatieven! Ik volg ze met veel belangstelling!

Groet,
leendert
Re: HSI-88/S88 met Arduino
'k heb net m'n tweede Arduino besteld, dat wordt fijn... 
Re: HSI-88/S88 met Arduino
Hoi Dani,

Ik heb eergisteren er ook nog 2 besteld in HK, voor iets meer dan 17 euri p/s. 8o
Nu maar wachten wanneer alles geleverd gaat worden.

Gr.
René
Re: HSI-88/S88 met Arduino
je moet wel opletten met bestellen in HK...  ik heb gisteren een pakje ontvangen waar ik 27 euro  invoertaks op moest betalen. Daar ging mijn winst, of toch een deel er van.; Als het "per briefpost" kan, is er weinig probleem, maar als je een pakje (lees : doosje) laat leveren heb je meestal prijs.
Re: HSI-88/S88 met Arduino
Tja, enig risico loop je hiermee wel.
We wachten rustig af. :)

Gr.
René
Re: HSI-88/S88 met Arduino
Ik zie in het schema die rs232 weer langskomen. Die arduino is toch ook met usb leverbaar? Of heeft dat te maken met KL?
Re: HSI-88/S88 met Arduino
Hoi Albert,

Je aanname klopt.
Ik heb het helaas nog niet voor elkaar gekregen dat Koploper via de USB met de Arduino communiceert. :(

Gr.
René
Re: HSI-88/S88 met Arduino
René :  je kan de Arduino instellen dat hij zijn USB poort als "gewone" seriële poort gebruikt, maar dan zonder de DTR-DSR en andere hardware handshake.  Je moet gewoon zoeken in je instellingen naar de poort nummer van je Arduino, en deze in je bronprogramma (koploper in dit geval) aangeven.  bvb   COM17 heb ik ingesteld voor arduino.  Met koploper heb ik het nog niet getest, maar met eenvoudige hyperterminal en Putty en zo lukt het perfect om seriële data transfer tussen arduino en usb te doen.
Dat is helemaal normaal, want de arduino heeft standaard een "usb Bridge" aanboord dus voor hem is het sowieso "maar" een seriële poort, de omzetting serieel/USB gebeurt dus op de print zelf.  Behalve bij de Leonardo, die heeft die Bridge niet en spreekt dus zowat "native"  usb op zijn poortje.

Aangezien ik er van uit ga dat je een UNO of MEGA hebt (of toch niet ?) kan je gewoon via de standaard "serialport" praten met je pc , dus in mijn geval via com17 ipv com1.
Re: HSI-88/S88 met Arduino
Hoi Dani,

Met een terminal programma kan ik prima verbinding maken met de Arduino, alleen met Koploper lukt het niet.
Ik zie de Rx led op de Arduino wel een paar keer knipperen maar dan krijg ik de melding dat Koploper geen communicatie kan opzetten.
Ik krijg hier wel een enorm déjà vu moment van. :roll:

Gr.
René
Re: HSI-88/S88 met Arduino
gaat Koploper er misschien van uit dat je inderdaad hardware handshake  (DTS-DSR) gebruikt ?  Dat kan je eventueel wel  "omzeilen" door een brugje als je met deriële kabel werkt, maar neut op USB.

Maar de Mega heeft niog 3   "gewone" seriële poorten aan boor, misschien kan je die gebruiken en dan één van de digitale signalen als DSR ?
Re: HSI-88/S88 met Arduino
Hoi Dani,

Daar gaat Koploper denk ik wel vanuit.
Ik zit te wachten op het pakketje waarin o.a. een RS232 serial port to TTL convertor zit.
Hopelijk gaat het daarmee wel werken. :)

Gr.
René
Re: HSI-88/S88 met Arduino
Hoi,

Ik heb weer wat goed nieuws te melden. :)

Het is me gisteravond gelukt om Koploper te laten communiceren met de Arduino via de USB poort.
Om dit werkend te krijgen heb ik gebruik gemaakt van 2 open source programma's, namelijk com0com en hub4com.

Met com0com kun je een virtuele null modem kabel maken en met hub4com kun je data routeren tussen meerdere com poorten.

Ik heb 2 virtuele null modem kabels aangemaakt, COM1/COM2 en COM5/COM6.

COM2, COM4 en COM5 zijn onderling gekoppeld; alle data die op één van deze com poorten binnenkomt wordt ook doorgestuurd naar de andere twee.

In Koploper is een HSI-88 gedefinieerd op COM1 en de Arduino zit op COM4.
De berichten die Koploper stuurt naar COM1, komen binnen op COM2 en worden doorgestuurd naar COM4 en COM5.
De antwoorden van de Arduino komen binnen op COM4 en worden doorgestuurd naar COM2 en COM5.
Koploper vindt het OK zo en ik kan lekker meekijken wat er allemaal verstuurd wordt met Hercules. :P


                    +----------------------------+
                    |                  +--------+|
+---------+         |      COM2==COM1--|Koploper||
|         |         |     /            +--------+|
| Arduino |---USB---|COM4<                       |
|         |         |     \            +--------+|
+---------+         |      COM5==COM6--|Hercules||
                    |                  +--------+|
                    +----------------------------+


Gr.
René
Re: HSI-88/S88 met Arduino
van een creatieve oplossing gesproken, dit is interessante materie !   Zo leren we wat van elkaar :-)
Re: HSI-88/S88 met Arduino
Citaat van: dani op donderdag 15 november 2012, 12:18:46
van een creatieve oplossing gesproken, dit is interessante materie !   Zo leren we wat van elkaar :-)

Daar doen we het toch voor. ;)

Ik zit net te denken om de Arduino IDE ook nog te koppelen :idea:, alleen mag de data van de IDE niet naar Koploper :error:.

Gr.
René
Re: HSI-88/S88 met Arduino
Dit lijkt wel de uitvinding van het vierkante wiel. Maar suc6 met je verdere project hopelijk leer je er veel mee.
Re: HSI-88/S88 met Arduino
Citaat van: Sprinter op donderdag 15 november 2012, 16:53:37
Dit lijkt wel de uitvinding van het vierkante wiel.
Hoe moeten we dit nou interpreteren ?
Als je tips hebt of betere oplossingen, dan mag je die altijd delen .....
Re: HSI-88/S88 met Arduino
by the way, ik rij wel es graag met vierkante wieltjes...  als de hoekjes er maar af gelopen zijn, maar niet de kantjes :-)

Ik heb een mooie (Franse) uitdrukking voor Sprinter :   "ça roule comme une boule... carrée... dans le sable".   Ik kijk uit naar jouw creatieve bezigheden .
Re: HSI-88/S88 met Arduino
Eigenlijk is dit een geniale oplossing. :O
Ik heb een virtueel probleem op kunnen lossen op een virtuele manier. :-)

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
Hoi,

De eerste fase van het project is klaar. :)
Alle bezetmeldingen komen netjes bij Koploper binnen en de Koploper maakt het desbetreffende baanvak bezet. :thumbup:
Dit weekend zal ik foto's en wellicht een filmpje plaatsen hoe het één en ander werkt.

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
cool, ik kijk uit naar die update, want het lijkt me een vrij goeie oplossing
Re: HSI-88/S88 met Arduino: Het werkt
Even vast een fotootje:



Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
cool .  leuk, zo een screwshield.  flexibel en handig.  benieuwd naar het vervolg
Re: HSI-88/S88 met Arduino: Het werkt
Zojuist de eerste praktijk test uitgevoerd, het werkt in principe goed maar ik ben nog niet helemaal tevreden.
Heel af en toe komt er een verkeerde bezetmelding binnen. :(
Moet dus nog even verder puzzelen waar dit vandaan komt.

Hieronder de test opstelling:



Koploper:



Hercules:



Het filmpje houden jullie nog te goed, daar heb ik helaas geen tijd meer voor vandaag.

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
wel, wel, wel, er heeft hier iemand aandachtig gekeken naar mijn "mobiel test baantje" topic zo te zien !
Mooi gedaan, en het is toch wel handig hee zo een ding dat je kan op plooien.

Goed dat het melden met de Arduino werkt, en dat je het onder de knie hebt.  Die valse meldingen kunnen komen opdat je toch nog ergens contact maakt de aangrenzende rail denk ik ...  Of misschien moet je de pull-down (of pull up- weerstanden op de ingangen van Arduino verhogen ?

Keep up the good work, mate !!!
Re: HSI-88/S88 met Arduino: Het werkt
Maar Dani toch, heb je al eens hier gekeken. :D

Ik heb geen originele isolatie toegepast tussen de rails, dus dat zou een mogelijke oorzaak kunnen zijn.
Verder heb ik een kleine vertraging toegepast en dat leek ook wel te helpen.

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
Haha, nu weet ik plots weer bij wie ik dit idee "geleend" heb ;-)

Wat vertraging betreft, dat kan inderdaad helpen, want normaal moet je al je contactjes  "dendervrij" maken.  Niets te maken met de rivier die hier bij ons in Aalst passeert, maar wel met het heel kort op elkaar volgen van 2 pulsen (of meer) die je programma dan soms niet juist interpreteert.

Maar voor die vertraging kan je op 2 manieren werken : ofwel met het  "delay(xxx)" statement ofwel met de Millis() functie.  Als je "delay" gebruikt, dan blijft het hele programma gewoon wachten en gebeurt er niks in parallel.  Als je met Millis() werkt en dan bij elke lus van je programma een verschilwaarde neemt om zo een aantel millisekonden delay te maken, dan kan je wel x keer je lus doorlopen en andere acties ondernemen terwijl je wacht.  Snap je wat ik bedoel ?
Re: HSI-88/S88 met Arduino: Het werkt
Hoi Dani,

Ik begrijp wat je bedoelt. :)
Als ik weer thuis ben kan ik het verder gaan finetunen.

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
Hoi,

En het is weer hoog tijd voor een update. :O
Met wel enige trots kan ik nu zeggen dat het nu goed werkt. :)
Er komen geen verkeerde bezetmeldingen meer binnen.

Op de Arduino van het testbaantje heb ik een LCD display aangesloten en kan ik de status van de bezetmelders zien:



Geen actieve bezetmeldingen:



Bezetmelding 4 is actief:



De volgende stap is om de huidige S88/HSI-88 decoders op mijn baan te vervangen door de Arduino versie. 8o

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
dat gaat flink zo, Rene .   (sorry geen tekens met accenten op deze laptop hij heeft een US klaviertje)

Jij bent er dus in geslaagd om het aan de praat te krijgen, da's super.
Ik denk dat ik dan binnenkort eens bij jou in de leer zal komen om dat te kunnen toepassen ;-)

Doe zo voort, het resultaat zal er mogen zijn !
Re: HSI-88/S88 met Arduino: Het werkt
Super :)

Eén vraagske, welke types van diode heb je gebruikt?



groeten Dylan
Re: HSI-88/S88 met Arduino: Het werkt
Citaat van: Lokkie op zondag 04 november 2012, 21:06:51
En zo wordt de bezetmelder aangesloten op de Arduino:


Zoals je ziet een 1N4148 en de andere zou een 1N4001 ....  1N4007  kunnen en mogen zijn volgens mij, zoals bij de beruchte  "diodetruuk".
Re: HSI-88/S88 met Arduino: Het werkt
Dani,

Awel die andere had ik al gevonden op het schema alleen die ene vroeg ik me af welke type hij heeft gebruikt.



groeten Dylan
Re: HSI-88/S88 met Arduino: Het werkt
daarom dat ik het schema er bij kopieerde, Dylan,  gewoon o; duidelijk te zien dat we het over dezelfde hebben, wat dus het geval is.   Ik zou daar dus gewoon een 1N400x voor nemen en volgens mij maakt het niet zo veel uit dewelke.
Re: HSI-88/S88 met Arduino: Het werkt
:) Ah oké, als alles binnen is zullen we dat eens testen...



groeten Dylan
Re: HSI-88/S88 met Arduino: Het werkt
Citaat van: dani op zondag 20 januari 2013, 17:37:51
dat gaat flink zo, Rene .   (sorry geen tekens met accenten op deze laptop hij heeft een US klaviertje)

Jij bent er dus in geslaagd om het aan de praat te krijgen, da's super.
Ik denk dat ik dan binnenkort eens bij jou in de leer zal komen om dat te kunnen toepassen ;-)

Doe zo voort, het resultaat zal er mogen zijn !

Bedankt. :)
En je mag bij mij in de leer, als ik bij jou in de leer mag. :D

Citaat van: minitreintje op zondag 20 januari 2013, 17:47:08
Super :)

Eén vraagske, welke types van diode heb je gebruikt?

groeten Dylan

Ik gebruik een 1N5408.

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
Dankje voor de informatie :)
Mijn ModuleDecoder V1.0 programma is net af :P


groeten Dylan
Re: HSI-88/S88 met Arduino: Het werkt
Hoi Dylan,

Klink interessant.
Wat kan je er zoal meedoen :?:

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
Het volgende:

     > 4 Wissels aansturen.
     > 4 Afremmodules aansturen.
     > 4 Seinen aansturen met in/uitfaden (2 standen).
     > 19 verlichtingsuitgangen die random aan/uit gaan. A.d.h.v. de Dag/Nacht modus kan het aantal uitgangen die inschakelen verschillen!
     > Dag/Nacht modus die wordt gestart met een drukknop (+-12 minuten)
     > Rijwegen uitvoeren aan de hand van binnenkomende(n) bezetmelding(en) (maximum 6 meldingen).

Als je wil kan ik je wel een kopietje ervan doormailen :)

Eén zaak is wel dat deze niet op een protocol ofzo reageert, misschien nog iets voor later... Deze ModuleDecoder is gemaakt om één Modulebak compleet aan te sturen. Zowel lichteffecten, servo's, ... als de rijwegen.

Dus alle elektronica onder de baan kan eruit en vervangen worden door één Arduino MEGA  :P


groeten Dylan
Re: HSI-88/S88 met Arduino: Het werkt
Ik heb zeker interesse. :)

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
Je hebt een PB.


groeten Dylan
Re: HSI-88/S88 met Arduino: Het werkt
@dylan : ik ga er dus van uit dat het sturen van de wissels met de Mosfets of Darlingtons gelukt is ?   Welke weerstandswaarden gebruik je nu uiteindelijk ?    Kwestie van dat ik ook van jou wat kan kopieren ;-)
Re: HSI-88/S88 met Arduino: Het werkt
Citaat van: dani op zondag 20 januari 2013, 21:57:13
@dylan : ik ga er dus van uit dat het sturen van de wissels met de Mosfets of Darlingtons gelukt is ?   Welke weerstandswaarden gebruik je nu uiteindelijk ?    Kwestie van dat ik ook van jou wat kan kopieren ;-)

Hallo Dani,
Helaas zijn alle onderdelen nog niet binnen dus ik heb alleen nog maar de software kunnen schrijven...

Groeten Dylan
Re: HSI-88/S88 met Arduino: Het werkt
Citaat van: dani op zondag 20 januari 2013, 21:57:13
@dylan : ik ga er dus van uit dat het sturen van de wissels met de Mosfets of Darlingtons gelukt is ?   Welke weerstandswaarden gebruik je nu uiteindelijk ?    Kwestie van dat ik ook van jou wat kan kopieren ;-)

Welke Darlingtons ga je gebruiken, de BD680/BD682 oid :?:

Gr.
René
Re: HSI-88/S88 met Arduino: Het werkt
Lid sinds: 2007

Elk vogeltje zingt zoals het gebekt is.

offline
Re: HSI-88/S88 met Arduino: Het werkt
Citaat van: dani op zondag 20 januari 2013, 18:14:08
daarom dat ik het schema er bij kopieerde, Dylan,  gewoon o; duidelijk te zien dat we het over dezelfde hebben, wat dus het geval is.   Ik zou daar dus gewoon een 1N400x voor nemen en volgens mij maakt het niet zo veel uit dewelke.

Volgens Peter/Freak zou je hiervoor een Schottky diode moeten gebruiken, BY.... hangt me iets van bij, dit i.v.m. de hoge freqeuntie van de door te laten rijstroom.

Groet, Anne W
Re: HSI-88/S88 met Arduino: Het werkt
Citaat van: Lokkie op maandag 21 januari 2013, 12:27:56
Citaat van: dani op zondag 20 januari 2013, 21:57:13
@dylan : ik ga er dus van uit dat het sturen van de wissels met de Mosfets of Darlingtons gelukt is ?   Welke weerstandswaarden gebruik je nu uiteindelijk ?    Kwestie van dat ik ook van jou wat kan kopieren ;-)

Welke Darlingtons ga je gebruiken, de BD680/BD682 oid :?:

Gr.
René

Dani  had me aangeraden BUZ 11 te gebruiken. Dat zijn N-Mosfets.


groeten Dylan