Sisällysluettelo:

Lumoava magneettinen seinäkello: 24 vaihetta (kuvilla)
Lumoava magneettinen seinäkello: 24 vaihetta (kuvilla)

Video: Lumoava magneettinen seinäkello: 24 vaihetta (kuvilla)

Video: Lumoava magneettinen seinäkello: 24 vaihetta (kuvilla)
Video: ЗАХВАТЫВАЮЩИЕ УПРАЖНЕНИЯ В ПАРКЕ / МАГНИТНОЙ ПУТИ 2024, Kesäkuu
Anonim
Lumoava magneettinen seinäkello
Lumoava magneettinen seinäkello
Lumoava magneettinen seinäkello
Lumoava magneettinen seinäkello

Mekaaniset kellot ovat aina kiehtoneet minua. Tapa, jolla kaikki sisäiset hammaspyörät, jouset ja ulokkeet toimivat yhdessä saadakseen aikaan jatkuvan luotettavan kellon, on aina tuntunut ulottumattomalta rajoitetulle taitotasolleni. Onneksi moderni elektroniikka ja 3D -painetut osat voivat ylittää aukon ja luoda jotain yksinkertaista, joka ei perustu pieniin tarkkoihin metalliosiin.

Tämä minimalistinen seinäkello piilottaa pari 3D -tulostettua rengasvaihdetta, joita ohjaavat edulliset askelmoottorit, jotka pyörivät magneetteja klassisen pähkinäviilun takana.

Alun perin STORY Clockin innoittamana halusin aikakappaleen, joka ilmaisi kellonajan käyttämällä vain kuulalaakereita verrattuna digitaaliseen lukemaan ja hitaasti liikkuviin kuulalaakereihin.

Kuva
Kuva

Vaihe 1: Työkalut ja materiaalit

Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit

Materiaalit:

  • 13 x 13 x 2 tuumaa Vaneri/lastulevy (liimasin yhteen 3 puupalaa)
  • 13 x 13 tuumaa kovalevy
  • Arduino Nano
  • Reaaliaikainen kello
  • Askelmoottorit ja ohjaimet
  • Hall Effect -anturit
  • Magneetit
  • Sähköjohto
  • Vaihtovirta-adapteri
  • Pistoke
  • Erilaisia koneen ruuveja
  • Erilaisia puuruuvit
  • 3D -tulostetut osat (viimeinen vaihe)
  • Viilu (12 x 12 tuumaa - kasvot, 40 tuumaa pitkä nauha)
  • Spray -lakka
  • Musta ruiskumaali

Työkalut:

  • 3D tulostin
  • Kompassi
  • X-acto-veitsi
  • Liima
  • Kiinnikkeet
  • Ympyränleikkaus
  • Hakata Saw
  • Levyhiomakone
  • Ratchet Clamp
  • Taltta
  • Viivotin
  • Hiomakone
  • Porat
  • Ruuvimeisselit
  • Juotin
  • Kuuma liimapistooli

Vaihe 2: Liimaa puukehys yhteen

Liimaa yhteen puukehys
Liimaa yhteen puukehys
Liimaa yhteen puukehys
Liimaa yhteen puukehys
Liimaa yhteen puukehys
Liimaa yhteen puukehys
Liimaa yhteen puukehys
Liimaa yhteen puukehys

Liimaa yhteen kolme puukappaletta, jotka muodostavat kellon kehyksen. Käytin kierrätettyä lastulevyä vanhasta sängynrungosta.

Vaihe 3: Leikkaa kehys ympyräleikkauslaitteella

Leikkaa kehys ympyräleikkauslaitteella
Leikkaa kehys ympyräleikkauslaitteella
Leikkaa kehys ympyräleikkauslaitteella
Leikkaa kehys ympyräleikkauslaitteella
Leikkaa kehys ympyräleikkauslaitteella
Leikkaa kehys ympyräleikkauslaitteella
Leikkaa kehys ympyräleikkauslaitteella
Leikkaa kehys ympyräleikkauslaitteella

