Innehållsförteckning:
- Tillbehör
- Steg 1: Designa och göra växlar
- Steg 2: Montering av växelsystemet
- Steg 3: Anslutning av steget och sensorn
- Steg 4: Elektroniken som får klockan att ticka
- Steg 5: Programmering av Arduino
- Steg 6: Njut av ljudet av din klocka som tickar för första gången
Video: Planetary Gear Clock: 6 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
(Gamla) mekaniska urverk är otroligt intressanta och tilltalande att titta på, men är tyvärr nästan omöjliga att bygga själv. Mekaniska klockor saknar också slarv med den exakta digitala tekniken som finns tillgänglig idag. Denna instruerbara visar dig ett sätt att kombinera det bästa från två världar; genom att köra mekaniska klockhänder genom en planetväxellåda med en stegmotor och en Arduino!
Tillbehör
Allmänna komponenter:
- 5 mm trä och akrylplåt
- M5 bultar (försänkt), brickor och muttrar
- PCB -avstånd
- M3 -skruvar för stegmotorn
Elektriska komponenter:
- Steppdrivrutin (jag använde L293d)
- Alla typer av Arduino
- Realtidsklocka (jag använde DS3231)
- Hall -effektsensor (jag använde A3144)
- 5 mm neodiummagnet
- Knappar för användarinmatning
- 10K motstånd
- 100uf 25V kondensator
- DC -uttag
- 5V 2A DC strömförsörjning
- Batteri för RTC (cr2032 i mitt fall)
Mekaniska komponenter:
- Varje typ av stegmotor på 1,8 grader/steg med 5 mm axel
- GT2 400 mm kuggrem
- GT2 60 tand 5mm axelhjul
- GT2 20 tand 5mm axelhjul
- 5x16x5 mm lager (3x)
- 5x16x5 mm flänslager (2x)
- M5x50 gängad stång
Steg 1: Designa och göra växlar
Ett av målen med detta projekt var att ha en motor som driver hela klockan, ungefär som en riktig mekanisk klocka där en flyktmekanism driver hela klockan. Minutvisaren behöver dock göra 12 varv under tiden timvisaren gör 1 rotation. Detta innebär att en 1:12 reduktionslåda behövs för att köra båda händerna med en motor. Jag bestämde mig för att göra detta med en planetväxellåda, den medföljande videon förklarar vackert hur denna typ av växellåda fungerar.
Nästa steg för mig var att bestämma tandräkningen för de olika växlarna för att skapa ett förhållande på 1:12. Denna webbplats var mycket hjälpsam och innehåller alla nödvändiga formler. Jag fäst solväxeln på minutvisaren och planetbäraren till timvisaren och lämnade ringväxeln stilla. Låt oss räkna lite!
- S = antal tänder på solhjulet
- R = antal tänder på ringväxeln
- P = antal tänder på planetväxeln
Utväxlingsförhållandet (i) bestäms av:
i = S/R+S
Observera att antalet tänder på planetväxeln inte spelar någon roll för utväxlingsförhållandet i detta fall, men vi behöver respektera den allmänna begränsningen:
P = (R - S)/2
Efter lite förvirring slutade jag använda följande nummer: S = 10; R = 110; P = 50; De verkar vara på kanten av vad som är möjligt eftersom det är väldigt litet mellanrum mellan planetväxlarna, men det fungerar!
Du kan rita växlarna i ditt favorit CAD -program, de flesta av dem har speciella växelplugins. Du kan också bara använda filerna som bifogas denna instruktionsbok. självklart. Observera att alla växlar, även om de skiljer sig i storlek, har samma tandhöjd.
Jag tyckte att det skulle vara fantastiskt att göra dessa kugghjul av 5 mm aluminium och kontaktade en lokal butik med en vattenstråle om de kunde klippa dessa kugghjul åt mig. Normalt skulle du aldrig göra kugghjul med vattenskärare, men det är mycket lågpresterande kugghjul. Överraskande gick de med på att försöka, men den här planen misslyckades fruktansvärt. Delarna var helt enkelt för små för vattenstrålen och började röra sig medan den klippte.
Detta bakslag innebar att det var dags för plan B, så jag köpte lite 5 mm rök svart akryl och hittade en plats med en laserskärare, vilket inte hade några problem att klippa mina växlar. Om du inte har en laserskärare tillgänglig kan du förmodligen också använda en 3D-skrivare för dessa växlar, jag inkluderade STL-filerna (ringväxeln kan behöva delas upp i 3 delar).
Efter skärning trycker jag in monterade lager i planetväxlarna. För att få rätt passform gjorde jag en testbit av akryl med flera hål som var och en hade en något större diameter (0,05 mm steg). Efter att ha hittat inställningen med rätt passform ändrade jag hålstorleken i planetväxlarna till denna inställning. Detta är något som skiljer sig åt med material och typ av maskin så du bör alltid göra detta själv.
Steg 2: Montering av växelsystemet
För att montera växlarna behövs klockans ram. Nu är det här delen där du kan låta din kreativitet bli vild eftersom ramens form är relativt oviktig så länge alla bulthål är på rätt plats. Jag valde att göra många hål i urtavlan och bakplattan för att framhäva växelmekanismen. Detta är också anledningen till att planetbärarna och minutvisaren är genomskinliga, men det ser också coolt ut!
Jag använde återigen laserskäraren för att göra dessa delar, och eftersom akryldelarna var 5 mm tjocka gjorde jag också trädelarna 5 mm tjocka. Alla hål i urtavlan och planetbäraren försänktes för att rymma matchande bultar.
Klockans centrala axel går i två lager inuti planetbärarna. Eftersom jag gjorde denna axel från 5 mm stånglager har den en riktigt tät passform inuti lagren och jag kunde inte demontera dessa komponenter längre. Det skulle vara mycket lättare att bara använda en bit M5 -tråd eftersom du inte heller skulle behöva klippa din egen tråd längre (om jag bara insåg det på förhand …..). För att stoppa solhjulet från att rotera runt axeln har det ett D-format hål, så axeln måste också fästas i denna D-form. När solväxeln passar runt axeln kan du montera axeln, glöm inte planetbärarna om du använder flänslager! Kolla in sprängskivan för monteringsanvisningar.
När centralaxeln är monterad är det dags för planeten. Dessa behöver också de små brickorna, precis som mittaxeln, för att se till att växlarna går smidigt. När allt är monterat på planetbärarna, kontrollera om planetväxlarna och solväxlarna går smidigt.
Den centrala delen kan nu monteras i klockramen. Detta är ett tråkigt jobb, men att hålla bultarna genom frontplattan och tejpa dem på plats hjälper mycket. Det kan också vara användbart att höja frontplattan för att skapa plats för minutvisaren. Bilderna visar att jag placerade sex små bitar papper mellan växelringen och bakplattan för att ge lite utrymme för växlarna. När du sätter in planetbäraren, se till att rattarna pekar på en vettig plats (om din minutvisare pekar på 12, bör timvisaren inte vara mellan två timmar exempel)
Steg 3: Anslutning av steget och sensorn
Nu när vi har en växelmekanism som driver händerna korrekt, behöver vi fortfarande köra växelmekanismen korrekt. Olika typer av elmotorer kunde användas, jag valde en stegmotor eftersom den kan göra exakta rörelser utan konstanta vinklade återkopplingssensorer. En stegmotor kan också göra ett riktigt "Click" -ljud, vilket är bra för den halvmekaniska klockan!
En vanlig stegmotor kan göra 200 steg per varv, vilket innebär 200 steg per timme om vi ansluter den till minutvisaren. Detta skulle innebära ett intervall på 18 sekunder per steg, vilket ännu inte låter som en tickande klocka. Därför använde jag en 1: 3 -överföring mellan stegmotorn och minutvisarna så att stegmotorn måste göra 600 steg per timme. Med halvstegsläget kan detta ökas till 1200 steg per timme, vilket motsvarar ett steg per 3 sekunder. Låter bättre!
Ett problem med stegmotorer är att du aldrig vet var de är när du startar din Arduino. Det är därför alla 3D-skrivare har slutstopp, så att du kan flytta din skrivare till en känd position och sedan fortsätta från den punkten. Detta behövs också för klockan, bara ett slutstopp fungerar inte eftersom en klocka ska göra kontinuerliga rotationer. För att inse denna positionsavkänning använde jag en A3144 Hall-effektsensor som känner av en magnet (kontrollera polariteten! …) som är fäst vid planetbäraren. Detta används för att flytta händerna till en specifik position vid start, varefter de kan flytta till den nödvändiga tiden.
Monteringen är mycket enkel; Fäst stegmotorn på bakplattan och lämna skruvarna något lösa. Sedan kan du montera den lilla remskivan på stegmotoraxeln och kontrollera om kuggremmen går rakt. Nu kan du skjuta stegmotorn för att justera spänningen på kuggremmen. Kuggremmen behöver lite spel för att du inte ska lägga någon stress på växlarna. Lek med den här inställningen tills du är nöjd, dra sedan åt stegmotorns skruvar helt.
Hall-effektsensorn limmas på plats. Det är bäst att först löda tre ledningar till sensorn och se till att värmekrympning runt varje ben på sensorn så att de inte kan kortsluta varandra. Efter lödning kan sensorn limmas på plats. Det spelar egentligen ingen roll vilken sida som är uppåt, så länge du inte har fäst magneten än. När du har limmat sensorn på plats, anslut den till en Arduino eller en liten LED -krets för att testa om den fungerar. (OBS: hall -effektsensorn fungerar bara om magnetfältlinjerna går i rätt riktning). Kontrollera med hjälp av denna testkrets hur magneten ska limmas. När du är helt säker på vilken sida av din magnet som ska vända mot sensorn klistrar du fast magneten.
Steg 4: Elektroniken som får klockan att ticka
Du kan använda en mycket enkel Arduino -kod som gör ett halvt steg med motorn och sedan tar en fördröjning på 3000 millisekunder till nästa steg. Detta skulle fungera men det är inte särskilt exakt eftersom den interna Arduino -klockan inte är extremt exakt. För det andra skulle Arduino glömma tiden varje gång den tappar makten.
För att hålla reda på tiden är det därför bäst att använda en realtidsklocka. Dessa saker är specialdesignade chips med ett reservbatteri som noggrant håller koll på tiden. För detta projekt valde jag DS3231 RTC som kan kommunicera med en Arduino via i2c, vilket gör kablarna enkla. När du väl har ställt in tiden korrekt på hans chip kommer den aldrig att glömma vad klockan är (så länge cr2032 -batteriet har lite juice kvar). Kolla in denna webbplats för alla detaljer om den här modulen.
Att köra stegmotorn görs med en L293d -motorförare. Några mer avancerade stegmotordrivrutiner använder en PWM-signal för mikrosteg och strömbegränsning. Denna PWM -signal kan göra det irriterande pipljudet som alla tillverkare känner till (särskilt om du äger en 3D -skrivare). Eftersom den här klockan ska bli en del av ditt interiör, är otäcka ljud inte önskvärda. Därför bestämde jag mig för att använda den lågteknologiska l293d-motordrivrutinen för att se till att min klocka är tyst (förutom steget var tredje sekund, men det är faktiskt roligt!). Kolla in den här webbplatsen för en detaljerad beskrivning av l293d -chipet. Observera att jag kör min stegmotor med 5V vilket sänker effektförbrukningen och temperaturen på stegmotorn.
Som nämnts tidigare använder jag en Hall-effektsensor för att upptäcka en magnet som är limmad på planetbäraren. Sensorns driftsprincip är mycket enkel, den ändrar tillstånd när en magnet är tillräckligt nära. På så sätt kan din Arduino upptäcka en digital hög eller låg och därför upptäcka om en magnet är nära. Kolla in den här webbplatsen som visar hur du ansluter sensorn och visar den enkla koden som används för magnetdetektering.
Sist men inte minst lade jag till 4 knappar för användarinmatning till kretskortet. De använder Arduino interna pull-up motstånd för att förenkla ledningarna. Mitt kretskort har också rubriker i en Uno -konfiguration så att jag kan lägga till Arduino -sköldar för möjliga utbyggnader (jag har inte gjort det hittills).
Jag testade först allt på min brödbräda och sedan designade och beställde jag en anpassad PCB för detta projekt, eftersom det ser fantastiskt ut! Du kan också montera kretskortet på baksidan av klockan om du inte vill titta på det.
Gerber -filerna för PCB kan laddas ner från min enhet, Instructables låter mig inte ladda upp dem av någon anledning. Använd den här länken till min google -enhet.
Steg 5: Programmering av Arduino
Grundkoden för Arduino är faktiskt väldigt enkel. Jag bifogade ett schema som visualiserar vad som händer inuti Arduino och hur Arduino gränssnitt med de andra enheterna. Jag använde flera bibliotek för att förenkla kodningen.
- Accelstepper -> hanterar stegmotorns stegsekvens, låter dig ge intuitiva kommandon som: Stepper.runSpeed () eller Stepper.move () som låter dig flytta med en viss hastighet respektive till en viss position.
- Wire -> detta behövs för i2c -kommunikation, även när du använder RTClib
- RTClib -> hanterar kommunikationen mellan Arduino och RTC, låter dig ge intuitiva kommandon som rtc.now () som returnerar den aktuella tiden.
- OneButton -> Hanterar knappinmatningen, upptäcker tryckningar och kör sedan ett fördefinierat tomrum för att göra något. Kan upptäcka enkla, dubbla eller långa tryckningar.
När du skriver kod för en klocka är det mycket viktigt att undvika att ha variabler som fortsätter att öka. Eftersom Arduino -koden kommer att köras dygnet runt kommer dessa variabler snabbt att bli större och större och så småningom orsaka ett överflöd. Stegmotorn får till exempel aldrig befallning att gå till en viss position, eftersom denna position bara skulle öka med tiden. Stegmotorn beordras istället att flytta ett visst antal steg i en viss riktning. På så sätt finns det ingen positionsvariabel som ökar med tiden.
Första gången du ansluter RTC måste du ställa in tid för chipet, det finns en kod som du kan kommentera som anger RTC -tiden lika med din datortid (tiden i det ögonblick du kompilerar koden). Observera att när du lämnar detta okommenterade kommer RTC -tiden att återställas till den tidpunkt då du sammanställde din kod varje gång. Så kommentera det här, kör det en gång och kommentera det sedan igen.
Jag bifogade min kod till denna instruktionsbok, jag kommenterade den noggrant. Du kan ladda upp den utan några ändringar eller kolla in den och se vad du tycker!
Steg 6: Njut av ljudet av din klocka som tickar för första gången
Efter att ha anslutit all elektronik och laddat upp koden är detta resultatet!
Den grundläggande designen för den här klockan är mycket enkel och den kan tillverkas i många olika former och storlekar. Eftersom det finns en Arduino ombord kan du också enkelt lägga till extrafunktioner. Ställ in ett larm, låt klockan slå på dig kaffemaskinen vid en viss tid, internetanslutning, coola demolägen som markerar den mekaniska rörelsen som din design visar för andra och mycket mer!
Som du kanske har märkt genom hela denna instruktionsbok, var jag tvungen att ta isär min klocka för att skriva den här instruerbara. Även om det är olyckligt för denna instruerbara kan jag åtminstone garantera att designen fungerar mycket bra på lång sikt, eftersom den här klockan har tickat iväg i mer än 3 år i mitt vardagsrum utan problem!
Vänligen meddela mig i kommentarerna om du gillade den här instruerbara, det är första gången jag skriver en. Skicka ett meddelande till mig om du har några tips eller frågor. Och hoppas att jag inspirerade någon att också bygga en halvmekanisk klocka en dag!
Första pris i klocktävlingen
Rekommenderad:
'Weasley' Location Clock med 4 händer: 11 steg (med bilder)
"Weasley" Location Clock With 4 Hands: Så, med en Raspberry Pi som hade sparkat runt ett tag, ville jag hitta ett trevligt projekt som skulle tillåta mig att utnyttja det på bästa sätt. Jag stötte på denna fantastiska instruerbara Build Your Own Weasley Location Clock av ppeters0502 och tänkte att
Hanging Gear Weather Station: 7 steg (med bilder)
Hängande redskap Väderstation: I den här instruktionsboken ska jag visa dig hur du bygger din egen väderstation för hängande redskap, som är tillverkad av CNC-laserskurna MDF-delar. En stegmotor driver varje växel och en Arduino tar temperatur- och luftfuktighetsmätningar med en DHT
DIY Smart Scale With Alarm Clock (med Wi-Fi, ESP8266, Arduino IDE och Adafruit.io): 10 steg (med bilder)
DIY Smart Scale With Alarm Clock (med Wi-Fi, ESP8266, Arduino IDE och Adafruit.io): I mitt tidigare projekt utvecklade jag en smart badrumsvåg med Wi-Fi. Den kan mäta användarens vikt, visa den lokalt och skicka den till molnet. Du kan få mer information om detta på länken nedan: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Timing Gear and Chain Clock - Nästan gratis !: 5 steg (med bilder)
Timing Gear and Chain Clock - Nästan gratis !: Förhoppningsvis när du ändrade bilens tidinställning slängde du inte de gamla växlarna och kedjan. Jag gjorde nästan det, men min fru visade mig detta: http://www.uncommongoods.com/product/auto-timing-chain-and-gears-wall-clock $ 125 USA plus frakt.
Wire Worm Gear: 6 steg (med bilder)
Wire Worm Gear: Ett roligt litet projekt som använder dina extra festliga korkar :-) Vrid trådhandtaget och växeln går fram en tand i taget. Det tar tolv varv på handtaget för att vrida kugghjulet ett helt varv. Detta projekt publicerades ursprungligen på robiv