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

Modulebanen algemeen; Is de megabiels uitgerangeerd? door Martin Welberg
Vandaag om 13:35:23
koolborstels door Frederikus
Vandaag om 13:33:35
Ketelwagens, welke hebben jullie? door Arjan6511
Vandaag om 13:24:37
Roco SBB dubbeldek rijtuigen ontsporen door Luc2000
Vandaag om 13:20:13
Modelbouwshow Goes door Reinier Z.
Vandaag om 13:10:10
Bouw RhB station Langwies in H0m 200x47cm door tothebeach
Vandaag om 13:06:50
Stroomafnames voor rijtuigen met plastic assen. door Montanbahn
Vandaag om 13:04:53
0-0 Hoekselijn 1864--2017 rev.2024 door Hans Reints
Vandaag om 12:57:26
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 12:57:10
De Hondsrugbaan door Wim Vink
Vandaag om 12:57:06
Kurk, welke dikte gebruiken als demping? door HuubvG
Vandaag om 12:56:01
Oplichting.. ? door Besselspoor
Vandaag om 12:47:28
Bf Kibronn door Benelux795
Vandaag om 12:32:55
Foto's van de laatste layout van wijlen Iain Rice door basjuh1981
Vandaag om 12:32:48
Pfarrerwinkel bahn door basjuh1981
Vandaag om 12:27:42
Toon hier je (model)TRAM foto's. door R1954
Vandaag om 12:26:46
Modelbaan Beltheim. door basjuh1981
Vandaag om 12:26:20
La vie...Sud-Est; zolderbaan met thema zuidoost Frankrijk door Paulus
Vandaag om 12:19:33
Inbouwen Loksound 5 in ROCO 2200 door Theovh
Vandaag om 12:19:16
Modelspoor baan van Einte door MichielB
Vandaag om 12:03:46
Aachenau West door MichielB
Vandaag om 12:03:07
NS2413 in Nederland? door Arjan
Vandaag om 11:52:26
Ook de Wesp een miskoop? door dennie
Vandaag om 11:51:17
meerdere aansluitrails. door Klaas Zondervan
Vandaag om 11:43:18
Tips voor een natuurgetrouwe modelbaan door Duikeend
Vandaag om 11:16:03
Toon hier je nieuwe (model-) spooraanwinst(en)... door spoorijzer
Vandaag om 10:56:30
Werkspoor Kathedraal als minibaantje. door tothebeach
Vandaag om 10:16:15
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 10:12:40
On traXS 15 t/m 17 maart Spoorwegmuseum Utrecht door Ronald Halma
Vandaag om 10:08:47
De overeenkomst tussen een Ovaalramer en een Motorpost. door edwin1974
Vandaag om 09:57:41
  

Auteur Topic: Draaischijf uit de 3D-printer en met Arduino besturing  (gelezen 7139 keer)

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 285
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #60 Gepost 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?


bask185

  • Offline Offline
  • Berichten: 3911
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #61 Gepost 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

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

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 285
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #62 Gepost 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.

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 285
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #63 Gepost 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 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)




« Laatst bewerkt op: 21 september 2023, 00:29:57 door Jozz »

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 285
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #64 Gepost 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.



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?




bask185

  • Offline Offline
  • Berichten: 3911
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #65 Gepost op: 26 september 2023, 22:12:20 »
Zeer creatief idee om neopixels te gebruiken voor feedback van een draaischijf. (y)

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

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 285
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #66 Gepost 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?









Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 285
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #67 Gepost 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.


Cor--24

  • Offline Offline
  • Berichten: 762
  • Vier het leven, het duurt maar even.
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #68 Gepost 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.
Mvg.

Cor

bask185

  • Offline Offline
  • Berichten: 3911
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #69 Gepost 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

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

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 285
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #70 Gepost 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.



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...
« Laatst bewerkt op: 11 januari 2024, 23:57:01 door Joz »

Hans van de Burgt

  • BMB
  • Offline Offline
  • Berichten: 6026
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #71 Gepost 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

orientexpress

  • Offline Offline
  • Berichten: 501
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #72 Gepost 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