Inhoudsopgave:

Planetaire tandwielklok - Ajarnpa
Planetaire tandwielklok - Ajarnpa

Video: Planetaire tandwielklok - Ajarnpa

Video: Planetaire tandwielklok - Ajarnpa
Video: big moving gears steam punk grote dikke tandwielen 100cm doorsnede 5 cm dik 2024, November
Anonim
Planetaire versnellingsklok
Planetaire versnellingsklok
Planetaire versnellingsklok
Planetaire versnellingsklok
Planetaire versnellingsklok
Planetaire versnellingsklok

(Oude) mechanische uurwerken zijn ontzettend interessant en leuk om naar te kijken, maar zijn helaas bijna niet zelf te bouwen. Mechanische klokken missen ook de onzorgvuldigheid van de precieze digitale technologie die tegenwoordig beschikbaar is. Deze Instructable toont je een manier om het beste van beide werelden te combineren; door mechanische wijzers door een planetaire versnellingsbak met een stappenmotor en een Arduino te laten rijden!

Benodigdheden

Algemene componenten:

  • 5 mm hout en acrylplaat
  • M5 bouten (verzonken), ringen en moeren
  • PCB afstandhouders
  • M3-schroeven voor de stappenmotor

Elektrische componenten:

  • Stepper-stuurprogramma (ik gebruikte de L293d)
  • Elk type Arduino
  • Realtimeklok (ik gebruikte de DS3231)
  • Hall-effectsensor (ik gebruikte de A3144)
  • 5 mm Neodium-magneet
  • Knoppen voor gebruikersinvoer
  • 10K weerstand
  • 100uf 25V condensator
  • DC Jack
  • 5V 2A DC-voeding
  • Batterij voor de RTC (cr2032 in mijn geval)

Mechanische componenten:

  • Elk type 1.8 graden/stap stappenmotor met 5 mm as
  • GT2 400 mm distributieriem
  • GT2 60 tands 5mm aspoelie
  • GT2 20 tands 5mm aspoelie
  • 5x16x5 mm lager (3x)
  • 5x16x5 mm flenslager (2x)
  • M5x50 draadstang

Stap 1: De tandwielen ontwerpen en maken

Image
Image
De tandwielen ontwerpen en maken
De tandwielen ontwerpen en maken
De tandwielen ontwerpen en maken
De tandwielen ontwerpen en maken

Een van de doelen van dit project was om één motor te hebben die de volledige klok aandrijft, vergelijkbaar met een echte mechanische klok waarbij één ontsnappingsmechanisme de volledige klok aandrijft. De minutenwijzer moet echter 12 omwentelingen maken in de tijd dat de urenwijzer 1 omwenteling maakt. Dit betekent dat er een 1:12 reductiekast nodig is om beide handen met één motor aan te drijven. Ik besloot dit te doen met een planetaire tandwielkast, de bijgevoegde video legt prachtig uit hoe dit type tandwielkast werkt.

De volgende stap voor mij was om het aantal tanden voor de verschillende tandwielen te bepalen om een verhouding van 1:12 te creëren. Deze website was erg behulpzaam en bevat alle benodigde formules. Ik bevestigde het zonnewiel aan de minutenwijzer en de planeetdrager aan de urenwijzer, terwijl ik het ringwiel stationair liet. Laten we een beetje rekenen!

  • S = aantal tanden op het zonnewiel
  • R = aantal tanden op het ringwiel
  • P = aantal tanden op het planeetwiel

De overbrengingsverhouding (i) wordt bepaald door:

ik = S/R+S

Merk op dat het aantal tanden op het planeetwiel in dit geval niet van belang is voor de overbrengingsverhouding, maar we moeten wel de algemene beperking respecteren:

P = (R - S)/2

Na wat puzzelen kwam ik uit op de volgende getallen: S = 10; R = 110; P = 50; Ze lijken op het randje van wat mogelijk is, omdat er heel weinig speling is tussen de planeetwielen, maar het werkt!

Je kunt de tandwielen tekenen in je favoriete CAD-programma, de meeste hebben speciale tandwielplug-ins. U kunt ook gewoon de bestanden gebruiken die aan deze Instructable zijn gekoppeld. natuurlijk. Merk op dat alle tandwielen, hoewel ze in grootte verschillen, dezelfde tandsteek hebben.

Ik dacht dat het geweldig zou zijn om deze tandwielen van 5 mm aluminium te maken en nam contact op met een plaatselijke winkel met een waterjet of ze deze tandwielen voor mij konden snijden. Normaal gesproken zou je nooit tandwielen maken met watersnijders, maar dit zijn tandwielen met zeer lage prestaties. Verrassend genoeg kwamen ze overeen om het te proberen, maar dit plan mislukte vreselijk. De onderdelen waren simpelweg te klein voor de waterstraal en begonnen te bewegen tijdens het snijden.

Deze tegenslag betekende dat het tijd was voor plan B, dus ik kocht wat 5 mm rookzwart acryl en vond een plek met een lasersnijder, die geen probleem had om mijn versnellingen te snijden. Als je geen lasersnijder beschikbaar hebt, kun je waarschijnlijk ook een 3D-printer gebruiken voor deze tandwielen, ik heb de STL-bestanden bijgevoegd (het tandwiel moet mogelijk in 3 delen worden gesplitst).

Na het snijden heb ik lagers in de planeetwielen geperst. Om de pasvorm goed te krijgen heb ik een proefstukje acryl gemaakt met meerdere gaatjes die elk een iets grotere diameter hadden (stappen van 0,05 mm). Nadat ik de instelling met de juiste pasvorm had gevonden, veranderde ik de gatgrootte in de planeetwielen naar deze instelling. Dit verschilt per materiaal en type machine, dit dient u dus altijd zelf te doen.

Stap 2: Montage van het tandwielsysteem

Montage van het versnellingssysteem
Montage van het versnellingssysteem
Montage van het versnellingssysteem
Montage van het versnellingssysteem
Montage van het versnellingssysteem
Montage van het versnellingssysteem
Montage van het versnellingssysteem
Montage van het versnellingssysteem

Om de tandwielen te monteren, is het frame van de klok nodig. Dit is nu het gedeelte waar je je creativiteit de vrije loop kunt laten gaan aangezien de vorm van het frame relatief onbelangrijk is zolang alle boutgaten maar op de juiste plek zitten. Ik heb ervoor gekozen om veel gaten in de wijzerplaat en achterplaat te maken om het tandwielmechanisme te benadrukken. Dit is ook de reden waarom de planeetdragers en minutenwijzer een beetje doorzichtig zijn, maar het ziet er ook gewoon cool uit!

Ik heb opnieuw de lasercutter gebruikt om deze onderdelen te maken, en aangezien de acrylonderdelen 5 mm dik waren, heb ik ook de houten onderdelen 5 mm dik gemaakt. Alle gaten in de wijzerplaat en planeetdrager waren verzonken om bijpassende bouten te kunnen plaatsen.

De centrale as van de klok loopt in twee lagers in de planeetdragers. Sinds ik deze as van 5 mm staafmateriaal heb gemaakt, zit deze erg strak in de lagers en kon ik deze componenten niet meer demonteren. Het zou een stuk gemakkelijker zijn om gewoon een stuk M5-draad te gebruiken, omdat je ook je eigen draad niet meer hoeft te knippen (als ik me dat maar van tevoren realiseerde…). Om te voorkomen dat het zonnewiel rond de as draait, heeft het een D-vormig gat, dus de as moet ook in deze D-vorm worden gevijld. Als het zonnewiel om de as past kun je de as monteren, vergeet de planeetdragers niet als je flenslagers gebruikt! Bekijk de exploded view voor montage-instructies.

Wanneer de centrale as is gemonteerd, is het tijd voor de planeetwielen. Deze hebben ook de kleine ringen nodig, net als de centrale as, om de tandwielen soepel te laten lopen. Nadat alles op de planeetdragers is gemonteerd, controleert u of de planeetwielen en het zonnewiel soepel lopen.

Het centrale deel kan nu in het klokframe worden gemonteerd. Dit is een vervelende klus, maar de bouten door de voorplaat steken en ze op hun plaats vastplakken helpt veel. Het kan ook handig zijn om de voorplaat omhoog te brengen om ruimte te maken voor de minutenwijzer. De foto's laten zien dat ik zes kleine stukjes papier tussen de tandwielring en de achterplaat heb geplaatst om een beetje ruimte te geven voor de tandwielen. Zorg er bij het plaatsen van de planeetdrager voor dat de wijzerplaten naar een verstandige locatie wijzen (als de jour-minutenwijzer op 12 wijst, mag de uurwijzer bijvoorbeeld niet tussen twee uur staan)

Stap 3: De stepper en sensor aansluiten

De stappenmotor en sensor aansluiten
De stappenmotor en sensor aansluiten
De stappenmotor en sensor aansluiten
De stappenmotor en sensor aansluiten
De stappenmotor en sensor aansluiten
De stappenmotor en sensor aansluiten
De stappenmotor en sensor aansluiten
De stappenmotor en sensor aansluiten

Nu we een tandwielmechanisme hebben dat de wijzers correct aandrijft, moeten we het tandwielmechanisme nog steeds correct aandrijven. Er kunnen verschillende soorten elektromotoren worden gebruikt, ik heb gekozen voor een stappenmotor omdat deze nauwkeurige bewegingen kan maken zonder constante hoekfeedbacksensoren. Een stappenmotor kan ook een echt "klik"-geluid maken, wat geweldig is voor de semi-mechanische klok!

Een gewone stappenmotor kan 200 stappen per omwenteling maken, wat zich vertaalt naar 200 stappen per uur als we hem aansluiten op de minutenwijzer. Dat zou een interval van 18 seconden per stap betekenen, wat nog niet klinkt als een tikkende klok. Daarom heb ik een 1:3 overbrenging gebruikt tussen de stappenmotor en de minutenwijzers, zodat de stappenmotor 600 stappen per uur moet maken. Met de halve stapmodus kan dit worden verhoogd tot 1200 stappen per uur, wat gelijk staat aan één stap per 3 seconden. Klinkt beter!

Een probleem met stappenmotoren is dat je nooit weet waar ze zijn wanneer je je Arduino opstart. Daarom hebben alle 3D-printers eindstops, zodat u uw printer naar een bekende positie kunt verplaatsen en vanaf dat punt verder kunt gaan. Dit is ook nodig voor de klok, alleen een eindstop zal niet werken aangezien een klok continu moet draaien. Om deze positiewaarneming te realiseren heb ik een A3144 Hall-effectsensor gebruikt die een magneet detecteert (controleer de polariteit! ….) die aan de planeetdrager is bevestigd. Dit wordt gebruikt om de wijzers bij het opstarten naar een specifieke positie te verplaatsen, waarna ze naar de benodigde tijd kunnen gaan.

Montage is heel eenvoudig; Bevestig de stappenmotor op de achterplaat en laat de schroeven iets los. Vervolgens kunt u de kleine poelie op de as van de stappenmotor monteren en controleren of de distributieriem recht loopt. Nu kunt u de stappenmotor verschuiven om de spanning op de distributieriem aan te passen. De distributieriem heeft een klein beetje speling nodig om ervoor te zorgen dat u de versnellingen niet belast. Speel met deze instelling totdat je tevreden bent en draai vervolgens de schroeven van de stappenmotor helemaal vast.

De hall-effectsensor is op zijn plaats gelijmd. Het is het beste om eerst drie draden aan de sensor te solderen, waarbij u ervoor zorgt dat u een krimpkous rond elke poot van de sensor plaatst, zodat ze elkaar niet kunnen kortsluiten. Na het solderen kan de sensor vastgelijmd worden. Het maakt niet echt uit welke kant naar boven is, zolang je de magneet nog niet hebt bevestigd. Nadat je de sensor op zijn plaats hebt gelijmd, sluit je hem aan op een Arduino of een klein LED-circuit om te testen of hij werkt. (LET OP: de hall-effectsensor werkt alleen als de magnetische veldlijnen in de juiste richting gaan). Controleer met behulp van dit testcircuit hoe de magneet moet worden gelijmd. Zodra u absoluut zeker weet welke kant van uw magneet naar de sensor moet wijzen, lijmt u de magneet op zijn plaats.

Stap 4: De elektronica die de klok laat tikken

De elektronica die de klok laat tikken
De elektronica die de klok laat tikken
De elektronica die de klok laat tikken
De elektronica die de klok laat tikken
De elektronica die de klok laat tikken
De elektronica die de klok laat tikken
De elektronica die de klok laat tikken
De elektronica die de klok laat tikken

Je zou een heel eenvoudige Arduino-code kunnen gebruiken die een halve stap maakt met de motor en dan een vertraging van 3000 milliseconden nodig heeft tot de volgende stap. Dit zou werken, maar het is niet erg nauwkeurig omdat de interne Arduino-klok niet ultranauwkeurig is. Ten tweede zou de Arduino de tijd vergeten elke keer dat hij stroom verliest.

Om de tijd bij te houden kun je daarom het beste een realtime klok gebruiken. Dit zijn speciaal ontworpen chips met een back-up batterij die nauwkeurig de tijd bijhouden. Voor dit project heb ik gekozen voor de DS3231 RTC die kan communiceren met een Arduino via i2c, waardoor bedrading eenvoudig wordt. Als je eenmaal de tijd correct op zijn chip hebt ingesteld, zal hij nooit vergeten hoe laat het is (zolang de cr2032-batterij nog wat sap over heeft). Kijk op deze website voor alle details over deze module.

Het aansturen van de stappenmotor gebeurt met een L293d motordriver. Sommige meer geavanceerde stappenmotordrivers gebruiken een PWM-signaal voor micro-stepping en stroombeperking. Dit PWM-signaal kan het vervelende piepgeluid maken waarmee elke maker bekend is (vooral als je een 3D-printer bezit). Aangezien deze klok een onderdeel van je interieur moet worden, zijn vervelende geluiden niet gewenst. Daarom heb ik besloten om de low-tech l293d motor driver te gebruiken om ervoor te zorgen dat mijn klok stil is (naast het stappen om de 3 sec, maar dat is eigenlijk wel leuk!). Kijk op deze website voor een uitgebreide beschrijving van de l293d chip. Merk op dat ik mijn stappenmotor op 5V laat draaien, wat het stroomverbruik en de temperatuur van de stappenmotor verlaagt.

Zoals eerder vermeld, gebruik ik een Hall-effectsensor om een magneet te detecteren die op de planeetdrager is geplakt. Het werkingsprincipe van de sensor is heel eenvoudig, het verandert van toestand wanneer een magneet dichtbij genoeg is. Zo kan je Arduino een digitaal hoog of laag detecteren en dus detecteren of er een magneet dichtbij is. Bekijk deze website die laat zien hoe de sensor moet worden aangesloten en de eenvoudige code die wordt gebruikt voor magneetdetectie.

Last but not least heb ik 4 knoppen toegevoegd voor gebruikersinvoer op de PCB. Ze gebruiken de interne pull-up-weerstanden van Arduino om de bedrading te vereenvoudigen. Mijn PCB heeft ook headers in een Uno-configuratie, dus ik zou Arduino-schilden kunnen toevoegen voor mogelijke uitbreidingen (ik heb dit tot nu toe niet gedaan).

Ik heb eerst alles op mijn breadboard getest en daarna heb ik een aangepaste PCB ontworpen en besteld voor dit project, omdat het er geweldig uitziet! Je kunt de print ook op de achterkant van je klok monteren als je er niet naar wilt kijken.

De Gerber-bestanden voor de PCB kunnen worden gedownload van mijn schijf, Instructables laat me ze om de een of andere reden niet uploaden. Gebruik deze link naar mijn google drive.

Stap 5: De Arduino programmeren

De Arduino programmeren
De Arduino programmeren

De basiscode voor de Arduino is eigenlijk heel eenvoudig. Ik heb een schema bijgevoegd dat visualiseert wat er in de Arduino gebeurt en hoe de Arduino communiceert met de andere apparaten. Ik heb verschillende bibliotheken gebruikt om de codering te vereenvoudigen.

  • Accelstepper -> handelt de stappenvolgorde van de stappenmotor af, laat je intuïtieve commando's geven zoals: Stepper.runSpeed(), of Stepper.move() waarmee je respectievelijk met een bepaalde snelheid of naar een bepaalde positie kunt bewegen.
  • Draad -> dit is nodig voor i2c-communicatie, zelfs bij gebruik van de RTClib
  • RTClib -> regelt de communicatie tussen Arduino en RTC, laat je intuïtieve commando's geven zoals rtc.now() die de huidige tijd retourneert.
  • OneButton -> Verwerkt de knopinvoer, detecteert indrukken en voert vervolgens een vooraf gespecificeerde leegte uit om iets te doen. Kan enkele, dubbele of lange drukken detecteren.

Bij het schrijven van code voor een klok is het erg belangrijk om variabelen te vermijden die steeds groter worden. Aangezien de Arduino-code 24/7 draait, zullen deze variabelen snel groter en groter worden en uiteindelijk een overflow veroorzaken. De stappenmotor krijgt bijvoorbeeld nooit het commando om naar een bepaalde positie te gaan, omdat deze positie in de loop van de tijd alleen maar zou toenemen. In plaats daarvan krijgt de stappenmotor de opdracht om een bepaald aantal stappen in een bepaalde richting te verplaatsen. Op deze manier is er geen positievariabele die in de loop van de tijd toeneemt.

De eerste keer dat u de RTC aansluit, moet u de tijd van de chip instellen, er is een stukje code dat u kunt verwijderen om de RTC-tijd gelijk te stellen aan uw computertijd (de tijd op het moment dat u de code compileert). Houd er rekening mee dat wanneer u dit zonder commentaar laat, de RTC-tijd wordt gereset naar de tijd waarop u uw code elke keer hebt gecompileerd. Dus verwijder dit commentaar, voer het één keer uit en becommentarieer het opnieuw.

Ik heb mijn code aan deze Instructable toegevoegd, ik heb er grondig commentaar op gegeven. U kunt het uploaden zonder enige wijzigingen of het bekijken en zien wat u ervan vindt!

Stap 6: Geniet voor de eerste keer van het geluid van je tikkende klok

Image
Image

Na alle elektronica aangesloten te hebben en de code te uploaden is dit het resultaat!

Het basisontwerp van deze klok is heel eenvoudig en kan in veel verschillende vormen en maten worden gemaakt. Omdat er een Arduino aan boord is kun je ook eenvoudig extra features toevoegen. Een alarm instellen, de klok je koffiezetapparaat op een vast tijdstip laten aanzetten, internetconnectiviteit, coole demomodi die de mechanische beweging benadrukken om je ontwerp aan anderen te laten zien en nog veel meer!

Zoals je misschien in deze Instructable hebt gemerkt, moest ik mijn klok uit elkaar halen om deze Instructable te schrijven. Hoewel jammer voor deze Instructable, kan ik in ieder geval garanderen dat het ontwerp op de lange termijn zeer goed presteert, aangezien deze klok al meer dan 3 jaar zonder problemen in mijn woonkamer tikt!

Laat het me weten in de reacties als je deze Instructable leuk vond, het is de eerste keer dat ik er een schrijf. Ook als je tips of vragen hebt, stuur me gerust een berichtje. En ik hoop dat ik ooit iemand heb geïnspireerd om ook een semi-mechanische klok te bouwen!

Klokken wedstrijd
Klokken wedstrijd

Eerste prijs in de klokkenwedstrijd