marklin op arduino

He,

Ik ben in onze (trein)club bezig met een proefprojectje om op een nieuw deel dat in aanbouw is, alles met arduino te sturen. Qua programmatie e.d. kom ik er wel uit, ik zit enkel nog met een probleem met de electronica.

Alle het rijdend materieel werkt op een wisselspanning tussen de 0 en 18V en alle niet rijdende onderdelen zoals wissels hebben een vaste 18V wissel spanning. Ik dacht om de 5V uit de arduino te gebruiken om een optocoupler aan te sturen die dan op zijn buurt de 18V schakelt. Nu is mijn vraag, is dit wel mogelijk? De treinen trekken ongeveer 0.5A maar reken maar op 1A opstartstroom. Ga ik een normale optocoupler niet overbelasten? En zo ja, wat is het alternatief? Een gewone transistor?

Alvast bedankt

Zou je geen MOSFET kunnen toepassen. De BSP295 zou continue 1,7A met pulsstromen tot 6,8A en heeft een werkspanning tot 50V

Depeet

Wisselstroom kun je niet direct met een transistor of optocoupler schakelen.

Ik zou op de uitgang van de Arduino een transistor zetten welke een klein relais schakelt. Het relais schakelt dan de 18V AC

Zie http://www.flickr.com/photos/anachrocomputer/3242387876/in/pool-make voor een schema. Vergeet vooral de diode over de relais spoel niet.

Ik neem aan dat het nog over analoge treinen gaat.
Dan kun je overwegen om de rijvoeding om te zetten naar gelijkspanning. Die treinen hebben universele motoren die het op gelijkspanning net zo goed, of zelfs beter doen.

