Zoals ik het me tot nu toe voorgesteld had, zat de motor op de 12 uur positie.

Maar je hebt iets kleinere tandwielen getekend in het midden. Dan kan je dus beter een kleiner tandwiel aansturen: Dan heb je minder koppel op je as nodig. Neem bijvoorbeeld het half-1 tandwiel.

Een geheel aantal schakels per uur is m.i. niet nodig. Als de totale ketting 441 schakels zou bevatten, en het aangedreven tandwiel 10 schakels per omwenteling doet, dan moet de boel in 12 uur dus 44.1 keer rond. Met 2048 stapjes per omwenteling moeten er dus 90316.8 stapjes per 12 uur gedaan worden, dus 125.44 stapjes per minuut.

Dan kan je zeggen: "Hoe de F*** doe je .44 stapjes op een bepaalde minuut???? ". Nou, dat is makkelijk: Dat doe je niet. Maar wat je wel doet is in 44% van de minuten 126 stapjes doen.

Na 1 minuut DOE je 125 stapjes en weet je: Ik heb nog .44 tegoed. Na 2 minuten heb je 250 stapjes gedaan en weet je: .88 stapjes tegoed. In de derde minuut is je tegoed 1.32 stapjes, dus doe je 126 stapjes en hou je .32 tegoed.

Je positie wijkt dan maximaal ongeveer een halve seconde af van de werkelijk theoretische positie. Mwah. Moet kunnen. Op de minuut aflezen kan al niet echt...

Let op: De 28BYJ-xx motoren hebben een "ongeveer 2048" stapjes per omwenteling. Dat is in werkelijkheid iets van 2047.87 stapjes per omwenteling. En dat verschilt per exemplaar. (morgen weer naar aliexpress om er nog 1 te kopen? Ander aantal stapjes per omwenteling is mogelijk! Nog steeds 2048+/- 0.5 maar anders).

[Bericht gewijzigd door rew op (12%)]

Op dinsdag 1 april 2025 09:55:08 schreef Lambiek:
[...]
Nog even een tip, (maar misschien heb je daar zelf ook aan gedacht) zorg ervoor dat je een even aantal schakels hebt tussen bijvoorbeeld 12 en half 1. Dat moet dan overeen komen met een X aantal stappen en die X aantal stappen moet op ieder half uur het zelfde zijn. Anders gaat je klok nooit gelijk lopen.

Als ik rew goed begrijp is de 'even aantal schakels´ niet echt nodig. Loopt de klok te snel en je komt daar tijdig achter, dan laat je hem gewoon een tijdje langzamer lopen. De foutaanwijzing is volgens rew maximaal een halve seconde. Geen hond die dat ziet. Zelfs als de foutaanwijzing één of twee seconde is.

Het aantal schakels maakt geen bal uit.
Dat kun je prima in software oplossen, ook als het oneven is.

'Op tijd' is toch een vrij rekbaar begrip. OK, het wordt iets meer zichtbaar als je elke minuut schuift ipv. elke seconde. Maar dan nog... Je kunt in principe nooit meer dan een halve minuut verkeerd zitten.

@rew, ohm pi, en EricP,

Natuurlijk maakt het aantal schakels niet uit. Maar als je een X aantal stappen maakt en je krijgt bijvoorbeeld 650.3333 stappen, dan maak je het jezelf niet makkelijker. Je moet zorgen dat je niets achter de komma krijgt als je bijvoorbeeld een iedere seconde of minuut verdraaid. En natuurlijk kun je dat wel wegwerken in de software, maar het wordt er niet simpeler op. Maar goed het is niet mijn feestje. :)

Als je dus iedere keer het zelfde aantal schakels verdraaid voor bijvoorbeeld één minuut en dan uitkomt op een gelijk aantal stappen, wordt het veel simpeler.

Bij mijn klok werk ik met 3200 stappen per minuut. En daar kom ik zo aan.

Volgens de berekening kwam ik uit op tien tandwielen. De tandwielverhouding is wel iets anders dan van een gewone klok. Alleen de verhouding tussen de minutenwijzer en urenwijzer is hetzelfde, die moet 1 op 12 zijn. Omdat we een stappenmotor gaan gebruiken voor het verstellen van de wijzers maakt de eerste vertraging niet zoveel uit, als je maar op hele getallen uitkomt qua tanden is het goed. Als je naar de eerste vertraging kijkt, zie je een tandwiel met 12 tanden op de stappenmotor en 60 tanden op de tussenas. Dat geeft bij elkaar een vertraging van 60 : 12 = 5. De volgende vertraging is een tandwiel met 12 tanden op de tussenas en 36 tanden op de minuten as, dat geeft een vertraging van 36 : 12 = 3. De totale vertraging tussen de stappenmotor en de minuten as is dus 3 X 5 = 1 op 15.

We gaan de klok één keer per minuut verstellen, dat moet in één uur dus 60 maal gebeuren. Voor de stappenmotor gebruik ik een motor met 0.9 graden per stap, dat zijn dus 400 stappen per omwenteling. De stappenmotor ga ik bedienen met micro stappen, de stappenmotordriver staat op 1/32 stap. Dan krijgen we dus 32 X 400 = 12800 stappen per omwenteling van de stappenmotor. Nu hadden we een vertraging van 1 op 15, als we nu 15 vermenigvuldigen met 12800 dan krijgen we 15 X 12800 = 192000 stappen voor één omwenteling van de minutenwijzer. Als we die 192000 delen door 60 krijgen we 192000 : 60 = 3200 stappen voor één minuut. De stappenmotor draait dus iedere minuut een kwart rondje.

Nu hebben we de minuten werkend en gaan we naar de uren kijken. Eigenlijk weten we dat al, dat moet één twaalfde deel zijn. Als de minutenwijzer één maal rond is moet de uren wijzer één twaalfde deel verdraaien. Dat kan met één tandwielcombinatie, maar dan wordt het wel erg groot. Ik heb dat met twee tandwielcombinaties gedaan. Eenmaal met een tandwiel vertraging van 1 op 4 en eenmaal met een tandwiel combinatie van 1 op 3, samen wordt het dan 4 X 3 = 12.

Op woensdag 2 april 2025 09:22:48 schreef Lambiek:
@rew, ohm pi, en EricP,
/b]

[bijlage]

Bedankt voor het meedenken echter raak ik nu zelf even in de war.

37x12 Het waren 444 schakels totaal

ik dacht ik maak er van
38x12 = 456 schakels totaal

zowel
444 / 720 min = 6.16666667
als
456 / 720 min = 0.633333333

Beide zijn geen hele getallen is dat dan ook nog een probleem?
of waar moet ik op uit komen dan?

Ik dacht dat alleen het aantal schakels een heel getal moest zijn.

[Bericht gewijzigd door OHX op (16%)]

Bij jou gaat het om de lengte van de ketting. De afstand van zeg 12.00 tot 13.30 moet een bepaalde lengte hebben die overeen komt met een X aantal hele stappen, dus niets achter de komma. En dat is even puzzelen. :)

En als dat niet uitkomt moet je een tandwielvertraging toepassen.

444 / 720 min = 6.16666667

Ik kom hier op uit. 0.6166666666666667

Op woensdag 2 april 2025 09:22:48 schreef Lambiek:
Maar goed het is niet mijn feestje. :)

Als je dus iedere keer het zelfde aantal schakels verdraaid voor bijvoorbeeld één minuut en dan uitkomt op een gelijk aantal stappen, wordt het veel simpeler.

De standaard 1.8 graden-per-stap motoren doen precies 200,000000 stappen per omwenteling. Met 10 schakels per omwenteling krijg je dan precies 20.0000 stappen per schakel. Heb je dan 30 schakels per uur, moet je iedere minuut precies 10.00000 stappen doen.

Neem je zo'n 28BYJ motor, dan zijn er 2048 stappen in een omwenteling. precies 204.8 stappen per schakel en 102.2 stappen per minuut. eens in de 5 minuten moet je 105 ipv 104 stappen doen.

MAAARRRRR...

Een 28BYJ-48 motor heeft niet 2048 stappen per omwenteling maar slechts 2037.8864 . Dat is 203.78864 per schakel. Dus moet je 101.89432 stappen per minuut doen. En dit met het "mooist mogelijke" aantal schakels per uur.

Het is leuk om te proberen het simpel te houden, maar het wordt TOCH ingewikkeld. En zo ingewikkeld is het niet. Als je afstapt van jaren-tachtig acht-bitters, hou je gewoon een "fractional steps" bij in een 32 bit variabele. Omdat ik nooit zin heb om met de overflows van 32 bits te gaan prutsen, doe ik hier dan 24 bits in.

En dan krijg je:


  #define FRAC_MAX (1<<24)
  target_pos      += steps_to_do;
  target_pos_frac += steps_to_do_frac;
  if (target_pos_frac > FRAC_MAX) {
     target_pos ++;
     target_pos_frac -= FRAC_MAX;
   }
  if (target_pos_frac < 0) {
     target_pos --;
     target_pos_frac += FRAC_MAX;
   }
   steps_to_do = target_pos - current_pos; 

Zo moeilijk is dat niet.

Nu heb je een steps-per-minuut die je tot 0.0625 PPM kan instellen(*). Als je dan bijvoorbeeld: "Mijn kristal is 13.2ppm te snel bij kamertemperatuur" (Dat is binnen spec van +/- 20PPM) tegenkomt, dan kan je daar ook voor corrigeren.

(*) PPM van een stap. Eigenlijk is met ongeveer 100 stapjes de instel nauwkeurigheid dus iets van 1 op 1.6 miljard.

Bij jou gaat het om de lengte van de ketting. De afstand van zeg 12.00 tot 13.30 moet een bepaalde lengte hebben die overeen komt met een X aantal hele stappen, dus niets achter de komma. En dat is even puzzelen. :)

Dat is toch totaal irrelevant? Tenzij 'stappen' zo groot zijn dat je ze echt ziet (1 stap per 5 minuten ofzo). Dan heb je een punt. Maar dan nog: wat is de gewenste nauwkeurigheid? (die vraag heb ik reeds eerder gesteld). Op de seconde nauwkeurig is vast niet de bedoeling.

Ook met min of meer integers is het appeltje-eitje.
Als we even aannemen dat je een heel aantal stappen per uur hebt (maar het feestje gaat ook op per 12 uur, alleen worden de getallen wat groter). Dan weet je hoeveel stappen je per minuut moet doen (mag ook per seconde, ook dan worden de getallen wat groter).
Ergens is je 'nulpunt'. Je weet hoeveel minuten je daar voorbij bent. Doe dat maal het aantal stappen wat je zou moeten doen per minuut. Zit je met je huidige aantal stappen daar onder, dan doe je een stap. Zo niet, dan wacht je braaf af.
Als het niet een al te beroerd deeltal is (bijvoorbeeld een priemgetal :) ), dan werkt dat prima. En ergens kom je ook weer op mooie hele getallen uit (na een uur, een rondje), en dan kun je terug naar 0.

Bovenstaande natuurlijk uitgaande van iets wat stapt. Of het nou een stepper of een motortje met een eindcontact is.

En ja, het is simpeler als je een mooi deeltal hebt. Als dat mechanische de boel niet hopeloos complex maakt omdat de overbrengingsverhouding die je nodig zou hebben niet te krijgen is bijvoorbeeld.

Op woensdag 2 april 2025 11:23:56 schreef EricP:
[...]Dat is toch totaal irrelevant? Tenzij 'stappen' zo groot zijn dat je ze echt ziet (1 stap per 5 minuten ofzo). Dan heb je een punt. Maar dan nog: wat is de gewenste nauwkeurigheid? (die vraag heb ik reeds eerder gesteld). Op de seconde nauwkeurig is vast niet de bedoeling.

Excuses ik had door de hoeveelheid vragen over uw vraag heen gelezen.
Op de seconden nauwkeurig dat is niet nodig en denk zelf dat op de minuut al heel lastig wordt.

[Bericht gewijzigd door OHX op (11%)]