Merkitse levyn keskikohta ja kiinnitä ympyränleikkauslaitteeseen. Leikkaa viisi ympyrää, joiden halkaisija on seuraava:

  • 12 tuumaa
  • 11 1/4 tuumaa
  • 9 1/4 tuumaa
  • 7 1/4 tuumaa
  • 5 3/8 tuumaa

Vaihe 4: Tulosta ja koota vaihteet

Tulosta ja koota vaihteet
Tulosta ja koota vaihteet
Tulosta ja koota vaihteet
Tulosta ja koota vaihteet

Rengasvaihteet on jaettu osiin, jotta ne voidaan tulostaa pienelle tulostimelle ja napsauttaa yhteen. Kaikki osat painettiin ABS -muodossa helpottamaan seuraavassa vaiheessa esitettyä kiinnitysprosessia. Hio osien kaikki reunat ja pinnat.

Tulosta seuraavat määrät osasta 22 löytyneitä osia:

  • 1 tunnin rengasvaihdesegmentin magneetti
  • 6 - tunnin rengasvaihdesegmentti Basic
  • 1 - tunnin kiinnitysrengassegmentin askelmoottori
  • 6 tunnin perusrengassegmentti Basic
  • 1 - Hour Hall Effect -anturin pidike
  • 1 - Minuutin rengasvaihde -segmentin magneetti
  • 7 - Perusrengasvaihde -perusosa
  • 1 - Minuutin pidätinrengassegmentin askelmoottori
  • 6 - Minuutin pidätysrengassegmentti Basic
  • 1 minuutin Hall Effect -anturin pidike
  • 2 - Hammaspyörä
  • 1 - Elektroniikkakiinnike

Vaihe 5: Liimaa osiot yhteen

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Liuota epäpuhtaat tulosteet vanhaan tukimateriaaliin lasipullossa, jossa on hieman asetonia. Maalaa asetoniseos jokaiseen saumaan sulattamaan palaset yhteen. Kovettumisen jälkeen hio jokainen sauma tasaiseksi.

Vaihe 6: Leikkaa helpotukset kehykseen

Leikkaa helpotukset kehykseen
Leikkaa helpotukset kehykseen
Leikkaa helpotukset kehykseen
Leikkaa helpotukset kehykseen
Leikkaa helpotukset kehykseen
Leikkaa helpotukset kehykseen

Aseta hammaspyörät ja kiinnitysrenkaat runkoon ja leikkaa askelmoottoreiden helpotukset. Mittasin ja leikkasin sisärenkaan liian suureksi, joten himmennin sen mitoiksi käyttämällä myymälän ympärillä olevaa vaahteran reunanauhaa.

Vaihe 7: Leikkaa Hall Effect -antureiden välys

Halkeama Hall -tehosensoreille
Halkeama Hall -tehosensoreille
Halkeama Hall -efekti -antureille
Halkeama Hall -efekti -antureille
Halkeama Hall -tehosensoreille
Halkeama Hall -tehosensoreille

Leikkaa rakoaukko sisärenkaan läpi minuuttihallitehosteanturille ja aukko tuntihallitehosteanturille. Leikkasin nämä välykset taltalla, viilalla ja pienellä käsisahalla.

Vaihe 8: Liimaa ulompi rengas

Liima ulompi rengas
Liima ulompi rengas

Liimaa ja teippaa ulompi rengas minuutin pidätysrenkaan kokoiseksi.

Vaihe 9: Leikkaa Hall -tehosteanturin säätöruuvit

Leikkaa Hall Effect -anturin säätöruuvit
Leikkaa Hall Effect -anturin säätöruuvit

Leikkaa koneen ruuvit hakkurisahalla niin, että ne ovat pidempiä kuin pidätysrenkaan ja halliefektin pidikkeen paksuus. Leikkaa kierteisiin rako, jotta sitä voidaan säätää kierteitetystä päästä litteällä ruuvimeisselillä.

Vaihe 10: Liimaa renkaat kovalevyyn

Liimaa renkaat kovalevyyn
Liimaa renkaat kovalevyyn
Liimaa renkaat kovalevyyn
Liimaa renkaat kovalevyyn
Liimaa renkaat kovalevyyn
Liimaa renkaat kovalevyyn

Leikkaa kovalevyn ympyrä, joka on vain suurempi kuin ulompi rengas. Liimaa ulko- ja sisärengas kovalevyn pintaan. Käytä minuutin pidätysrengasta ja rengasvaihdetta sisärenkaan asettamiseen. Kiinnitä parempaa huomiota kuin minä, ettet liimaa sisärengasta taaksepäin. Kuvassa kaksi esitetään uusi rakoleikkaus minuuttihallitehosteanturille.

Leikkaa kovalevy hiomalaikalla ulomman renkaan kokoon.

Vaihe 11: Liimaa sisälevy

Liimaa sisälevy
Liimaa sisälevy
Liimaa sisälevy
Liimaa sisälevy

Liimaa sisälevy paikalleen käyttämällä tuntipidikerengasta ja rengasvaihdetta sisälevyn asettamiseksi paikalleen.

Vaihe 12: Kiinnitä viilu

Kiinnitä viilu
Kiinnitä viilu
Kiinnitä viilu
Kiinnitä viilu
Kiinnitä viilu
Kiinnitä viilu
Kiinnitä viilu
Kiinnitä viilu

Leikkaa viilun nauha, joka on leveämpi kuin kello, ja se on riittävän syvä ja tarpeeksi pitkä, jotta se voidaan kiertää ympäri kelloa (kellon halkaisija 3,14 *, palauttaa tarvittavan pituuden. Lisää tuumaa varmistaaksesi, että sinulla on tarpeeksi.) leikattu pituuteen. Levitä runsaasti liimaa viilulle ja purista paikalleen hihnakiristimellä. Anna kuivua pari tuntia tartunnan varmistamiseksi.

Vaihe 13: Leikkaa viilu

Leikkaa viilu
Leikkaa viilu

Leikkaa ylimääräinen viilu terävällä taltalla kellon edestä ja takaa.

Vaihe 14: Leikkaa viilu

Leikkaa viilu
Leikkaa viilu
Leikkaa viilu
Leikkaa viilu

Viilussani oli joitain halkeamia. Työskentelyn helpottamiseksi laitoin maalarinteipin pitämään sen yhdessä. Käytä X-acto-veistä kompassissa ja leikkaa viilu juuri kelloa suurempana.

Vaihe 15: Liimaviilu

Liimaviilu
Liimaviilu
Liimaviilu
Liimaviilu

Käytä katkaistuja renkaita paineen jakamiseen kellon etupuolelle. Levitä runsaasti liimaa viilun ei -teipin puolelle. Suuntaa vilja pystysuoraan kellotaululle ja kiristä useita puristimia kiristämällä niitä hieman kerrallaan. Tämä varmistaa, että viilu ei liiku ja että se painaa tasaisesti kasvoja.

Käytin pari litteää lautaa kellon etupuolella ja joitakin kauluksia takana.

Vaihe 16: Hio ja viimeistele

Hiekka ja viimeistely
Hiekka ja viimeistely
Hiekka ja viimeistely
Hiekka ja viimeistely

Poista ylimääräinen viilu hiekkapaperilla varovasti kellon etupuolelta ja hio 220 - 600 karkeudesta alkaen.

Levitä 10-20 kerrosta lakkaa. Tämä rakentaa pinnan, jota kuulalaakeri kulkee. Väistämättä ilmassa olevan pölyn ja muiden hiukkasten vuoksi uskon, että viivat ilmestyvät jokaisen kuulalaakerin radalle. Useiden viimeistelykerrosten levittämisen pitäisi viivyttää tätä mahdollisimman pitkään. Se helpottaa myös jälkimaalausta. Päivitän tämän vaiheen, jos kelloon ilmestyy viivoja.

Vaihe 17: Asenna virta

Asenna virta
Asenna virta
Asenna virta
Asenna virta

Poraa 27/64 tuuman poranterällä reikä kellon pohjalle ja kierrä pistoke paikalleen.

