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

Geluid NS Mat'46 vs NS Mat'54 door Thom
Vandaag om 02:40:57
On traXS 15 t/m 17 maart Spoorwegmuseum Utrecht door MrBoembas
Vandaag om 02:36:33
De bouw van mijn modelbaan in Thailand door Thai-Bundesbahn
Vandaag om 02:07:57
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
Vandaag om 00:54:59
Bahnstrecke 5867 door Schachbrett
Vandaag om 00:39:27
Mijn Ned. N. Spoorbaan ''Echthoven'' door Schachbrett
Vandaag om 00:37:53
Bouw Bührtal III door Schachbrett
Vandaag om 00:36:33
Schneidersein door MartinRT
Vandaag om 00:00:05
NS/32 door RK
18 maart 2024, 23:49:38
Modelbaan Beltheim. door Ronald69
18 maart 2024, 23:41:34
01TREFF 2024, 26&27 OKTOBER door bernhard67
18 maart 2024, 23:27:22
Mijn eerste H0-modeltreinbaan in aanbouw door Modelbaan BeltHeim
18 maart 2024, 23:18:36
De Hondsrugbaan door Modelbaan BeltHeim
18 maart 2024, 23:17:58
Vraag over 20 voets container met vlakke zijwanden door MOVisser
18 maart 2024, 23:09:27
Ijzeren Rijn: militair transport door ijzeren rijn
18 maart 2024, 23:03:28
Perronhoogte TP3 door Klaas Zondervan
18 maart 2024, 22:35:55
Kranenberg, een exercitie in code 70 door wob
18 maart 2024, 22:14:45
EifelBurgenBahn door Reinout van Rees
18 maart 2024, 22:07:31
Loconet over TCP/IP door bask185
18 maart 2024, 22:00:49
bezetmelder aantal lengte en treinstellen door Bobos
18 maart 2024, 21:36:41
Les Billards du Vivarais door Hans1963
18 maart 2024, 21:36:19
plaatsen bezetmelders lengte en treinstellen door Bobos
18 maart 2024, 21:33:54
Am Ende der Strecke, modulebaan op 1 M2 door Frank 123
18 maart 2024, 21:34:50
Resetten decoder via Twin Center Fleischmann door Pieter Bregman
18 maart 2024, 21:33:18
Foto's gevraagd Den Haag CS, oude toestand door Pauldg
18 maart 2024, 21:30:41
Zee. Land. door Huup
18 maart 2024, 21:23:57
Digikeijs DR80010 door TBBW
18 maart 2024, 20:03:37
US diorama in H0 door basjuh1981
18 maart 2024, 20:02:44
Kemlerborden (Gevi / UN nummers) ketelwagens door Falkenberg
18 maart 2024, 19:36:20
Rheinburg, TP V/VI door gdh
18 maart 2024, 19:15:56
  

Auteur Topic: Aansturing via Arduino werkt niet goed  (gelezen 1944 keer)

wimk

  • Offline Offline
  • Berichten: 825
    • kusee.nl
Aansturing via Arduino werkt niet goed
« Gepost op: 17 mei 2022, 11:08:35 »
Beste mensen,

Mijn plan is om via een Arduino het rijden van de treinen aan te sturen. Dat werkt bijna, maar niet helemaal. Ik vraag me af waarom niet, wie kan me helpen en met ideeën komen waarom het niet gaat zoals ik verwacht dat het zou moeten gaan?

Situatie: Wat vereenvoudigd is mijn baan een ovaaltje. Opgedeeld in 7 secties. Iedere sectie een stuk ongedetekteerd (ca. 1 meter), en een stuk wel gedetekteerd (ca.0,75 m). Zeven maal parallel is de aansturing zoals in onderstaande tekening.



Links komt PWM-signaal van Arduino. Via optocoupler PC817 (ter voorkoming van piekspanning en beschadiging Arduino) is deze gekoppeld met het circuit van de 12 volt voor rijden van de treinen. Dat gaat via transistor BD679 als versterker. De diode rechts onderaan is als smoor-diode bedoeld (bij uitschakelen werkt motor van trein als dynamo en zou piekspanning kunnen geven). De gedetekteerde sectie gaat via een terugmelder zoals in de encyclopedie is beschreven; deze geeft bij berijden van deze sectie via optocoupler PC814 een signaal aan de Arduino.

Het gaat bijna overal goed. Als ik signaal via de Arduino aanlever, dan versterkt de transistor, en dan rijdt de trein. Zet ik het Arduino-signaal op nul, dan stopt de trein. De terugmelding gaat overal goed, de optocoupler PC814 merkt stroomvoering en geeft het signaal aan de Arduino door (die dan kan reageren als aansturing). Zeven secties onafhankelijk van elkaar, werkt bijna overal goed.

Helaas. Sectie 3 krijgt ook spanning als ik de pin vanaf de Arduino op nul zet (zelfs als ik het pinnetje uit de Arduino haal. Na lang testen heb ik gemerkt dat dit afhankelijk is van de stand van sectie 1. Als daar vanaf de Arduino spanning op wordt gezet, dan blijkt de trein in sectie 3 ook te rijden (mag dus niet). Ik heb alles gecontroleerd, kortsluiting zit er niet in, een defecte transistor lijkt het ook niet te zijn, heb ik ook al eens vervangen. Het gebeurt niet bij andere secties, daar werkt alles correct. Er is alleen een (ongewenste) wisselwerking van sectie 1 met sectie 3.

Zou de smoor-diode wellicht invloed kunnen hebben?
Zou er een omgekeerde stroom kunnen lopen door de BD679?
Zie ik iets over het hoofd en is mijn ontwerp niet correct?

Kortom, wie kan mij op weg helpen om de oorzaak te vinden?
Wim K
« Laatst bewerkt op: 17 mei 2022, 11:40:25 door wimk »

bask185

  • Offline Offline
  • Berichten: 3976
Re: Aansturing via Arduino werkt niet goed
« Reactie #1 Gepost op: 17 mei 2022, 12:18:57 »
Ik lees 7 secties. Dus vraag 1: gebruik je een arduino mega met voldoende pwm kanalen, want een uno/nano heeft maar 6 pwm kanalen.

Dat gezegd hebbende, kan het wel degenlijk met een uno/nano icm software pwm. Daarvoor heb ik een makkelijk te gebruiken Weistra library voor gemaakt.

Mijn eerste opmerking, de linker optocoupler is in principe overbodig. Maar baadt het niet, schaadt het niet...

Opmerking 2, ik zie ook geen voorschakelweerstand in serie met deze optocoupler staan. Ik weet niet uit mijn hoofd of de pc817 zonder voorschakelweerstanden kan (volgens mij niet), maar aangezien het merendeel rijdt bij jou, zal je het vast goed gedaan hebben.

Opmerking 3. Bij je detecties zie ik vier diodes, strikt gezien heb je er maar 2 nodig daar je maar in 1 richting rijdt.

Citaat
Zou de smoor-diode wellicht invloed kunnen hebben?
Als deze diode defect raakt, sneuvelt verder alleen de BD679. Op het eerste oog lijkt het me onwaarschijnlijk dat die andere secties beinvloedt.
 
Citaat
Zou er een omgekeerde stroom kunnen lopen door de BD679?
Niet zoals in jouw tekening dan spert die. Maar als hij gesneuveld is, wie weet. Maar ik denk als je de 12v en massa omdraait dat je andere en meer problemen gaat krijgen.

Citaat
Zie ik iets over het hoofd en is mijn ontwerp niet correct?
Niet zozeer aan je probleem gerelateerd maar ik zie geen overstroom of kortsluit preventie. Als je tussen de emitter en de massa 2x 1Ohm weerstanden parallel zet (zodat ze samen een weerstand van 0.5 ohm hebben) kan je de emitter pin aan een analoge ingang van de arduino hangen. Dan kan je effectief de stroom meten en vroegtijdig afschakelen. Als je een voeding pakt die niet meer dan 1.5A levert dan lijkt het me ook redelijk veilig. Maar de arduino's kunnen dan ook resetten bij een kortsluiting en dat lijkt mij onwenselijk.

Terug naar je probleem
Citaat
Sectie 3 krijgt ook spanning als ik de pin vanaf de Arduino op nul zet (zelfs als ik het pinnetje uit de Arduino haal. Na lang testen heb ik gemerkt dat dit afhankelijk is van de stand van sectie 1.
Er komen 3 dingen bij mij naar boven.

1). De led kathodes van de pc817 zouden aan elkaar kunnen hangen. Zo zou 1 arduino pin 2 secties kunnen schakelen. Maar dan zouden beide pinnen beide secties moeten schakelen -> onwaarschijnlijk
2). Misschien dat je een sluiting kan vinden tussen de bases van de bd679 of er kan een sluiting zitten tussen de pc817 en die 10k weerstand van beide secties.
3). Een software fout.

Verder kan ik er niet veel meer over zeggen. Om mij of anderen jou verder te laten helpen, zou ik:
1). een geheel schema tekenen van alles. (en praat hardop tegen jezelf wanneer je dat doet, I kid you not)
2). foto's....
3). Post wat software op een manier, hier, github, mail, iets... Je kan het ook naar me mailen, maar ik weet nog niet of ik er tijd voor heb om er grondig naar te kijken.

Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

wimk

  • Offline Offline
  • Berichten: 825
    • kusee.nl
Re: Aansturing via Arduino werkt niet goed
« Reactie #2 Gepost op: 17 mei 2022, 12:45:14 »
Dag Bas,

Bedankt voor je uitgebreide antwoord.
1. Ik gebruik een Arduino mega (chinese kloon).
2. Linker optocoupler zit er om piekspanningen uit het rijd-circuit naar de Arduino terug te voorkomen. Zou beschadiging aan Arduino kunnen veroorzaken.
3. Voorschakelweerstand bij PC817: Die zet er wél, vergeten op tekening te tekenen. Sorry voor de onduidelijkheid.
4. Detectie met 4 diodes: inderdaad overbodig, maar die terugmelders had ik liggen, met 2 diodes zou ik nieuw moeten maken. Scheelt weer solderen. Inderdaad maar 2 nodig, maar mag verder niet uitmaken.

N.a.v. je 3 opmerkingen:
1) Wat bedoel je precies met "led kathodes van pc817"? Bedoel je dat van sectie 1 de pc817 altijd stroom voert wegens kortsluiting? Ik ga het nazoeken.
2) Kortsluiting tussen basis bd679? Die vraag snap ik niet. Alle 7 secties zijn goed van elkaar gescheiden, dus sluiting tussen de ene en de andere sectie is uitgesloten.
3) Softwarefout. Nee, ik stuur mijn Arduino nu nog aan met een hulpprogramma om de werking van pmw-pins en terugkoppeling te testen. Het plan is om later, als alles correct werkt, de sturing verder uit te breiden (meer treinen op het ovaaltje).

Het hulpprogramma wat er nu op de Arduino staat werkt als volgt:
  • Geef alleen sectie-1 stroom. Trein rijdt dan over sectie 1 tot meldsectie.
  • Arduino reageert op meldsectie. 2 seconden sectie-1 afschakelen (stoppen), dan Arduino pin van sectie 1 en sectie 2 spanning geven (en niet meer luisteren naar meldsectie 1), alle andere secties staan uit.
  • Dan rijdt de trein verder uit meldsectie-1 en door sectie-2.
  • Vervolgens in meldsectie-2 hetzelfde proces.
  • En zo iedere sectie.

Ik heb zitten testen met afschakelen, bij alle secties uitschakelen gaat het goed, maar als mijn trein in sectie-3 is, en ik dan alleen sectie-1 inschakel, dan rijdt de trein in sectie-3 (iets langzamer) gewoon door, wat dus niet zou mogen.

Alle andere secties werken perfect.

Samenvattend: ik ga kortsluiting bij pc817 testen en eens kijken of daar de fout zit.

Groeten, Wim K

bask185

  • Offline Offline
  • Berichten: 3976
Re: Aansturing via Arduino werkt niet goed
« Reactie #3 Gepost op: 17 mei 2022, 16:59:48 »
Citaat
Wat bedoel je precies met "led kathodes van pc817
Sorry, pin 2 van het IC


