Sisällysluettelo:
- Vaihe 1: Työkalut ja materiaalit
- Vaihe 2: Liimaa puukehys yhteen
- Vaihe 3: Leikkaa kehys ympyräleikkauslaitteella
- Vaihe 4: Tulosta ja koota vaihteet
- Vaihe 5: Liimaa osiot yhteen
- Vaihe 6: Leikkaa helpotukset kehykseen
- Vaihe 7: Leikkaa Hall Effect -antureiden välys
- Vaihe 8: Liimaa ulompi rengas
- Vaihe 9: Leikkaa Hall -tehosteanturin säätöruuvit
- Vaihe 10: Liimaa renkaat kovalevyyn
- Vaihe 11: Liimaa sisälevy
- Vaihe 12: Kiinnitä viilu
- Vaihe 13: Leikkaa viilu
- Vaihe 14: Leikkaa viilu
- Vaihe 15: Liimaviilu
- Vaihe 16: Hio ja viimeistele
- Vaihe 17: Asenna virta
- Vaihe 18: Kokoa elektroniikka
- Vaihe 19: Juotos ja liitä elektroniikka
- Vaihe 20: Takalevy
- Vaihe 21: Arduino -koodi
- Vaihe 22: STL -tiedostot
- Vaihe 23: Solidworks -tiedostot
- Vaihe 24: Johtopäätös
Video: Lumoava magneettinen seinäkello: 24 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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.
Vaihe 1: 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 kolme puukappaletta, jotka muodostavat kellon kehyksen. Käytin kierrätettyä lastulevyä vanhasta sängynrungosta.
Vaihe 3: 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
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
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
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
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
Liimaa ja teippaa ulompi rengas minuutin pidätysrenkaan kokoiseksi.
Vaihe 9: Leikkaa Hall -tehosteanturin 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
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 paikalleen käyttämällä tuntipidikerengasta ja rengasvaihdetta sisälevyn asettamiseksi paikalleen.
Vaihe 12: 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 ylimääräinen viilu terävällä taltalla kellon edestä ja takaa.
Vaihe 14: 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
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
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
Poraa 27/64 tuuman poranterällä reikä kellon pohjalle ja kierrä pistoke paikalleen.
Vaihe 18: 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
Lohkokaavion mukaisesti juota kaikki komponentit yhteen. Kuumaa liimaa renkaat paikalleen ja kiinnitä kaikki harhautuneet johdot myös kuumaliimalla.
Vaihe 20: 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:
DIY räjähtävä seinäkello liikevalaistuksella: 20 vaihetta (kuvilla)
DIY räjähtävä seinäkello, jossa on liikkuva valaistus: Tässä opastetussa videossa näytän sinulle askel askeleelta kuinka tehdä luova ja ainutlaatuisen näköinen seinäkello integroidulla liikevalaistusjärjestelmällä. . Kun kävelen
Ympäristön LED -seinäkello: 11 vaihetta (kuvilla)
Ympäristön LED -seinäkello: Viime aikoina olen nähnyt monia ihmisiä rakentamassa valtavia LED -matriiseja, jotka näyttävät aivan kauniilta, mutta ne koostuivat joko monimutkaisesta koodista tai kalliista osista tai molemmista. Joten ajattelin rakentaa oman LED -matriisin, joka koostuu erittäin halvoista osista ja erittäin
Lumoava videopalaute Mandala: 6 vaihetta
Lumoava videopalaute -mandala: Tässä opetusohjelmassa näytän sinulle, kuinka luoda lumoava, generatiivinen videomandala käyttämällä vain kameraa ja näyttöä, jonka löydät yleensä säästökaupasta noin 50 dollarilla. Näytön kuva luodaan ilman mitään
Salaperäinen seinäkello: 27 vaihetta (kuvilla)
Salaperäinen seinäkello: Ajan kuluminen on jotain, mitä emme voi hallita. Se tapahtuu samalla nopeudella, jos olemme nukkumassa, hereillä, tylsistyneitä tai kihloissa. Nykyisten tapahtumien yhteydessä on tärkeää muistaa, että aika kuluu. Kun odotamme ajan kulumista, miksi et tekisi jotain
Lumoava ferrofluidinäyttö: hiljaisesti sähkömagneettien ohjaama: 10 vaihetta (kuvilla)
Lumoava ferrofluidinäyttö: hiljaisesti sähkömagneettien ohjaama: Vastuuvapauslauseke: Tämä ohje ei tarjoa suoraviivaista tapaa rakentaa suuri ferrofluid-näyttö, kuten "Hae". Tämä projekti on niin suuri ja kallis, että jokaisella, joka haluaa rakentaa jotain vastaavaa, on lähes varmasti vaikeuksia