Doel:€250.00
Donaties:€130.00

Per saldo:€-120.00

Steun ons nu!

Laatst bijgewerkt
op 24-04-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

19 Toen door Benelux795
Vandaag om 20:31:06
Station Roodeschool door Huup
Vandaag om 20:27:09
Ronald en Wanda's "Southern Comfort" swamp layout! door MaraNCS
Vandaag om 20:18:19
Der QuadratSchädel (Bemo br 624/634) door Casmir
Vandaag om 19:46:10
Bruikbare etsplaten voor NS4000 en NS4700 tenders, en NS slijptrein? door Rob Moerkerken
Vandaag om 19:39:37
Bouwtekeningen Hembrug en/of Strausbrug door Falkenberg
Vandaag om 19:36:20
BR 44 1263 UK Mit Borsig versuchs Wannentender 2'2'T 34. door Modellbahnwagen
Vandaag om 19:19:03
Modelbaan schaal H0 niet geheel sluiten in pc prog door Klaas Zondervan
Vandaag om 19:16:52
Ton bouwt goederenwagens door puntenglijder
Vandaag om 19:13:00
US diorama in H0 door puntenglijder
Vandaag om 19:10:30
Aachenau West door puntenglijder
Vandaag om 19:04:43
2e leven van een buitendienst gestelde Gesloten goederenwagen. door Simplex
Vandaag om 18:52:50
Update: baan in de tropen door Joost O
Vandaag om 17:12:34
heeft iemand ideeën voor een baan van 120CM bij 240CM? door AlbertG
Vandaag om 17:01:18
Mijn eerste H0-modeltreinbaan in aanbouw door basjuh1981
Vandaag om 16:48:09
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door basjuh1981
Vandaag om 16:46:55
Frans/Belgisch H0e baantje door NS264
Vandaag om 16:37:54
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 16:21:21
Seinen van AliExpress: hoe aansluiten? door freekvo
Vandaag om 16:17:38
GSS Jubileumbaantje (0e / 0n30) door spoorijzer
Vandaag om 15:41:27
Märklin Hamo mP 3000 voorzien van nieuwe motor door ronaldvd2000
Vandaag om 15:22:42
De Hondsrugbaan door mass am see
Vandaag om 15:16:03
Toon hier je nieuwe (model-) spooraanwinst(en)... door metpetergaathetbeter
Vandaag om 15:09:25
DR4024 door Michaël dB
Vandaag om 14:46:09
Efteling spoorweg gaat elektrisch door Blausee-Mitholz
Vandaag om 13:03:39
18 t/m 21 april Intermodellbau '24 Dortmund door Arjan6511
Vandaag om 12:36:11
Lantaarns Crafftiq op Roco Sik door Henk Veenstra
Vandaag om 11:20:45
Einde Koemo ballast ??? door Rick
Vandaag om 11:16:57
NS 6000 (in schaal 0) door FritsT
Vandaag om 10:27:41
Treinreizen met m'n vader door defender
Vandaag om 09:36:49
  

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

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 316
  • 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: 4058
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: 316
  • 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: 316
  • 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: 316
  • 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: 4058
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: 316
  • 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: 316
  • 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: 809
  • 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: 4058
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: 316
  • 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: 6097
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: 528
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

Joz

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



Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 316
  • Vaak bu'j te bange
    • Museumdepot Beekbergen in H0
Re: Draaischijf uit de 3D-printer en met Arduino besturing
« Reactie #74 Gepost op: 08 april 2024, 21:22:01 »
De module is gestript van zijn eerdere toepassing en de nieuwe doorgaande sporen zijn aangebracht en getest. Ze zijn zelfs al voorzien van ballast.
Ook zitten de wisselaandrijvingen eronder en is de bedrading al ver gevorderd.
De sporen die aansluiten op de draaischijf moeten wachten tot ik de draaischijf klaar heb.