Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Toon hier je nieuwe (model-) spooraanwinst(en)... door Pommie
Vandaag om 01:30:19
CIWL of toch niet?? Maar wat dan wel? door nighttrain1
Vandaag om 00:19:05
Tams app door reinderlf
Vandaag om 00:01:47
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 00:00:11
Wat was jullie allereerste loc? door ArjanB
08 August 2025, 23:41:32
Site Uhlenbrock door Hasenwald
08 August 2025, 23:28:39
De projecten van Ruben (NL H0) door Ruben90
08 August 2025, 23:27:25
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door NS264
08 August 2025, 23:24:44
Programmeren cv door Hasenwald
08 August 2025, 23:18:39
booster vraag door Hasenwald
08 August 2025, 23:06:40
Modelbaan Beltheim. door Wim Vink
08 August 2025, 22:53:32
Ombouw Hornby LMS Class 2P 4-4-0 naar NS 2100 door Erwin 054
08 August 2025, 22:51:41
Mooi weer om buiten te spelen door sncf231e
08 August 2025, 22:30:37
Sfeer op je modelbaan door Scratchbuilt
08 August 2025, 22:26:36
Wielen bruineren. Hoe? door Dave.......
08 August 2025, 22:14:22
Bouwbeschrijving Pec ex Dec van FRIE door AB 7216
08 August 2025, 22:11:40
Toon hier je (model)TRAM foto's. door GerardvV
08 August 2025, 22:08:01
Nieuwe ruimte voor baan na ca. 30 jaar door ruudns
08 August 2025, 22:05:18
Hoe een Train-O-Matic lokdecoder voorzien van een lang adres ? door Bahn-AG
08 August 2025, 21:41:52
23 augustus modelspoorbeurs Houten door Martin Domburg
08 August 2025, 21:35:29
Rijnstraat door Huup
08 August 2025, 20:37:49
Vijfhuis (v.h. Frotterdam) door Ben
08 August 2025, 20:36:15
24e smalspoormodelbouwdagen 30 en 31 augustus 2025 bij Stoomtrein Katwijk Leiden door Ronald Halma
08 August 2025, 20:32:30
Module vliegveld Jan van Mourik door Peter Soonius
08 August 2025, 20:30:48
Fleischmann Anna ombouw. door Scratchbuilt
08 August 2025, 20:25:10
"moderne" kolenbakken en kolenwagens in Nederland. door ES44C4
08 August 2025, 20:23:24
Terugverende koppeling door Trein033
08 August 2025, 20:01:19
BR-18.6 Schaal-0. door FritsT
08 August 2025, 19:03:27
Vreemd probleem door guy1846
08 August 2025, 18:37:10
DDAR op basis van een Artitec DDM door Daan de leeuw
08 August 2025, 16:23:24
  

Auteur Topic: Beginnen in Eagle, Arduino DCC 8x servo shield  (gelezen 58454 keer)

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #360 Gepost op: 29 August 2016, 16:22:41 »
@Jowi, dat je dat zou willen doen :)

En waarin ga je de app bouwen? Zelf wel eens het een en ander gemaakt maar toch eigenlijk blijven hangen bij de embedded kant  ;D


Timo
Verzonden vanaf mijn desktop met Firefox

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #361 Gepost op: 29 August 2016, 16:27:42 »
Dat wordt een C# winforms app (.NET). Ben nu bezig een protocolletje op te zetten voor de data die heen- en weer gaat, moet wel iets simpels worden uiteraard. Zit een beetje te denken om ook meteen die 'config' en ' runtime' modes achterwege te laten, dat heeft dan feitelijk ook geen nut meer. Je krijgt gewoon een grafische interface te zien voor 10 servo's en relais waarmee je ze in kunt stellen, maar die ook meteen de realtime status laat zien.

Ik zal van de week een shield voor je in elkaar zetten, dan pm-en we nog wel even waar ie naartoe moet :)
« Laatst bewerkt op: 29 August 2016, 16:52:29 door jowi »

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #362 Gepost op: 03 September 2016, 13:24:51 »
Even een tussenstapje; een Arduino shield met daar op 4 stuks 6A relais (max 250V), die via de Arduino getimed  in- en uitgeschakeld kunnen worden.
Ik heb er nu nog maar 2 nodig om de 12V en 5V voedingsspanning naar de diverse Arduino servo controllers en relais en servo's te sturen, maar goed er zit zoveel ruimte op dat er nog 2 relais bij konden.

Geen idee of iemand interesse heeft in zo'n board? Ik ga deze laten maken en dan krijg ik er meteen 10... en ik zal er maar 1 of 2 zelf nodig hebben denk ik.
Je zou dit ook kunnen gebruiken om de voeding van de baan gefaseerd op te starten mocht dat nodig zijn (geen idee, om piekspanning of stroom te beperken?). De timing kun je dan in software regelen.


Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #363 Gepost op: 03 September 2016, 19:55:26 »
Hoi Johan,

Heb je een link naar de gebruikte relais?

En waarom is alles SMD behalve de diode?  ;D

En waarom is het nodig zowel 5V als 12V te schakelen eigenlijk?


Timo
Verzonden vanaf mijn desktop met Firefox

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #364 Gepost op: 03 September 2016, 20:06:45 »
Ha ja inderdaad... die diode slaat nergens op eigenlijk ;D nu je het zegt... :P

Door de 12V te schakelen bepaalt deze 'master' arduino wanneer de anderen booten... ik heb gemerkt dat de arduino die ik gebruik voor deze delayed relais schakeling (een echte arduino uno) langzamer boot dan de chinese klonen die ik heb. Dat maakt het lastig met de timing.  Terwijl de echte nog in loop() moest komen, waren de klonen al lang klaar. Op deze manier weet ik in ieder geval zeker dat als de relais-arduino geboot is, de anderen nog moeten. Nu kan ik heel netjes de Servo controller booten, en na 500ms, als deze geboot is en setup heeft doorlopen (en dus de relais en servo posities heeft ingelezen en klaargezet) zet ik de 5V op de relais, en 500ms later gaat het master relais om en komt ook de dcc spanning op de puntstukken. Die tijden kunnen nog korter uiteraard.

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #365 Gepost op: 04 September 2016, 11:17:42 »
Vanmorgen na wat laatste code wijzigingen het hele experiment even onder de testbaan gehangen. En... het werkt probleemloos :)

Doordat de controller de positie van de servo's en relais elke keer in geheugen opslaat, hoeft er bij het aanzetten van de baan niet eerst naar de servo-middenposities worden gegaan, wat andere systemen soms wel doen, om sluiting te voorkomen. Deze controller laat de servo's dus ook niet bewegen bij het opstarten van de baan. De servo- en relaisposities worden uit geheugen gehaald, de relais worden goedgezet, en dan pas wordt de DCC spanning op de puntstukken via de master-relais gezet. En dat allemaal binnen 0.5 - 1 seconde. Het enige wat je hoort is een klikje van de relais.

Als je per ongeluk de dcc spanning op het relais verkeerd om hebt aangesloten (wat dus sluiting zou geven; immers de tongen komen niet overeen met de dcc spanning) kun je dat ook in software netjes oplossen, hoef je niet meer onder de baan te kruipen met een schroevedraaier en soldeerbout. Verder kan uiteraard alles aan de servo worden ingesteld, de beide posities, de snelheid, het dcc adres, de beweging kan omgedraaid worden etc.

Doordat je de centerpositie van de servo kunt calibreren kun je heel secuur het midden van de tongen bepalen, en zo het schakelmoment van het relais. Hoef je dus ook niet meer de arm van de servo los te halen of de servo fysiek te verplaatsen (binnen een bepaalde marge uiteraard).

