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, Srpanj
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 oduvijek su me 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 tiskanih prstenastih zupčanika pogonjenih jeftinim koračnim motorima koji rotiraju magnete iza klasičnog furnira od oraha.

U početku inspiriran STORY satom, želio sam prikaz vremena koji prikazuje vrijeme u danu koristeći samo kuglične ležajeve u usporedbi s digitalnim očitanjem i sporo pokretnim kugličnim ležajevima koje koristi njihov proizvod.

Slika
Slika

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 (zalijepila 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
  • Utikač
  • Različiti strojni vijci
  • Razni vijci za drvo
  • 3D ispisani dijelovi (zadnji korak)
  • Furnir (12 x 12 in. - lice, 40 in. Duga traka)
  • Lak u spreju
  • Crna boja u spreju

Alati:

  • 3D pisač
  • Kompas
  • X-acto nož
  • Ljepilo
  • Stezaljke
  • Žiga za rezanje krugova
  • Hack Saw
  • Brusilica za diskove
  • Ratchet Stezaljka
  • Sječivo
  • Vladar
  • Sander
  • Bušilice
  • Odvijači
  • Lemilica
  • Pištolj za vruće ljepilo

Korak 2: Zalijepite drveni okvir

Zalijepite drveni okvir zajedno
Zalijepite drveni okvir zajedno
Zalijepite drveni okvir zajedno
Zalijepite drveni okvir zajedno
Zalijepite drveni okvir zajedno
Zalijepite drveni okvir zajedno
Zalijepite drveni okvir zajedno
Zalijepite drveni okvir 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 središte ploče i montirajte je na kružni ubodni rez. Izrežite pet krugova sljedećih promjera:

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

Korak 4: Ispišite i sastavite zupčanike

Ispišite i sastavite zupčanike
Ispišite i sastavite zupčanike
Ispišite i sastavite zupčanike
Ispišite i sastavite zupčanike

Prstenasti zupčanici razbijeni su na segmente pa se mogu ispisati na malom pisaču i spojiti. Svi su dijelovi tiskani na ABS -u radi lakšeg procesa stapanja prikazanog u sljedećem koraku. Brusite sve rubove i površine dijelova.

Ispišite 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 za efekt satne dvorane
  • 1 - Magnetni segmentni magnet s magnetskim prstenom
  • 7 - Minute Ring Ring Gear Segment Basic
  • 1 - Stepenasti nosač segmenta za zadržavanje prstena
  • 6 - Osnovni segment prstena za zadržavanje minuta
  • 1 - Držač senzora za minutni Hall efekt
  • 2 - Zupčasti zupčanik
  • 1 - Nosač za elektroniku

Korak 5: "Zalijepite" odjeljke zajedno

Slika
Slika
Slika
Slika
Slika
Slika

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

Korak 6: Izrežite reljefe u okvir

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 reljefe za koračne motore. Izmjerio sam i izrezao unutarnji prsten prevelik pa sam ga prilagodio veličini koristeći neke javorove rubove koje sam imao oko trgovine.

Korak 7: Izrežite razmak za Hall -ove senzore

Zazor za Hall senzore
Zazor za Hall senzore
Zazor za Hall senzore
Zazor za Hall senzore
Zazor za Hall senzore
Zazor za Hall senzore

Izrežite zračni otvor kroz unutarnji prsten za osjetnik efekta minutne dvorane i utor za senzor učinka satne hodnice. Za rezanje ovih razmaka upotrijebio sam dlijeto, turpiju i malu ručnu pilu.

Korak 8: Zalijepite vanjski prsten

Vanjski prsten zalijepite
Vanjski prsten zalijepite

Zalijepite i zalijepite vanjski prsten u veličini 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 dulji od debljine pričvrsnog prstena i držača osjetnika Hall učinka. Izrežite utor u navojima tako da se može postaviti s kraja s navojem ravnim odvijačem.

Korak 10: Zalijepite prstene na lesonit

Zalijepite prstene na lesonit
Zalijepite prstene na lesonit
Zalijepite prstene na lesonit
Zalijepite prstene na lesonit
Zalijepite prstenove na lesonit
Zalijepite prstenove na lesonit

Izrežite krug od lesonita samo veći od vanjskog prstena. Vanjski i unutarnji prsten zalijepite na prednju ploču od lesonita. Upotrijebite minutu za pričvršćivanje prstena i zupčanik za postavljanje unutarnjeg prstena. Obratite veću pozornost nego ja da ne zalijepim unutarnji prsten unatrag. Slika dva prikazuje novi rez za senzor minutnog efekta Hall -a.

Brusilicom za rezanje obrežite lesonit ploču do veličine vanjskog prstena.

Korak 11: Zalijepite unutarnji disk

Ljepilo Unutarnji disk
Ljepilo Unutarnji disk
Ljepilo Unutarnji disk
Ljepilo Unutarnji disk

Zalijepite unutarnji disk na mjesto koristeći satni pričvrsni prsten i zupčanik za postavljanje unutarnjeg 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 širu nego što je sat dubok i dovoljno dugačak da ga omotate oko sata (3,14 * promjer sata, vratit će potrebnu duljinu. Dodajte centimetar kako biste bili sigurni da imate dovoljno.) Suho postavite furnir na izrezati na duljinu. Nanošenje dovoljno ljepila na furnir i stezanje na mjestu pomoću stezaljke 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 obrežite višak furnira s 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. Kako bih vam olakšao rad, nalijepio sam slikarske trake da ih drže zajedno. Nožem x-acto u kompasu izrežite furnir samo veći od prednje strane sata.

Korak 15: Zalijepite furnir

Ljepilo Furnir
Ljepilo Furnir
Ljepilo Furnir
Ljepilo Furnir

Isključenim prstenovima rasporedite pritisak po prednjoj strani sata. Nanesite dovoljno ljepila na stranu furnira koja nije traka. Orijentirajte zrno okomito na brojčaniku sata 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: Pijesak i završna obrada

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

Brusnim papirom pažljivo uklonite višak furnira s prednje strane sata i izbrusite od 220 zrna do 600 zrna.

Nanesite između 10 i 20 slojeva laka. Time će se izgraditi površina 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 trebalo bi to odgoditi što je dulje moguće. Također će olakšati buduće dorađivanje. Ažurirat ću ovaj korak ako se na satu ikada pojave retci.

Korak 17: Instalirajte napajanje

Instalirajte napajanje
Instalirajte napajanje
Instalirajte napajanje
Instalirajte napajanje

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 kako osigurati Arduino pa su izbušene rupe i izrezan utor za zatvarač. Ove su značajke dodane datoteci pronađenoj 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 učvrstite sve zalutale žice vrućim ljepilom.

Slika
Slika

Korak 20: Zadnja ploča

Stražnja ploča
Stražnja ploča
Stražnja ploča
Stražnja ploča
Stražnja ploča
Stražnja ploča

Napravite stražnju ploču izrezivanjem drugog kruga 1/2 inča većeg od prednje strane sata i prstena s unutarnjim promjerom istim kao stražnji dio sata. Zalijepite prsten i zaokružite zajedno s nekim opružnim stezaljkama.

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

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

Nanesite crnu boju u spreju i pričvrstite je na sat kad 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 provjerava odgovara li trenutno vrijeme "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 premještajući se na to vrijeme, a zatim nastavljaju od tamo. Kako trenutno sjedi, sat gubi samo oko 5 sekundi u razdoblju od 24 sata.

Trebat će vam instalirane knjižnice Stepper i RTClib.

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

#uključi

#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; // Postavite doba dana za poništavanje sata (24 -satni format). int resetHour = 0; int resetMinuta = 0; // Varijable za postavljanje točnog 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 osjetnika Hall učinka. 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_))); // Postavite 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 {odgoda (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {odgoda (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {odgoda (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {odgoda (4); }} // Dobivanje trenutnog vremena DateTime now = rtc.now (); hr = sada.hour (); mn = sada.minuta (); sc = sada.second (); // Promijenite u 12 -satni format ako (hr> = 12) {hr = hr - 12; } // Pogledajte koja ruka mora dalje prijeći preko lica i upotrijebite tu udaljenost // da biste prema tome 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); // Postavi trenutnu minutu setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1,9); // Testiraj kojoj će ruci biti potrebno više koraka i postavi 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 {odgoda (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {odgoda (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); kašnjenje (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); kašnjenje (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); kašnjenje (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 sata do podneva. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {odgoda (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {odgoda (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {odgoda (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {odgoda (4); }} // Pričekajte ovdje dok ne prođe vrijeme resetiranja. while (rtc.now (). minute () == resetMinute) {odgoda (1000); } // Dobijte trenutno vrijeme DateTime now = rtc.now (); hr = sada.hour (); mn = sada.minuta (); sc = sada.second (); // Promijenite u 12 -satni format ako (hr> = 12) {hr = hr - 12; } // Pogledajte koja ruka mora dalje prijeći preko lica i upotrijebite tu udaljenost // da biste prema tome 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); // Postavi trenutnu minutu setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1,9); // Testiraj kojoj će ruci biti potrebno više koraka i postavi 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 {odgoda (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {odgoda (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}

Korak 22: STL datoteke

Morat ćete ispisati 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 za efekt satne dvorane
  • 1 - Magnetni segmentni magnet s magnetskim prstenom
  • 7 - Minute Ring Ring Gear Segment Basic
  • 1 - Stepenasti nosač segmenta za zadržavanje prstena
  • 6 - Osnovni segment prstena za zadržavanje minuta
  • 1 - Držač senzora za minutni Hall efekt
  • 2 - Zupčasti zupčanik
  • 1 - Nosač za elektroniku

Korak 23: Solidworks datoteke

Ovo su izvorne datoteke Solidworks korištene za stvaranje STL -ova pronađenih u prethodnom koraku. Slobodno uređujte i mijenjajte moje datoteke prema svom nahođenju.

Korak 24: Zaključak

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

Preporučeni: