Sadržaj:

Očaravajući magnetski zidni sat: 24 koraka (sa slikama)
Očaravajući magnetski zidni sat: 24 koraka (sa slikama)

Video: Očaravajući magnetski zidni sat: 24 koraka (sa slikama)

Video: Očaravajući magnetski zidni sat: 24 koraka (sa slikama)
Video: Mačije oko holografik, br 149. Neverovatna presijavanja magnetnih čestica imaju očaravajući efekat. 2024, Juli
Anonim
Očaravajući magnetski zidni sat
Očaravajući magnetski zidni sat
Očaravajući magnetski zidni sat
Očaravajući magnetski zidni sat

Mehanički satovi su me oduvijek fascinirali. Način na koji svi unutarnji zupčanici, opruge i izlazi djeluju zajedno i rezultira konstantnim pouzdanim satom uvijek se činio nedostižnim za moj ograničeni skup vještina. Srećom, moderna elektronika i 3D ispisani dijelovi mogu premostiti jaz kako bi stvorili nešto jednostavno što se ne oslanja na male precizne metalne dijelove.

Ovaj minimalistički zidni sat skriva par 3D štampanih zupčanika sa prstenom pogonjenih jeftinim koračnim motorima koji rotiraju magnete iza klasičnog furnira od oraha.

U početku inspiriran STORY Clock -om, želio sam prikaz vremena koji prikazuje vrijeme u danu koristeći samo kuglične ležajeve u odnosu na digitalno očitavanje i sporo pokretne kuglične ležajeve koje koristi njihov proizvod.

Image
Image

Korak 1: Alati i materijali

Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali

Materijali:

  • 13 x 13 x 2 inča. Šperploča/Iverica (zalijepio sam 3 komada starog drveta)
  • 13 x 13 inča. Tvrda ploča
  • Arduino Nano
  • Sat u realnom vremenu
  • Koračni motori i upravljački programi
  • Senzori Hall efekta
  • Magneti
  • Kabel za napajanje
  • AC adapter
  • Plug
  • Različiti strojni vijci
  • Razni vijci za drvo
  • 3D štampani dijelovi (posljednji korak)
  • Furnir (12 x 12 in. - lice, 40 in. Duga traka)
  • Lak u spreju
  • Crna boja u spreju

Alati:

  • 3D štampač
  • Kompas
  • X-acto nož
  • Ljepilo
  • Stezaljke
  • Kružni nož za rezanje
  • Hack Saw
  • Brusilica za diskove
  • Ratchet Clamp
  • Dlijeto
  • Vladar
  • Sander
  • Bušilice
  • Odvijači
  • Lemilica
  • Pištolj za vruće ljepilo

Korak 2: Zalijepite drveni okvir

Drveni okvir zalijepite zajedno
Drveni okvir zalijepite zajedno
Drveni okvir zalijepite zajedno
Drveni okvir zalijepite zajedno
Drveni okvir zalijepite zajedno
Drveni okvir zalijepite zajedno
Drveni okvir zalijepite zajedno
Drveni okvir zalijepite zajedno

Zalijepite tri komada drveta koji će činiti okvir sata. Koristio sam obnovljenu ivericu sa starog okvira kreveta.

Korak 3: Izrežite okvir pomoću kružnog rezača

Izrežite okvir pomoću kružnog rezača
Izrežite okvir pomoću kružnog rezača
Izrežite okvir pomoću kružnog rezača
Izrežite okvir pomoću kružnog rezača
Izrežite okvir pomoću kružnog rezača
Izrežite okvir pomoću kružnog rezača
Izrežite okvir pomoću kružnog rezača
Izrežite okvir pomoću kružnog rezača

Označite sredinu ploče i montirajte je na kružni ubodni šablon. Izrežite pet krugova sljedećih promjera:

  • 12 in.
  • 11 1/4 in.
  • 9 1/4 in.
  • 7 1/4 in.
  • 5 3/8 in.

Korak 4: Odštampajte i sastavite zupčanike

Štampajte i sastavite zupčanike
Štampajte i sastavite zupčanike
Štampajte i sastavite zupčanike
Štampajte i sastavite zupčanike

Prstenasti zupčanici su razbijeni na segmente tako da se mogu odštampati na malom štampaču i spojiti zajedno. Svi dijelovi su odštampani na ABS -u radi lakšeg procesa stapanja prikazanog u sljedećem koraku. Brusite sve rubove i površine dijelova.

Odštampajte sljedeće količine dijelova koje ste pronašli u koraku 22:

  • 1 - Magnet sa segmentnim zupčanikom za sat
  • 6 - Osnovni segment prstenastog zupčanika
  • 1 - Stepeni nosač segmenta za zadržavanje prstena
  • 6 - Osnovni segment prstena za zadržavanje sata
  • 1 - Nosač senzora efekta satne sate
  • 1 - Magnet sa minutnim prstenastim zupčanikom
  • 7 - Osnovni segment zupčanika sa minutnim prstenom
  • 1 - Stepeni nosač segmenta za pričvršćivanje segmenta
  • 6 - Osnovni segment prstena za zadržavanje minuta
  • 1 - Držač senzora za minutu Hall efekta
  • 2 - Zupčasti zupčanik
  • 1 - Nosač za elektroniku

Korak 5: Zalijepite dijelove zajedno

Image
Image
Image
Image
Image
Image

U staklenoj bočici s malo acetona otopite stare materijale za podlogu koje nisu uspjele, itd. Obojite smjesu acetona na svakom šavu kako biste spojili dijelove. Nakon što se stvrdne, očistite svaki šav.

Korak 6: Izrežite reljefe u okviru

Izrežite reljefe u okviru
Izrežite reljefe u okviru
Izrežite reljefe u okviru
Izrežite reljefe u okviru
Izrežite reljefe u okviru
Izrežite reljefe u okviru

Postavite prstenaste zupčanike i potporne prstenove u okvir i izrežite rasterećenja za koračne motore. Izmjerio sam i izrezao unutarnji prsten prevelik pa sam ga prilagodio veličini koristeći neke javorove ivice koje sam imao oko trgovine.

Korak 7: Zazor za Hall -ove senzore

Prostor za sječenje za Hall -ove senzore
Prostor za sječenje za Hall -ove senzore
Zazor za Hall senzore
Zazor za Hall senzore
Prostor za sječenje za Hall -ove senzore
Prostor za sječenje za Hall -ove senzore

Izrežite zračni otvor kroz unutrašnji prsten za senzor efekta minutne hale i otvor za senzor efekta satne sate. Upotrijebio sam dlijeto, turpiju i malu ručnu pilu za rezanje ovih zazora.

Korak 8: Zalijepite vanjski prsten

Ljepilo vanjskog prstena
Ljepilo vanjskog prstena

Zalijepite i zalijepite vanjski prsten veličine minutnog sigurnosnog prstena.

Korak 9: Izrežite vijke za podešavanje osjetnika Hall efekta

Vijci za podešavanje osjetnika Hall efekta
Vijci za podešavanje osjetnika Hall efekta

Strojne vijke izrežite nožnom pilom tako da budu samo duži od debljine potpornog prstena i držača senzora Hall -ovog efekta. Izrežite prorez u navojima tako da se može podesiti s kraja s navojem ravnim odvijačem.

Korak 10: Zalijepite prstenove na lesonit

Ljepljivi prstenovi na lesonit ploču
Ljepljivi prstenovi na lesonit ploču
Ljepljivi prstenovi na lesonit ploču
Ljepljivi prstenovi na lesonit ploču
Ljepljivi prstenovi na lesonit ploču
Ljepljivi prstenovi na lesonit ploču

Izrežite krug od lesonita samo veći od vanjskog prstena. Zalijepite vanjski i unutarnji prsten na površinu od lesonita. Upotrijebite minutu za pričvršćivanje prstena i zupčanik za postavljanje unutrašnjeg prstena. Obratite veću pažnju nego ja da ne zalijepim unutrašnji prsten unatrag. Slika dva prikazuje novi rez za senzor minutnog efekta Hall -a.

Brusilicom za disk podrežite ivericu do veličine vanjskog prstena.

Korak 11: Zalijepite unutrašnji disk

Ljepilo Unutrašnji disk
Ljepilo Unutrašnji disk
Ljepilo Unutrašnji disk
Ljepilo Unutrašnji disk

Zalijepite unutrašnji disk koristeći satni prsten i zupčanik za postavljanje unutrašnjeg diska.

Korak 12: Pričvrstite furnir

Pričvrstite furnir
Pričvrstite furnir
Pričvrstite furnir
Pričvrstite furnir
Pričvrstite furnir
Pričvrstite furnir
Pričvrstite furnir
Pričvrstite furnir

Izrežite traku furnira širinu nego što je sat dubok i dovoljno dugačak da ga omotate oko sata (3,14 * promjer sata, vratit će potrebnu dužinu. Dodajte centimetar kako biste bili sigurni da imate dovoljno.) Furnir postavite na suho rezati po dužini. Nanošenje dovoljno ljepila na furnir i pričvrstite ga stezaljkom za remen. Ostavite da se osuši nekoliko sati kako biste osigurali prianjanje.

Korak 13: Obrežite furnir

Trim furnir
Trim furnir

Oštrim dlijetom odrežite višak furnira sa prednje i stražnje strane sata.

Korak 14: Izrežite furnir

Rezani furnir
Rezani furnir
Rezani furnir
Rezani furnir

Moj furnir je imao neke pukotine u sebi. Da bih olakšao rad, nanio sam slikarsku traku da je držim zajedno. Pomoću x-acto noža u kompasu izrežite furnir samo veći od prednje strane sata.

Korak 15: Zalijepite furnir

Ljepljeni furnir
Ljepljeni furnir
Ljepljeni furnir
Ljepljeni furnir

Isključenim prstenovima rasporedite pritisak po prednjoj strani sata. Nanesite dovoljno ljepila na stranu furnira koja nije traka. Orijentirajte zrno okomito na satnu plohu i primijenite mnoge stezaljke zatežući svaku po jednu. To će osigurati da se furnir ne pomiče i ima ravnomjeran pritisak po licu.

Koristio sam nekoliko ravnih dasaka na prednjoj strani sata i nekoliko kalupa na stražnjoj strani.

Korak 16: Brusite i završite

Pijesak i završna obrada
Pijesak i završna obrada
Pijesak i završna obrada
Pijesak i završna obrada

Pomoću brusnog papira pažljivo uklonite višak furnira sa prednje strane sata i izbrusite od 220 zrna do 600 zrna.

Nanesite između 10 i 20 slojeva laka. To će izgraditi površinu po kojoj će kuglični ležaj voziti. Neizbježno zbog prašine i drugih čestica u zraku, mislim da će se linije pojaviti na putu svakog kugličnog ležaja. Nanošenje više slojeva završne obrade treba ovo odgoditi što je duže moguće. To će također olakšati buduće dorađivanje. Ažuriraću ovaj korak ako se na satu ikada pojave linije.

Korak 17: Instalirajte Power

Install Power
Install Power
Install Power
Install Power

Svrdlom od 27/64 inča izbušite rupu na dnu sata i uvrnite utikač na mjesto.

Korak 18: Sastavite elektroniku

Sastavite elektroniku
Sastavite elektroniku
Sastavite elektroniku
Sastavite elektroniku
Sastavite elektroniku
Sastavite elektroniku
Sastavite elektroniku
Sastavite elektroniku

Priključite upravljačke programe koraka i sat u stvarnom vremenu na elektroničku ploču. Morao sam pronaći način da osiguram Arduino, pa su izbušene rupe i izrezan utor za zatvarač. Ove značajke su dodane u datoteku koja se nalazi u koraku 22.

Korak 19: Lemljenje i povezivanje elektronike

Lemljenje i povezivanje elektronike
Lemljenje i povezivanje elektronike
Lemljenje i povezivanje elektronike
Lemljenje i povezivanje elektronike
Lemljenje i povezivanje elektronike
Lemljenje i povezivanje elektronike

Slijedeći blok dijagram, lemite sve komponente zajedno. Vruće zalijepite prstenove na mjesto i pričvrstite sve zalutale žice vrućim ljepilom.

Image
Image

Korak 20: Zadnja ploča

Zadnja ploča
Zadnja ploča
Zadnja ploča
Zadnja ploča
Zadnja ploča
Zadnja ploča

Napravite stražnju ploču tako što ćete izrezati drugi krug za 1/2 inča veći od prednje strane sata i prsten čiji je unutrašnji promjer isti kao stražnji dio sata. Zalijepite prsten i krug zajedno s nekim opružnim stezaljkama.

Nakon što se osuši, ispišite liniju 1/8 inča veću od unutrašnjeg prstena i obrežite je pomoću tračne pile ili brusilice.

Izrežite utor 1 inča dugačak 1/4 inča širok na vrhu stražnje strane pomoću glodalice ili svrdla. Upuštanje četiri rupe za pričvršćivanje stražnje strane u okvir sata.

Nanesite crnu boju u spreju i pričvrstite je na sat kada se osuši.

Korak 21: Arduino kod

Arduino kôd je komentiran što je bolje moguće. Imajte na umu da ja nisam programer, imam minimalno arduino iskustvo (budite ljubazni). Kôd se neprestano provjerava da li se trenutno vrijeme podudara s "Reset Time". Budući da nisam mogao smisliti način da prevedem trenutno vrijeme u korake, ono se ispravlja samo jednom dnevno (prema zadanim postavkama ponoć). U ponoć zupčanici se okreću u ponoćni položaj, zatim čekaju do 00:01 prelaskom na to vrijeme, a zatim nastavljaju odatle. Kako trenutno sjedi, sat gubi samo oko 5 sekundi u periodu od 24 sata.

