INHOUDSOPGAWE:

Betowerende magnetiese muurklok: 24 stappe (met foto's)
Betowerende magnetiese muurklok: 24 stappe (met foto's)

Video: Betowerende magnetiese muurklok: 24 stappe (met foto's)

Video: Betowerende magnetiese muurklok: 24 stappe (met foto's)
Video: Dit ging niet zoals ik had verwacht..😳 2024, November
Anonim
Betowerende magnetiese muurklok
Betowerende magnetiese muurklok
Betowerende magnetiese muurklok
Betowerende magnetiese muurklok

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.

Beeld
Beeld

Stap 1: gereedskap en materiaal

Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
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 Houtraamwerk Saam
Plak Houtraamwerk Saam
Plak Houtraamwerk Saam
Plak Houtraamwerk Saam
Plak Houtraamwerk Saam
Plak Houtraamwerk Saam
Plak Houtraamwerk Saam
Plak Houtraamwerk Saam

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

Sny raam met sirkelknip
Sny raam met sirkelknip
Sny raam met sirkelknip
Sny raam met sirkelknip
Sny raam met sirkelknip
Sny raam met sirkelknip
Sny raam met sirkelknip
Sny raam met 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

Druk en monteer ratte
Druk en monteer ratte
Druk en monteer ratte
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

Beeld
Beeld
Beeld
Beeld
Beeld
Beeld

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

Sny reliëfs in raam
Sny reliëfs in raam
Sny verligting in raam
Sny verligting in raam
Sny verligting in raam
Sny verligting 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

Snyopruiming vir hall -effek sensors
Snyopruiming vir hall -effek sensors
Snyopruiming vir hall -effek sensors
Snyopruiming vir hall -effek sensors
Snyopruiming vir hall -effek sensors
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 die buitenste ring
Plak die buitenste ring

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

Aanpassingsskroewe vir snysaal -effek sensor
Aanpassingsskroewe vir snysaal -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

Plak ringe op hardebord
Plak ringe op hardebord
Plak ringe op hardebord
Plak ringe op hardebord
Plak ringe op hardebord
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 binneskyf vas
Plak binneskyf vas
Plak binneskyf vas
Plak binneskyf vas

Plak die binneskyf vas met die uurring en die ratkas om die binneskyf te plaas.

Stap 12: Heg fineer aan

Heg fineer aan
Heg fineer aan
Heg fineer aan
Heg fineer aan
Heg fineer aan
Heg fineer aan
Heg fineer aan
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 fineer
Sny fineer

Sny die oortollige fineer aan die voorkant en agterkant van die horlosie met 'n skerp beitel.

Stap 14: Sny fineer

Sny fineer
Sny fineer
Sny fineer
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

Gom fineer
Gom fineer
Gom fineer
Gom fineer

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

Sand en afwerking
Sand en afwerking
Sand en afwerking
Sand en afwerking

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

Installeer krag
Installeer krag
Installeer krag
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

Monteer elektronika
Monteer elektronika
Monteer elektronika
Monteer elektronika
Monteer elektronika
Monteer elektronika
Monteer elektronika
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

Soldeer en verbind elektronika
Soldeer en verbind elektronika
Soldeer en verbind elektronika
Soldeer en verbind elektronika
Soldeer en verbind elektronika
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.

Beeld
Beeld

Stap 20: agterplaat

Agter plaat
Agter plaat
Agter plaat
Agter plaat
Agter plaat
Agter plaat

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: