Kazalo:

Očarljiva magnetna stenska ura: 24 korakov (s slikami)
Očarljiva magnetna stenska ura: 24 korakov (s slikami)

Video: Očarljiva magnetna stenska ura: 24 korakov (s slikami)

Video: Očarljiva magnetna stenska ura: 24 korakov (s slikami)
Video: ПУТЕВОДИТЕЛЬ ПО ЧЕРНОЛЕСУ 10 мест которые стоит посетить в немецком ШВАРЦВАЛЬДЕ дорожном путешествии 2024, November
Anonim
Očarljiva magnetna stenska ura
Očarljiva magnetna stenska ura
Očarljiva magnetna stenska ura
Očarljiva magnetna stenska ura

Mehanske ure so me vedno fascinirale. Način, kako delujejo vsi notranji zobniki, vzmeti in izhodi, da bi dobili konstantno zanesljivo uro, se je za moj omejen nabor spretnosti vedno zdel nedosegljiv. Na srečo lahko sodobna elektronika in 3D -tiskani deli premostijo vrzel in ustvarijo nekaj preprostega, kar se ne zanaša na majhne natančne kovinske dele.

Ta minimalistična stenska ura skriva par 3D tiskanih obročastih zobnikov, ki jih poganjajo poceni koračni motorji, ki vrtijo magnete za klasičnim furnirjem iz oreha.

Sprva sem bil navdihnjen z ZGODBOVNO uro, želel sem časovni zapis, ki prikazuje čas dneva z uporabo samo krogličnih ležajev v primerjavi z digitalnim odčitkom in počasi premikajočimi krogličnimi ležaji, ki jih uporabljajo njihovi izdelki.

Slika
Slika

Korak: Orodja in materiali

Orodja in materiali
Orodja in materiali
Orodja in materiali
Orodja in materiali
Orodja in materiali
Orodja in materiali
Orodja in materiali
Orodja in materiali

Materiali:

  • 13 x 13 x 2 palcev Vezane plošče/iverne plošče (zlepil sem 3 kose odpadnega lesa)
  • 13 x 13 palcev. Trda plošča
  • Arduino Nano
  • Ura v realnem času
  • Koračni motorji in gonilniki
  • Senzorji Hall učinka
  • Magneti
  • Napajalni kabel
  • Napajalnik
  • Vtič
  • Različni strojni vijaki
  • Različni leseni vijaki
  • 3D natisnjeni deli (zadnji korak)
  • Furnir (12 x 12 palcev - obraz, 40 palcev dolg trak)
  • Spray lak
  • Črna barva v spreju

Orodja:

  • 3D tiskalnik
  • Kompas
  • X-acto nož
  • Lepilo
  • Sponke
  • Kolo za rezanje kroga
  • Hack Saw
  • Brusilnik diskov
  • Klešče s ključem
  • Dleto
  • Vladar
  • Sander
  • Vrtalniki
  • Izvijači
  • Spajkalnik
  • Pištola za vroče lepilo

2. korak: Lepilni okvir zlepimo skupaj

Lepilni okvir zlepimo skupaj
Lepilni okvir zlepimo skupaj
Lepilni okvir zlepimo skupaj
Lepilni okvir zlepimo skupaj
Lepilni okvir zlepimo skupaj
Lepilni okvir zlepimo skupaj
Lepilni okvir lepite skupaj
Lepilni okvir lepite skupaj

Lepite skupaj tri kose lesa, ki bodo tvorili okvir ure. Uporabil sem predelane iverne plošče iz starega okvirja postelje.

Korak 3: Izrežite okvir s pomočjo krožnega rezalnika

Izrežite okvir z uporabo krožnega rezalnika
Izrežite okvir z uporabo krožnega rezalnika
Izrežite okvir z uporabo krožnega rezalnika
Izrežite okvir z uporabo krožnega rezalnika
Izrežite okvir z uporabo krožnega rezalnika
Izrežite okvir z uporabo krožnega rezalnika
Izrežite okvir z uporabo krožnega rezalnika
Izrežite okvir z uporabo krožnega rezalnika

Označite sredino plošče in jo pritrdite na rezalni krog. Izrežite pet krogov z naslednjim premerom:

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

4. korak: Natisnite in sestavite zobnike

Natisnite in sestavite Gears
Natisnite in sestavite Gears
Natisnite in sestavite Gears
Natisnite in sestavite Gears

Obročasti zobniki so razdeljeni na segmente, tako da jih je mogoče natisniti na majhnem tiskalniku in jih pritrditi skupaj. Vsi deli so bili natisnjeni v ABS -ju za pomoč pri postopku zlitja, prikazanem v naslednjem koraku. Pobrusite vse robove in površine delov.

Natisnite naslednje količine delov, ki jih najdete v koraku 22:

  • 1 - Magnetni segmentni obročni menjalnik
  • 6 - Osnovni segment obročnega obroča
  • 1 - Stepen nosilec segmenta zadrževalnega obroča
  • 6 - Osnovni segment zadrževalnega obroča za uro
  • 1 - Nosilec senzorja učinka urne dvorane
  • 1 - Magnetni segmentni magnetni obročni menjalnik
  • 7 - Osnovni segment zobniških menjalnikov
  • 1 - Stepen nosilec za segment zadrževalnega obroča za minuto
  • 6 - Osnovni segment zadrževalnega obroča za minuto
  • 1 - Nosilec senzorja minutnega Hallovega učinka
  • 2 - Spur Gear
  • 1 - Nosilec za elektroniko

5. korak: "Lepite" odseke skupaj

Slika
Slika
Slika
Slika
Slika
Slika

V stekleni steklenici z nekaj acetona raztopite stare podporne materiale, ki niso bili odtisnjeni, itd. Pobarvajte acetonsko mešanico na vsakem šivu, da se kosi združijo. Po sušenju vsak šiv poravnamo.

Korak 6: Izrežite reliefne okvirje

Izrežite reliefe v okvirju
Izrežite reliefe v okvirju
Izrežite reliefe v okvirju
Izrežite reliefe v okvirju
Izrežite reliefe v okvirju
Izrežite reliefe v okvirju

Obročaste obroče in pritrdilne obroče postavite v okvir in izrežite reliefne ploščice za koračne motorje. Premeril sem in prerezal notranji obroč, tako da sem ga pomanjšal z nekaj javorjevih robov, ki sem jih imel po trgovini.

Korak 7: Odsek za Hall -ove senzorje

Razmik za Hall -ove senzorje
Razmik za Hall -ove senzorje
Razmik za Hall -ove senzorje
Razmik za Hall -ove senzorje
Razmik za Hall -ove senzorje
Razmik za Hall -ove senzorje

Prerežite zračno luknjo skozi notranji obroč za senzor minutnega učinka Hall in režo za senzor učinka urne dvorane. Za rezanje teh razdalj sem uporabil dleto, pilico in majhno ročno žago.

8. korak: Lepite zunanji obroč

Lepilo zunanji obroč
Lepilo zunanji obroč

Zlepite in lepite zunanji obroč v velikosti minutnega zadrževalnega obroča.

Korak 9: Odrežite vijake za nastavitev senzorja Hall učinka

Vijaki za nastavitev senzorja Hallovega učinka
Vijaki za nastavitev senzorja Hallovega učinka

Strojne vijake odrežite z žago, tako da so le daljši od debeline zadrževalnega obroča in nosilca senzorja Hall. V navojih izrežite režo, tako da jo lahko s ploskim izvijačem nastavite od konca z navojem.

Korak 10: Lepite obroče na leseno ploščo

Lepilni obroči na lesonit
Lepilni obroči na lesonit
Lepilni obroči na lesonit
Lepilni obroči na lesonit
Lepilni obroči na lesonit
Lepilni obroči na lesonit

Izrežite krog lesonita, ki je večji od zunanjega obroča. Zunanji in notranji obroč prilepite na površino lesene plošče. Notranji obroč namestite z minutnim zadrževalnim obročem in obročem. Bodite bolj pozorni kot jaz, da notranjega obroča ne prilepim nazaj. Na sliki dve je prikazana nova reza za senzor minutnega hodnika.

Z brusilko za plošče obrežite trde plošče do velikosti zunanjega obroča.

Korak: Lepite notranji disk

Lepilni notranji disk
Lepilni notranji disk
Lepilni notranji disk
Lepilni notranji disk

Notranji disk prilepite na mesto z uporabo urnega zadrževalnega obroča in obroča za namestitev notranjega diska.

12. korak: pritrdite furnir

Pritrdite furnir
Pritrdite furnir
Pritrdite furnir
Pritrdite furnir
Pritrdite furnir
Pritrdite furnir
Pritrdite furnir
Pritrdite furnir

Odrežite trak furnirja, širšega od ure, ki je globok in dovolj dolg, da se ovije okoli ure (3,14 * premer ure, vrne potrebno dolžino. Dodajte palec, da se prepričate, da imate dovolj.) Furnir posušite tako, da razrežemo po dolžini. Na furnir nanesite dovolj lepila in ga pritrdite s sponko za trak. Pustite, da se posuši nekaj ur, da zagotovite oprijem.

13. korak: Obrežite furnir

Trim furnir
Trim furnir

Z ostrim dletom odrežite presežek furnirja s sprednje in zadnje strani ure.

Korak 14: Izrežite furnir

Rezanje furnirja
Rezanje furnirja
Rezanje furnirja
Rezanje furnirja

Moj furnir je imel nekaj razpok. Da bi olajšali delo, sem slikarske trakove pritrdila skupaj. Z nožem x-acto v kompasu izrežite furnir tik večji od sprednje strani ure.

15. korak: lepljenje furnirja

Lepilni furnir
Lepilni furnir
Lepilni furnir
Lepilni furnir

Z razrezanimi obroči razporedite tlak po zadnji strani ure. Nanesite stran lepila na stran, ki ni vezana na trak. Zrno usmerite navpično na urno površino in nanj nanesite številne sponke, ki jih zategujete malo po malo. To bo zagotovilo, da se furnir ne premakne in ima enakomeren pritisk po obrazu.

Na sprednji strani ure sem uporabil nekaj ravnih desk, na hrbtni strani pa nekaj kalupov.

Korak 16: Pesek in zaključek

Pesek in zaključek
Pesek in zaključek
Pesek in zaključek
Pesek in zaključek

Z brusnim papirjem previdno odstranite odvečni furnir s sprednje strani ure in brušite od 220 zrnca do 600 zrnca.

Nanesite med 10 in 20 slojev laka. To bo ustvarilo površino, po kateri bo krogelni ležaj vozil. Neizogibno zaradi prahu in drugih delcev v zraku mislim, da se bodo na poti vsakega krogličnega ležaja pojavile črte. Nanos več slojev zaključne obdelave bi moral to čim dlje odložiti. Olajšalo bo tudi prihodnje obnavljanje. Ta korak bom posodobil, če se na moji uri kdaj pojavijo vrstice.

Korak 17: Namestite Power

Namestite Power
Namestite Power
Namestite Power
Namestite Power

S svedrom 27/64 palca izvrtajte luknjo na dnu ure in privijte vtič.

18. korak: Sestavite elektroniko

Sestavite elektroniko
Sestavite elektroniko
Sestavite elektroniko
Sestavite elektroniko
Sestavite elektroniko
Sestavite elektroniko
Sestavite elektroniko
Sestavite elektroniko

Na elektronsko ploščo pritrdite koračne gonilnike in uro v realnem času. Moral sem najti način, kako zavarovati Arduino, tako da so bile izvrtane luknje in odrezana reža za zadrgo. Te funkcije so bile dodane datoteki, najdeni v koraku 22.

Korak 19: Spajkajte in povežite elektroniko

Spajkajte in povežite elektroniko
Spajkajte in povežite elektroniko
Spajkajte in povežite elektroniko
Spajkajte in povežite elektroniko
Spajkajte in povežite elektroniko
Spajkajte in povežite elektroniko

Po blok shemi spajite vse komponente skupaj. Vroče lepite obroče in pritrdite morebitne potepuške žice z vročim lepilom.

Slika
Slika

20. korak: Zadnja plošča

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

Ustvarite zadnjo ploščo tako, da izrežete še en krog za 1/2 palca, večji od sprednje strani ure, in obroč z notranjim premerom, ki je enak zadnji strani ure. Obroč in krog zlepite skupaj z nekaj vzmetnimi sponkami.

Ko se posuši, narišite črto 1/8 inča večjo od notranjega obroča in jo obrežite s tračno žago ali brusilnikom.

Z usmerjevalnikom ali svedri izrežite režo dolžine 1/4 palca na vrhu hrbta. Ugreznite štiri luknje za pritrditev hrbtne strani v okvir ure.

Nanesite črno barvo v spreju in jo, ko se posuši, pritrdite na uro.

Korak 21: Koda Arduino

Koda arduino je komentirana čim bolje. Ne pozabite, da nisem programer, imam minimalne izkušnje z arduinom (bodite prijazni). Koda teče nenehno preverjati, ali se trenutni čas ujema s "časom ponastavitve". Ker se nisem mogel zamisliti, kako bi trenutni čas prevedel v korake, se popravi le enkrat na dan (privzeto polnoč). Ob polnoči se prestave obrnejo v polnočni položaj, nato počakajo do 00:01 in se nato nadaljujejo. Kot trenutno sedi, ura v 24 -urnem obdobju izgubi le približno 5 sekund.

Potrebovali boste nameščeni knjižnici Stepper in RTClib.

Vem, da lahko kodo optimizira nekdo z več izkušnjami kot jaz. Če ste kos izzivu, prosim, da sami ustvarite ta projekt in delite svoje znanje.

#vključi

#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // število korakov v enem obratu koračnega motorja 28BYJ-48 Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Čas za hitrost ure. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Trenutni čas za matematiko. float hr = 0; plovec mn = 0; plavajoči sc = 0; // Nastavite uro za ponastavitev ure (24 -urni format). int resetHour = 0; int resetMinute = 0; // Spremenljivke za nastavitev pravilnega časa ob zagonu in ponastavitvi. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minuteTest = 0; void setup () {Serial.begin (115200); // Nastavitev ure v realnem času in ponastavitev senzorjev za efekt Hall. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Spodaj odkomentirajte vrstico za nastavitev časa. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Nastavite največjo hitrost koračnih motorjev. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Zanka, dokler se kazalci minut in ur ne prikažeta opoldne, medtem ko (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {zakasnitev (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {zakasnitev (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {zakasnitev (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {zakasnitev (4); }} // Pridobite trenutni čas DateTime zdaj = rtc.now (); hr = zdaj.hour (); mn = zdaj.minuta (); sc = zdaj.second (); // Spremeni v 12 -urno obliko, če (hr> = 12) {hr = hr - 12; } // Poglej, katera roka mora še naprej potovati po obrazu, in s to razdaljo // ustrezno prilagoditi nastavljeni čas. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Nastavi trenutno uro setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Nastavi trenutno minuto setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Preizkusimo, katera roka bo potrebovala več korakov in jo nastavimo na najdaljše število korakov zanke for. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } za (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {zakasnitev (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {zakasnitev (4); }} // Nastavi uro, ki teče RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } void loop () {// Začni vožnjo ure. za (int i = 0; i <22; i ++) {minuteHand.step (1); zakasnitev (setDelay1); // Preizkusite čas ponastavitve, če je pripravljen za ponastavitev, prekinite. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {odmor; }} zamik (setDelay3); for (int i = 0; i <38; i ++) {hourHand.step (1); zakasnitev (setDelay1); // Preizkusite čas ponastavitve, če je pripravljen za ponastavitev, prekinite. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {odmor; } za (int i = 0; i <20; i ++) {minuteHand.step (1); zakasnitev (setDelay2); // Preizkusite čas ponastavitve, če je pripravljen za ponastavitev, prekinite. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {odmor; }}} // Ponastavi uro ob času ponastavitve if (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Spremeni hitrost ure hourHand.setSpeed (10); minuteHand.setSpeed (10); // Zanka do minute in ure do poldneva. medtem ko (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {zakasnitev (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {zakasnitev (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {zakasnitev (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {zakasnitev (4); }} // Počakajte tukaj, da mine čas ponastavitve. while (rtc.now (). minute () == resetMinute) {zamuda (1000); } // Pridobite trenutni čas DateTime zdaj = rtc.now (); hr = zdaj.hour (); mn = zdaj.minuta (); sc = zdaj.second (); // Spremeni v 12 -urno obliko, če (hr> = 12) {hr = hr - 12; } // Poglej, katera roka mora še naprej potovati po obrazu, in s to razdaljo // ustrezno prilagoditi nastavljeni čas. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Nastavi trenutno uro setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Nastavi trenutno minuto setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Preizkusimo, katera roka bo potrebovala več korakov in jo nastavimo na najdaljše število korakov zanke for. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } za (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {zakasnitev (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {zakasnitev (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}

Korak: Datoteke STL

Natisniti morate naslednje količine datotek:

  • 1 - Magnet segmenta obročnega obroča
  • 6 - Osnovni odsek urnega obroča
  • 1 - Stepen nosilec segmenta zadrževalnega obroča
  • 6 - Osnovni segment zadrževalnega obroča za uro
  • 1 - Nosilec senzorja učinka urne dvorane
  • 1 - Magnetni segmentni magnetni obročni menjalnik
  • 7 - Osnovni segment zobniških menjalnikov
  • 1 - Stepen nosilec za segment zadrževalnega obroča za minuto
  • 6 - Osnovni segment zadrževalnega obroča za minuto
  • 1 - Nosilec senzorja minutnega Hallovega učinka
  • 2 - Spur Gear
  • 1 - Nosilec za elektroniko

23. korak: Datoteke Solidworks

To so izvirne datoteke Solidworks, uporabljene za ustvarjanje STL -jev, najdenih v prejšnjem koraku. Po mojem mnenju lahko urejate in spreminjate moje datoteke.

24. korak: Zaključek

Ta ura se je izkazala za boljšo, kot sem pričakoval. Z minimalnimi izkušnjami z Arduinom sem vesel, kako se je izkazalo in kako natančno je. Izgleda odlično in deluje tako, kot sem upal.

Priporočena: