Indholdsfortegnelse:
- Trin 1: Værktøjer og materialer
- Trin 2: Lim sammen træramme
- Trin 3: Skær ramme ved hjælp af cirkelskæremaskine
- Trin 4: Udskriv og saml gear
- Trin 5: "Lim" sektioner sammen
- Trin 6: Skær relief i ramme
- Trin 7: Klip clearance for hall -effektfølere
- Trin 8: Lim den ydre ring
- Trin 9: Justeringsskruer til cut hall -effektføler
- Trin 10: Lim ringe til hardboard
- Trin 11: Lim indvendig skive
- Trin 12: Fastgør finér
- Trin 13: Trim finér
- Trin 14: Skær finér
- Trin 15: Lim finér
- Trin 16: Slib og afslut
- Trin 17: Installer strøm
- Trin 18: Saml elektronik
- Trin 19: Lodde og tilslut elektronik
- Trin 20: Bagplade
- Trin 21: Arduino -kode
- Trin 22: STL -filer
- Trin 23: Solidworks -filer
- Trin 24: Konklusion
Video: Imponerende magnetisk vægur: 24 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Mekaniske ure har altid fascineret mig. Den måde, hvorpå alle de interne gear, fjedre og udgange arbejder sammen for at resultere i et konstant pålideligt ur, har altid virket uden for rækkevidde for mit begrænsede færdighedssæt. Heldigvis kan moderne elektronik og 3D -printede dele bygge bro mellem hullerne og skabe noget simpelt, der ikke er afhængig af små præcise metaldele.
Dette minimalistiske vægur skjuler et par 3D -trykte ringhjul drevet af billige steppermotorer, der roterer magneter bag en klassisk valnødfiner.
Oprindeligt inspireret af STORY Clock, ønskede jeg et tidsstykke, der angav tidspunktet på dagen kun ved hjælp af kuglelejer vs den digitale aflæsning og langsomt bevægende kugleleje, som deres produkt bruger.
Trin 1: Værktøjer og materialer
Materialer:
- 13 x 13 x 2 in. Krydsfiner/spånplade (jeg limede sammen 3 stykker skrot)
- 13 x 13 in. Hardboard
- Arduino Nano
- Ur i realtid
- Steppermotorer og drivere
- Hall Effect Sensors
- Magneter
- Strømkabel
- AC -adapter
- Prop
- Diverse maskinskruer
- Diverse træskruer
- 3D -printede dele (sidste trin)
- Finer (12 x 12 tommer - ansigt, 40 tommer lang strimmel)
- Sprøjt lak
- Sort spraymaling
Værktøjer:
- 3D printer
- Kompas
- X-acto kniv
- Lim
- Klemmer
- Cirkel skæreskive
- Hack Saw
- Skiveslibemaskine
- Skraldeklemme
- Mejsel
- Lineal
- Sander
- Øvelser
- Skruetrækkere
- Loddekolbe
- Varm limpistol
Trin 2: Lim sammen træramme
Lim tre stykker træ sammen, der danner urets ramme. Jeg brugte genvundet spånplade fra en gammel sengestel.
Trin 3: Skær ramme ved hjælp af cirkelskæremaskine
Marker midten af brættet og monter det på en cirkelskærejig. Skær fem cirkler med følgende diametre:
- 12 tommer.
- 11 1/4 tommer.
- 9 1/4 tommer.
- 7 1/4 tommer.
- 5 3/8 in.
Trin 4: Udskriv og saml gear
Ringhjulene er opdelt i segmenter, så de kan udskrives på en lille printer og smækkes sammen. Alle dele blev trykt i ABS for at hjælpe med fusionsprocessen vist i det næste trin. Slib alle kanter og overflader af delene.
Udskriv følgende mængder dele, der blev fundet i trin 22:
- 1 - Time Ring Gear Segment Magnet
- 6 - timers ring gearsegment Basic
- 1 - timers fastholdelsesring Segment Stepper Mount
- 6 - timers fastholdelsesringssegment Basic
- 1 - Time Hall Effect Sensor Holder
- 1 - minut ring gear segment magnet
- 7 - Minutring Gear Segment Basic
- 1 - Minutrettholdende ringsegment Stepper Mount
- 6 - Minut tilbageholdende ringsegment Basic
- 1 - Minute Hall Effect Sensor Holder
- 2 - Spindel
- 1 - Elektronikbeslag
Trin 5: "Lim" sektioner sammen
I en glasflaske med lidt acetone opløses fejlslagne udskrifter gamle støttematerialer osv. Mal acetoneblandingen på hver søm for at smelte stykkerne sammen. Når den er hærdet, slibes hver søm flad.
Trin 6: Skær relief i ramme
Placer ringhjulene og fastholdelsesringene i rammen, og afskær relieffer til trinmotorerne. Jeg målte og skar den indvendige ring for stor, så jeg lagde den i størrelse ved hjælp af en ahornkantbinding, jeg havde rundt i butikken.
Trin 7: Klip clearance for hall -effektfølere
Skær et åbningshul gennem den indvendige ring til minut -hall -effektsensoren og slot til time -hall -effektsensoren. Jeg brugte en mejsel, fil og lille håndsav til at skære disse mellemrum.
Trin 8: Lim den ydre ring
Lim og tap den ydre ring på størrelse med den lille tilbageholdelsesring.
Trin 9: Justeringsskruer til cut hall -effektføler
Skær maskinens skruer med en hacksav, så de bare er længere end tykkelsen på holderingen og holdeffektfølerholderen. Skær et hul i gevindene, så det kan justeres fra gevindenden med en flad skruetrækker.
Trin 10: Lim ringe til hardboard
Skær en cirkel af hardboard lige større end den ydre ring. Lim den ydre og indre ring på hardboard -overfladen. Brug den lille låsering og ringetøjet til at placere den indre ring. Vær bedre opmærksom end jeg gjorde for ikke at lime den indre ring baglæns. Billede to viser en ny slot til minut hall effekt sensor.
Brug en skiveslibemaskine til at trimme hardboardet ned til størrelsen af den ydre ring.
Trin 11: Lim indvendig skive
Lim den indvendige skive på plads ved hjælp af timefastholdelsesringen og ringudstyret til at placere den indre skive.
Trin 12: Fastgør finér
Skær en stribe finér bredere end uret er dybt og langt nok til at vikle døgnet rundt (3.14 * diameter på uret, returnerer den nødvendige længde. Tilføj en tomme for at være sikker på, at du har nok.) Tør pasformen til skåret i længden. Påfør rigelig lim på finer og klem på plads med en remklemme. Lad tørre et par timer for at sikre vedhæftning.
Trin 13: Trim finér
Ved hjælp af en skarp mejsel skal du klippe det overskydende finer foran og bag på uret.
Trin 14: Skær finér
Min finer havde nogle revner i den. For at gøre det lettere at arbejde med lagde jeg malertape på for at holde det sammen. Skær fineren lige større end urets overflade med en x-acto kniv i et kompas.
Trin 15: Lim finér
Brug de afskårne ringe til at sprede trykket ud over urets overflade. Påfør rigelig lim på den ikke -tape side af fineren. Orienter kornet lodret på urskiven og påfør mange klemmer, der strammer hver enkelt lidt ad gangen. Dette vil sikre, at fineren ikke forskyder sig og har et jævnt tryk på tværs af ansigtet.
Jeg brugte et par flade brædder på forsiden af uret og nogle cauls på bagsiden.
Trin 16: Slib og afslut
Fjern sandpapir forsigtigt med sandpapir fra urets overflade og sand fra 220 korn op til 600 korn.
Påfør mellem 10 og 20 lag lak. Dette vil bygge den overflade op, som kuglelejet vil ride langs. Uundgåeligt på grund af støv og andre partikler i luften, tror jeg, at der vil komme linjer langs hvert kuglelejes vej. Anvendelse af flere lag finish bør forsinke dette så længe som muligt. Det vil også gøre fremtidig lakering lettere. Jeg opdaterer dette trin, hvis der nogensinde vises linjer på mit ur.
Trin 17: Installer strøm
Brug et bor på 27/64 tommer til at bore et hul i bunden af uret og skru stikket på plads.
Trin 18: Saml elektronik
Sæt stepperdrivere og realtidsur på det elektroniske kort. Jeg var nødt til at finde en måde at sikre Arduino på, så der blev boret huller, og der blev skåret en åbning til en lynlås. Disse funktioner er blevet tilføjet til filen, der blev fundet i trin 22.
Trin 19: Lodde og tilslut elektronik
Følg blokdiagrammet og lod alle komponenter sammen. Varm limringene på plads, og fastgør eventuelle vildfarende ledninger med varm lim.
Trin 20: Bagplade
Opret bagpladen ved at skære en anden cirkel 1/2 tommer større end urets overflade og en ring med den indvendige diameter på samme måde som urets bagside. Lim ringen og cirkel sammen med nogle fjederklemmer.
Når det er tørt, skal du skrive en linje 1/8 tommer større end den indre ring og trimme i størrelse ved hjælp af båndsaven eller skivesliberen.
Skær en åbning 1 tommer lang 1/4 tommer bred øverst på bagsiden ved hjælp af en router eller bor. Forsænk fire huller for at fastgøre bagsiden i urets ramme.
Påfør sort spraymaling og fastgør til uret, når det er tørret.
Trin 21: Arduino -kode
Arduino -koden kommenteres så godt som muligt. Husk, at jeg ikke er en programmør, jeg har minimal arduino -oplevelse (vær venlig). Koden kører løbende for at se, om den aktuelle tid matcher "Nulstil tid". Fordi jeg ikke kunne tænke på en måde at omsætte den aktuelle tid til trin, retter den kun sig selv en gang dagligt (midnat som standard). Ved midnat roterer gearene til midnatspositionen, og vent derefter til 00:01 til det tidspunkt, hvorefter de fortsætter derfra. Da det i øjeblikket sidder, mister uret kun cirka 5 sekunder over en 24 -timers periode.
Du skal have Stepper- og RTClib -bibliotekerne installeret.
Jeg ved, at koden kan optimeres af en person med mere erfaring end mig selv. Hvis du er klar til udfordringen, kan du genskabe dette projekt for dig selv og dele din viden.
#omfatte
#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // antallet af trin i en omdrejning af 28BYJ-48 stepper motor 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 for urets hastighed. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Aktuel tid til at lave matematik med. float hr = 0; float mn = 0; float sc = 0; // Indstil tidspunktet på dagen for at nulstille uret (24 -timers format). int resetHour = 0; int resetMinute = 0; // Variabler for at indstille det korrekte tidspunkt ved opstart og nulstilling. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minutTest = 0; ugyldig opsætning () {Serial.begin (115200); // Opsætning af realtidsur og nulstil hall -effekt sensorer. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minutStopSensor, INPUT_PULLUP); rtc.begin (); // Ukommenter linje nedenfor for at indstille tid. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Indstil topmotorens hastighed. hourHand.setSpeed (15); minutHand.setSpeed (15); // Sløjfe, indtil minut- og timehånden er ved middagstid, mens (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } ellers {forsinkelse (3); } if (digitalRead (minuteStopSensor) == LOW) {minutHand.step (3); } andet {forsinkelse (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } ellers {forsinkelse (3); } if (digitalRead (minuteStopSensor)! = LOW) {minutHand.step (3); } ellers {forsinkelse (4); }}} // Få den aktuelle tid DateTime nu = rtc.now (); time = nu. time (); mn = nu. minut (); sc = nu.sekund (); // Skift til 12 timers format, hvis (hr> = 12) {hr = hr - 12; } // Se, hvilken hånd der skal rejse videre over ansigtet, og brug denne afstand // til at justere den indstillede tid derefter. timetest = time / 12; minutTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } ellers {handDelay = minutTest; } // Indstil aktuel time setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Indstil det aktuelle minut setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Test, hvilken hånd der skal bruge flere trin, og indstil det til det længste trinantal for for -løkken. hvis (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } ellers {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } ellers {forsinkelse (3); } hvis (i <setTimeStepMinute) {minuteHand.step (3); } andet {forsinkelse (4); }} // Indstil uret til at køre RPM hourHand.setSpeed (1); minutHand.setSpeed (1); } void loop () {// Start urets løbende loop. for (int i = 0; i <22; i ++) {minutHånd.trin (1); forsinkelse (setDelay1); // Test for nulstillingstid, hvis den er klar til at blive nulstillet, skal du bryde. hvis (rtc.now (). time () == resetHour && rtc.now (). minut () == resetMinute) {pause; }} forsinkelse (setDelay3); for (int i = 0; i <38; i ++) {timeHand.step (1); forsinkelse (setDelay1); // Test for nulstillingstid, hvis den er klar til at blive nulstillet, skal du bryde. hvis (rtc.now (). time () == resetHour && rtc.now (). minut () == resetMinute) {pause; } for (int i = 0; i <20; i ++) {minuteHand.step (1); forsinkelse (setDelay2); // Test for nulstillingstid, hvis den er klar til at blive nulstillet, skal du bryde. hvis (rtc.now (). time () == resetHour && rtc.now (). minut () == resetMinute) {pause; }}}}}} Nulstil uret ved nulstillingstidspunktet, hvis (rtc.now (). Time () == resetHour && rtc.now (). Minut () == resetMinute) {// Ændre hastigheden på uret hourHand.setSpeed (10); minutHand.setSpeed (10); // Sløjfe indtil minut og time -hånd når middag. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } ellers {forsinkelse (3); } if (digitalRead (minuteStopSensor) == LOW) {minutHand.step (3); } andet {forsinkelse (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } ellers {forsinkelse (3); } if (digitalRead (minuteStopSensor)! = LOW) {minutHand.step (3); } andet {forsinkelse (4); }} // Vent her, indtil nulstillingstiden er gået. mens (rtc.now (). minut () == resetMinute) {forsinkelse (1000); } // Få den aktuelle tid DateTime nu = rtc.now (); time = nu. time (); mn = nu. minut (); sc = nu.sekund (); // Skift til 12 timers format, hvis (hr> = 12) {hr = hr - 12; } // Se, hvilken hånd der skal rejse videre over ansigtet, og brug denne afstand // til at justere den indstillede tid derefter. timetest = time / 12; minutTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } ellers {handDelay = minutTest; } // Indstil aktuel time setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Indstil det aktuelle minut setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Test, hvilken hånd der skal bruge flere trin, og indstil det til det længste trinantal for for -løkken. hvis (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } ellers {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } ellers {forsinkelse (3); } hvis (i <setTimeStepMinute) {minuteHand.step (3); } andet {forsinkelse (4); }} hourHand.setSpeed (1); minutHand.setSpeed (1); }}
Trin 22: STL -filer
Du skal udskrive følgende mængder af filerne:
- 1 - Time Ring Gear Segment Magnet
- 6 - timers ring gearsegment Basic
- 1 - timers fastholdelsesring Segment Stepper Mount
- 6 - timers fastholdelsesringssegment Basic
- 1 - Time Hall Effect Sensor Holder
- 1 - Minutring Gear Segment Magnet
- 7 - Minutring gearsegment Basic
- 1 - Minutrettholdende ringsegment Stepper Mount
- 6 - Minut tilbageholdende ringsegment Basic
- 1 - Minute Hall Effect Sensor Holder
- 2 - Spindel
- 1 - Elektronikbeslag
Trin 23: Solidworks -filer
Disse er de originale Solidworks -filer, der blev brugt til at oprette STL'erne, der blev fundet i det foregående trin. Du er velkommen til at redigere og ændre mine filer, som du finder passende.
Trin 24: Konklusion
Dette ur viste sig bedre end jeg havde regnet med. Efter at have minimal Arduino -oplevelse er jeg glad for, hvordan det viste sig, og hvor præcist det er. Det ser godt ud og fungerer, som jeg havde håbet.
Anbefalede:
DIY eksploderende vægur med bevægelsesbelysning: 20 trin (med billeder)
DIY eksploderende vægur med bevægelsesbelysning: I denne instruktive / video vil jeg vise dig trin for trin, hvordan du laver et kreativt og unikt udseende vægur med integreret bevægelsesbelysningssystem.Denne ganske unikke urdesignidé er orienteret for at gøre uret mere interaktivt . Når jeg går
Omgivende LED -vægur: 11 trin (med billeder)
Omgivende LED -vægur: For nylig har jeg set mange mennesker bygge enorme LED -matricer, der ser helt flotte ud, men de bestod enten af kompliceret kode eller dyre dele eller begge dele. Så jeg tænkte på at bygge min egen LED -matrix bestående af meget billige dele og meget
Kryptisk vægur: 27 trin (med billeder)
Cryptic Wall Clock: Tidsforløbet er noget, vi ikke kan kontrollere. Det sker i samme takt, hvis vi sover, vågner, keder os eller er forlovede. Med aktuelle begivenheder er det vigtigt at huske, at tiden vil gå. Mens vi venter på, at tiden skal gå, hvorfor så ikke lave noget
ANIMERET RGB -VægUR: 10 trin (med billeder)
ANIMERET RGB -VægUR: Der er ingen tvivl om, at du vil elske dette vægur. I dette projekt brugte vi RGB LED igen. Og selvfølgelig er 3d -printer meget vigtig for os. Vi har designet og produceret nogle af de stykker, der er nødvendige til vores VÆGUR igen. Og det er ikke bare et ur. Det
Sådan giver du et vægur lysende hænder og tidsintervalmarkører: 14 trin (med billeder)
Hvordan man giver et vægur Lysende hænder og tidsintervalmarkører: Vi ønskede et soveværelsesvægur med lysende hænder og visning af fem minutters og kvart times intervaller. Det skulle let kunne læses fra sengen, og lysstyrken skulle vare hele natten. Den lysende maling, der bruges på moderne ure, plejer