Trebat će vam instalirane biblioteke Stepper i RTClib.

Znam da kôd može optimizirati neko s više iskustva od mene. Ako ste dorasli izazovu, molimo vas da za sebe ponovo stvorite ovaj projekt i podijelite svoje znanje.

#include

#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // broj koraka u jednom okretu od 28BYJ-48 koračnog motora Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Vrijeme određeno za brzinu sata. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Trenutno vrijeme za matematiku. plovak hr = 0; plovak mn = 0; plovak sc = 0; // Podesite doba dana za resetovanje sata (24 -časovni format). int resetHour = 0; int resetMinute = 0; // Varijable za postavljanje ispravnog vremena pri pokretanju i resetiranju. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minuteTest = 0; void setup () {Serial.begin (115200); // Postavljanje sata u stvarnom vremenu i resetiranje senzora Hall efekta. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Uncomment line ispod za postavljanje vremena. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Podesite najveću brzinu koračnih motora. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Petlja do minute i sata u podne while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {kašnjenje (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {kašnjenje (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {kašnjenje (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {kašnjenje (4); }} // Sada dobijemo trenutno vrijeme DateTime = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // Promijenite u 12 -časovni format if (hr> = 12) {hr = hr - 12; } // Pogledajte koja ruka mora dalje prijeći preko lica i upotrijebite tu udaljenost // da biste u skladu s tim prilagodili postavljeno vrijeme. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Postavi trenutni sat setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Postavljanje trenutne minute setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testirajte kojoj će ruci biti potrebno više koraka i postavite je na najduži broj koraka for petlje. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } za (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {kašnjenje (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {kašnjenje (4); }} // Postavi sat radi RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } void loop () {// Pokretanje petlje sata. za (int i = 0; i <22; i ++) {minuteHand.step (1); delay (setDelay1); // Testiraj vrijeme resetiranja, ako je spreman za resetiranje, prekini. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }} kašnjenje (setDelay3); for (int i = 0; i <38; i ++) {hourHand.step (1); delay (setDelay1); // Testiraj vrijeme resetiranja, ako je spreman za resetiranje, prekini. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; } za (int i = 0; i <20; i ++) {minuteHand.step (1); delay (setDelay2); // Testiraj vrijeme resetiranja, ako je spreman za resetiranje, prekini. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }}} // Vraćanje sata na vrijeme resetiranja if (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Promjena brzine sata hourHand.setSpeed (10); minuteHand.setSpeed (10); // Petlja do minute i kazaljke sata do podneva. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {kašnjenje (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {kašnjenje (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {kašnjenje (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {kašnjenje (4); }} // Sačekajte ovde dok ne prođe vreme za resetovanje. while (rtc.now (). minute () == resetMinute) {odgoda (1000); } // Sada dobijemo trenutno vrijeme DateTime = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // Promijenite u 12 -časovni format if (hr> = 12) {hr = hr - 12; } // Pogledajte koja ruka mora dalje prijeći preko lica i upotrijebite tu udaljenost // da biste u skladu s tim prilagodili postavljeno vrijeme. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Postavi trenutni sat setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Postavljanje trenutne minute setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testirajte kojoj će ruci biti potrebno više koraka i postavite je na najduži broj koraka for petlje. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } za (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {kašnjenje (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {kašnjenje (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}

Korak 22: STL datoteke

Morat ćete odštampati sljedeće količine datoteka:

  • 1 - Magnet sa segmentnim zupčanikom za sat
  • 6 - Osnovni segment prstenastog zupčanika
  • 1 - Stepeni nosač segmenta za zadržavanje prstena
  • 6 - Osnovni segment prstena za zadržavanje sata
  • 1 - Nosač senzora efekta satne sate
  • 1 - Magnet sa minutnim prstenastim zupčanikom
  • 7 - Osnovni segment zupčanika sa minutnim prstenom
  • 1 - Stepeni nosač segmenta za pričvršćivanje segmenta
  • 6 - Osnovni segment prstena za zadržavanje minuta
  • 1 - Držač senzora za minutu Hall efekta
  • 2 - Zupčasti zupčanik
  • 1 - Nosač za elektroniku

Korak 23: Solidworks datoteke

Ovo su izvorne datoteke Solidworks korištene za kreiranje STL -ova pronađenih u prethodnom koraku. Slobodno uređujte i mijenjajte moje datoteke po vašem nahođenju.

Korak 24: Zaključak

Ovaj sat je ispao bolje nego što sam očekivao. S minimalnim Arduino iskustvom, drago mi je kako je to ispalo i koliko je precizno. Izgleda odlično i funkcionira kako sam se nadao.

Preporučuje se: