BeneluxSpoor.net forum

Wat zijn we aan het bouwen? => Al het andere! => Topic gestart door: Joz op 04 maart 2023, 10:50:48

Titel: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 10:50:48
Na mijn ombouwprojectje om een Roco 42615 draaischijf te voorzien van een stappenmotor (zie https://forum.beneluxspoor.net/index.php?topic=99408.msg3222244270#msg3222244270) ben ik enige tijd geleden de uitdaging aangegaan om de gehele aandrijving van een draaischrijf "from scratch" te gaan maken.

De draaischijf is bedoeld voor een Fiddle Yard en het is een beetje zonde om daar een prachtig gedetailleerd fabrieksmodel te gaan toepassen, want die zijn in het algemeen toch best prijzig.

Ik had van voorgenoemd project nog een stappenmotor liggen, die voor toepassing in de Roco draaischijf te groot bleek te zijn, en het eerste idee was om de draaischijfbrug simpelweg op de as van die stappenmotor te prikken, arduino besturing erop en klaar...

Maar... hoe krijg ik spanning op de rails van de draaischijfbrug... en is de uitlijning naar de aansluitsporen wel precies genoeg...

Wat betreft dat laatste: de stappenmotor is van het type 400 stappen per omwenteling. Voor de lengte van de brug was 30cm gewenst, dan kom je op 300mm * pi / 400 = 2,3mm draaiing per stap. Nu kun je dat met toepassing van zogenaamde microsteps wel veel beter krijgen, maar in diezelfde periode was ik me toevallig ook wat aan het verdiepen in het 3D-printen van tandwielen. De vormen van tandwielen is toch ook wel een complete wetenschap op zich, maar is een 3D-printje sterk genoeg?

Toen kwam ik dit filmpje op youtube tegen: https://www.youtube.com/watch?v=m4VSxVspLoc&t=4s

Als het met dergelijke snelheden kan, dan moet dat voor een draaischijf toch ook wel lukken?

Aan de slag...
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: meino op 04 maart 2023, 11:34:28
Ik heb dat ook geprobeerd om met een worm de draaitafel te vertragen. Dat is niet gelukt, de speling bleef me parten spelen. Uiteindelijk een TMC2130 Silent driver gebruikt om de steppermotor, die rechtstreeks aan de as van de brug is gemonteerd, met 32 microsteps aan te sturen. Ik heb ook een 400steps motor gebruikt, dat geeft met 32 microsteps, 12800 posities per omwenteling, en dat gaat perfect.

Zie bijgaand filmpje:
https://www.youtube.com/v/CDENbNU9pK8

In mijn draadje over de Canbus heb ik ook een stukje (https://forum.beneluxspoor.net/index.php?topic=90291.msg3222274853#msg3222274853) over de draaischijf geplaatst.

Groet Meino
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 12:50:44
Ziet er goed uit Meino!
Misschien kom ik daar ook uiteindelijk wel op uit, maar door fascinatie voor wormgears ga ik dat pad toch eerst proberen  :P

Om spanning op de rails te kunnen krijgen, had ik bedacht om een simpele 3,5mm audioplug en bijpassende audiojack te gebruiken.
(https://images.beneluxspoor.net/bnls_2023/audiojack-3-5mm-64032e7dc8605.jpg) (https://images.beneluxspoor.net/bnls_2023/audiojack-3-5mm-64032e7dc8605.jpg)

De jack monteer ik in de onderzijde van een holle as, hieronder in blauw.
Het grijze ding komt in een gat in de onderplaat van de draaischijfput. Hier kan de as met voldoende weinig speling in draaien.
(https://images.beneluxspoor.net/bnls_2023/draaischijf-as-64032f4db2a42.jpg) (https://images.beneluxspoor.net/bnls_2023/draaischijf-as-64032f4db2a42.jpg)
 
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 13:56:04
Op de holle as, onder de tafel, moet een groot tandwiel komen.
Voor 3D tekenen gebruik ik Onshape. Daarmee is het heel gemakkelijk om tandwielen te tekenen (https://www.youtube.com/watch?v=hUvYOlK5Hb4).

Ik heb gekozen voor tandgrootte modulus = 1 (https://nl.wikipedia.org/wiki/Modulus_(tandwielen)). Dat zou mijn 3D-printer wel aan moeten kunnen.
Ook heb ik gekozen voor 120 tanden. Had net zo goed 100 kunnen zijn, of 91, het is gewoon een keuze. Hoe minder tanden -> hoe kleiner het tandwiel -> hoe meer de eventuele speling op het tandwiel doorwerkt op het uiteinde van de brug t.o.v. het aansluitspoor.

Dikte = 5mm, modulus = 1 en aantal tanden = 120 is het enige wat je in hoeft te vullen, en dan krijg je een keurig tandwiel:

(https://images.beneluxspoor.net/bnls_2023/tandwiel-tekenen-64033e5123053.jpg) (https://images.beneluxspoor.net/bnls_2023/tandwiel-tekenen-64033e5123053.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Robert E op 04 maart 2023, 14:34:27
Is dit niks voor spanning naar de brug? Die 3.5 pluggen kunnen wat stroef zijn..

https://www.modelbouwled.nl/contents/nl/p1786_Sleepring_4_draads_faller_break_dance.html

Link puur als voorbeeld... Zal op tante Ali ook te krijgen zijn.

Mvg

Robert
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 14:39:26
Ja ik ken ze... maar goeie tip hoor! Tante Alie heeft ze inderdaad ook voor ongeveer de helft van de prijs en 30x zo lang wachten.
Een audiojack kost een paar dubbeltjes. Het voordeel van degene die ik heb is dat ik de contacten iets kan uitbuigen, zodat ze niet stroef draaien.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 15:01:48
De Roco schijf heeft een soort slipkoppeling. Als de brug blokkeert door bijvoorbeeld een loc die niet goed gepositioneerd staat, dan heeft dat geen effect op de aandrijflijn.
Het grote tandwiel heb ik daarom ook uit twee delen gemaakt:

(https://images.beneluxspoor.net/bnls_2023/slipkoppeling-64034efeb883a.jpg) (https://images.beneluxspoor.net/bnls_2023/slipkoppeling-64034efeb883a.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: meino op 04 maart 2023, 16:04:38
Hou er rekening mee, dat als de aandrijflijn slipt, dat dan je steppermotor niet meer synchroon loopt met de opgegeven positie. In dat geval heb je een externe positiebepaling nodig. Maar dan raak je alle voordelen van een steppermotor weer kwijt.

Groet Meino
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 16:35:32
Mee eens... Dat slippen moet dus ook niet te gemakkelijk gaan.
En een positie-sensor heb ik sowieso nodig voor de bepaling van de 0-positie. Het is dan wellicht een goed idee om bij elke passage van die positie-sensor de stappenteller ook weer op 0 te zetten. Baat het niet, dan schaadt het niet.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 17:25:40
Het tekenen van het wormwiel was iets lastiger. Daar bestaat binnen Onshape (nog) geen custom feature voor, tenminste heb ik niet kunnen vinden.
Maar met hulp van dit filmpje (https://www.youtube.com/watch?v=qRBLpBxkldc) is het toch gelukt:

(https://images.beneluxspoor.net/bnls_2023/wormgear-6403702ed9fb0.jpg) (https://images.beneluxspoor.net/bnls_2023/wormgear-6403702ed9fb0.jpg)

En dat komt dan zo uit de printer:

(https://images.beneluxspoor.net/bnls_2023/worm-print-64037038bae37.jpg) (https://images.beneluxspoor.net/bnls_2023/worm-print-64037038bae37.jpg)

Paar braampjes en z-seampjes eraf vijlen, dan moet het toch goed komen.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2023, 23:05:47
En dan is er nog een beugeltje nodig om de stappenmotor te kunnen monteren.
Ik wil zo min mogelijk ruimte tussen de onderkant van de plaat en het grote tandwiel, om de centrale as zo min mogelijk te belasten.
Daardoor moet de stappenmotor onder een hoek gemonteerd worden. Onshape is gewillig om e.e.a. een beetje te passen en meten. Een hoek van ongeveer 14,5° lijkt het best.

De stappenmotor moet ook op de juiste afstand gemonteerd worden. Daarom heb ik een dun plaatje naar het middelpunt toegevoegd, dan komt het bij montage altijd op de juiste plek.

De aandrijving ziet er dan zo uit:

(https://images.beneluxspoor.net/bnls_2023/draaischijf-aandrijving-6403bc4b93190.jpg) (https://images.beneluxspoor.net/bnls_2023/draaischijf-aandrijving-6403bc4b93190.jpg)

Hierbij heb ik ook de hoek van de tanden van het grote tandwiel op de hoek van het wormwiel aangepast.
Van zichzelf staan de tanden op het wormwiel onder ongeveer 5°. Met inachtneming van de hoek waaronder de stappenmotor wordt gemonteerd, moeten de tanden op het tandwiel onder ongeveer 9,5° komen te staan.
Met de Spur Gear Feature in Onshape kan dat eenvoudig ingesteld worden d.m.v. de optie "Helical":

(https://images.beneluxspoor.net/bnls_2023/Spur-gear-helical-6403be479e29a.jpg) (https://images.beneluxspoor.net/bnls_2023/Spur-gear-helical-6403be479e29a.jpg)

In theorie sluit het mooi aan. Nu de praktijk nog...

(https://images.beneluxspoor.net/bnls_2023/aansluiting-worm-tandwiel-6403c0691b7ee.jpg) (https://images.beneluxspoor.net/bnls_2023/aansluiting-worm-tandwiel-6403c0691b7ee.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 05 maart 2023, 11:46:44
Ik heb ooit voor de oneindige overslag een stukje elektronica gemaakt voor precies deze toepassing.

Wat ik destijds had bedacht, is dat de schijf zichzelf kon opmeten bij het het 1e keer inschakelen en tot dat het gelukt was. Dan bewoog hij van homesensor tot homesensor op lage snelheid en onthield zijn pulsen/omw

Vervolgens als je hem dan nog een keer uit en aan zette draaide hij eenmalig naar home positie toe bij opstarten. Met een drietal knopjes kon je dan handmatig posities inleren en vervolgens kon je met de knopjes CW en CCW plaatsen op shiften. Dit kan ook met DCC evt.

Aanvankelijk had ik het idee om met een virtueel nulpunt te werken. Dan hoefde hij alleen te onthouden waar hij was tijdens uit gaan was en wat zijn pulsen/omw zijn. Als virtueel nulpunt zou je bij 1e keer opstarten elk willekeurig punt kunnen gebruiken. Ook moet je tijdens de uit-tijd niet aan de schijf draaien, want dan is hij zijn 'bearings

Dit kon echter niet werken omdat ik gebruik maakte van microstepping, dit was wel een vereiste omdat de as der motor direct op de brug zat zonder tandwiel vertraging. En met slechts 200 stapjes/omw... red je het niet.

De microstepping gaven het 'probleem' dat je niet de tussenstapjes kon onthouden. Als je je arduino uitzet terwijl de schijf precies tussen 2 volle stappen heb zitten, dan schiet hij een kant op en ben je je positie kwijt. Dus vandaar was er toch de noodzaak van een home sensor. Gelukkig zag ik de bui hangen en hield rekening met de noodzaak van een home sensor in het ontwerp.

Zo'n virtuele nulpunt kan wel werken als je kan detecteren dat de voeding afschakelt. Je kan dan vanuit de besturing nog even gauw de schijf parkeren in de dichtsbijzijnde full-step en die plek opslaan net voordat de arduino uitvalt. Het voordeel is dat je dan geen homesensor meer nodig heb en dus ook niet hoeft te homen bij opstarten. Nadeel is dat het lastiger is te implementeren en je moet inbouwen dat je je bearings toch weer kan vinden, mocht je schijf tijdens uit-tijd bewogen hebben.

Wat betreft je slipkoppeling. Opzich een goed idee, ik zou ook in de elektronica inbouwen dat je de stroom kan meten. Als je tijdens draaien de stroom plots ziet oplopen dan kan je vanuit je besturing ingrijpen en direct stoppen.

Je kan ook zelf vrij makkelijk sleepringen maken. We hadden dat voor een schoolproject (CT-Scanner tafel model) gedaan met een plaatje koper en een blikschaar. Die moesten we wel goed plat slaan. Tegenwoordig zou ik misschien een print maken met ronde schijven er op.

(https://images.beneluxspoor.net/bnls_2023/deleteme-640471f84feba.png) (https://images.beneluxspoor.net/bnls_2023/deleteme-640471f84feba.png)

Uiteraard zou ik wel eerste de audio jack proberen  ;). Over het algemeen raad ik sws de makkelijkste keuzes aan. Hoe simpeler een contraption hoe waarschijnlijker het is dat hij gaat werken  :police:

Mvg,

Bas
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Hans van de Burgt op 05 maart 2023, 12:02:38

(https://images.beneluxspoor.net/bnls_2023/draaischijf-aandrijving-6403bc4b93190.jpg) (https://images.beneluxspoor.net/bnls_2023/draaischijf-aandrijving-6403bc4b93190.jpg)

@Jozz,

Een prachtig voorbeeld van de mechanical engineering mogelijkheden binnen Onshape. Het is bovendien mogelijk om je constructie te testen door er een animatie van de maken.

Je merkt op dat er voor zo’n wormwiel aandrijving geen special feature is aangemaakt. Misschien is het een idee jouw oplossing te delen met het Onshape forum. Er zitten een aantal ervaren feature script ontwerpers bij, die je graag helpen. En jij helpt anderen er weer meer.

Gr, Hans
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Huib op 05 maart 2023, 12:36:59
Heel cool!

Weet je zeker dat de strip tussen de motor en de as van het grote tandwiel stijf genoeg is? Lijkt alsof dat makkelijk tordeert waardoor je wormwiel misschien weggeduwd wordt.

Grtz! Huib
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: HuubvG op 05 maart 2023, 12:49:11
Hou er rekening mee, dat als de aandrijflijn slipt, dat dan je steppermotor niet meer synchroon loopt met de opgegeven positie. In dat geval heb je een externe positiebepaling nodig. Maar dan raak je alle voordelen van een steppermotor weer kwijt.

Groet Meino
Mee eens... Dat slippen moet dus ook niet te gemakkelijk gaan.
En een positie-sensor heb ik sowieso nodig voor de bepaling van de 0-positie. Het is dan wellicht een goed idee om bij elke passage van die positie-sensor de stappenteller ook weer op 0 te zetten. Baat het niet, dan schaadt het niet.
Áls dat al eens zou gebeuren, dan kun je ook de draaischijf zelf weer terug in de juiste positie drukken.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 05 maart 2023, 15:34:41
[...]
Wat betreft je slipkoppeling. Opzich een goed idee, ik zou ook in de elektronica inbouwen dat je de stroom kan meten. Als je tijdens draaien de stroom plots ziet oplopen dan kan je vanuit je besturing ingrijpen en direct stoppen.
[...]
Uiteraard zou ik wel eerste de audio jack proberen  ;). Over het algemeen raad ik sws de makkelijkste keuzes aan. Hoe simpeler een contraption hoe waarschijnlijker het is dat hij gaat werken  :police:

Mvg,

Bas

Goed verhaal Bas (zoals zo vaak :) )
Ik kies nu even voor de veilige weg met een hall sensor.
De stappenmotor stuur ik aan met een TMC2209. Die schijnt van zichzelf al Sensorless homing/stallGuard features te bevatten. Ik vermoed dat dat ook op basis van stroomdetectie gebeurt. Ik heb me er verder nog niet in verdiept, maar het is wel interessante materie.


[...]
Misschien is het een idee jouw oplossing te delen met het Onshape forum. Er zitten een aantal ervaren feature script ontwerpers bij, die je graag helpen. En jij helpt anderen er weer meer.

Gr, Hans

De oplossing was voor mij om het wormwiel gewoon zelf te tekenen Dat bleek met de uitleg van het filmpje helemaal niet zo ingewikkeld. Ik ben er niet zo van om anderen met mijn problemen op te zadelen als dat niet hoeft  8)


Weet je zeker dat de strip tussen de motor en de as van het grote tandwiel stijf genoeg is? Lijkt alsof dat makkelijk tordeert waardoor je wormwiel misschien weggeduwd wordt.

Grtz! Huib

Die strip zal inderdaad niet sterk genoeg zijn. Die heeft alleen functie om de (af)stand tussen motor en tandwiel meteen goed te hebben. De motor wordt met vier schroeven aan de bodemplaat geschroefd.


Áls dat al eens zou gebeuren, dan kun je ook de draaischijf zelf weer terug in de juiste positie drukken.

Dat kan uiteraard ook, maar zou niet nodig moeten zijn als het ook automatisch hersteld kan worden.

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 05 maart 2023, 20:18:57
Geprint en gemonteerd  8)

(https://images.beneluxspoor.net/bnls_2023/aandrijving-print-6404e7c4e4809.jpg) (https://images.beneluxspoor.net/bnls_2023/aandrijving-print-6404e7c4e4809.jpg)

Het wormwiel had ik van wat braampjes ontdaan, maar desondanks "hapt" die als het ware toch soms nog een beetje in het tandwiel, ook doordat ik het tandwiel en de worm strakker tegen elkaar heb gezet dan wat eigenlijk hoort. Dit na de waarschuwing van Meino om zo min mogelijk speling in de overbrenging te krijgen.

Daarom een extra beugeltje toegevoegd die het tandwiel in bedwang houdt. Ik denk dat ik op nog twee plekken zo'n beugeltje ga toevoegen.

Het wormwiel zou nog wat verder op de as mogen. Daarvoor moet ik echter alles uit elkaar halen, want die zit best wel strak.

De overbrenging zit nu zo strak in elkaar, dat de slipkoppeling zelfs een beetje als een veer optreedt. Een leuke bijkomstigheid. En, zoals het nu lijkt, compleet spelingsvrij.

Ik zal binnenkort wel een filmpje van maken hoe het draait
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 05 maart 2023, 20:30:42
Ziet er goed uit zeg   :o
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Overet op 05 maart 2023, 20:38:17
Knap!

Tom
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Ronald69 op 05 maart 2023, 20:50:58
Jos,

Knap staaltje werk. Ik ga dit met interesse volgen.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Menno op 05 maart 2023, 21:29:48
Goed verhaal Bas (zoals zo vaak :) )
Ik kies nu even voor de veilige weg met een hall sensor.
De stappenmotor stuur ik aan met een TMC2209. Die schijnt van zichzelf al Sensorless homing/stallGuard features te bevatten.
 Ik vermoed dat dat ook op basis van stroomdetectie gebeurt.
Klopt. Je moet dan wel ergens een fysieke eindstop inbouwen, anders werkt die detectie niet.

Het wormwiel had ik van wat braampjes ontdaan, maar desondanks "hapt" die als het ware toch soms nog een beetje in het tandwiel, ook doordat ik het tandwiel en de worm strakker tegen elkaar heb gezet dan wat eigenlijk hoort. Dit na de waarschuwing van Meino om zo min mogelijk speling in de overbrenging te krijgen.
Het helpt om in dit soort situaties goed naar de loopwerken van magnetische media-systemen (VHS, Hi8, miniDV/DVcam) en CD-ROM/DVD-ROM drives te kijken: daar wordt tegen speling (backlash heet dat in dit geval) altijd een tweede tandwiel met gelijke verhoudingen bovenop het andere gemonteerd, maar dan onder spanning gehouden met een veer, waardoor het tandwiel altijd zonder speling in contact staat met een wormwiel.

Wat betreft het gebruiken van een mini-jack als sleepcontact zou ik bijna zeggen: bespaar je de moeite en begin meteen met een echt sleepcontact. Mini-jacks zijn berucht om hun contactproblematiek en worden niet voor niets nooit in de professionele AV-industrie gebruikt.
Áls je al een jack wil gebruiken, zou ik op z'n minst voor de 6,3 millimeter variant gaan en dan op z'n minst voor een fabrikant als Neutrik of ITT Cannon, dan weet je dat de contacten tenminste ook nog wat kunnen hebben.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 05 maart 2023, 21:56:29
Dank Menno.
De audiojack zit er al in  :-X
6,3 mm had ik ook wel liggen, maar was veel te groot. Ik kan me ook voorstellen dat er bij audio andere eisen aan de verbinding worden gesteld dan hier (analoge spanning) We gaan zien wat het doet, en als het haperingen geeft, dan weten we wat de oorzaak is en kijk ik vanaf daar wel verder  ;)

Ik heb een kabelgootje toegevoegd waar de audioplug in gemonteerd zit.
Voor de audioplug had ik een gat voorzien iets kleiner dan de grootte van de schroefdraad waar normaal het zwarte handvat op vastdraait. Plug op het gat drukken met de soldeerbout er tegenaan en dan zakt die er netjes in, en zit vast genoeg als het is afgekoeld.

(https://images.beneluxspoor.net/bnls_2023/kabelgootje-met-audiojack-6404fa213970d.jpg) (https://images.beneluxspoor.net/bnls_2023/kabelgootje-met-audiojack-6404fa213970d.jpg)

En dan waar het eigenlijk allemaal om te doen is: de brug
Eerst had ik het idee om die van een simpel plaatje 5mm multiplex ofzo te maken. Maar aan de uiteinden zal toch ook iets van geleiding moeten komen en hoe bevestig je dat dan weer.

Dus toch maar wat getekend.
De draaischijf is bedoeld voor een Fiddle Yard, dus hoeft niet werkelijkheidsgetrouw. Had uiteraard wel gekund, maar die moeite heb ik me bespaard.

De wens was een bruglengte van 30cm. Zo groot is het printbed echter niet, dus dan maar ik twee delen. Dit heeft vermoedelijk ook wat voordelen om de draadjes vanuit de holle as aan de railstaven te kunnen solderen, maar dat zien we later wel.

Vanuit het midden gezien, had ik het zo bedacht:

(https://images.beneluxspoor.net/bnls_2023/brug-kop-6404fda53255e.jpg) (https://images.beneluxspoor.net/bnls_2023/brug-kop-6404fda53255e.jpg)

De rails zou er precies in moeten kunnen schuiven. De gaten aan weerszijden zijn voor twee ijzeren pennen, die beide delen recht aan elkaar moeten houden.

(https://images.beneluxspoor.net/bnls_2023/brug-6404fa2790645.jpg) (https://images.beneluxspoor.net/bnls_2023/brug-6404fa2790645.jpg)

Op de uiteinden aan de onderkant, heb ik uitsparingen waar 2mm asjes in passen met 6mm kogellagers. Daar moet ik dan ook nog een geleiderail voor hebben...
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 06 maart 2023, 16:22:50

En één brughelft geprint.
De rails past er perfect tussen en heeft nagenoeg geen nadere fixatie nodig  8)

(https://images.beneluxspoor.net/bnls_2023/brug-print-640604d01e196.jpg) (https://images.beneluxspoor.net/bnls_2023/brug-print-640604d01e196.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 06 maart 2023, 22:58:16
En de gehele brug gemonteerd op de as en inclusief rails.

Ook een eerste printje van de rail die rondom kan komen. Dat valt me niet tegen  :)

(https://images.beneluxspoor.net/bnls_2023/brug-print-640661c674fe8.jpg) (https://images.beneluxspoor.net/bnls_2023/brug-print-640661c674fe8.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: MOVisser op 07 maart 2023, 08:55:49
Wat is de reden dat het wormwiel schuin tov de centrale tandwiel is geplaatst?
Door de schuinte zou ik denken dat de tanden van de schijf ook iets schuin geplaatst moeten worden en niet recht zoals nu.


Ronald Visser
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Eric B op 07 maart 2023, 09:15:47
Staan ze denk ik ook Ronald, zoom maar eens in op de tekening, op de foto is het slecht/niet te zien ...

De reden snap ik wel, als je de motoras en dus ook de worm horizontaal houdt, komt het grote wormwiel best wel ver van het lagerpunt op de as te zitten, dat lijkt me niet gunstig voor de stabiliteit.
Motor verdiept opstellen was ook een oplossing geweest, maar als je toch alles zelf bedenkt, ontwerpt, tekent en print, kan het zo ook prima.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: MOVisser op 07 maart 2023, 09:26:07
Dank Eric,
De as van de motor is echt wel hoger dan de schijf.

Verder niet aan mij.....

Groet
Ronald
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 07 maart 2023, 09:58:58
Ik had dit in bericht #10 (https://forum.beneluxspoor.net/index.php?topic=106433.msg3222377987#msg3222377987) al wel toegelicht, maar het is op de plaatjes en foto's inderdaad niet heel goed te zien.

De tanden op de worm staan van zichzelf al zo'n 5° uit het lood, want spiraalvormig hè. Dus als je de as van de motor horizontaal wilt, dan zouden de tanden op het tandwiel ook onder die hoek moeten staan.

Mijn prioriteit lag bij een zo klein mogelijke afstand tussen de bodemplaat en het grote tandwiel.

Exact van opzij ziet het er dan zo uit:

(https://images.beneluxspoor.net/bnls_2023/zijaanzicht-6406fc735d5bd.jpg) (https://images.beneluxspoor.net/bnls_2023/zijaanzicht-6406fc735d5bd.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 07 maart 2023, 10:14:59
Interessant topic!

Zelf heb ik ook een grotendeels 3D geprinte draaischijf:
(https://thumbs-eu-west-1.myalbum.io/photo/360/121e6247-f682-4cdb-ae55-664c33497ffc.jpg)
Hij loopt als een zonnetje, erg stil.

Aandrijving met een simpele stappenmotor en 2 tandwielen.

Per definitie heb je speling die moet gecompenseerd worden in de Arduino Sketch zodat ie links- en rechtsom op dezelfde plek stopt.
De wrijving zou ik zo klein mogelijk maken, maak me wat zorgen om de gebruikte “sleep”connector.
Zelf heb ik een 10- voudige sleepring van tante Ali gebruik. Kost bijna niets. Gebruik die ook voor verlichting op de brug en seinen.

In eerste instantie wou ik de brug laten draaien met schakelaars en een weerstandsarray. De Arduino luistert naar DC waarden.
Nu hebben we het praktisch zo ver dat we de schijf kunnen adresseren met DCC adressen uit Traincontroller voor, voorlopig, 18 posities..

Succes verder, ga het volgen
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 07 maart 2023, 10:57:22
Dat ziet er indrukwekkend uit Bert  (y)

Zo'n sleepring van Ali en met de as van de stappenmotor rechtstreeks op de brug is voor mij "plan B" als dit doodloopt.
Maar "kost bijna niets" is denk ik uit het pre-Covid tijdperk? 10-voudig zie ik niet, maar 12-voudig (https://nl.aliexpress.com/item/4000351975364.html?spm=a2g0o.detail.1000014.2.7cba31104XjW0Y&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.40050.281175.0&scm_id=1007.40050.281175.0&scm-url=1007.40050.281175.0&pvid=0936bc42-30bd-4522-ba4c-52cd1637bc0a&_t=gps-id:pcDetailBottomMoreOtherSeller,scm-url:1007.40050.281175.0,pvid:0936bc42-30bd-4522-ba4c-52cd1637bc0a,tpp_buckets:668%232846%238111%231996&pdp_ext_f=%7B%22sku_id%22%3A%2210000001461814010%22%2C%22sceneId%22%3A%2230050%22%7D&pdp_npi=3%40dis%21EUR%216.19%216.19%21%21%21%21%21%40211b446216781823391394106e5096%2110000001461814010%21rec%21NL%211636934634) kost zo €25,- incl verzending.

De wrijving ben ik niet zo bang meer voor. Ik heb e.e.a. hier nu proefdraaien, en het grote tandwiel is met de hand niet tegen te houden.
Vanuit het oogpunt van slijtage wil je natuurlijk wel dat e.e.a. zo min mogelijk wrijving heeft. Vooralsnog lijkt het allemaal best soepel te lopen.

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 07 maart 2023, 11:58:09
Dank je!
Indien je meer wilt zien, mijn post bij de buren:

https://forum.3rail.nl/index.php?topic=87509.0

Kun je zien dat er veel voortschrijdend inzicht, verandering van plannen in zit

Zie ook wel sleepringen voor onder €10 maar dat kun je even parkeren.
€ 5,47 | Micro Slip Ring 2/4//6/8/12/24 Kanaals 2A 12.5Mm/15.5Mm Draaien eettafel Slip Ring Elektrische Collector Ringen
https://a.aliexpress.com/_EyGwqpL

Suc6!!
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 07 maart 2023, 12:19:31
Leuk uitgebreid verhaal daar Bert, dat ga ik zeker doorlezen.

De sleepringen die jij linkt, hebben geen gat waar de as van de stappenmotor direct op kan. Met 2, 4 of 6 draden wordt de prijs daarvan ook al wel aanzienlijk minder. Het reduceert niet naar "bijna niks" maar de prijs is wel goed te overzien. Ergens in het begin van dit topic werd ook gerefereerd aan Modelbouwled, die ze op voorraad heeft: https://www.modelbouwled.nl/contents/nl/p1786_Sleepring_4_draads_faller_break_dance.html
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 07 maart 2023, 20:24:32
Om de brug bij te uiteinden te ondersteunen, heb ik er 6mm lagers met een 2mm asje in gedrukt.

Hier had ik bij het ontwerp wel rekening mee gehouden door hier uitsparingen te tekenen.

(https://images.beneluxspoor.net/bnls_2023/brug-onderzijde-64078f3f3a802.jpg) (https://images.beneluxspoor.net/bnls_2023/brug-onderzijde-64078f3f3a802.jpg)

(https://images.beneluxspoor.net/bnls_2023/brug-onderzijde-64078e329da67.jpg) (https://images.beneluxspoor.net/bnls_2023/brug-onderzijde-64078e329da67.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: MOVisser op 07 maart 2023, 20:59:43
@Jozz, dank voor je reactie.

Ben toch benieuwd hoelang het dan zo blijft werken.
Succes met je voortgang.

Ronald Visser
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 07 maart 2023, 21:00:53
Waar ben je bang voor?

Groeten, Jos
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: MOVisser op 07 maart 2023, 21:13:50
Door de hoek en de slijtage daarmee gepaard gaande.
Elk wormwiel en elk tandwiel daarop worden haaks aangebracht.
Misschien ben ik wel een betweter.. :angel:

Voor zover.

Ronald Visser
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 07 maart 2023, 21:19:12
De lagers lopen straks over een rail?
6mm lagers zijn vast groot genoeg om het geheel te dragen maar 6mm is in 1:1 52cm, lijkt me niet erg groot.
Ik heb de wielen zelf bewust naast de brug laten uitsteken omdat ik dat fraaier vind en je meer stabiliteit hebt.
Zijn maar gedachten hoor, het is jouw schijf (y)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 07 maart 2023, 21:27:40
@Bert, deze draaischijf is bedoeld voor een Fiddle Yard, dus hoeft alleen maar functioneel te zijn. Ik ben nu wel met de rail aan het printen, omdat dat vermoedelijk wat vlakker is dan de multiplex plaat.

@Ronald, zoals gezegd moeten de tanden sowieso schuin staan als je de assen van wormwiel en tandwiel haaks op elkaar wilt hebben. Anders zal je tandwiel niet kunnen draaien  ;)
En slijtage ben ik eigenlijk niet zo heel bang meer voor na alles wat ik tot nu toe op youtube heb gezien met wat ze allemaal met geprinte tandwielen uithalen, zoals deze https://youtu.be/yV8tZ1epLHU?t=118  :o
Zulke krachten zullen op een h0-draaischijfje nooit optreden  ;D
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 07 maart 2023, 21:45:44
Ok Jos, even overheen gelezen.
Heb jouw baan ook wat verder bekeken, mooie uitdaging!

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 07 maart 2023, 21:55:16
Dankjewel Bert. Ik ben ondertussen ook van jouw creaties op de hoogte  (y)

Groeten, Jos
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Cor--24 op 08 maart 2023, 05:43:11
Door de hoek en de slijtage daarmee gepaard gaande.

Ach, we zijn allemaal op onze manier een betweter. Als de slijtage erg groot zou zijn, kun je natuurlijk weer nieuwe printen. Het gebruikte toerental is niet niet hoog, net als de gebruiksfrequentie. Goede smering voorkomt al veel. In veel gevallen is het gewoon kijken waar het schip strandt.

Ik heb de wielen zelf bewust naast de brug laten uitsteken omdat ik dat fraaier vind en je meer stabiliteit hebt.

In 1:1 kwamen beide vormen wel voor. Stabiliteit zal bij 1:87 in dit geval niet snel een spelbreker zijn. Er zijn ook draaischijven, die alleen draaien om een centraal lager bij de aandrijfas.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 14 maart 2023, 19:11:18
Huidige stand van zaken:

De 3D-draaischijf is samengebouwd, inclusief de ondersteuningsrail.
Spanning wordt via de audio-plug prima doorgegeven en de brug kan soepel draaien.

(https://images.beneluxspoor.net/bnls_2023/draaischijf-samengebouwd-6410b7ab3fe37.jpg) (https://images.beneluxspoor.net/bnls_2023/draaischijf-samengebouwd-6410b7ab3fe37.jpg)


Ik had ooit voor mijn eigen draaischijf een bulk aan hall sensoren gekocht. Die kon ik natuurlijk nergens vinden.. Uiteindelijk in een rommelhoekje toch teruggevonden, dus daar ga ik er één dezer dagen eentje van onder plakken.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 14 maart 2023, 20:06:52
Ziet er schitterend uit, mooi staaltje engineering  (y)

Bas
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: SvenW op 14 maart 2023, 21:16:09
Daar sluit ik me volledig bij aan! Goed uitgedacht ontwerp  (y)

Groeten Sven
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 14 maart 2023, 23:06:47
Dank mannen.

Het lijkt misschien allemaal heel doordacht, maar er komt toch ook best wel wat trial & error bij kijken hoor.

Deze draaischijf bestaat weliswaar uit redelijk weinig onderdelen, maar elk onderdeel heb ik toch wel 2 of 3 of soms wel vaker moeten printen. Dit om de onderlinge aansluiting zo goed mogelijk te krijgen. Bijvoorbeeld: de as van de stappenmotor is 5mm. Maar als ik een binnencilinder van 5mm teken voor het wormwiel, dan ga ik die nooit op de as gedrukt krijgen. Die marges zullen per printer waarschijnlijk anders uitvallen.

En soms zit er gewoon een tekortkoming in het ontwerp.
Zoals de slipkoppeling. Deze was glad en zat best strak. Zo strak, dat ik zelfs een schijf opnieuw geprint heb met 1mm kleinere doorsnede. En ook die zat naar mijn gevoel nog steeds erg strak.
Toen viel mij tijdens proefdraaien de iets verende werking van die slipkoppeling op, omdat de worm strak tegen het tandwiel liep. Een mooi neveneffect van die slipkoppeling... dacht ik...

Totdat ik op beide delen met een marker een zwart stipje zette. Toen bleek dat na zo'n 3 à 4 ronden de boel 1mm ten opzichte van elkaar verschoven was. Onacceptabel!
Ik wilde het idee van de slipkoppeling toch ook niet helemaal loslaten, daarom de schijf iets aangepast en nu rondom voorzien van kuiltjes. Nu geen verschuiving meer.

(https://images.beneluxspoor.net/bnls_2023/slipkoppeling-aangepast-6410ef6509a66.jpg) (https://images.beneluxspoor.net/bnls_2023/slipkoppeling-aangepast-6410ef6509a66.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 19 maart 2023, 16:59:56
En dan nu eindelijk... een filmpje!

https://www.youtube.com/v/I3H3pjFTVtM

https://www.youtube.com/watch?v=I3H3pjFTVtM

Om de continuïteit van de spanningsvoorziening te testen, heb ik er een soundloc op gezet. Dan merk je meteen als er ergens een onderbreking komt. De loc heeft geen accu-pack  ;D
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 19 maart 2023, 17:03:47
Erg fraai loopt hij!
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: gdh op 19 maart 2023, 21:40:23
Ziet er goed uit (y)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 20 maart 2023, 12:40:50
Ik ben er ook wel erg tevreden over hoe het nu uitpakt.
Dat de draaischijf nu gebouwd is en draait, betekent echter niet dat alles klaar is. De aansturing moet nog, dus daar ga ik nog mee verder.

De aansturing wil ik kunnen gebruiken voor zowel deze schijf die voor analoog bedrijf bedoeld is, als mijn eigen Roco draaischijf (digitaal bedrijf)

Dan kom ik op het volgende lijstje met eisen:

Meer kon ik zo even niet bedenken  :D  Mist er nog iets?

Wat ik al heb:

De ervaring leert dat ik niet goed overweg kan met Arduino sketches die door anderen gemaakt zijn. Her en der zijn die ook voor draaischijven wel op internet te vinden, Meino heeft bijvoorbeeld al wel e.e.a. laten zien, en ook via de links van Bert55 kwam ik wel e.e.a. tegen. Als ik sketches van anderen overneem, dan kom ik altijd op een punt dat ik toch wat wil/moet aanpassen en dan begint het grote foutzoeken.
Door het zelf te maken (lees: hele kleine stukjes code kopiëren/plakken), leer ik er op de eerste plaats steeds meer van, en ten tweede snap ik wat de code doet.

Het printje met DCC interface was bedoeld voor de aansturing van servo's voor wissels, en moet voor deze toepassing een TMC2209 stappenmotor driver gaan aansturen.

(https://images.beneluxspoor.net/bnls_2023/servo-decoder-6410decfa1962.jpg) (https://images.beneluxspoor.net/bnls_2023/servo-decoder-6410decfa1962.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 20 maart 2023, 12:56:15
Mooie lijst met wensen!
Ik bedien mijn schijf met DCC adressen ( 1 adres per stoppositie) en met een potmeter ( alleen voor afregelen en testen) maar dat weet je vast.

Ik ben zeker geen expert.
Gebruik de aangepaste sniffer sketch voor DCC herkenning en een andere aangepaste sketch voor de aansturing van 18 posities ( worden er denk ik 19 of 20…)
Bovenstaande is vast niet nieuw voor je:)

Nog een suggestie voor jouw lijst:
Spersignaal. Op draaischijven zitten (vaak?) sperseinen. Rood bij bezet en wit bij vrij.
Die zijn in mijn sketch en de stuurprint ingebouwd.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 20 maart 2023, 13:37:26
Citaat
Mist er nog iets?
Ik weet niet of je het al hebt, maar langzaam optrekken en remmen. Ik zou dan kijken naar de accelstepper library (als je dat nog niet gedaan heb).

De bediening van de oneindige overslag bestond uit 3 drukknopjes (CW, CCW en teach) en een toggle schakelaar. Met de toggle schakelaar kon ik het apparaat in 'manual' mode zetten. In manual mode kon ik CW en CCW ingedrukt houden om de schijf handmatig te verdraaien. Met het teach knopje kon ik dan een aansluiting opslaan in EEPROM.

In automatische mode kan je met CW en CCW de schijf laten shiften tussen de aansloten sporen.

Gestructureerd programmeren is natuurlijk wel een dingetje. Vooral voor half complexe dingen zoals deze.
Een paar algemene tips (waarvan je sommige zo te zien al heb uitgevogeld):


Ik geef dan hier de loop van de oneindige overslag. Ik doe hier wel iets meer dan slechts functies aanroepen. Hij is rond de 70 lijntjes, bij mij net iets langer dan 1 pagina.

Ik maak ook gebruik van mijn debounce library, altijd handig. Je kan ook zoeken naar de library bounce2.h

Zelf meen ik dat dit over het algemeen leesbaar is, maar dat zegt bijna elke programmeur over zijn eigen (mis)baksels  ;D

void loop()
{
    debounceButtons() ; // debounces all inputs
    cruise() ;            // handle stepper motor

    uint8_t state = modeBtn.readInput() ; // state can be FALLING, RISING, LOW or HIGH. I mainly act on RISING or FALLING states.
   
    if( state == RISING )
    {
        Serial.println("AUTOMATIC MODE") ;
        mode = AUTOMATIC ; // new mode can only be adopted when motor is not moving
        //dumpEEPROM() ;
    }
    if( state == FALLING )
    {
        mode = MANUAL ;
        firstStore = true ;
        Serial.println("MANUAL MODE") ;
    }

    uint8_t  cwState =  CW.readInput() ;
    uint8_t ccwState = CCW.readInput() ;
    uint8_t recordState = record.readInput() ;

    if( ccwState == LOW && cwState == LOW )
    {
        setCircumreference( 0xFFFF ) ;
        Serial.println(F("setCircumreference wiped, reboot")) ;
        while( 1 ) ;
    }

    if( mode == MANUAL )
    {   
        if( cwState  == FALLING ) cruiseCW() ;
        if( ccwState == FALLING ) cruiseCCW() ;
        if( cwState == RISING || ccwState == RISING ) stopCruising() ;

        else if( recordState == RISING )
        {
            if( firstStore ) clearSlots() ;
            firstStore = false ;
            storeSlot( position ) ;
        }
    }
   
    if( mode == AUTOMATIC )
    {
        update() ;   // update stepper positions
       
        if( cwState == FALLING )
        {
            shiftCW() ;
        }
        if( ccwState == FALLING )
        {
            shiftCCW() ;
        }
    }

    REPEAT_MS( 500 )  // print new positions to monitor every 500ms
    {
        static uint32_t prevPos ;

        if( prevPos != position )
        {
            Serial.print( position ) ; Serial.print("  ");
            Serial.println( currentSpeed ) ;
            prevPos = position ;
        }
    }
    END_REPEAT
}
Een functie zoals shiftCW() behoeft in mijn optiek niet echt commentaar omdat de naam tamelijk duidelijk aangeeft wat het moet doen.

Hope it helps

Mvg,

Bas
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 20 maart 2023, 13:44:09
Nog een suggestie voor jouw lijst:
Spersignaal. Op draaischijven zitten (vaak?) sperseinen. Rood bij bezet en wit bij vrij.
Die zijn in mijn sketch en de stuurprint ingebouwd.

Zo'n spersignaal had ik niet over nagedacht. Voor de Fiddle Yard hoeft het niet en bij de VSM hebben ze dat ook niet, dacht ik.
Hoe werkt dat dan Bert? Bij eindpositie bereikt èn brugspoor vrij => wit licht? En dan aan beide zijden? Of alleen aan de zijde waar één loc toestemming krijgt om op te rijden?
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 20 maart 2023, 14:17:05
Dank voor de vele tips Bas!
Ik probeer die allemaal zeker toe te passen. Ik had destijds ook jouw epistels over Goed programmeren in C (https://github.com/bask185/ArduinoToolchain/blob/master/images/Goed%20programmeren%20in%20C%20deel%201.pdf) bestudeerd.

Ik weet niet of je het al hebt, maar langzaam optrekken en remmen. Ik zou dan kijken naar de accelstepper library (als je dat nog niet gedaan heb).
De library die ik inmiddels zelf gemaakt heb, voorziet inderdaad ook in langzaam optrekken en afremmen. Zie filmpje: https://www.youtube.com/watch?v=I3H3pjFTVtM

Ik had wel naar de Accelstepper library gekeken, en ook naar de Flexystepper library, maar daar had ik toch ruzie mee. Ik kon in ieder geval geen optie vinden dat er rekening gehouden wordt met een rondgaande beweging. Ze zijn volgens mij meer voor lineaire bewegingen bedoeld.

En toen ik toch bezig was, vond ik de berekeningen daarin voor de acceleratie en deceleratie onnodig ingewikkeld met worteltrekformules enzo.
Zij gebruiken één timestamp variabele om te bepalen wanneer er een nieuw stapje moet worden gezet, en berekenen dan meteen hoelang gewacht moet worden voor het volgende stapje.
Ik gebruik simpelweg een tweede timestamp die elke 1000000UL / accelerationSteps miliseconden checkt of de speedSteps aangepast moet worden.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 20 maart 2023, 14:23:28
Citaat
onnodig ingewikkeld met worteltrekformules enzo
Dat klinkt idd te ingewikkeld. Je maakt je leven veel makkelijker als je met lineaire versnellingen werkt. De snelheid volgt dan een trapezium vormige grafiek Dan kan je alle formules van je natuurkunde lessen toepassen. Maar goed, wat klaar is, is klaar  :police:
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Menno op 20 maart 2023, 14:25:25
Ik ben er ook wel erg tevreden over hoe het nu uitpakt.
Bediening via seriële poort (voor analoge toepassing)
Die snap ik niet ;) Dan is het niet meer analoog, maar nog steeds digitaal...
Bediening via DCC (Fleischmann protocol?)
DCC is toch een universeel protocol? Wat doet Fleischmann zoveel anders dat je dat zo expliciet vermeld?
De ervaring leert dat ik niet goed overweg kan met Arduino sketches die door anderen gemaakt zijn.
Als veel commentaar daarbij ontbreekt, is dat ook niet raar. Ik kan simpel PIC-spul programmeren in assembler, maar ik moet daar echt commentaar bij noteren om te voorkomen dat ik zelf niet meer weet wat ik doe én dat als anderen het ooit voort zouden zetten (zeldzaam), die tenminste ook weten wat de code doet. Zeker in assembler geen overbodige luxe, gezien de bijzonder cryptische code die daarbij gebruikt wordt.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 20 maart 2023, 14:34:23
Met "Bediening via seriële poort (voor analoge toepassing)" bedoel ik een omgeving waar geen DCC apparaten beschikbaar zijn.
Via de seriële poort, omdat het bedienpaneel wat verder van de draaischijf gepositioneerd kan zijn.

DCC is inderdaad een universeel protocol, maar van wat ik zo kon vinden, wijkt de manier van het aansturen van een draaischijf nogal af per fabrikant. Dat heeft dan meer met de adressering te maken, dus ik had het eigenlijk "Fleischmann adresseringsmethode" moeten noemen ofzo  ;)

Dat ziet er zo uit:
Adr.|        | Functie
--------------------------------------------
200 | rood   | 180° met de klok mee draaien
    | groen  | 180° tegen de wijzers van de klok in draaien
201 | rood   | spoorwegverbinding 1 met brughuisje bij de aansluiting
    | groen  | spoorwegverbinding 1 zonder brughuisje bij de aansluiting
202 | rood   | spoorwegverbinding 2 met brughuisje bij de aansluiting
    | groen  | spoorwegverbinding 2 zonder brughuisje bij de aansluiting
203 | rood   | spoorwegverbinding 3 met brughuisje bij de aansluiting
    | groen  | spoorwegverbinding 3 zonder brughuisje bij de aansluiting
 ...
247 | rood   | spoorwegverbinding 47 met brughuisje bij de aansluiting
    | groen  | spoorwegverbinding 47 zonder brughuisje bij de aansluiting
248 | rood   | spoorwegverbinding 48 met brughuisje bij de aansluiting
    | groen  | spoorwegverbinding 48 zonder brughuisje bij de aansluiting

Lees voor rood/groen ook wel rechtdoor/afbuigend of andersom

Deze kon ik tenminste begrijpen.. Van de Märklin adressering kon ik niet echt wat mee. Heb die ook zo even niet meer paraat.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: meino op 20 maart 2023, 15:36:39
Ik had wel naar de Accelstepper library gekeken, en ook naar de Flexystepper library, maar daar had ik toch ruzie mee. Ik kon in ieder geval geen optie vinden dat er rekening gehouden wordt met een rondgaande beweging. Ze zijn volgens mij meer voor lineaire bewegingen bedoeld.

Voor jou misschien niet echt relevant meer, maar voor anderen misschien wel. De Accelstepper weet niets van een rondgaande beweging. Hij heeft twee zaken waar mee hij zijn beweging controleert, de huidige positie (void AccelStepper::setCurrentPosition(long position)   ) en een doel positie (void AccelStepper::moveTo(long position)). Als de doel positie groter is dan de huidige positie, zal hij stapjes voorwaards maken en als de doel positie kleiner is, maakt hij stapjes achterwaards. Overigens posities kunnen ook negatief zijn. Dat komt van pas omdat bij een draaischijf je modulo moet rekenen. Bijvoorbeeld, steppermotor 400 stapjes geen microstepping. Dan heeft de draaischijf 400 mogelijke posities. Stel huidige positie is 10, doel positie is 360. Als je nu gewoon met moveTo(360) de doelpositie op 360 zet, dan zal Accelstepper 350 stapjes voorwaards maken. Echter als je modulo 400 rekent is de kortste afstand slechts 50 stapjes (360-(400+10). Kortom als je nu met movTo(360-400) de doelpositie op -40 zet, zal Accellstepper 50 stapjes achterwaards uitvoeren. Daarna staat alleen de huidige positie op -40, dus dat moet je daarna even corrigeren naar de correcte odulo 400 waarde. Als je dit eenmaal doorhebt is er prima te werken met de Accelstepper. Dat is wat ik zelf in mijn Turntable class heb gedaan.

Overigens, je draaischijf loopt erg mooi, petje af voor het resultaat.

Groet Meino
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 20 maart 2023, 15:44:42
Zo'n spersignaal had ik niet over nagedacht. Voor de Fiddle Yard hoeft het niet en bij de VSM hebben ze dat ook niet, dacht ik.
Hoe werkt dat dan Bert? Bij eindpositie bereikt èn brugspoor vrij => wit licht? En dan aan beide zijden? Of alleen aan de zijde waar één loc toestemming krijgt om op te rijden?

Ik heb het spersein nu gepland op de brug aan beide zijden gericht naar buiten. Rood bij beweging brug en wit in ruststand. Indien brug bezet is wit maar daar heb je een goed punt. Heb detectie op de brug dus dat is simpel toe te voegen.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Bert55 op 20 maart 2023, 18:32:36
Interessante uitleg over Accelstepper Meino. Dat sla ik even op. Snap er nog niet alles van maar zodra nodig kom ik er graag op terug.
De komende periode gaan we onze draaischijf verder inbouwen en testen.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 20 maart 2023, 23:48:04
Bedankt voor je compliment Meino, erg gewaardeerd  :)

Ik snap nu ook hoe je de AccelStepper library gebruikt: de crux zit hem dus in het na elke voltooide beweging de positie met modulo herberekenen en bijwerken met setCurrentPosition.

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 21 maart 2023, 00:20:29
Alles wat ik aan programmeerfuncties bedacht had, moet worden opgeslagen in het EEPROM geheugen van de Arduino.
Elke variabele die moet worden opgeslagen, moet een positie in het geheugen krijgen. Het leek me handig om alvast in een schema vast te leggen:

--variable--                --type--   --pos--
 EepromSchemeVersion         ULONG(4)       0
 DCC start address:          UINT(2)        4
 steps per revolution:       LONG(4)       10
 number of tracks:           BYTE(1)       14
 reverse default direction:  BYTE(1)       15
 speed [steps per second]:   UINT(2)       16
 acceleration steps:         UINT(2)       18

Vanaf plek 20 kunnen dan de aansluitspoorposities worden opgeslagen.

Maar er moet ook nog een stappenpositie worden vastgelegd waar het brugspoor moet ompolen. Ik vermoed dat opslaan van één positie voldoende is en de andere positie er precies tegenover ligt.

Of zou het theoretisch voor kunnen komen dat het brugspoor op meer plekken omgepoold moet worden?
Heeft iemand dat?

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 21 maart 2023, 09:03:01
Citaat
Of zou het theoretisch voor kunnen komen dat het brugspoor op meer plekken omgepoold moet worden?
Het is afhankelijk van hoe jij je je aansluit sporen bedraad. Als er 2 tegenover elkaar liggen, moeten ze natuurlijk gelijk bedraad worden. Ik denk dat je slechts 2 momenten heb waarop je je ompoolrelais hoeft te schakelen. Je kan net zo makkelijk per spoor de relaisstanden opslaan, kleine moeite.

Misschien needless to say Wat eeprom en settings betreft. Dit is de ideale situatie om een structure toe te passen. Je kan een (naamloze) struct maken en dan maak je 1 object genaamd 'settings' ofzo.

struct
{
    uint32_t    version ;
    uint16_t    startAddress ;
    uint32_t    stepsPerRevolution ; // or 'circumreference'
    uint8_t     nTracks ; // zou deze elders opslaan, zie verderop
    uint8_t     defaultDirection ;
    uint16_t    speed ;
    uint16_t    acceleration ;
} setting ;

Om te gebruiken tik je overal 'settings.xxxx' en die kan je als normale variabelen benaderen.
// usage

void someFunc()
{
    settings.version = 0xCC33 ;         // write

    int variable = settings.nTracks ;   // read
}


Het opslaan en laden van de settings kan je dan met deze 2 functies doen.
// to store
void storeSettings()
{
    int eeAddress = 0x0000 ;
    EEPROM.put( eeAddress, settings ) ;  // stores all settings
}

void loadSettings()
{
    int eeAddress = 0x0000 ;
    EEPROM.get( eeAddress, settings ) ;  // loads all settings 
}
Je hoeft je niet druk te maken om de grootte. put() en get() regelen alles voor je.

Op dezelfde manier kan je ook alle aansluitspoorposities laden en opslaan. Zelf gebuik ik wel eens de MSB bit in een array om een bepaalde stand op te slaan. De overige bits zijn dan voor een adres of een positie. Ik doe dat meestal als ik wisselstraten opsla, but 15 is bij mij dan de stand van de wissel en de andere bits het adres.

struct
{
    uint8_t     nTracks ;       // hold the amount of tracks.
    uint32_t    positions[40] ; // choose 40 as maximum limit, may be more.
} tracks ;

// usage
uint32_t getPosition( int index )
{
    return tracks.position[index] & 0x7FFF ; // return all bit but MSB (relay state)
}

uint8_t getRelayState( int index )
{
    return tracks.position[index] >> 15 ;  // return the state bit.
}

void setPosition( uint32_t position, uint8_t relayState )
{
    uint8_t index = tracks.nTracks ;
    //                            position        OR       relayState
    tracks.position[index] = ( position & 0x7FFF ) | ( relayState << 15 ) ;
    tracks.nTracks ++ ;             // increment every time when a track is stored
}

Als je dan gaat inleren dan reset je eerst tracks.nTracks naar 0. En elke keer dat je een spoor opslaat dan hoog je die op. Als je dan klaar bent inleren heeft tracks.nTracks het juiste aantal sporen.

Dan kan je alles in 1 klap opslaan met deze functies. Het eeprom adres van de spooraansluitingen kan je laten berekenen met de sizeof() operator. Ik gebruik hier de grootte van bovenstaande settings om het eerst volgende vrije adres onder de settings te berekenen.

// to store in eeprom
void storeTracks()
{
    int eeAddress = sizeof( settings ) ; // I calculate the first free address behind the settings structure
    EEPROM.put( eeAddress, tracks ) ;  // stores all settings
}

void loadTracks()
{
    int eeAddress = sizeof( settings ) ;
    EEPROM.get( eeAddress, tracks ) ;  // stores all settings 
}

En al deze code zou ik in aparte bestandjes dumpen. eeprom.cpp en eemprom.h

Wie weet, is het misschien ook wel handig dat je na het inleren nog aparte aansluitingen kan finetunen. Het zou zuur zijn als je 30 sporen inleert en je moet alles opnieuw doen, omdat 1 spoor net niet helemaal lekker staat.

void updatePosition( uint32_t position, uint8_t relayState, uint8_t index )  // index moved to argument
{    //                            position        OR       relayState
    tracks.position[index] = ( position & 0x7FFF ) | ( relayState << 15 ) ;
}

// usage
updatePosition( currentPos, currentRelayState, currentTrack ) ;
// when done update call storeTracks() ; to commit the change to EEPROM

Ik had nog een brainfart. Die komen soms tot me van tijd tot tijd  :P. Die dcc servo decoders zoals die van DK kan je finetunen door lok adres 9999 aan te sturen. Dan kan je bijvoorbeeld de rijregelknop van je multimaus of... gebruiken om de servo's of in jouw geval de schijf aan te sturen. De lok functies kan je bijvoorbeeld gebruiken om config modes binnen te gaan (F0), de relais kan je togglen (F1) en om een spoor op te slaan (F2). Reset alle posities en home de schijf (F12) Misschien positie finetunen met F3 en F4? F5 huidige spoor updaten? iets in die richting is misschien handig  ??? Ik heb hem zelf nog niet helemaal uitgedacht

Mvg,

Bas

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 26 maart 2023, 15:16:36
Dank voor deze enorme hoeveelheid waardevolle tips, Bas!
Hier ga ik zeker wat mee doen. Met zo'n struct wordt het inderdaad veel makkelijker om settings op te slaan en uit te lezen. Weer wat geleerd!

En programmeren met behulp van lok adres 9999 is zeker een goed idee.
Hiervoor zou ik een snelheids-array maken per snelheidsstap (0-27) om de schijf te laten draaien, bijvoorbeeld: 0, 1,2,3,5,10,15,20,30 ... 1800,2000 stappen per seconde.
Dan kan je eerst de schijf nauwkeurig naar de gewenste positie manoeuvreren, en vervolgens met de functies verder configureren inderdaad.

Eigenlijk zou ik qua gewenste snelheid liever het aantal seconden per omwenteling willen instellen, maar daarvoor moet de brug na het vinden van de home-positie, minimaal één keer rond zijn geweest om het aantal stappen voor een complete omwenteling te kunnen vaststellen. En daarvoor zou je eerst de snelheid waarbij de brug nog betrouwbaar draait (zonder overslaan stappen), moeten configureren.

Een OLED schermpje waarop de programmeer-info wordt weergegeven, is dan misschien ook wel erg handig.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 21 september 2023, 00:28:22
Komende zaterdag zal ik Hans van de Burgt assisteren bij de Onshape Demo tijdens de Digitale Info Dag (https://digitaleinfodagen.nl/) te Ermelo.

Ik zal daar ook mijn in Onshape ontworpen draaischijf in werking tonen, en daarnaast heb ik nog een nieuwere potentiële draaischijfaandrijving die gebruik maakt van een Silent Zero-Backlash Split-Ring Compound Planetary Gear  8) ;D ten behoeve van een 1:55 vertraging. Ook ontworpen in Onshape.

Zoek ons op, spreek ons aan, en stel gerust al je vragen. We helpen je graag op weg met 3D tekenen.
Je kunt ons vinden in de zaal bij de Britse Module Baan (BMB)

(https://images.beneluxspoor.net/bnls_2023/20230921-000238-650b6d102dd33.jpg) (https://images.beneluxspoor.net/bnls_2023/20230921-000238-650b6d102dd33.jpg)

(https://images.beneluxspoor.net/bnls_2023/20230921-000210-650b6d102dd2d.jpg) (https://images.beneluxspoor.net/bnls_2023/20230921-000210-650b6d102dd2d.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 26 september 2023, 22:08:00
Afgelopen zaterdag was er best veel belangstelling bij mijn 3D geprinte knutsels die de gehele dag door hun rondjes draaiden, met diverse leuke reacties om mijn ego te strelen.
Ook een flink aantal mensen die het aandurfden om samen met mij de basisstappen te doorlopen om een lasercut huisje te tekenen in Onshape. De dag is zo voorbij gevlogen. Dank aan iedereen die langs gekomen is!

Ik weet niet of er op deze plek nog nadere toelichting gewenst is op mijn "Silent Zero-Backlash Split-Ring Compound Planetary Gear"?

Mijn aandacht heeft zich afgelopen dagen gericht op een manier om draaischijven aan te sturen.
Uiteraard is één van de voorgenomen mogelijkheden een aansluitspoor te kiezen door het ingeven van een DCC adres. Maar het moet daarnaast ook simpeler kunnen via een besturingspaneel.

Het idee is om "Neopixel" ledring te gebruiken (of losse Neopixels) en door middel van draaien aan een rotary encoder het beoogde aansluitspoor te kiezen.
De ledring is in diverse maten (aantal leds) te verkrijgen en kan ingebouwd worden in het bedieningspaneel met sporen-layout. De rotary encoder kan daar dan middenin.

Kort indrukken van de draaiknop zou moeten resulteren in een zo kort mogelijke draaiing van de brug. Met lang indrukken van de draaiknop zou de draaibrug de lange route moeten kiezen.

Ik heb even een gifje gemaakt (3x versneld) van het concept. De positie van de draaibrug wordt weergegeven met een groene led. Door te draaien aan de knop, geeft een blauwe led de nieuw te kiezen positie aan. Na kort of lang indrukken van de knop wordt de nieuwe positie rood en gaat de groene led lopen vanaf de oude positie.

(https://abload.de/img/tt_rotary_enc3jia3.gif)

Het scriptje houdt nu nog even geen rekening met het feit dat een draaibrug twee zijden heeft, waar soms wel, soms niet aan beide zijden een aansluitspoor zit. Maar het idee is hopelijk wel alvast een beetje duidelijk?

(https://images.beneluxspoor.net/bnls_2023/tt-rotary-enc-65133246f16e6.jpg) (https://images.beneluxspoor.net/bnls_2023/tt-rotary-enc-65133246f16e6.jpg)

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 26 september 2023, 22:12:20
Zeer creatief idee om neopixels te gebruiken voor feedback van een draaischijf. (y)

Bas
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 10 januari 2024, 18:58:44
Wijziging van plannen...

Initieel was de draaischijf voor een fiddle yard bedoeld, en om die reden alleen functioneel hoefde te zijn.

Nu is het toch de bedoeling dat de draaischijf op een scenery module wordt ingepast. Dat betekent dat de draaibrug iets voorbeeldgetrouwer mag smoelen.

Dus aan het tekenen geslagen. Het resultaat tot nu toe staat hieronder. E.e.a is vrij vertaald vanaf de VSM draaischijf in Beekbergen.

Onder het huisje hoort nog een schuine(?) steunbalk met een extra wiel, denk ik.. Of is dat wiel in plaats van het nabijgelegen wiel?? Weet iemand hoe die constructie ongeveer is?



(https://images.beneluxspoor.net/bnls_2024/draaibrug-659eda7d44200.png) (https://images.beneluxspoor.net/bnls_2024/draaibrug-659eda7d44200.png)

(https://images.beneluxspoor.net/bnls_2024/draaibrug-onder-659eda811b83d.png) (https://images.beneluxspoor.net/bnls_2024/draaibrug-onder-659eda811b83d.png)

(https://images.beneluxspoor.net/bnls_2024/20231021-134638-659eda94af18d.jpg) (https://images.beneluxspoor.net/bnls_2024/20231021-134638-659eda94af18d.jpg)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 11 januari 2024, 00:58:37
Ik vermoed dat onderstaande constructie wel ongeveer voldoende steun aan het huisje zou kunnen geven.
Het gaat natuurlijk eigenlijk alleen om het omcirkelde zichtbare gedeelte, maar de hoeken van de balken moeten liefst wel een beetje kloppen.

(https://images.beneluxspoor.net/bnls_2024/draaibrug-5e-wiel-659f2ec591a80.png) (https://images.beneluxspoor.net/bnls_2024/draaibrug-5e-wiel-659f2ec591a80.png)
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Cor--24 op 11 januari 2024, 07:39:23
Onder het huisje hoeft geen steunwiel. Het plateau is met een schraagbalk (met een driehoeksconstructie dus) bevestigd aan de brug. Dit is meer dan voldoende om het huisje te kunnen dragen.
En zelfs een IPE-200 zonder schraag zou al voldoende zijn.

Wel een leuk project. Ben benieuwd naar de print.
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: bask185 op 11 januari 2024, 09:05:44
Ziet er netjes uit.  (y)

Ga je die hekjes wel kunnen printen of ga je daar wat anders voor versieren?

Bas

Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 11 januari 2024, 23:35:33
Dank Cor.
Vanaf een eigen foto kon ik vaag zien dat de uitbouw van de brug in Beekbergen wel een extra loopwiel heeft.

(https://images.beneluxspoor.net/bnls_2024/IMG-20220430-152257-65a06bab53596.jpg) (https://images.beneluxspoor.net/bnls_2024/IMG-20220430-152257-65a06bab53596.jpg)

Dit werd ook nog eens bevestigd door een mede forumlid die mij via PB foto's toestuurde. Daaruit blijkt dat de constructie toch ietsje anders is dan ik had gedacht. Onder de uiteinden van de brug zitten aan iedere zijde 2 wielen, waar ik er 1 hebt getekend. Dus maarliefst 8 wielen in totaal. Dat zie je in model niet dus dat laat ik wel ongeveer zo.
Het extra loopwiel is veel kleiner, daar kan ik nog wel het e.e.a. aan wijzigen.

@Bask: De spijlen van het hek kan ik wel plat printen.
Het brugdek en de blauwe liggers heb ik nu getekend als zijnde geschikt om te lasersnijden. Door die delen te mergen kan ik er ook nog voor kiezen om toch te printen. Dat moet in mijn hoofd eerst nog wat verder rijpen  ;)

Ik zit er bijvoorbeeld ook nog mee, hoe ik de rails vast ga krijgen?
Dan schiet mij in gedachten hoe Richard (Nighttrain) dat gedaan heeft met zijn welbekende brug...
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Hans van de Burgt op 12 januari 2024, 10:55:30
@Joz,

Richard zit of staat zaterdag en zondag minder dan vijf meter van ons vandaan. Bij de BNLS ModuleBaan. Makkelijk toch. 😀

Gr, Hans
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: orientexpress op 15 januari 2024, 21:52:51
Joz,

Was leuk je draaischijf in het echt te zien in Rijswijk! Ik hou het in de gaten.

MVG,

Adriaan
Titel: Re: Draaischijf uit de 3D-printer en met Arduino besturing
Bericht door: Joz op 04 maart 2024, 19:01:48
Het was leuk je gesproken te hebben, Adriaan!

Aangezien het nu toch de bedoeling dat de draaischijf op een scenery module moet komen, heb ik intussen nagedacht wat daarvoor het baanplan gaat worden. E.e.a. moet passen op een zgn. H0bbyTRAK module, wat wil zeggen afmetingen 120 x 60cm en sporen op 10 resp. 15cm vanaf de voorzijde.
Er komt een 3-sporige locloods bij. Voor verdere aankleding heb ik nog geen idee...

(https://images.beneluxspoor.net/bnls_2024/module-draaischijf-ontwerp-65e60bada0bdb.png) (https://images.beneluxspoor.net/bnls_2024/module-draaischijf-ontwerp-65e60bada0bdb.png)