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

Piko NS 2015 stroomafname probleem door hmmglaser
Vandaag om 17:41:00
Mijn eerste H0-modeltreinbaan in aanbouw door aad52
Vandaag om 17:40:42
HSM D1715 door vpeters1984
Vandaag om 17:34:25
Beekdaelen in H0 door Stieven76
Vandaag om 17:17:41
Bauarbeiten im gange door 741230
Vandaag om 17:14:07
Punt- en hartstukken door FritsT
Vandaag om 17:11:38
Al mijn goede ideeën... door Monobrachius
Vandaag om 17:10:33
Gebruik je Arduino zonder te "programmeren" ;) door Rsd1000
Vandaag om 17:07:59
Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Ronald69
Vandaag om 17:04:52
MARDEC, de Multifunctionele ARduino dcc DECoder. door Bert55
Vandaag om 17:02:41
Toon hier je nieuwe (model-) spooraanwinst(en)... door Ronald69
Vandaag om 16:54:22
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 15:58:15
US diorama in H0 door VAM65
Vandaag om 15:22:05
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door spoorijzer
Vandaag om 15:08:30
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 15:06:14
U-vorm beperkte ruimte (H0 C-rails) door Jelmer
Vandaag om 14:58:04
Onlangs gespot - gefotografeerd, de links door Jeroen Water
Vandaag om 14:33:00
N spur scenery elementen maken van gips of klei? door Dave.......
Vandaag om 14:30:06
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 14:28:54
Onlangs gespot - gefotografeerd, de foto's door mass am see
Vandaag om 14:18:46
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 14:07:52
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Railman
Vandaag om 13:40:42
GSS Jubileumbaantje (0e / 0n30) door MacArthur
Vandaag om 12:55:30
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
Variaties op Station Zetten Andelst in HO door Duikeend
Vandaag om 10:54:40
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 10:42:29
Internationale Spoor 0 en 1 dagen in Gießen, 23 en 24 maart, 2024 door bernhard67
Vandaag om 08:42:53
De Hondsrugbaan door mass am see
Vandaag om 08:15:11
Pfarrerwinkel bahn door Jelmer
Vandaag om 08:00:19
  

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

Joz

  • a.k.a. Jos
  • Offline Offline
  • Berichten: 299
  • 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: 4007
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: 299
  • 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: 299
  • 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: 299
  • 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: 4007
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: 299
  • 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: 299
  • 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: 785
  • 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: 4007
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: 299
  • 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: 6061
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: 514
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: 299
  • 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...