Vaihe 18: Kokoa elektroniikka

Kokoa elektroniikka
Kokoa elektroniikka
Kokoa elektroniikka
Kokoa elektroniikka
Kokoa elektroniikka
Kokoa elektroniikka
Kokoa elektroniikka
Kokoa elektroniikka

Kiinnitä askelmoottorit ja reaaliaikainen kello elektroniseen korttiin. Minun piti löytää tapa turvata Arduino, joten reikiä porattiin ja reikä leikattiin vetoketjua varten. Nämä ominaisuudet on lisätty vaiheessa 22 löydettyyn tiedostoon.

Vaihe 19: Juotos ja liitä elektroniikka

Juottaa ja liittää elektroniikkaa
Juottaa ja liittää elektroniikkaa
Juottaa ja liittää elektroniikkaa
Juottaa ja liittää elektroniikkaa
Juottaa ja liittää elektroniikkaa
Juottaa ja liittää elektroniikkaa

Lohkokaavion mukaisesti juota kaikki komponentit yhteen. Kuumaa liimaa renkaat paikalleen ja kiinnitä kaikki harhautuneet johdot myös kuumaliimalla.

Kuva
Kuva

Vaihe 20: Takalevy

Takalevy
Takalevy
Takalevy
Takalevy
Takalevy
Takalevy

Luo takalevy leikkaamalla toinen ympyrä, joka on 1/2 tuumaa suurempi kuin kellon etupuoli, ja rengas, jonka sisähalkaisija on sama kuin kellon takaosa. Liimaa rengas ja ympyrä yhteen jousipuristimien kanssa.

Kun olet kuivunut, piirrä sisärengasta 1/8 tuumaa suurempi viiva ja leikkaa se vannesahalla tai kiekkohiomakoneella.

Leikkaa 1 tuumaa pitkä 1/4 tuumaa leveä takaosan yläosasta jyrsimellä tai poranterillä. Upota neljä reikää takaosan kiinnittämiseksi kellon runkoon.

Levitä musta spraymaali ja kiinnitä kelloon, kun se on kuiva.

Vaihe 21: Arduino -koodi

Arduino -koodi kommentoidaan mahdollisimman hyvin. Muista, että en ole ohjelmoija, minulla on minimaalinen arduino -kokemus (ole kiltti). Koodi toimii jatkuvasti tarkistamalla, vastaako nykyinen aika "nollausaikaa". Koska en voinut ajatella tapaa kääntää nykyinen aika vaiheiksi, se korjaa itsensä vain kerran päivässä (oletusarvoisesti keskiyö). Keskiyöllä vaihteet kääntyvät keskiyön asentoon ja odota sitten 00:01 siirtymällä siihen aikaan ja jatkaa sitten sieltä. Tällä hetkellä kello menettää vain noin 5 sekuntia 24 tunnin aikana.

Tarvitset Stepper- ja RTClib -kirjastot asennettuna.

Tiedän, että koodin voi optimoida joku, jolla on enemmän kokemusta kuin minulla. Jos vastaat haasteeseen, luo tämä projekti itsellesi ja jaa tietosi.

#sisältää

#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // askeleiden määrä 28BYJ-48 askelmoottorin yhden kierroksen aikana Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Aika kellon nopeuden mukaan. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Nykyinen aika tehdä matematiikkaa. kelluva hr = 0; float mn = 0; float sc = 0; // Aseta kellonaika nollataksesi kellon (24 tunnin muoto). int resetHour = 0; int resetMinute = 0; // Muuttujat, joilla asetetaan oikea aika käynnistettäessä ja nollattaessa. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minuteTest = 0; void setup () {Serial.begin (115200); // Aseta reaaliaikainen kello ja nollaa Hall -tehosensorit. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Aseta aika poistamalla kommenttirivi alla. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Aseta askelmoottorien huippunopeus. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Silmukka, kunnes minuutti- ja tuntiosoitin ovat keskipäivällä, kun taas (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {delay (4); }} // Hae nykyinen aika DateTime now = rtc.now (); hr = now.hour (); mn = nyt.minute (); sc = nyt.second (); // Vaihda 12 tunnin muotoon, jos (hr> = 12) {hr = hr - 12; } // Katso, minkä käden on kuljettava pitkin kasvoja ja käytä tätä etäisyyttä // säätääksesi asetettua aikaa vastaavasti. hourTest = hr / 12; minuutitesti = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Aseta nykyinen tunti setTimeStepHour = (h * 498) + (mn * 8,3) + ((sc + (handDelay * 36)) *.1383); // Aseta nykyinen minuutti setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testaa, mikä käsi tarvitsee enemmän vaiheita, ja aseta se for -silmukan pisimpään askelmäärään. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {delay (4); }} // Aseta kello käynnissä RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } void loop () {// Käynnistä kello käynnissä. for (int i = 0; i <22; i ++) {minuteHand.step (1); delay (setDelay1); // Testaa nollausaika, jos se on valmis nollattavaksi, katkaise. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }} viive (setDelay3); for (int i = 0; i <38; i ++) {hourHand.step (1); delay (setDelay1); // Testaa nollausaika, jos se on valmis nollattavaksi, katkaise. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; } for (int i = 0; i <20; i ++) {minuuttiKäsi.vaihe (1); viive (setDelay2); // Testaa nollausaika, jos se on valmis nollattavaksi, katkaise. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }}} // Nollaa kello nollaushetkellä, jos (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Kellon nopeuden muuttaminen hourHand.setSpeed (10); minuteHand.setSpeed (10); // Silmukka kunnes minuutti- ja tuntiosoitin saavuttaa keskipäivän. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {delay (4); }} // Odota tässä, kunnes nollausaika on kulunut. while (rtc.now (). minute () == resetMinute) {delay (1000); } // Hae nykyinen aika DateTime now = rtc.now (); hr = now.hour (); mn = nyt.minute (); sc = nyt.second (); // Vaihda 12 tunnin muotoon, jos (hr> = 12) {hr = hr - 12; } // Katso, minkä käden on kuljettava pitkin kasvoja ja käytä tätä etäisyyttä // säätääksesi asetettua aikaa vastaavasti. hourTest = hr / 12; minuutitesti = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Aseta nykyinen tunti setTimeStepHour = (h * 498) + (mn * 8,3) + ((sc + (handDelay * 36)) *.1383); // Aseta nykyinen minuutti setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testaa, mikä käsi tarvitsee enemmän vaiheita, ja aseta se for -silmukan pisimpään askelmäärään. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {delay (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}

Vaihe 22: STL -tiedostot

Sinun on tulostettava seuraavat tiedostomäärät:

  • 1 tunnin rengasvaihdesegmentin magneetti
  • 6 - tunnin rengasvaihdesegmentti Basic
  • 1 tunnin kiinnitysrengassegmentin askelmoottori
  • 6 tunnin perusrengassegmentti Basic
  • 1 - Hour Hall Effect -anturin pidike
  • 1 - Minuutin rengasvaihde -segmentin magneetti
  • 7 - Perusrengasvaihde -perusosa
  • 1 - Minuutin pidätinrengassegmentin askelmoottori
  • 6 - Minuutin pidätysrengassegmentti Basic
  • 1 minuutin Hall Effect -anturin pidike
  • 2 - Hammaspyörä
  • 1 - Elektroniikkakiinnike

Vaihe 23: Solidworks -tiedostot

Nämä ovat alkuperäiset Solidworks -tiedostot, joita käytettiin edellisessä vaiheessa olevien STL -tiedostojen luomiseen. Voit vapaasti muokata ja muuttaa tiedostojani parhaaksi katsomallasi tavalla.

Vaihe 24: Johtopäätös

Tämä kello osoittautui paremmaksi kuin odotin. Minulla on minimaalinen Arduino -kokemus, olen iloinen siitä, miten se osoittautui ja kuinka tarkka se on. Näyttää hienolta ja toimii juuri niin kuin toivoinkin.

Suositeltava: