Innehållsförteckning:
- Steg 1: Verktyg och material
- Steg 2: Limma ihop träram
- Steg 3: Klipp ram med cirkelklippjigg
- Steg 4: Skriv ut och montera växlar
- Steg 5: "Limma" sektioner tillsammans
- Steg 6: Skär avlastningar i ram
- Steg 7: Klipp avstånd för halleffektsensorer
- Steg 8: Limma yttre ringen
- Steg 9: Justeringsskruvar för skärning av effektsensor
- Steg 10: Limma ringar på hårdplatta
- Steg 11: Lim inre skiva
- Steg 12: Fäst faner
- Steg 13: Trimfaner
- Steg 14: Skär faner
- Steg 15: Limfaner
- Steg 16: Slipa och avsluta
- Steg 17: Installera ström
- Steg 18: Montera elektronik
- Steg 19: Löd och anslut elektronik
- Steg 20: Bakplatta
- Steg 21: Arduino -kod
- Steg 22: STL -filer
- Steg 23: Solidworks -filer
- Steg 24: Slutsats
Video: Förtrollande magnetisk väggklocka: 24 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:39
Mekaniska klockor har alltid fascinerat mig. Hur alla interna kugghjul, fjädrar och utrymningar fungerar tillsammans för att resultera i en ständig pålitlig klocka har alltid tyckt vara utom räckhåll för min begränsade färdighetsuppsättning. Tack och lov kan modern elektronik och 3D -tryckta delar överbrygga klyftan för att skapa något enkelt som inte är beroende av små precisa metaldelar.
Denna minimalistiska väggklocka döljer ett par 3D -tryckta ringväxlar som drivs av billiga stegmotorer som roterar magneter bakom en klassisk valnötfaner.
Ursprungligen inspirerad av STORY Clock, jag ville ha ett tidstycke som indikerade tiden på dygnet endast med kullager jämfört med den digitala avläsningen och långsamt rörliga kullager som deras produktanvändning.
Steg 1: Verktyg och material
Material:
- 13 x 13 x 2 tum. Plywood/spånskiva (jag limmade ihop 3 bitar av träskrot)
- 13 x 13 tum. Hardboard
- Arduino Nano
- Riktig tids klocka
- Stegmotorer och drivrutiner
- Hall Effect Sensors
- Magneter
- Kraftledning
- Växelströmsadapter
- Plugg
- Diverse maskinskruvar
- Diverse träskruvar
- 3D -tryckta delar (sista steget)
- Faner (12 x 12 tum - ansikte, 40 tum lång remsa)
- Spraylack
- Svart sprayfärg
Verktyg:
- 3d skrivare
- Kompass
- X-acto kniv
- Lim
- Klämmor
- Cirkelskärningsjigg
- Hack Saw
- Skivslipmaskin
- Spärrklämma
- Mejsel
- Linjal
- Sander
- Övningar
- Skruvmejslar
- Lödkolv
- Lim pistol
Steg 2: Limma ihop träram
Limma ihop tre träbitar som kommer att bilda klockans ram. Jag använde återvunnet spånskiva från en gammal sängram.
Steg 3: Klipp ram med cirkelklippjigg
Markera mitten av brädet och montera på en cirkelskärjigg. Klipp fem cirklar med följande diametrar:
- 12 tum.
- 11 1/4 tum.
- 9 1/4 tum.
- 7 1/4 tum.
- 5 3/8 tum.
Steg 4: Skriv ut och montera växlar
Ringhjulen är uppdelade i segment så att de kan skrivas ut på en liten skrivare och knäppas ihop. Alla delar trycktes i ABS för att underlätta smältningsprocessen som visas i nästa steg. Slipa alla kanter och ytor på delarna.
Skriv ut följande mängder delar som hittades i steg 22:
- 1 - timmars ringväxelsegmentmagnet
- 6 - timmars ringväxelsegment Basic
- 1 - timmars hållarringssegment Stepper Mount
- 6 - timmars kvarhållande ringsegment Basic
- 1 - Hållare för timmeeffektsensor
- 1 - Segmentmagnet för minutring
- 7 - Minutringssegment Basic
- 1 - Minut hållarringssegment Stepper Mount
- 6 - Minut kvarhållande ringsegment Basic
- 1 - Minute Hall Effect Sensor Hållare
- 2 - Spur Gear
- 1 - Elektronikfäste
Steg 5: "Limma" sektioner tillsammans
I en glasflaska med lite aceton, lösa misslyckade tryck gamla stödmaterial etc. Måla acetonblandningen på varje söm för att smälta bitarna ihop. Efter härdning, slipa varje söm platt.
Steg 6: Skär avlastningar i ram
Placera ringhjulen och fästringarna i ramen och klipp ut reliefer för stegmotorerna. Jag mätte och klippte den inre ringen för stor så jag shimmed den till storlek med hjälp av någon lönnkantbanding jag hade runt butiken.
Steg 7: Klipp avstånd för halleffektsensorer
Skär ett spelhål genom den inre ringen för minuthallseffektsensorn och plats för timhallens effektsensor. Jag använde en mejsel, fil och liten handsåg för att klippa dessa spel.
Steg 8: Limma yttre ringen
Limma och tejpa den yttre ringen med storleken på den lilla kvarhållningsringen.
Steg 9: Justeringsskruvar för skärning av effektsensor
Skär maskinskruvarna med en hacksåg så att de bara är längre än tjockleken på hållarringen och hall -effekthållaren. Skär ett spår i gängorna så att det kan justeras från den gängade änden med en platt skruvmejsel.
Steg 10: Limma ringar på hårdplatta
Klipp en cirkel av hårdplatta som är bara större än den yttre ringen. Lim yttre och inre ringen på hardboardytan. Använd den lilla fästringen och ringväxeln för att placera den inre ringen. Var bättre uppmärksam än jag på att inte limma inre ringen bakåt. Bild två visar en ny slot cut för minut hall effekt sensor.
Använd en skivslip för att trimma hårdplattan till storleken på den yttre ringen.
Steg 11: Lim inre skiva
Limma inre skivan på plats med timringen och ringväxeln för att placera den inre skivan.
Steg 12: Fäst faner
Klipp en remsa med faner bredare än att klockan är djup och tillräckligt lång för att vira runt dygnet (3,14 * diameter på klockan, returnerar den längd som behövs. Lägg till en tum för att vara säker på att du har tillräckligt.) Torrpassa faner till klippa på längden. Applicera gott om lim på faner och kläm fast på plats med en remklämma. Låt torka ett par timmar för att säkerställa vidhäftning.
Steg 13: Trimfaner
Använd en skarp mejsel för att klippa av överskottsfaner från framsidan och baksidan av klockan.
Steg 14: Skär faner
Min faner hade några sprickor i den. För att göra det lättare att arbeta, applicerade jag målartejp för att hålla ihop det. Med en x-acto-kniv i en kompass skär du faner bara större än klockans yta.
Steg 15: Limfaner
Använd de avskurna ringarna för att sprida ut trycket över klockans yta. Applicera gott om lim på fanerns tejpssida. Rikta kornet vertikalt på urtavlan och applicera många klämmor som drar åt var och en lite i taget. Detta kommer att säkerställa att faner inte skiftar och har jämnt tryck över ansiktet.
Jag använde ett par platta brädor på framsidan av klockan och några lockar på baksidan.
Steg 16: Slipa och avsluta
Använd sandpapper, ta försiktigt bort överflödigt faner från klockans yta och slipa från 220 korn upp till 600 korn.
Applicera mellan 10 och 20 lager lack. Detta kommer att bygga upp den yta som kullagret kommer att rida längs. Oundvikligen på grund av damm och andra partiklar i luften tror jag att linjer kommer att dyka upp längs banan för varje kullager. Att applicera fler ytskikt bör fördröja detta så länge som möjligt. Det kommer också att underlätta framtida lackering. Jag kommer att uppdatera detta steg om rader någonsin dyker upp på min klocka.
Steg 17: Installera ström
Borra ett hål i botten av klockan med en 27/64 tum borr och skruva fast kontakten.
Steg 18: Montera elektronik
Fäst stegdrivrutiner och realtidsklocka till det elektroniska kortet. Jag behövde hitta ett sätt att säkra Arduino så att hål borrades och en slits klippdes för en dragkedja. Dessa funktioner har lagts till i filen i steg 22.
Steg 19: Löd och anslut elektronik
Följ blockdiagrammet och löd ihop alla komponenter. Varma lim ringarna på plats och säkra eventuella lösa trådar med varmt lim också.
Steg 20: Bakplatta
Skapa bakplattan genom att klippa ytterligare en cirkel 1/2 tum större än klockans yta och en ring med innerdiametern samma som klockans baksida. Limma ringen och cirkla ihop med några fjäderklämmor.
När den är torr, skriv en linje 1/8 tum större än den inre ringen och trimma till storlek med bandsågen eller skivslipmaskinen.
Skär en slits 1 tum lång 1/4 tum bred överst på baksidan med en router eller borr. Försänka fyra hål för att fästa ryggen i ramen på klockan.
Applicera svart sprayfärg och fäst på klockan när den har torkat.
Steg 21: Arduino -kod
Arduino -koden kommenteras så bra som möjligt. Tänk på att jag inte är en programmerare, jag har minimal arduino -upplevelse (var snäll). Koden körs kontinuerligt för att se om den aktuella tiden matchar "Återställ tiden". Eftersom jag inte kunde tänka mig ett sätt att översätta den aktuella tiden till steg, korrigerar den bara sig själv en gång dagligen (midnatt som standard). Vid midnatt roterar växlarna till midnattläge och väntar sedan till 00:01 för att flytta till den tiden sedan fortsätter därifrån. Som den för närvarande sitter förlorar klockan bara cirka 5 sekunder under en 24 -timmarsperiod.
Du behöver Stepper- och RTClib -biblioteken installerade.
Jag vet att koden kan optimeras av någon med mer erfarenhet än jag själv. Om du klarar utmaningen, återskapa det här projektet själv och dela med dig av din kunskap.
#omfatta
#inkludera "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // antalet steg i ett varv av 28BYJ-48 stegmotor Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Time dealy för klockans hastighet. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Nuvarande tid att räkna med. float hr = 0; float mn = 0; float sc = 0; // Ställ in tiden på dygnet för att återställa klockan (24 -timmarsformat). int resetHour = 0; int resetMinute = 0; // Variabler för att ställa in rätt tid vid start och återställning. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minuteTest = 0; void setup () {Serial.begin (115200); // Ställ in realtidsklocka och återställ halleffektsensorer. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Avmarkera raden nedan för att ställa in tid. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Ställ in topphastigheten för stegmotorer. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Slinga tills minut- och timvisaren är vid middagstid medan (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } annat {fördröjning (3); } if (digitalRead (minuteStopSensor) == LOW) {minutHand.steg (3); } annat {fördröjning (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } annat {fördröjning (3); } if (digitalRead (minuteStopSensor)! = LOW) {minutHand.steg (3); } annat {fördröjning (4); }}} // Få aktuell tid DateTime nu = rtc.now (); hr = nu.timme (); mn = nu.minute (); sc = nu.sekund (); // Byt till 12 -timmarsformat om (hr> = 12) {hr = hr - 12; } // Se vilken hand som måste färdas vidare över ansiktet och använd avståndet // för att justera inställd tid därefter. timtest = tim / 12; minuttest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } annat {handDelay = minuteTest; } // Ställ in aktuell timme setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Ställ in aktuell minut setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testa vilken hand som kommer att behöva fler steg och ställ in det till det längsta steget för for -slingan. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } annat {endStep = setTimeStepMinute; } för (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } annat {fördröjning (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } annat {fördröjning (4); }} // Ställ in klockan som kör RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } void loop () {// Starta klockans löpande loop. för (int i = 0; i <22; i ++) {minutHand.steg (1); delay (setDelay1); // Testa för återställningstid, om den är redo att återställas, bryt. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }} delay (setDelay3); för (int i = 0; i <38; i ++) {hourHand.step (1); delay (setDelay1); // Testa för återställningstid, om den är redo att återställas, bryt. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; } för (int i = 0; i <20; i ++) {minutHand.steg (1); delay (setDelay2); // Testa för återställningstid, om den är redo att återställas, bryt. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }}} // Återställ klockan vid återställningstid om (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Ändra hastigheten på klockan hourHand.setSpeed (10); minuteHand.setSpeed (10); // Loop till minut och timvisare når middagstid. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } annat {fördröjning (3); } if (digitalRead (minuteStopSensor) == LOW) {minutHand.steg (3); } annat {fördröjning (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } annat {fördröjning (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } annat {fördröjning (4); }} // Vänta här tills återställningstiden har passerat. medan (rtc.now (). minut () == resetMinute) {fördröjning (1000); } // Få aktuell tid DateTime nu = rtc.now (); hr = nu.timme (); mn = nu.minute (); sc = nu.sekund (); // Byt till 12 -timmarsformat om (hr> = 12) {hr = hr - 12; } // Se vilken hand som måste färdas vidare över ansiktet och använd avståndet // för att justera inställd tid därefter. timtest = tim / 12; minuttest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Ställ in aktuell timme setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Ställ in aktuell minut setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testa vilken hand som kommer att behöva fler steg och ställ in det till det längsta steget för for -slingan. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } annat {endStep = setTimeStepMinute; } för (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } annat {fördröjning (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } annat {fördröjning (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}
Steg 22: STL -filer
Du måste skriva ut följande mängder av filerna:
- 1 - timmars ringväxelsegmentmagnet
- 6 - timmars ringväxelsegment Basic
- 1 - timmars hållarringssegment Stepper Mount
- 6 - timmars kvarhållande ringsegment Basic
- 1 - Hållare för timmeeffektsensor
- 1 - Segmentmagnet för minutring
- 7 - Minutringssegment Basic
- 1 - Minut hållarringssegment Stepper Mount
- 6 - Minut kvarhållande ringsegment Basic
- 1 - Minute Hall Effect Sensor Hållare
- 2 - Spur Gear
- 1 - Elektronikfäste
Steg 23: Solidworks -filer
Det här är de ursprungliga Solidworks -filerna som används för att skapa STL: erna som hittades i föregående steg. Redigera och ändra mina filer efter eget tycke.
Steg 24: Slutsats
Den här klockan blev bättre än jag hade tänkt mig. Med minimal Arduino -upplevelse är jag glad över hur det blev och hur exakt det är. Det ser bra ut och fungerar precis som jag hade hoppats.
Rekommenderad:
DIY exploderande väggklocka med rörelsebelysning: 20 steg (med bilder)
DIY -exploderande väggklocka med rörelsebelysning: I denna instruerbara / video kommer jag att visa dig steg för steg hur du gör en kreativ och unik väggklocka med integrerat rörelsebelysningssystem.Denna ganska unika klockdesignidé är orienterad för att göra klockan mer interaktiv . När jag går
Omgivande LED -väggklocka: 11 steg (med bilder)
Omgivande LED -väggklocka: Nyligen har jag sett många människor bygga enorma LED -matriser som ser helt vackra ut, men de bestod antingen av komplicerad kod eller dyra delar eller båda. Så jag tänkte bygga min egen LED -matris bestående av mycket billiga delar och mycket
Förtrollande videoåterkoppling Mandala: 6 steg
Förtrollande videoåterkopplingsmandala: I denna instruerbara kommer jag att visa dig hur du skapar en fascinerande, generativ videomandala med endast en kamera och en bildskärm, som du vanligtvis kan hitta i en butik för cirka $ 50. Bilden på skärmen kommer att skapas utan att
O-R-A RGB Led Matrix väggklocka med mera ** uppdaterad juli 2019 **: 6 steg (med bilder)
O-R-A RGB Led Matrix väggklocka med mera ** uppdaterad juli 2019 **: Hej. Här är jag med ett nytt projekt som heter O-R-AIt är en RGB LED Matrix väggklocka som visar: timme: minut temperatur fuktighet nuvarande väderförhållande ikon Google Kalenderhändelser och 1 timmars påminnelser vid en viss tid det visar:
TheSUN, Arduino Powered Design Väggklocka: 6 steg (med bilder)
TheSUN, Arduino Powered Design Wall Clock: Hej igen Instructables-folks!:-På grund av leveransproblem kunde jag inte fortsätta mitt ABTW-projekt så jag bestämde mig för att visa er en annan, min nyaste skapelse. Jag tror att många av oss, gillar jag, som de fina adresserbara LED -ränderna (kallas även NEOP