Ben er heel blij mee!


Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #366 Gepost op: 06 September 2016, 12:04:32 »
Maar waarom wil je de boot van de nodes dan zo exact bepalen? Of die nu wel of niet eerder klaar zijn dan de delay-Arduino maakt toch niet uit? Ergste wat kan gebeuren is dat de nodes dus al gestart zijn zonder 5V maar aangezien je de positie uit EEPROM laadt en de tongen dus niet hoeven te bewegen is dat ook niet erg.

Overigens, als hij trager boot, staat er dan misschien nog de oude bootloader op? Kan je zo even er opnieuw op schieten.

En hoe doe je dat "in software aanpassen"? Is dat gewoon in de Sketch? Want zelf lijkt me draadjes omdraaien onder de baan nog steeds makkelijker dan een PC aansluiten...  8)

En waarom wil je zo nauwkeurig het midden kalibreren? Dat is toch gewoon het midden tussen de twee uiterste? ;D :angel:


Timo
Verzonden vanaf mijn desktop met Firefox

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #367 Gepost op: 06 September 2016, 13:17:43 »
Maar waarom wil je de boot van de nodes dan zo exact bepalen? Of die nu wel of niet eerder klaar zijn dan de delay-Arduino maakt toch niet uit? Ergste wat kan gebeuren is dat de nodes dus al gestart zijn zonder 5V maar aangezien je de positie uit EEPROM laadt en de tongen dus niet hoeven te bewegen is dat ook niet erg.
Ik heb gemerkt dat als ik de boel wil starten zonder dat alle servo's beginnen te zwiepen, ik de 5V NA de setup() moet aanzetten... in de setup worden alle pins en relais geinitaliseerd etc. En pas als de 5V aan staat, worden alle frog-relais actief, en daarna kan (wil) ik pas het master relais met de DCC spanning aanzetten. Het master relais krijgt zijn 5V ook extern.

En hoe doe je dat "in software aanpassen"? Is dat gewoon in de Sketch? Want zelf lijkt me draadjes omdraaien onder de baan nog steeds makkelijker dan een PC aansluiten...  8)
Nou een usb kabel in je laptop en klaar ben je. Ligt er een beetje aan of je er goed bij kunt, maar draadjes omwisselen kan ook. Nu heb je de keuze. Anders MOET je onder tafel.

En waarom wil je zo nauwkeurig het midden kalibreren? Dat is toch gewoon het midden tussen de twee uiterste? ;D :angel:
Nee was het maar zo'n feest. Ten eerste, als je de servo op 90 zet (het theoretische midden), en je prikt de arm op de servo, dan staat die arm nooit precies recht. Op deze manier kun je die arm dus in software bijstellen, dan is bijv. 94 exact het midden, of 86, maw. de arm zat er 4 graden naast links of rechts.

Daarnaast zit je nog met de fysieke plaatsing van de servo... als je die niet exact in het midden onder de wissel plaatst, kan je servo wel goed staan maar zitten in die middenstand de tongen dichterbij de linker dan de rechterspoorstaaf (of andersom). Op deze manier kun je dus ook dát midden netjes bijstellen zonder dat je de servo fysiek hoeft te verschuiven. Nogmaals, binnen marges, want als ie echt helemaal scheef onder de wissel staat helpt dit natuurlijk ook niet. Zie het als finetuning. In mijn geval is het belangrijk dat ik de relais pas schakel als de tongen los zijn van de spoorstaven, anders *zap* sluiting... de tongen zitten namelijk aan het puntstuk vast bij de Peco electrofrogs die ik gebruik. En het is een stukje OCD om alles netjes in het midden te schakelen ;D


Ik heb een Arduino en shieldje voor je klaarliggen, gaat vanmiddag op de post :)
« Laatst bewerkt op: 06 September 2016, 13:23:52 door jowi »

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #368 Gepost op: 06 September 2016, 13:35:09 »
Vandaar, nouwja, als je toch al aan het schakelen gaat kan je net zo goed de 12V ook doen dan ja.

Heb je het ontwerp er al uit? Anders zou ik misschien voor wat zwaardere relais gaan. En wat misschien een leuke extra was geweest, voltage sensing op de schakelcontacten.

Mja, met een laptop nog wel te doen. Maar anders  ;D

Ten eerste, als je de servo op 90 zet (het theoretische midden), en je prikt de arm op de servo, dan staat die arm nooit precies recht.
Ja, en? Vervolgens beweeg je hem naar de twee schakelposities en weet je waar het echte midden zit. Namelijk daar precies tussen  ;)

En voor het tweede probleem, ipv de servo in het midden te willen zetten door 90 graden uit te sturen kan je hem natuurlijk ook gewoon zelf in het midden zetten met plaatsen. Daarna eindpunten afstellen en tada!!, je weet het midden  ;D

Overigens is de resolutie van de standaard servo library wel wat beperkt :/ Hele graden vond ik veeeel te grof. De basis van de library kan veel grotere precisie aan. Een tiende graad is prima mogelijk. Ze hebben het alleen geschaald naar 181 stappen om overeen te komen met graden...


Timo
Verzonden vanaf mijn desktop met Firefox

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #369 Gepost op: 06 September 2016, 14:04:49 »
En voor het tweede probleem, ipv de servo in het midden te willen zetten door 90 graden uit te sturen kan je hem natuurlijk ook gewoon zelf in het midden zetten met plaatsen. Daarna eindpunten afstellen en tada!!, je weet het midden  ;D
Ja ik snap wat je bedoeld... komt denk ik doordat ik het niet met een servo onder de treintafel bouw maar los op de keukentafel :)
Maar eigenlijk zeg je dat het 'midden' altijd precies tussen de 2 ingestelde uitslagen ligt. Dat zal bij wissels inderdaad zo zijn... maar misschien zijn er situaties waarbij je toch het echte midden wilt hebben, en de linker uitslag grote is dan de rechter etc. Ik kan niks verzinnen maar ja :)

Zo kan ik me ook voorstellen dat de kracht die de servo arm afgeeft afhankelijk is van de stand... als je de servo dan heel assymmetrisch zou laten werken, bijv. lnks is 180, rechts is 120 en midden dus op 150, niet alles echt lekker werkt...

Ja ik probeer nu alles te verzinnen om mijn beslissing te rechtvaardigen hoor ;D

Maar eigenlijk beschouw ik de middenstand dus als een fysieke stand tov de servo zelf, en jij beschouwt de middenstand relatief, tov beide uitersten.
« Laatst bewerkt op: 06 September 2016, 14:16:33 door jowi »

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #370 Gepost op: 06 September 2016, 15:30:04 »
maar misschien zijn er situaties waarbij je toch het echte midden wilt hebben, en de linker uitslag grote is dan de rechter etc. Ik kan niks verzinnen maar ja :)
Je kan het ook overdenken  ;D ;D ;D Misschien zijn er dan ook situaties waar je hem links van het midden sneller wilt laten bewegen dan rechts etc  ;D ;D ;D ;D

Zo kan ik me ook voorstellen dat de kracht die de servo arm afgeeft afhankelijk is van de stand... als je de servo dan heel assymmetrisch zou laten werken, bijv. lnks is 180, rechts is 120 en midden dus op 150, niet alles echt lekker werkt...
Wat de aanstuurstanden zijn maakt niet uit, intern is het gewoon een as met een motor via een versnellingsbak. Dus daarvoor maakt de positie niet uit. En zolang je de servo recht omhoog netjes in het midden hebt is de zwaai naar links net zo groot als naar rechts (ook al is het stand 120 en 180) dus is de kracht net zo groot  ;) En je wil de servo toch niet aan laten na het behalen van de eindstand ivm brommen/jitter. Komt het neer op de versnellingsbak.

Ja ik probeer nu alles te verzinnen om mijn beslissing te rechtvaardigen hoor ;D
Merk het  ;D Geeft niet  ;)

Maar eigenlijk beschouw ik de middenstand dus als een fysieke stand tov de servo zelf, en jij beschouwt de middenstand relatief, tov beide uitersten.
Yep, want de middenstand op een servo is niets bijzonders. Als je de servo aanstuurt met 90 graden is het enige wat de servo doet de interne potmeter precies in het midden zetten (van zijn weerstand). En dit kan ook verschillen per servo etc. Verder dan de potmeter limiteert niets het verder draaien van een servo en is het gewoon een motor.


Timo
Verzonden vanaf mijn desktop met Firefox

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #371 Gepost op: 06 September 2016, 17:44:09 »
Ik zal het eens inbouwen zoals jij het voorstelt, eens kijken. Dan nog zou ik die centerstand, die dan relatief is, wat willen bijstellen naar links of rechts om verschuivingen met plaatsing etc op te kunnen vangen.

Enniehoe, pakje is onderweg :) zie pm.

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #372 Gepost op: 09 September 2016, 15:59:33 »
Goed, eerste snelle test met de print.

De servo's, deze geven geen kik bij het inschakelen of uitschakelen. Strak op hun plaats  ::) Zowel de SG92 als de SG90.

Nu heb ik hem voor nu alleen even getest op me bench supply (ATX) maar die geeft eigenlijk de lelijkste spanning die ik heb.

Moest alleen wel hard je code in om te vinden dat ik de c in moest drukken :D En dat ik Putty moet gebruiken omdat je terminal commando's gebruikt.

DCC test zal ik later doen, daarvoor moet ik MRdirect aan slingeren.


Timo
Verzonden vanaf mijn desktop met Firefox

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #373 Gepost op: 09 September 2016, 17:07:10 »
Moest alleen wel hard je code in om te vinden dat ik de c in moest drukken :D En dat ik Putty moet gebruiken omdat je terminal commando's gebruikt.
Haha ja ik heb dat van Nico's MARDEC overgenomen ;) had ik je even moeten vertellen :)
Software is ook nog niet af he, dat weet je. Het is in ieder geval functioneel genoeg om het ding zonder problemen in te kunnen zetten. Het kan altijd beter en fraaier.
Ik heb even met de gedachte gespeeld om een windows app te bouwen, maar daar gaat heel veel tijd in zitten, en eerlijk gezegd, als je zo'n board als dit eenmaal instelt, heb je er verder ook geen omkijken meer naar... dan maar ff met putty oid.
« Laatst bewerkt op: 09 September 2016, 17:18:19 door jowi »

jowi

  • Offline Offline
  • Berichten: 2375
Re: Beginnen in Eagle, Arduino DCC 8x servo shield
« Reactie #374 Gepost op: 01 December 2016, 20:03:38 »
Ik heb inmiddels een leuke voorraad servocontrollers in elkaar gesoldeerd :) en ze werken zoals ik het wil. Ben nu bezig met wat simpele dingen, wat verdeelstroken etc. Zaken die ik ook als pcb wil laten maken, maar dan "panelized" zodat er bijv. 5 of 10 of meer gelijke printjes tegelijk op het eagle oppervlak kunnen van max 5x5cm.

Nu zit ik alleen even te zoeken naar een methode om die prints weer los te maken, je kunt simpelweg wat ruimte overlaten en met de zaag ofzo aan de gang, maar het lijkt mij eleganter om bijv. iets als v-grooves toe te passen. V vormige gefreesde lijnen aan weerszijden van de print die als breuklijn dienen.

Wie weet hoe je dat in Eagle moet aanbrengen? Hoeveel ruimte is er voor nodig tussen de losse boards etc? Andere zaken waar je op moet letten?