Neen, dit is niet enkel analoog. Er zitten ook digitale encoders tussen die analoog worden aangestuurd (enkel met de nieuwe marklin transfo's gaat dit) en dit zijn treinen van clubleden dus ik neem daar echt geen enkel risico mee.

Zal ik met een relais dezelfde levensduur halen als met een halfgeleider?

Zou het, zoals mijn collega beweert, ook niet gaan met een triac optocoupler?

Alvast bedankt voor de hulp!

[Bericht gewijzigd door Henry S. op maandag 21 januari 2013 16:59:28 (28%)

Waarom moeilijk doen?
Een relais is veel simpeler en eenvoudiger te troubleshooten. Bovendien kun je hier ipv AC ook een DCC mee schakelen (een triac vervormt mogelijk het DCC signaal) Kosten van een relais + vrijloopdiode zijn nog geen 1 euro (simpel 5V printrelais en een 1N4001 blusdiode ofzo)

Relais kunnen vaak tienduizenden keren schakelen voor er ook maar een storing optreed, dat moet toch voldoende zijn voor een modelbaantje?

[Bericht gewijzigd door javanree op dinsdag 22 januari 2013 16:24:25 (15%)

Als je een analoog wisselspanningssysteem wilt automatiseren, hoe ga je dat dan doen met de rijrichting? Bij elke puls wisselt de rijrichting om, maar hoe weet de software welke rijrichting momenteel gekozen is?

Op 21 januari 2013 14:57:52 schreef dj technics:
Neen, dit is niet enkel analoog. Er zitten ook digitale encoders tussen die analoog worden aangestuurd

Hoewel ik tamelijk goed ben ingevoerd in de modelspoorwereld, snap ik niet wat je hier bedoelt. Kun je wat specifieker zijn?

Wel, de baan is analoog maar veel van onze leden rijden op hun eigen baan digitaal. Het is mogelijk om digitale locs op een analoge transfo te zetten en dan rijd die gewoon alsof die analoog zou zijn. Het enige waar je rekening mee moet houden is om niet met spanningen te gaan rommelen. De digitale locs kunnen zelfs niet tegen de keer spanning.

@Fox2: De rijrichting is niet van belang. Het gaat hier in de eerste plaats om blokbeveiligingen. 100% automatisatie van de baan is een toekomst plan, maar dat is nog niet voor nu.
Waarom dan blokbeveiligingen met een arduino? Heel simel, er liggen een hoop wisselstraten in dat stuk baan en dit is tamelijk lastig analoog te beveiligen. Wat de club wil is een systeem dat nog steeds door meerdere personen worden aangestuurd met gewone schakelaars e.d. (dit is nu eenmaal de hobby) maar dat de handelingen van de operator worden bijgestuurd zodat botsende treinen niet meer kunnen voorkomen doordat de operator er ééntje over het hoofd heeft gezien (vooral in schaduw stations gebeurt dit jammer genoeg veel).

Ik denk dat ik voor de relais ga gaan wat de rij spanning betreft. Maar wat doe ik met de terug meldingen? Veelal word de rails over geslepen waardoor de wieltjes van een trein de 18V rijspanning naar de andere kant doorgeven. Door deze spanning te gaan detecteren op het geïsoleerde deel worden bezet meldingen gemaakt. Hoe krijg ik die spanning dan weer omgezet in en 5V voor de ingang van de arduino? 18V AC relais zijn niet zo eenvoudig te vinden. Kan dit dan wel met een optocoupler (eventueel mits gelijkrichting)?

Alvast bedankt voor jullie hulp!

[Bericht gewijzigd door Henry S. op woensdag 23 januari 2013 15:50:37 (7%)

Op 23 januari 2013 13:32:25 schreef dj technics:
De digitale locs kunnen zelfs niet tegen de keer spanning.

Daar kunnen ze wel tegen, als die spanning niet te hoog is. De omkeerpuls is nominaal 24V, maar sommige oudere trafo's leverden ruim meer dan 30V. En daar kunnen decoders inderdaad niet tegen.

Als je ook met digitale locs rijdt, dan is overstappen op gelijkspanning geen optie. De decoders in Märklin locs herkennen dat niet als analoge spanning.

Op 23 januari 2013 13:32:25 schreef dj technics:
Veelal word de relais over geslepen waardoor de wieltjes van een trein de 18V rijspanning naar de andere kant doorgeven.

Je bedoelt hier: de rails worden doorgeslepen.
En de wielen brengen niet de 18V over, ze leggen dat geïsoleerde stuk rail aan massa. En dat kan je direct naar de Arduino overbrengen, als je de massa's koppelt. Met een pull-up weerstand breng je het geisoleerde railstuk op +5V, als er een trein overheen rijdt trekt die het naar massa.
Je moet alleen voorzieningen treffen om de Arduino te beschermen als er onverhoopt toch 18V op komt te staan.

[Bericht gewijzigd door Henry S. op donderdag 24 januari 2013 12:37:13 (40%)

Dit is inderdaad de theorie en dit zou perfect moeten werken. Nu is het zo dat ik in de club samenwerk met iemand die de elektrische regels niet zo op de voet volgt/kent en ik wil het risico niet nemen dat hij de elektronica kan beschadigen. Niet persé met slechte bedoelingen maar gewoon al in test situaties is het snel gebeurt.

Moet ik er dan wel nog een extra diode voorzetten of kan het geen kwaad als de diode van de coupler rechtstreeks wisselspanning krijgt (wel met een voorschakelweerstandje ervoor natuurlijk)?

En Sorry, dat was inderdaad een typ foutje. Ik had het moeten nalezen :s

[Bericht gewijzigd door Henry S. op woensdag 23 januari 2013 15:50:20 (0%)

Als je bang bent dat iemand de boel in de gloria helpt, dan is het inderdaad veiliger om er een galvanische scheiding tussen te zetten.
Maar de s88 terugmelders van Märklin werken ook op een inwendige spanning van 5V, en zijn op de massa gekoppeld met de massa van de rijstroom.

Kun je hier een schemaatje plaatsen van wat je in gedachten hebt? Dat praat makkelijker.

[Bericht gewijzigd door KlaasZ op woensdag 23 januari 2013 16:19:11 (24%)

Het klopt dat het geisoleerde stuk rail aan massa wordt gelegd, via de doorlopende as en het tegenoverliggende wiel.
Maar wat gebeurt er als dat andere wiel even geen contact maakt? Dan Ligt het zwevende stuk rail (via de motorwikkelingen) aan de spanning van het midden-sleepcontact.

De spanning op het zwevende stuk rail kan dus best vervuild zijn met hoge pieken, afhankelijk van de toestand van de rails en het materieel. Het beroerde van die wisselspanning is ook nog eens, dat het zowel positieve als negatieve rommel kan zijn.

Goed filteren en begrenzen dus. Bijvoorbeeld met een serieweerstand gevolgd door clampdiodes naar +5V en GND. De serieweerstand (die ook al onderdeel kan zijn van je laagdoorlaatfilter) begrenst de eventuele stroom door de diodes.

Op 23 januari 2013 16:17:16 schreef KlaasZ:
Kun je hier een schemaatje plaatsen van wat je in gedachten hebt? Dat praat makkelijker.

Straks na het werk zal ik er een schematje van maken, ik post dit vanavond nog!

https://dl.dropbox.com/u/14204250/schemeit-project-1.png

Dit is wat ik in mijn hoofd had.

Ik heb misschien nog 1 vraag: kan ik mijn seintjes met een comparator aansturen om uitgangen van de arduino uit te sparen? BV 1V uit de arduino is groen, 2V uit de arduino is rood enz.
Ik denk dat ik hier wel een schema voor gemaakt krijg, alleen weet ik niet zeker of een comparator zijn referentie spanning of zijn voedings spanning op zijn uitgang zet.

In elk geval, bedankt voor de hulp.

[Bericht gewijzigd door Henry S. op donderdag 24 januari 2013 12:36:45 (60%)

De schema's die je laat zien zouden moeten werken. Ik zie daar geen rare dingen in.

Wat die comparator betreft, die vergelijkt de beide ingangen. Als de niet-inverterende ingang hoger is dan de inverterende, dan is de uitgang hoog, andersom, dan is de uitgang laag.
Dus stel je b.v. de inverterende ingang in op 2,5V, dan kun je de uitgang naar laag of naar hoog schakelen door de niet-inverterende ingang resp. een spanning lager dan 2,5V of een spanning hoger dan 2,5V toe te dienen.

Waarbij je moet bedenken dat een comparator meestal een open collector als uitgang heeft. Je zult de status hoog dus moeten helpen met een pull-up weerstand.

Je kunt trouwens een opamp ook als comparator gebruiken. Die schakelt wel zelf naar laag, resp. hoog.

Uhu, maar mijn vraag is eigenlijk welke spanning er op de uitgang van de comperator komt te staan als die hoog word? Is dat de spanning van de interverterende, de niet-inverterende of de voedings spanning van het IC?

Heb je in het schema de optocoupler niet verkeerdom zitten? Die gaat nu pas geleiden als je rail contact een hogere spanning heeft dan 18V terwijl je dacht ik juist met massadetectie wilde werken?

Verder vind ik je Arduino voeding niet 'netjes' en wel om 2 redenen. Als ik je gedachtengang goed begrijp wil je de 18V AC waarmee je rijdt dus ook voor de Arduino gebruiken. Dan kun je nooit die 18V AC laten wegvallen in geval van een noodstop want dan stopt ook je Arduino en dan is je beveiling z'n 'status' kwijt.

Ten tweede sta je nu twee maal veel vermogen te verstoken. 18V AC wordt gelijkgericht en afgevlakt meer dan 20V DC. Je verstookt dus in die 7809 flink wat en vervolgens in de onboard 7805 nog eens het nodige... pak gewoon een losse netvoeding die ongeveer 8-9V DC doet en gebruik die.

Lambiek

Special Member

Op 23 januari 2013 23:49:48 schreef javanree:
Ten tweede sta je nu twee maal veel vermogen te verstoken. 18V AC wordt gelijkgericht en afgevlakt meer dan 20V DC. Je verstookt dus in die 7809 flink wat en vervolgens in de onboard 7805 nog eens het nodige... pak gewoon een losse netvoeding die ongeveer 8-9V DC doet en gebruik die.

En met een netvoeding verstook je geen vermogen denk je, misschien iets minder maar je verstookt vermogen. :)

@ dj technics,
Je voeding is nog niet helemaal compleet, zet nog twee condensatoren van 100nF over de in en uitgang van je spanningsregelaar. C1 kan je bv 2200uF voor nemen, en voor C2 220uF. Je regelaar moet je wel koelen.

Bij je optocoupler (ingang led) kan je eventueel nog een diode anti parallel zetten aan de led. Dat kan bv een 1N4007 zijn.

Als je iets wil inverteren kan je dat ook in je programma doen.

Als je haar maar goed zit, GROETEN LAMBIEK.

@Lambiek je verstookt altijd wel iets vermogen maar je verliezen zijn nu wel heel hoog...

Je gaat uiteindelijk terug van circa 22-24V naar 5V... bij zeg 200mA is dat toch minimaal 3.4W aan warmte.
Een hele goedkope geschakelde netvoeding 9V DC kost je maar een paar euro.

Op 23 januari 2013 23:46:28 schreef dj technics:
Uhu, maar mijn vraag is eigenlijk welke spanning er op de uitgang van de comperator komt te staan als die hoog word?

Dat kan je zelf beinvloeden. Zoals ik zei heeft een comparator meestal een open collector als uitgang. Als de uitgang laag is, dan geleidt die transistor naar massa, en heb je dus praktisch GND potentiaal.
Als de uitgang hoog is, dan spert de transistor en heb je een zwevende uitgang, die je met een weerstand naar de plus kan trekken.

Kijk anders eens naar datasheets van comparators, daar staat meestal het inwendig schema ook in, en dat maakt veel duidelijk.

Op 23 januari 2013 23:49:48 schreef javanree:
Heb je in het schema de optocoupler niet verkeerdom zitten? Die gaat nu pas geleiden als je rail contact een hogere spanning heeft dan 18V terwijl je dacht ik juist met massadetectie wilde werken?

Tussen die rail en de 18V staat wisselspanning. Het maakt dus niet uit hoe de opto er tussen zit. Wel zou ik er een beschermdiode bij zetten, of in serie met R1, of antiparallel over de optoled.

[Bericht gewijzigd door Henry S. op donderdag 24 januari 2013 12:37:48 (26%)

Op 24 januari 2013 12:06:32 schreef KlaasZ:
Tussen die rail en de 18V staat wisselspanning. Het maakt dus niet uit hoe de opto er tussen zit. Wel zou ik er een beschermdiode bij zetten, of in serie met R1, of antiparallel over de optoled.

Dat was ik idd van plan, maar echt noodzakelijk is die toch niet he

De rede waarom ik zelf de voeding wil maken is om draden tussen de modules te sparen. Op deze manier lopen er tussen de modules 6 draden: 2 permanente spanning, 2 rijspanning en 2 communicatie. Anders moet ik, of 230V mee onder de modules leggen (dit is geen optie) of 2 extra 9V draden maar dan moet ik al een zwaardere voeding hebben en kan de spanningsval te groot worden (de draden kunnen aan het einde van de baan nogal lang worden).

Alles wat ik tot nu toe heb besproken gaat over een stuk testspoor dat nu tijdelijk is opgesteld (enkel om de elektronica van de in en outputs op punt te krijgen vooraleer we aan het echte werk beginnen) maar ik moet ook naar het eind doel kijken en dat is een module baan met meerdere arduino's onder.

[Bericht gewijzigd door dj technics op donderdag 24 januari 2013 13:17:12 (16%)

Op 24 januari 2013 13:14:46 schreef dj technics:
Dat was ik idd van plan, maar echt noodzakelijk is die toch niet he

De tijd zal het leren. Een led mag volgens de specs maximaal 5V sperspanning hebben. Als je geen diode toevoegt krijg je steeds 18V over de led in sperrichting. Mijn ervaring is dat ze daar niet meteen stuk van gaan, maar ik weet niet wat het op langere termijn doet.

Anders moet ik, of 230V mee onder de modules leggen (dit is geen optie)

Je moet inderdaad geen 230V bedrading vast onder een modelspoorbaan monteren. Als het nodig is om op meerdere punten 230V voeding te hebben, dan kun je dat beter met standaard verdeelsnoeren doen.

Op 24 januari 2013 14:32:15 schreef KlaasZ:Je moet inderdaad geen 230V bedrading vast onder een modelspoorbaan monteren. Als het nodig is om op meerdere punten 230V voeding te hebben, dan kun je dat beter met standaard verdeelsnoeren doen.

Als ik mijn voedingen zo maak zoals op het schema, kan ik alles op de 18V werkspanning doen wat mij eigenlijk een groot voordeel lijkt.

Er zijn hele leuke 78xx-vervangers, die eigenlijk een complete geschakelde voeding bevatten. Je gebruikt ze net als een gewone 7805 (of een andere spanning).
Dit zou een prima situatie zijn om deze toe te passen. Je houdt het stroomverbruik op je 18V hiermee een stuk lager (zeker een factor 2, waarschijnlijk nog wel meer), en je produceert een stuk minder warmte. Dat scheelt dus ook weer koelprofielen.

Lambiek

Special Member

Op 24 januari 2013 15:58:28 schreef dj technics:
Als ik mijn voedingen zo maak zoals op het schema, kan ik alles op de 18V werkspanning doen wat mij eigenlijk een groot voordeel lijkt.

Ja dat kan, als je er nog iets aan toevoegt. Zie mijn post hier boven, volgens mij heb je die gemist. :)

Als je haar maar goed zit, GROETEN LAMBIEK.