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: Servo sturing, topic ###  (gelezen 1492 keer)

Stieven76

  • Offline Offline
  • Berichten: 101
Servo sturing, topic ###
« Gepost op: 29 september 2022, 19:52:36 »
Voor mijn nieuwe plan heb ik 10 wisselaandrijvingen nodig, met punstuk polarisatie.
Het liefst wil ik dit met servo's doen.
Na wat opzoek werk op het net en het MSM forum lijkt de ESU Switchpilot 3 de beste omdat deze reeds 8 servo's kan sturen, al heb ik er dan nog wel 2 te kort.  Kan hier ook puntstuk polarisatie op?

Of bestaan er reeds Arduino toepassingen die dit aantal servo's kan aansturen? Zelf een beetje knutselen is ook wel leuk en het drukt wss de prijs.
Servo's  digitaal schakelen is een optie, met knopjes moet wel kunnen.

Voor de Arduino had ik op mijn home forum(MSM) een tip gekregen om een PCA9685 bordje aan de Arduino te koppelen. Dan kan je idd 16 servo's besturen, meer dan voldoende voor mij.
Nu heb ik ondertussen al wat filmpjes hierover gezien, maar er zit nergens een voorbeeld hoe ik die servo's apart kan sturen met drukknoppen. Om 10 servo's te bedienen heb je 20 drukknoppen nodig. Zoveel pinnen zijn er niet op aanwezig.

Of zijn er nog andere Arduino oplossingen mogelijk?

Ik weet dat er al talloze topics hierover verschenen zijn maar het is toch niet gemakkelijk om de beste oplossing te vinden.

bask185

  • Offline Offline
  • Berichten: 3976
Re: Servo sturing, topic ###
« Reactie #1 Gepost op: 29 september 2022, 20:13:37 »
Ik kom er morgen op terug. Maar er zijn zat oplossingen. Ik heb er een paar.

Bas

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

heuvelbaan

  • Offline Offline
  • Berichten: 458
    • opbouw blog treinbaan
Re: Servo sturing, topic ###
« Reactie #2 Gepost op: 29 september 2022, 20:25:47 »
Had je al eens aan ArCoMoRa gedacht?
https://www.arcomora.com/
De bedenker hier van wandelt ook op dit forum rond.  (y)

haes

  • Offline Offline
  • Berichten: 823
  • Hellendoorn en NAM Schoonebeek in FiNe
Re: Servo sturing, topic ###
« Reactie #3 Gepost op: 30 september 2022, 14:55:13 »
Samen met mijn zwager uitgedokterd. Arduino met schakelaar besturing te vinden op https://github.com/videobuff/Servosturing-Modelbaan-Arduino
groet, Hans
Hellendoorn station en Schoonebeek Olieverlading in FiNescale/Fremo N normen

bask185

  • Offline Offline
  • Berichten: 3976
Re: Servo sturing, topic ###
« Reactie #4 Gepost op: 30 september 2022, 22:00:38 »
Citaat
Ik kom er morgen op terug
He he.. eindelijk computer tijd!

Citaat
Of zijn er nog andere Arduino oplossingen mogelijk?

Wat jij wilt, is allemaal mogelijk en het valt nog mee hoe moeilijk het is. Er zijn meerdere manieren waarop je je wissels dmv een arduino kan aansturen.

Om te beginnen, de gemiddelde arduino kan zonder PCA9685 zelfstandig 12 servo's aansturen.

Citaat
Om 10 servo's te bedienen heb je 20 drukknoppen nodig
Je kan wel 2 drukknoppen per losse wissel gebruiken. Maar waarom zou je dat doen? Je kan namelijk ook wipwap schakelaar gebruiken en dan heb je nog maar 1 inputpin nodig per wissel. Dat scheeltje al 10 pinnen en 10 draden.

Dat gezegd hebbende, losse wissels schakelen.. dat is onpraktisch. Mijn ervaring is dat je er altijd wel eentje vergeet. En met puntstukpolarisatie.. dan heb je kortsluiting  ;D

Waar je ook aan kan denken, is dat je dat je een complete wisselstraat kan stellen met een knopje. Ik ken je sporenplan niet, maar als we het bijvoorbeeld over een symmetrisch opstel terrein hebben (dus 6 sporen, 5 wissels links, 5 wissels rechts) dan zou je het in principe kunnen redden met 6 druktoetsen.

We kunnen ook 1 klein stapje verder gaan en dat is om te werken met het Nx principe. Dan moet je gelijktijdig een start en een stop knop indrukken, en geldige combinaties leiden dan tot het stellen van de juiste wissels. Dus eigenlijk hetzelfde als wat ik hier boven noemde, maar dan met 2 knopjes per straat ipv 1.

Citaat
Zoveel pinnen zijn er niet op aanwezig
Nee dat klopt, maar dat hindert niet. Knoppen ed kan je op meer manieren realiseren zodat je minder pinnen nodig heb. Je kan bijvoorbeeld door middel van weerstandsdelingen wel 50 of 100 knoppen aansluiten op een van de analoge pinnen. Het nadeel is dat je dus wel die weerstanden moet solderen. Een voordeel is dat je maar drie hele draden hoeft te trekken tussen arduino en je schakelpaneel. Dat zijn 5V, GND, en een analoge pin.


Een andere methode is om een matrix te maken. Wat je dan feitelijk doet, is werken met kolommen en rijen. De kolommen sluit je dan aan op een pin die als output fungeert en de rijen worden dan je inputs. De arduino maakt dan de kolompinnen 1 voor 1 hoog en leest dan alle inputs in. Als je dus 20 schakelaars wilt, kan dat met 9 pinnen. 4 kolommen, 5 rijen (of andersom)

(die diodes zijn strikt gezien niet nodig mits je maar 1 knop tegelijk indrukt. Als je bijvoorbeeld wel NX doet en dus 2 knoppen tegelijk wilt indrukken dan zijn die diodes nodig).

Een ander punt waar je ook over moet nadenken. Servo kabels wil je kort houden. Als je je kabels te lang maakt dan kunnen de servo's uitslaan als een trein te hard rijdt ofzo. Dat is meestal oplosbaar door een pull down weerstand te plaatsen zo dicht mogelijk bij de servo zelf, maar de kabel kort houden, is altijd beter.

Om die reden en om je een 3e oplossing voor het pinnen tekort te bieden, raad ik aan om niet 1 arduino te gebruiken, maar om er 2 of 3 of 4 te gebruiken. Zo duur zijn ze ook weer niet.

Weet wel, als je dus meerdere arduino's gebruikt dat wisselstraten met of zonder NX iets lastiger worden maar ook daarvoor zijn er oplossingen. Die dingen kunnen namelijk met elkaar communiceren. Bedradingstechnisch is dat wel heel fijn, want je kan namelijk 1 arduino dan in een schakelpaneel bouwen en dan een tweede ( en een derde?) dicht bij je wissels zetten en dan hoef je tussen de twee of drie arduino's slechts 2 kabels te trekken voor de comminucatie (4 als je ook voeding en massa wilt doorvoeren). Hoe ze precies communiceren laat ik voor nu achterwege dat komt tzt wel of niet  ;D

Citaat
Servo's  digitaal schakelen is een optie, met knopjes moet wel kunnen.
Je kan 1 arduino (of alle arduino's net wat je kiest he?) voorzien van een DCC interface. Die kan je zelf maken, voor de arduino NANO kan ik je een shield toesturen. Dan kan je behalve de knopjes ook de wissels digitaal aansturen. Of je daarmee iets daadwerkelijk wint, kan ik niet voor je invullen. Naar mijn mening is fysieke knopjes icm wisselstraten de beste manier van aansturen  :angel:

Citaat
puntstuk polarisatie
About that zelf geloof ik heilig in mechanische schakelaars om dit probleem op te lossen. Maar relais .. dat kan natuurlijk ook.

Wat de hardware betreft. In jouw geval zou ik een (of meerdere  :P ) arduino Nano's kopen met een bijbehoren IO shield.

IO shield


Arduino nano


Dat shield vind ik fijn omdat je er direct servo's op kunt aansluiten.
Dat shield vind ik ook fijn omdat je er ook direct relais kaarten op kunt aansluiten.


Met deze drie items, hoef je dus niks te solderen. Je kan alles verbinden met dupont/jump kabels


Maak je niet druk om code. Als jij keuzes gemaakt heb, dingen gekocht heb en een half duidelijke uitleg geef van wat je wilt. Kan ik een kant&klaar programma voor je opstellen.

Ik heb eerder al een "ServoSweep" library gemaakt. Daarmee kan je makkelijk een servo langzaam laten opschuiven tussen 2 standen. De servo wordt automatisch afgeschakeld bij het bereiken van deze standen ( <== dit is wat je wilt hebben). Optioneel kan je halverwege de slag een relais laten toggelen.

Ik doe het programma dan dusdanig bouwen zodat alle informatie omtrent wisselstraten op een plaats komen te staan wat je dan zelf kan aanpassen. Dat kan er dan zo uitzien:
                       // knopje   // wissels + standen
const int wisselStraat1[] = { 1,    1|K  ,2|R  , 4|K  } ;  // Knopje 1 aan -> wissel 1 Krom, 2 Recht en 4 Krom
const int wisselStraat2[] = { 2,    4|R  ,7|R  , 9|R  } ;  // Knopje 2 aan -> wissel 4 recht, 7 Recht en 9 recht etc etc
const int wisselStraat3[] = { 3,    5|K  ,8|R  , 3|K,  6|R  } ;  // dit kan zo lang als je wilt..
// etc

const int servoSnelheid = 20 ; //  pas snelheid aan voor alle servo's

Als een wissel dan de verkeerde kant opklapt, dan kan jij zelf een 'R' in een 'K' veranderen en de richting is omgedraaid. Dat gezegd hebbende, sommigen vinden programmeren leuk. Ik weet niet of jij er iets van kaas heb gegeten. Mocht je het nou leuk vinden, of het willen oppakken. Ik heb in NL een verkapte samenvatting gemaakt waarin ik de gebruikte taal uitleg en waar wat tips en tricks in zitten.

Allerlaatste puntje, dan stop ik er mee  :police:. Zoals je waarschijnlijk al weet, servo's bewegen naar hun absolute posities of they die trying. Als een servo dit fysiek niet kan halen omdat je wisseltongen al in positie zijn. Dan blijven servo's doorduwen todat ze het wel halen. Servo's zoals de sg90 (sg = soft gear) die hebben plastic tandwielen en die gaan gewoon stuk. Gelukkig kosten deze 50 cent ofzo.... Maar ajb koop mg90 servo's (mg = metal gear) die gaan niet stuk. Vanwege dat 'doorduwen' doet mijn code de servo dus afschakelen na het draaien. Dan stoppen ze namelijk met duwen en dan stoppen ze ook met brommen, herrie maken en stroom trekken.

Ik heb, denk ik, alles behandeld omtrent het laten-bewegen-van-wissels-door-servo's-dmv-arduino's. Ik hoop dat ik duidelijk ben geweest in mijn uitleg  ;).

Als je vragen heb of keuzes gemaakt, horen we dat graag.

Mvg,

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

Hans van de Burgt

  • BMB
  • Offline Offline
  • Berichten: 6056
Re: Servo sturing, topic ###
« Reactie #5 Gepost op: 01 oktober 2022, 10:55:51 »
@Bas,

Wissels digitaal aansturen (naast jouw knopjes), heeft het voordeel dat je eea ook kunt gebruiken icm programma’s als Traincontroller of RocRail. Daarmee maak je (gedeeltelijk) automatisch rijden mogelijk.

Gr, Hans

Fritsprt

  • Offline Offline
  • Berichten: 2617
Re: Servo sturing, topic ###
« Reactie #6 Gepost op: 01 oktober 2022, 19:41:11 »
Citaat
We kunnen ook 1 klein stapje verder gaan en dat is om te werken met het Nx principe.
En wat is dat Nx principe?
Groet Frits

Klaas Zondervan

  • Offline Offline
  • Berichten: 25135
    • Pagina van klaas
Re: Servo sturing, topic ###
« Reactie #7 Gepost op: 01 oktober 2022, 21:31:19 »
NX is een afkorting van eNtrance-eXit. Simpel gezegd: je drukt een knop aan het begin van een te volgen route over een wisselstraat, en dan een knop aan het einde van de route. En dan worden alle wissels daartussen automatisch goed gezet.

bask185

  • Offline Offline
  • Berichten: 3976
Re: Servo sturing, topic ###
« Reactie #8 Gepost op: 01 oktober 2022, 21:37:16 »
Fair question. Bij het Nx systeem, moest een seinhuiswachter gelijktijdig op 2 knoppen drukken om een rijweg te leggen. Je had aparte begin knoppen en aparte eind knoppen. Dit systeem werd door de NS ook veel gebruikt. Waarom zou je dit willen hebben in plaats van 1 knop per wisselstraat?

Onderstaand heb ik drie voorbeelden van hetzelfde plan.

In plan 1 heb ik een drukknop per spoor. Dit betekent dat de wissels zowel links als rechts naar het spoor van de knop worden gesteld. Dit is makkelijk voor de bediening, maar heeft als nadeel dat treinen niet gelijktijdig van beide richtingen naar verschillende sporen kunnen rijden. Ze zouden beide op hetzelfde spoor uitkomen.

Plan 2, is net als plan 1 maar dan met 2 knoppen per spoor. Eentje voor de linker wissels en eentje voor de rechter wissels. Hiermee kan je wel gelijktijdig van twee kanten het emplacement op rijden.

Plan 3 werkt volgens het Nx principe. Je hebt nu weer 1 knop per spoor, maar je hebt nu 2 extra knoppen. Eentje voor het linker en eentje voor het rechter spoor. Voordeel is dat je minder knoppen nodig heb dan bij plan 2. Door gelijktijdig op of de linker of de rechter knop te drukken en op een van de 7 spoor knoppen, kan je een straat stellen.



In dit simpele voorbeelden zijn plan 2 en 3 praktisch even makkelijk in het gebruik. Maar wat nou als je sporenplan wat ingewikkelder is zoals bijvoorbeeld deze?

Dit is een verkapte kopie van station Hoorn (stoomtram zijde). In dit voorbeeld kan je simpelweg niet zo maar een knop toekennen aan 1 wisselstraat. Stel nou dat je naar dat schuine spoor wilt rijden helemaal boven in. Er zijn dan vijf mogelijke sporen waar een trein vandaan zou kunnen. Dit kan je dus niet onder 1 knop krijgen. Dat lukt niet omdat dit sporenplan daar te complex voor is.

In het eerste voorbeeld zijn er 14 mogelijke geldige rijwegen. In mijn versie van station Hoorn zijn er 19 (tel het gerust na, misschien zit ik er naast  :P)

Dit voorbeeld ontleent zich daarom perfect aan het Nx systeem. Je kan elk spoor waar een trein zou kunnen stoppen een knopje toekennen en dan kan je elke mogelijke combinatie leggen.



Dus wat de 'beste' keuze is omtrent het gebruik van schakelaars kan erg afhangen van het sporenplan.

Mvg,

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

Frank 123

  • Offline Offline
  • Berichten: 4569
Re: Servo sturing, topic ###
« Reactie #9 Gepost op: 02 oktober 2022, 10:16:40 »
Als ik alle spoor beëindigen als mogelijk start en/of eind punt beschouw zijn het er volgens mij nog wel een paar meer dan 19.

Maar principe en voordeel van Nx is wel helder uitgelegd  (y)

Stieven76

  • Offline Offline
  • Berichten: 101
Re: Servo sturing, topic ###
« Reactie #10 Gepost op: 04 oktober 2022, 12:38:22 »
Bas,

Bedankt voor je grondige uitleg! Much appreciated ;D
Voor mij mag het simpel zijn, rijwegen instellen hoeft niet. Is maar een kleine 'baan', bestaande uit 2 modules. Ik vind het wel leuk om de wissels zelf goed te zetten.
Gewoon een knopje of iets dergelijks om de wissels om te zetten. Op mijn vorige module had ik 3 Conrad wissel aandrijvingen zitten. Deze kon ik sturen met een tuimelschakelaar.

Als illustratie het originele baanplan. Het is sindsdien wel wat geöptimaliseerd maar hier heb ik nu geen afbeelding van. Op mijn Flickr vind je wel meer foto's.
new-layout_2

Een arduino Uno heb ik hier wel liggen en heb ik een jaar geleden wel eens wat mee geëxperimenteerd. Kabels heb ik ook een doosje vol van.
Solderen kan ik wel, en programmeren ook.
Al is Arduino programmeren wel iets volledig anders dan wat ik dagelijks doe, nl Microsoft .Net (backend en frontend, vooral webbased).

De shields die je voorstelt, passen deze ook op een Arduino Uno r3? Zoja dan kijk ik al eens om ze te bestellen.
Alvast bedankt voor de info! Je kan me ook altijd bereiken via email of pm.
« Laatst bewerkt op: 04 oktober 2022, 12:46:02 door Stieven76 »

bask185

  • Offline Offline
  • Berichten: 3976
Re: Servo sturing, topic ###
« Reactie #11 Gepost op: 04 oktober 2022, 14:00:36 »
Was al bijna bang dat je je eigen draadje vergeten was  ;D

Citaat
Voor mij mag het simpel zijn, rijwegen instellen hoeft niet. Is maar een kleine 'baan', bestaande uit 2 modules. Ik vind het wel leuk om de wissels zelf goed te zetten.
Fine by me, bovendien omprogrammeren naar rijwegen kan achteraf altijd nog   :P

Citaat
De shields die je voorstelt, passen deze ook op een Arduino Uno r3?
Als ik die gaten zo zie van dat IO shield, kan je er headers op solderen zodat hij ook op een uno past. Maar ik heb even gauw gegoogled en deze is misschien beter geschikt.

Dit shield heeft zo'n PCA9685 ingebouwd, waardoor je meteen 16 outputs meer tot je beschikking heb. Dit shield gebruikt alleen de pinnen A4 en a5 van de arduino. Dat betekent dat je buiten de servo's om A0 t/m A3 + 0 t/m 13 = 18 IO pinnen. Voor 10 puntstukrelais en 10 schakelaars, kom je er net 2 te kort, maar de pinnen van de PCA9685 kunnen ook gebruikt worden als digitale uitgangen (ipv pwm) en daar zijn er nog 6 beschikbaar.

In totaal heb je dan nodig:
- een 8-voudig relaiskaart + 2-voudig relaiskaart (of 5x 2-voudig, net wat je wilt) https://www.otronic.nl/c-5326459/relais/
- dat shield van de link in dit bericht
- je arduino uno
- wat jumper kabels om je relais aan te sluiten (male-female en een setje female-female)
- 10x toggle switches om in je paneel te bouwen. https://www.elektronicawereld.nl/categorie/componenten_onderdelen_schakelaars/schakelaars_tuimel/product/5565/mini_tuimelschakelaar_1x_om/details

Schema komt tzt wel, stelt niet veel voor  ;)

Mvg,

Bas



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