INHOUDSOPGAWE:
- Stap 1: gereedskap en materiaal
- Stap 2: Plak die houtraam vas
- Stap 3: Sny die raam met behulp van 'n sirkelknip
- Stap 4: Druk en monteer ratte
- Stap 5: "Gom" afdelings saam
- Stap 6: Sny reliëfs in raam
- Stap 7: Snyopruiming vir hall -effek sensors
- Stap 8: Plak die buitenste ring vas
- Stap 9: Aanpassingsskroewe vir die sny van die saal -effek -sensor
- Stap 10: Plak ringe op hardebord
- Stap 11: Plak binneskyf vas
- Stap 12: Heg fineer aan
- Stap 13: Sny fineer af
- Stap 14: Sny fineer
- Stap 15: Plak fineer vas
- Stap 16: Skuur en maak klaar
- Stap 17: Installeer krag
- Stap 18: Monteer elektronika
- Stap 19: Soldeer en verbind elektronika
- Stap 20: agterplaat
- Stap 21: Arduino -kode
- Stap 22: STL -lêers
- Stap 23: Solidworks -lêers
- Stap 24: Gevolgtrekking
Video: Betowerende magnetiese muurklok: 24 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Meganiese horlosies het my nog altyd gefassineer. Die manier waarop al die interne ratte, vere en ontsnapings saamwerk om 'n konstante, betroubare uurwerk te veroorsaak, was altyd buite bereik vir my beperkte vaardigheidstel. Gelukkig kan moderne elektronika en 3D -gedrukte onderdele die gaping oorbrug om iets eenvoudig te skep wat nie op klein presiese metaalonderdele staatmaak nie.
Hierdie minimalistiese muurklok verberg 'n paar 3D -gedrukte ringwiele wat aangedryf word deur goedkoop stepper motors wat magnete agter 'n klassieke okkerneut fineer draai.
Aanvanklik geïnspireer deur STORY Clock, wou ek 'n tydstuk hê wat die tyd van die dag aandui met slegs kogellagers teenoor die digitale uitlees en die stadig bewegende kogel wat hul produk gebruik.
Stap 1: gereedskap en materiaal
Materiaal:
- 13 x 13 x 2 duim laaghout/spaanplaat (ek het 3 stukke hout vasgeplak)
- 13 x 13 in. Hardebord
- Arduino Nano
- Real -time klok
- Stepper Motors en bestuurders
- Hall Effect Sensors
- Magnete
- Krag kabel
- Wisselstroomadapter
- Prop
- Geassorteerde masjienskroewe
- Verskeie houtskroewe
- 3D -gedrukte onderdele (laaste stap)
- Fineer (12 x 12 in. - gesig, 40 in. Lang strook)
- Spuit Lak
- Swart spuitverf
Gereedskap:
- 3D -drukker
- Kompas
- X-acto mes
- Gom
- Klampe
- Circle Cutting Jig
- Hack Saw
- Skyfskuurmasjien
- Ratelklem
- Beitel
- Heerser
- Sander
- Bore
- Skroewedraaiers
- Soldeerbout
- Warm gom geweer
Stap 2: Plak die houtraam vas
Plak drie stukke hout wat die raam van die horlosie vorm, saam. Ek het herwinde spaanplate gebruik uit 'n ou bedraam.
Stap 3: Sny die raam met behulp van 'n sirkelknip
Merk die middel van die bord en monteer dit op 'n sirkelvormige mal. Sny vyf sirkels met die volgende diameters:
- 12 in.
- 11 1/4 duim
- 9 1/4 duim
- 7 1/4 duim
- 5 3/8 duim
Stap 4: Druk en monteer ratte
Die ringtande word in segmente verdeel, sodat dit op 'n klein drukker gedruk kan word en aan mekaar vasgemaak kan word. Alle dele is in ABS gedruk om die smeltproses in die volgende stap te help. Skuur alle rande en oppervlaktes van die dele.
Druk die volgende hoeveelhede dele uit wat in stap 22 gevind is:
- 1 - Segmentmagneet vir uurringtoerusting
- 6 -uur ringtoerusting -segment basies
- 1 - Steurhouermontage vir uurbehoudring
- 6 - Segment vir basiese behoud van ure
- 1 - Houer vir uur -effek sensor
- 1 - Segmentmagneet met 'n minuut -ringrat
- 7 - Minut -ringrat -segment basies
- 1 - Stepper -houer vir segmentbeheerring in minute
- 6 - Segment Basies vir 'n minuut behoudende ring
- 1 - Houer vir minuut -hall -effek sensor
- 2 - Spur rat
- 1 - Elektroniese houer
Stap 5: "Gom" afdelings saam
Los in 'n glasbottel met asetoon mislukte afdrukke, ou ondersteuningsmateriaal, ens. Verf die asetoonmengsel op elke naat om die stukke saam te smelt. Sodra dit genees is, skuur elke naat plat.
Stap 6: Sny reliëfs in raam
Plaas die ratte en die bevestigingsringe in die raam en sny reliëf vir die stepper motors uit. Ek het die binneste ring te groot gemeet en gesny, sodat ek dit op maat gemaak het met behulp van 'n esdoornband wat ek in die winkel gehad het.
Stap 7: Snyopruiming vir hall -effek sensors
Sny 'n spelinggat deur die binneste ring vir die minuut -saal -effek sensor en gleuf vir die uur -saal effek sensor. Ek het 'n beitel, vyl en 'n klein handsaag gebruik om hierdie spasies te sny.
Stap 8: Plak die buitenste ring vas
Plak en plak die buitenste ring vas, net so groot soos die kleinste ring.
Stap 9: Aanpassingsskroewe vir die sny van die saal -effek -sensor
Sny die skroewe van die masjien met 'n haksaag, sodat hulle net langer is as die dikte van die houring en die saalhouer. Sny 'n gleuf in die drade sodat dit met 'n plat skroewedraaier vanaf die skroefdraad verstel kan word.
Stap 10: Plak ringe op hardebord
Sny 'n sirkel hardebord wat net groter is as die buitenste ring. Plak die buitenste en binneste ring op die hardebordvlak. Gebruik die kleinste ring en ringwiel om die binneste ring te plaas. Gee beter aandag as wat ek gedoen het om die binneste ring nie agteruit te plak nie. Prent twee toon 'n nuwe gleuf vir 'n klein saal -effek sensor.
Gebruik 'n skyfskuurder om die hardebord tot die grootte van die buitenste ring af te sny.
Stap 11: Plak binneskyf vas
Plak die binneskyf vas met die uurring en die ratkas om die binneskyf te plaas.
Stap 12: Heg fineer aan
Sny 'n repie fineer wyer as wat die horlosie diep en lank genoeg is om om die klok te draai (3,14 * deursnee van die horlosie gee die nodige lengte terug. Voeg 'n duim by om seker te maak dat u genoeg het.) Pas die fineer droog aan in lengte gesny. Smeer genoeg gom op die fineer en klem vas met 'n bandklem. Laat dit 'n paar uur droog word om te verseker dat dit kleef.
Stap 13: Sny fineer af
Sny die oortollige fineer aan die voorkant en agterkant van die horlosie met 'n skerp beitel.
Stap 14: Sny fineer
My fineer het 'n paar krake in. Om dit makliker te maak, het ek verfband aangebring om dit bymekaar te hou. Sny die fineer net groter as die voorkant van die klok met 'n x-acto-mes in 'n kompas.
Stap 15: Plak fineer vas
Gebruik die afgesnyde ringe om die druk oor die horlosie te versprei. Smeer genoeg gom aan die kleefvrye kant van die fineer. Rig die korrel vertikaal op die horlosie en pas baie klampe vas wat elkeen 'n bietjie op 'n slag vasdraai. Dit sal verseker dat die fineer nie skuif nie en dat daar selfs druk op die gesig is.
Ek het 'n paar plat borde aan die voorkant van die horlosie gebruik en 'n paar stowwe aan die agterkant.
Stap 16: Skuur en maak klaar
Verwyder die oortollige fineer met behulp van skuurpapier versigtig van die horlosie en skuur vanaf 220 grit tot 600 korrels.
Dien tussen 10 en 20 lae lak toe. Dit bou die oppervlak op waarmee die kogellager ry. As gevolg van stof en ander deeltjies in die lug, dink ek onvermydelik dat daar lyne langs die pad van elke kogellager sal verskyn. Deur meer lae afwerking aan te bring, moet dit so lank as moontlik vertraag word. Dit sal ook toekomstige opknapping makliker maak. Ek sal hierdie stap opdateer as daar ooit lyne op my horlosie verskyn.
Stap 17: Installeer krag
Boor 'n gat in die onderkant van die horlosie met 'n boor van 27/64 duim en skroef die kragprop vas.
Stap 18: Monteer elektronika
Heg stepper bestuurders en real -time klok aan die elektroniese bord. Ek moes 'n manier vind om die Arduino vas te maak, sodat gate geboor word en 'n gleuf vir 'n rits vasgemaak is. Hierdie funksies is bygevoeg tot die lêer wat in stap 22 gevind is.
Stap 19: Soldeer en verbind elektronika
Volg die blokdiagram en soldeer alle komponente saam. Plak die ringe warm vas en bevestig ook die verdwaalde drade met warm gom.
Stap 20: agterplaat
Maak die agterplaat deur nog 'n sirkel 1/2 cm groter as die voorkant van die horlosie te sny en 'n ring met die binnediameter dieselfde as die agterkant van die horlosie. Plak die ring en sirkel dit saam met 'n paar veerklemme.
Sodra dit droog is, maak 'n lyn 1/8 duim groter as die binneste ring en sny dit op maat met behulp van die bandzaag of skyfskuurmasjien.
Sny 'n gleuf 1 cm lank 1/4 in breed aan die bokant van die rug met 'n frees of boorpunte. Versink vier gate om die agterkant in die raam van die klok vas te maak.
Dien swart spuitverf toe en heg aan die horlosie sodra dit droog is.
Stap 21: Arduino -kode
Daar word so goed moontlik kommentaar gelewer op die arduino -kode. Hou in gedagte dat ek nie 'n programmeerder is nie; ek het minimale arduino -ervaring (wees vriendelik). Die kode loop voortdurend en kyk of die huidige tyd ooreenstem met die 'Herstel tyd'. Omdat ek nie kon dink aan 'n manier om die huidige tyd in stappe te omskep nie, maak dit homself net een keer per dag reg (standaard middernag). Om middernag draai die ratte na die middernagtelike posisie, wag dan tot 00:01 en beweeg na daardie tyd en gaan dan voort. Soos dit tans is, verloor die klok slegs ongeveer 5 sekondes oor 'n tydperk van 24 uur.
U het die Stepper- en RTClib -biblioteke nodig.
Ek weet dat die kode geoptimaliseer kan word deur iemand met meer ervaring as ek. As u die uitdaging die hoof bied, herskep hierdie projek vir uself en deel u kennis.
#insluit
#sluit "RTClib.h" RTC_DS1307 rtc in; #define oneRotation 2038 // die aantal stappe in een omwenteling van 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; // Tyd dood vir die snelheid van die klok. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Huidige tyd om wiskunde mee te doen. vlot hr = 0; float mn = 0; vlot sc = 0; // Stel die tyd van die dag in om die klok te herstel (24 uur -formaat). int resetHour = 0; int resetMinute = 0; // Veranderlikes om die regte tyd by die aanvang en herstel in te stel. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minuteTest = 0; ongeldige opstelling () {Serial.begin (115200); // Stel real -time horlosie op en stel hall -effek sensors terug. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Los kommentaar hieronder om tyd in te stel. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Stel die topsnelheid van stapmotors in. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Lus totdat minuut en uurwyser om die middag is terwyl (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } anders {vertraging (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } anders {vertraging (4); }} terwyl (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } anders {vertraging (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } anders {vertraging (4); }}} // Kry die huidige tyd DateTime nou = rtc.now (); uur = nou.uur (); mn = nou.minute (); sc = nou.sekonde (); // Verander na 12 uur formaat as (hr> = 12) {hr = hr - 12; } // Kyk watter hand verder oor die gesig moet beweeg en gebruik die afstand // om die ingestelde tyd dienooreenkomstig aan te pas. uurToets = uur / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } anders {handDelay = minuteTest; } // Stel huidige uur setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Stel huidige minuut setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Toets watter hand meer stappe benodig en stel dit in op die langste staptelling vir die for lus. as (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } anders {endStep = setTimeStepMinute; } vir (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } anders {vertraging (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } anders {vertraging (4); }}} // Stel die klok met RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } leemte -lus () {// Begin loop -lus. vir (int i = 0; i <22; i ++) {minuteHand.step (1); vertraging (setDelay1); // Toets vir hersteltyd, as dit gereed is om te herstel, breek. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }} vertraging (setDelay3); vir (int i = 0; i <38; i ++) {hourHand.step (1); vertraging (setDelay1); // Toets vir hersteltyd, as dit gereed is om te herstel, breek. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; } vir (int i = 0; i <20; i ++) {minuteHand.step (1); vertraging (setDelay2); // Toets vir hersteltyd, as dit gereed is om te herstel, breek. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }}}} // Herstel klok op hersteltyd as (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Verander spoed van klok hourHand.setSpeed (10); minuteHand.setSpeed (10); // Lus tot minuut en uurwyser die middag bereik. terwyl (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } anders {vertraging (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } anders {vertraging (4); }} terwyl (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } anders {vertraging (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } anders {vertraging (4); }} // Wag hier totdat die hersteltyd verby is. terwyl (rtc.now (). minute () == resetMinute) {vertraging (1000); } // Kry die huidige tyd DateTime nou = rtc.now (); uur = nou.uur (); mn = nou.minute (); sc = nou.sekonde (); // Verander na 12 uur formaat as (hr> = 12) {hr = hr - 12; } // Kyk watter hand verder oor die gesig moet beweeg en gebruik die afstand // om die ingestelde tyd dienooreenkomstig aan te pas. uurtoets = uur / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } anders {handDelay = minuteTest; } // Stel huidige uur setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Stel huidige minuut setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Toets watter hand meer stappe benodig en stel dit in op die langste staptelling vir die for -lus. as (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } anders {endStep = setTimeStepMinute; } vir (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } anders {vertraging (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } anders {vertraging (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}
Stap 22: STL -lêers
U moet die volgende hoeveelhede lêers druk:
- 1 - Segmentmagneet vir uurringtoerusting
- 6 -uur ringtoerusting -segment basies
- 1 - Steurhouermontage vir uurbehoudring
- 6 -uur -behoudende ring -segment basies
- 1 - Houer vir uur -effek sensor
- 1 - Segmentmagneet met 'n minuut -ringrat
- 7 - Minut -ringrat -segment basies
- 1 - Stepper mount -segment vir 'n minuut -behoudende ring
- 6 - Segment Basies vir 'n minuut behoudende ring
- 1 - Houer vir minuut -hall -effek sensor
- 2 - Spur rat
- 1 - Elektroniese houer
Stap 23: Solidworks -lêers
Dit is die oorspronklike Solidworks -lêers wat gebruik is om die STL's wat in die vorige stap gevind is, te skep. U kan my lêers geredigeer en verander soos u wil.
Stap 24: Gevolgtrekking
Hierdie horlosie het beter geword as wat ek verwag het. Met minimale Arduino -ervaring, is ek bly oor hoe dit uitgedraai het en hoe akkuraat dit is. Dit lyk goed en werk net soos ek gehoop het.
Aanbeveel:
DIY ontploffende muurklok met bewegingsbeligting: 20 stappe (met foto's)
DIY ontploffende muurklok met bewegingsbeligting: in hierdie instruksionele / video gaan ek u stap vir stap wys hoe u 'n kreatiewe en unieke muurklok met 'n geïntegreerde bewegingsbeligtingstelsel kan maak. . As ek loop
Omringende LED -muurklok: 11 stappe (met foto's)
Ambient LED Wall Clock: Onlangs het ek gesien hoe baie mense groot LED -matrikse bou wat absoluut pragtig lyk, maar dit het bestaan uit ingewikkelde kode of duur dele of albei. Daarom het ek daaraan gedink om my eie LED -matriks te bou wat bestaan uit baie goedkoop onderdele en baie
Kriptiese muurklok: 27 stappe (met foto's)
Kriptiese muurklok: die verloop van tyd is iets wat ons nie kan beheer nie. Dit gebeur in dieselfde tempo as ons slaap, wakker, verveeld of verloof is. Met huidige gebeure is dit belangrik om te onthou dat tyd sal verbygaan. Terwyl ons wag dat die tyd verbygaan, hoekom maak u nie iets nie
Betowerende ferrofluïd-vertoning: stilweg beheer deur elektromagnete: 10 stappe (met foto's)
Betowerende Ferrofluid-skerm: stil beheer deur elektromagnete: vrywaring: hierdie instruksie bied nie 'n eenvoudige manier om 'n groot ferrofluid-skerm te bou soos ons " Fetch ". Die projek is so groot en duur dat almal wat iets soortgelyks wil bou, byna seker sal verskil
Kleur muurklok: 7 stappe (met foto's)
Kleurwandklok: hierdie keer bied ek u 'n analoog horlosie met kleure aan vir kinders wat ontwerp is met LED -strokies. om die ure te wys