Ik zou sws alle verbindingen nagaan tussen de optocouplers van beide secties.

Met alleen dit aan informatie, kom ik op 2 conlusies.
Citaat
Ik heb zitten testen met afschakelen, bij alle secties uitschakelen gaat het goed, maar als mijn trein in sectie-3 is, en ik dan alleen sectie-1 inschakel, dan rijdt de trein in sectie-3 (iets langzamer) gewoon door, wat dus niet zou mogen.
Of er zit ergens een kortsluiting in waarbij die optocoupler of transistor op 1 pin werken.

Of
Citaat
3) Softwarefout. Nee, ik stuur mijn Arduino nu nog aan met een hulpprogramma
Ja dat kan wel zo zijn, maar als jij per ongeluk ergens pwmPin1 tikt ipv pwmPin7 om maar wat te noemen, kan je makkelijk overheen lezen.

Dus met foto's en/of een lapje code kunnen we verder kijken.

We hebben ook code tags daarvoor. Je kan je hele programma tussen deze 2 tags zetten
[ c o d e ]
   // als ik de spaties weghaal in de code tags...
[ / c o d e ]

   // .. krijgen we code

Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Mar-Cas

  • Offline Offline
  • Berichten: 219
  • Samen bouwen a.d. woonkamerbaan is wel zo gezellig
Re: Aansturing via Arduino werkt niet goed
« Reactie #4 Gepost op: 18 mei 2022, 10:37:48 »
Plaats eens 'n pulldown weerstand  aan de basis van BD679.
Een zwevende basis is  nooit 'n stabiele situatie.

Caspar
Greetz Caspar

ROn30

  • Offline Offline
  • Berichten: 34
Re: Aansturing via Arduino werkt niet goed
« Reactie #5 Gepost op: 18 mei 2022, 13:24:29 »
@Wim,

Mar-cas heeft gelijk je zal de basis met een weerstand aan de nul moeten leggen voor een betrouwbaar resultaat.
Nadeel is dat je detectie dan ook niet meer werkt.

Indien je het BD679 circuit in het 12V circuit zou opnemen, bovenzijde van de getekende rail, en detectie ten opzichte van de nul zou plaatsen, onderzijde getekende rail, ben je een stuk flexibeler met het fout zoeken.
Je detectie kan je dan testen door 12 v op de onderste rail te zetten. Je PWM kan je met een voltmeter meten op de wisselspanning stand via de bovenste rail.

Succes.


bask185

  • Offline Offline
  • Berichten: 3976
Re: Aansturing via Arduino werkt niet goed
« Reactie #6 Gepost op: 18 mei 2022, 14:43:38 »
Nadeel is dat je detectie dan ook niet meer werkt.
Volgens mij blijft die het gewoon doen, de detectie werkt nog steeds met een optocoupler en die zou nog steeds moeten werken.

Ik zou eerder die pc817 er uit knikkeren, die heb je echt niet nodig om je arduino te beveiligen.

Mvg,

Bas


Train-Science.com
Train-Science github
It ain't rocket science ;-)

wimk

  • Offline Offline
  • Berichten: 825
    • kusee.nl
Re: Aansturing via Arduino werkt niet goed
« Reactie #7 Gepost op: 18 mei 2022, 21:04:34 »
Beste mensen,

Allereerst dank voor de hints en hulp.

Maar met schaamrood op de kaken moet ik vertellen, dat ik het probleem heb gevonden. Zo sullig en onbenullig, dat ik eigenlijk hard en met grote schaamte wil wegrennen.

Maar laat ik jullie toch vertellen wat er aan de hand was.

Bij het maken van het geheel heb ik gebruik gemaakt van onderdelen die ik al had liggen. De versterker met BD679 en optocoupler PC817 had ik per 2 secties op een printplaatje liggen. Vier naast elkaar en klaar was ik. De terugmelders had ik ook liggen. Zeven naast elkaar, en klaar was ik.