Als het niet uitkomt, dan kan je ook de stationsklokbenadering toepassen.
Een stationsklok loopt iets te snel. Als de secondewijzer op de 12 staat, dan wacht de secondewijzer enige tijd totdat er een echte minuut voorbij is. Dan begint de secondewijzer weer iets te snel te lopen en wacht weer op de 12 totdat de volgende echte minuut voorbij is.
Je laat de kettingklok een 'kettingklokuur' te snel lopen. Hoeveel te snel mag je zelf bepalen. Dan zet je de kettingklok stil totdat een echt uur verstreken is. Als je het veel te snel doet, dus een 'kettingklokuur' duurt 5 minuten en de overige 55 minuten staat de klok stil, dan valt het op. Als je het langzaam doet, dus een 'kettingklokuur' duurt 59 minuten en de laatste minuut staat de klok stil, dan ziet bijna niemand dat.
Je hoeft uiteraard niet een uur te wachten, Je kan ook elke minuut of elke 5 minuten of elke andere mooie tijdseenheid dan ook synchroniseren.

Als je een stepper met gearbox neemt steekt 't allemaal niet zo nauw...
Ik heb steppers gehad die 2000 steps per omwenteling deden, dus zeer nauwkeurig te positioneren...

Als je een klok met mooie overbrengingsverhoudingen hebt, zoals de klok van Lambiek, dan hoef je niet moeilijk te doen.
Zit er een ongelukkige overbrengingsverhouding er tussen, dan moet je synchroniseren, zelfs met het systeem van Arco (2000 stappen / omwenteling). Maar hoe meer stappen, hoe langer je kan wachten totdat de klok teveel voor of achter loopt. Met een beetje mazzel hoef je de klok dan alleen gelijk te zetten tijdens de batterijenwisseling of met overgang zomertijd <-> wintertijd.

Iedere dag of week een bepaalde offset van een instelbaar aantal steps negatief of positief) toevoegen werkt prima.
(dat doe ik ook met digitale klokken: ieder uur het aantal clockcycli aanpassen afhankelijk van de temperatuur om zo exact mogelijke tijd te krijgen)

Je kan ook elke minuut of elke 5 minuten of elke andere mooie tijdseenheid dan ook synchroniseren.

Synchroniseren tegenover wat? er moet dus wel ergens een sensor zijn die de exacte ketting positie weet. En je hoeft dan niet continu te weten waar de ketting is wat dat doe je via de stappenmotor, maar op het tijdstip van de synchronisatie moet dan de ketting wel bijna op de sensor staan. Je laat dan ketting heel langzaam iets doorlopen totdat die precies op de sensor staat. Is de ketting net voor de synchronisatie tijd al al precies op de sensor dan wacht je heel even.

Voor de sensor kan je dan op 1 of meerdere schakels dan een klein magneetje aanbrengen die je dan via een hall sensor kan zien. Zo kan je bv op elk half uur of op elk heel uur synchroniseren.

Op zaterdag 29 maart 2025 13:19:16 schreef vergeten:
[...]Volgens mij schrijf je dat als Klok.

Maar het gaat hier over een url
https://ohxdesign.com/chainclcok/    werkt!
https://ohxdesign.com/chainclock/   werkt niet !

Nu werkt het andersom!

@OHX,
Je voorziet de klok toch wel van een kettingspanner op een (of meer) tandwiel(en)?

Op woensdag 2 april 2025 11:31:14 schreef OHX:
..n denk zelf dat op de minuut al heel lastig wordt.

Dat dacht ik in het begin ook. Maar als je een halve schakel per minuut beweegt is het heel goed zichtbaar als ie een minuut verder stapt en ook afleesbaar. Lastig om echt "blind" de minuten af te lezen, maar het verschil tussen 15 over en 16 over kan je goed zien.

Op woensdag 2 april 2025 11:06:44 schreef rew:

MAAARRRRR...

Een 28BYJ-48 motor heeft niet 2048 stappen per omwenteling maar slechts 2037.8864 .

Hoe kan een stappenmotor nou niet een geheel aantal stappen maken voor één hele omwenteling?
Dat er een behoorlijke afwijking kan zitten in de individuele stappen is bekend
maar na 2048 (64stappen 1:64 vertraging) stappen moet hij toch volledig rond zijn.

Maar de vertraging is niet 1:64.

Bij tandwielen is het niet verstandig om een "gemene deler" te hebben in het aantal tanden. Bijvoorbeeld een 10:20 tandwieloverbrenging... het kan wel, maar beter is om wat anders te verzinnen. De reden is dat tamdje 1 van het 10-wiel uitsluitend matched met gaatjes 1 en 11 op het 20-wiel. Als nu tandje 1 een subtiel uitstulpinkje heeft, dan graaft ie daarmee in gaatjes 1 en 11 een extra gat in de aanliggende tanden. Dat effect versterkt zichzelf. Hierdoor zijn je tandwielen sneller "op".

Als je nu een verhouding van 10:19 kiest, dan komt tandje 1 met alle andere gaatjes in aanraking alvorens weer bij gaatje 1 terecht te komen. Doordat nu 19 gaatjes wrijving maken tegen dat hobbeltje op tandje 1, slijt nu het hobbeltje af en wordt na enige slijtage de vorm van de tanden meer richting de ideale vorm. De tandwielen gaan zo veel langer mee.

Dus ze hebben in de 28BYJ-48 niet gekozen voor 10:40, 10:40, 10:40, maar wat andere verhoudingen waar "rare" getallen als 39 en 41 in voorkomen.

Op woensdag 2 april 2025 18:56:12 schreef benleentje:
[...]Synchroniseren tegenover wat? er moet dus wel ergens een sensor zijn die de exacte ketting positie weet.

Dat is correct.
Zoals je al opmerkt kan het met een magneetje op de ketting (met reedcontact, hallsensor of wat dan ook).
Het kan ook met een uitstulping op de ketting en een microswitch, of met een fotocel enz.
Het voordeel van dit systeem is dat de software niet hoeft te rekenen. Je moet alleen de motor een iets hogere snelheid mee geven die benodigd is om de ketting in 12 uur rond te krijgen.

Op donderdag 3 april 2025 08:45:23 schreef rew:
Dus ze hebben in de 28BYJ-48 niet gekozen voor 10:40, 10:40, 10:40, maar wat andere verhoudingen waar "rare" getallen als 39 en 41 in voorkomen.

Niet volgens dit datablad. Daar heeft alleen de 30BYJ-46 een 'rare' deelverhouding.
In de software kan je die verhouding weer 'goed zetten'.

Zoals je al opmerkt kan het met een magneetje op de ketting (met reedcontact, hallsensor of wat dan ook).
Het kan ook met een uitstulping op de ketting en een microswitch, of met een fotocel enz.

Ik denk nu ineens dat het beter is om maar 1 magneet of uitstulping op de ketting te hebben en dan 12x een hall sensor. Als je bv 12 magneten op de ketting doet dan weet je wel elk uur maar je weet nooit het 12uu punt ( beging van de ketting). Met 1 magneet je op precies 12 uur en 12 sensoren dan weet je op elk heel uur precies waar de ketting is. Als die dan bv bij sensor nr3 is dan is de ketting op 3 uur. Wil je de klok na stroomuitval op tijd zetten dan kan dan vrij simpel door de ketting snel te laten lopen en dan laat je die doorlopen totdat die op tijd staat.

Het heeft ook als voordeel dat de ketting onnauwkeuriger mag lopen, bijv 1 minuut te snel per uur in plaats van 1 minuut te snel per 12 uur.

Excuses voor de nogal late reactie.
Ben nogal druk geweest. En zoals meerdere mensen adviseerde moet ik eerst een werkend model hebben.

Ben daarom druk bezig met het verder uitwerken het model.
Hoop binnen 1 maand een echt model te hebben. Zal dan zeker een update geven en advertentie plaatsen voor hulp wat betreft de elektra/motor.

Mvg,

Olivier
OHX Design

Beste forum leden ik heb even 2 vragen 1. ik ben een stuk verder met deze en mijn andere klok.

En ben nu opzoek naar iemand die mij kan helpen met de elektronica en de programmering. Waar kan ik dat het best op dit forum posten?

In ieder geval alvast bedankt voor de tips.

https://ohxdesign.com/chainclock/
https://ohxdesign.com/sa-clock/

[Bericht gewijzigd door OHX op (11%)]

In V&A zetten.
Dat is de plek voor dit soort vragen.

Ben wel heel benieuwd naar het uiteindelijke resultaat!

Misschien ook nog eentje bedenken in de vorm van een klokhuis voor Apple aanhangers... :+