Maar om de ongedetecteerde en gedetecteerde secties gelijk te laten lopen zijn er voor de ongedetecteerde sectie 2 diodes in serie nodig (zie plaatje in eerste post, rechts op plaatje). Voor 5 secties (2 secties hebben geen ongedetecteerd gedeelte) was dat nodig. Die 5 x 2 diodes heb ik op een printplaatje gezet en in elkaar gesoldeerd. Zie foto.



Als je iets soldeert werk je als volgt. Je steekt de diodes door de gaatjes. Je buigt de pinnetjes aan de achterkant om naar de blauwe connectors, zet een dotje soldeer erop, en knipt de overblijvende pinnetjes met een kniptangetje af. En juist bij dat laatste is het misgegaan. Eén pinnetje had ik vergeten af te knippen. Na het maken van het printplaatje heb ik alles met de multimeter gecontroleerd, alles werkte feilloos, geen kortsluiting, diodes lieten netjes in één richting stroom door. Blijkbaar raakte dat rest-pinnetje niets. Maar bij het vastschroeven op de baan heeft het toch net sluiting gemaakt. Daardoor werkte sectie 3 ook op de transistor van sectie 1.

Oplossing: pinnetje eraf geknipt. Alles werkt nu feilloos, precies zoals ik had bedacht, precies zoals Bas ook al had aangegeven. Iedere sectie wordt door de Arduino aangestuurd, de terugmelders geven netjes een signaal naar de Arduino. Nu kan ik verder bouwen.

Mag ik nog steeds met rode konen en grote schaamte hard wegrennen?

Leerpunt: controleer toch vooral ook visueel iets als je het hebt gesoldeerd.

Groeten, Wim K

FreekH

  • Offline Offline
  • Berichten: 513
Re: Aansturing via Arduino werkt niet goed
« Reactie #8 Gepost op: 19 mei 2022, 00:00:40 »
Je hoeft niet weg te rennen hoor, ik denk dat het voor veel mensen hier heel erg herkenbaar is.
Ik ken d'r minstens één van  ;D

bask185

  • Offline Offline
  • Berichten: 3976
Re: Aansturing via Arduino werkt niet goed
« Reactie #9 Gepost op: 19 mei 2022, 13:56:19 »
Je moet eens weten hoe vaak ik mijn hoofd tegen een muur heb staan bonken  ;D

Bij mijn handregelaar was ik zelfs vergeten om een paar printsporen te trekken. De verbindingsdraadjes liepen precies andere lijnen waardoor ik ze niet kon zien. En handige harry dat ik was, had ik geen design rule check uitgevoerd... simpele print immers...

Toen moest ik achterop een paar draadjes er tussen knutselen  ;D

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

ROn30

  • Offline Offline
  • Berichten: 34
Re: Aansturing via Arduino werkt niet goed
« Reactie #10 Gepost op: 19 mei 2022, 17:56:01 »
Volgens mij blijft die het gewoon doen, de detectie werkt nog steeds met een optocoupler en die zou nog steeds moeten werken.

Ja natuurlijk de optocoupler werkt nog steeds maar er is geen input.

Als je de BD679 volledig dichtstuurd door de basis aan de massa te leggen loopt er, op een kleine lekstroom na, niets doorheen.
Het gevolg is geen spanningsval over de diodes en dat zal ook niet veranderen zolang de basis aan de massa ligt.

Ik dacht dat duidelijk was wat ik bedoelde met "niet werken"

ROn30

  • Offline Offline
  • Berichten: 34
Re: Aansturing via Arduino werkt niet goed
« Reactie #11 Gepost op: 19 mei 2022, 17:57:01 »
 @wimK (y) succes met je project!

schipcas

  • Lid van de AMC, Amsterdamse Modelbouw Club
  • Offline Offline
  • Berichten: 285
    • Amsterdamse modelbouw vereniging
Re: Aansturing via Arduino werkt niet goed
« Reactie #12 Gepost op: 20 mei 2022, 13:40:27 »
Kijk ook eens op Youtube bij Tom's trains and Things. https://www.youtube.com/channel/UCE1TsLOIG2wxBZ7fe8512qw
Deze man heeft erg veel met Arduino en DCC
Suc6
Henk
Als hadden komt, is hebben te laat!