Spisu treści:

Hipnotyzujący magnetyczny zegar ścienny: 24 kroki (ze zdjęciami)
Hipnotyzujący magnetyczny zegar ścienny: 24 kroki (ze zdjęciami)

Wideo: Hipnotyzujący magnetyczny zegar ścienny: 24 kroki (ze zdjęciami)

Wideo: Hipnotyzujący magnetyczny zegar ścienny: 24 kroki (ze zdjęciami)
Wideo: Mosiężne busole kapitańskie, kompasy i zegary słoneczne z mosiądzu - niezwykły marynistyczny prezent 2024, Listopad
Anonim
Hipnotyzujący magnetyczny zegar ścienny
Hipnotyzujący magnetyczny zegar ścienny
Hipnotyzujący magnetyczny zegar ścienny
Hipnotyzujący magnetyczny zegar ścienny

Zegary mechaniczne zawsze mnie fascynowały. Sposób, w jaki wszystkie wewnętrzne koła zębate, sprężyny i wychwyty współpracują ze sobą, aby zapewnić stały niezawodny zegarek, zawsze wydawał się poza zasięgiem mojego ograniczonego zestawu umiejętności. Na szczęście nowoczesna elektronika i drukowane części 3D mogą wypełnić tę lukę, aby stworzyć coś prostego, które nie opiera się na małych, precyzyjnych częściach metalowych.

Ten minimalistyczny zegar ścienny skrywa parę wydrukowanych w 3D kół zębatych napędzanych przez niedrogie silniki krokowe, które obracają magnesy za klasyczną okleiną z orzecha włoskiego.

Początkowo zainspirowany zegarem STORY, chciałem zegarka, który wskazywałby porę dnia przy użyciu tylko łożysk kulkowych w porównaniu z cyfrowym odczytem i wolno poruszającymi się łożyskami kulkowymi, których używa ich produkt.

Obraz
Obraz

Krok 1: Narzędzia i materiały

Narzędzia i materiały
Narzędzia i materiały
Narzędzia i materiały
Narzędzia i materiały
Narzędzia i materiały
Narzędzia i materiały
Narzędzia i materiały
Narzędzia i materiały

Materiały:

  • 13 x 13 x 2 cale sklejka/płyta wiórowa (skleiłem ze sobą 3 kawałki drewna)
  • 13x13 cali. Płyta pilśniowa
  • Arduino Nano
  • Zegar czasu rzeczywistego
  • Silniki krokowe i sterowniki
  • Czujniki Halla
  • Magnesy
  • Przewód zasilający
  • Zasilacz
  • Wtyczka
  • Różne śruby maszynowe
  • Różne wkręty do drewna
  • Części drukowane 3D (ostatni krok)
  • Fornir (powierzchnia 12 x 12 cali, długi pasek 40 cali)
  • Lakier w sprayu
  • Czarna farba w sprayu

Narzędzia:

  • drukarka 3d
  • Kompas
  • Nóż X-acto
  • Klej
  • Zaciski
  • Przyrząd do wycinania okręgów
  • Brzeszczot
  • Szlifierka tarczowa
  • Zacisk z grzechotką
  • Dłuto
  • Linijka
  • Sander
  • Wiertła
  • Wkrętaki
  • Lutownica
  • Pistolet na gorący klej

Krok 2: Sklej drewnianą ramę

Sklej razem drewnianą ramę
Sklej razem drewnianą ramę
Sklej razem drewnianą ramę
Sklej razem drewnianą ramę
Sklej razem drewnianą ramę
Sklej razem drewnianą ramę
Sklej razem drewnianą ramę
Sklej razem drewnianą ramę

Sklej ze sobą trzy kawałki drewna, które stworzą ramę zegara. Użyłem odzyskanej płyty wiórowej ze starej ramy łóżka.

Krok 3: Wytnij ramkę za pomocą przyrządu do wycinania okręgów

Wytnij ramkę za pomocą przyrządu do cięcia po okręgu
Wytnij ramkę za pomocą przyrządu do cięcia po okręgu
Wytnij ramkę za pomocą przyrządu do cięcia po okręgu
Wytnij ramkę za pomocą przyrządu do cięcia po okręgu
Wytnij ramkę za pomocą przyrządu do cięcia po okręgu
Wytnij ramkę za pomocą przyrządu do cięcia po okręgu
Wytnij ramkę za pomocą przyrządu do cięcia po okręgu
Wytnij ramkę za pomocą przyrządu do cięcia po okręgu

Zaznacz środek deski i przymocuj do przyrządu do wycinania okręgów. Wytnij pięć kółek o następujących średnicach:

  • 12 cali
  • 11 1/4 cala
  • 9 1/4 cala
  • 7 1/4 cala
  • 5 3/8 cala

Krok 4: Wydrukuj i złóż koła zębate

Drukuj i montuj koła zębate
Drukuj i montuj koła zębate
Drukuj i montuj koła zębate
Drukuj i montuj koła zębate

Koła zębate są podzielone na segmenty, dzięki czemu można je wydrukować na małej drukarce i połączyć. Wszystkie części zostały wydrukowane z ABS, aby wspomóc proces utrwalania pokazany w następnym kroku. Przeszlifuj wszystkie krawędzie i powierzchnie części.

Wydrukuj następujące ilości części znalezionych w kroku 22:

  • 1-godzinny magnes segmentu pierścienia zębatego
  • 6-godzinny segment pierścienia zębatego Basic
  • 1-godzinny montaż krokowy segmentu pierścienia ustalającego
  • 6-godzinny segment pierścienia ustalającego Basic
  • 1-godzinny uchwyt czujnika Halla
  • 1-minutowy magnes segmentu koła zębatego
  • 7 - Podstawowy segment pierścienia minutowego
  • 1-minutowy montaż krokowy segmentu pierścienia ustalającego
  • 6-minutowy segment pierścienia ustalającego Basic
  • 1-minutowy uchwyt czujnika Halla
  • 2 - Przekładnia czołowa
  • 1 - Uchwyt do elektroniki

Krok 5: „Sklej” sekcje razem

Obraz
Obraz
Obraz
Obraz
Obraz
Obraz

W szklanej butelce z odrobiną acetonu rozpuść uszkodzone wydruki, stary materiał podporowy itp. Pomaluj mieszaninę acetonu na każdym szwie, aby połączyć ze sobą kawałki. Po utwardzeniu przeszlifuj każdy szew na płasko.

Krok 6: Wytnij reliefy w ramce

Wytnij płaskorzeźby w ramce
Wytnij płaskorzeźby w ramce
Wytnij płaskorzeźby w ramce
Wytnij płaskorzeźby w ramce
Wytnij płaskorzeźby w ramce
Wytnij płaskorzeźby w ramce

Umieścić koła koronowe i pierścienie ustalające w ramie i wyciąć reliefy dla silników krokowych. Zmierzyłem i wyciąłem wewnętrzny pierścień zbyt duży, więc dodałem go do rozmiaru za pomocą oklejania krawędzi klonu, które miałem w sklepie.

Krok 7: Wytnij odstęp dla czujników Halla

Odstęp cięcia dla czujników Halla
Odstęp cięcia dla czujników Halla
Odstęp cięcia dla czujników Halla
Odstęp cięcia dla czujników Halla
Odstęp cięcia dla czujników Halla
Odstęp cięcia dla czujników Halla

Wytnij otwór przelotowy w pierścieniu wewnętrznym na czujnik minutowy z efektem Halla i szczelinę na czujnik z efektem Halla na godzinę. Do wycięcia tych prześwitów użyłem dłuta, pilnika i małej piły ręcznej.

Krok 8: Przyklej pierścień zewnętrzny

Klej Zewnętrzny Pierścień
Klej Zewnętrzny Pierścień

Przyklej i taśmą zewnętrzny pierścień wielkości minutowego pierścienia ustalającego.

Krok 9: Wytnij śruby regulacyjne czujnika Halla

Śruby regulacyjne czujnika hallotronowego cięcia
Śruby regulacyjne czujnika hallotronowego cięcia

Śruby maszynowe docinaj piłą do metalu, aby były nieco dłuższe niż grubość pierścienia ustalającego i uchwytu czujnika Halla. Wytnij szczelinę w gwincie, aby można było ją wyregulować od gwintowanego końca za pomocą płaskiego śrubokręta.

Krok 10: Przyklej pierścienie do płyty pilśniowej

Przyklej pierścienie do płyty pilśniowej
Przyklej pierścienie do płyty pilśniowej
Przyklej pierścienie do płyty pilśniowej
Przyklej pierścienie do płyty pilśniowej
Przyklej pierścienie do płyty pilśniowej
Przyklej pierścienie do płyty pilśniowej

Wytnij okrąg z płyty pilśniowej nieco większy niż zewnętrzny pierścień. Przyklej zewnętrzny i wewnętrzny pierścień do płyty pilśniowej. Użyj minutowego pierścienia ustalającego i koła koronowego, aby umieścić pierścień wewnętrzny. Zwróć większą uwagę niż ja, aby nie przyklejać wewnętrznego pierścienia do tyłu. Obraz drugi pokazuje nowe wycięcie dla czujnika z efektem Halla.

Użyj szlifierki tarczowej, aby przyciąć płytę pilśniową do rozmiaru pierścienia zewnętrznego.

Krok 11: Przyklej wewnętrzny dysk

Klej wewnętrzny dysk
Klej wewnętrzny dysk
Klej wewnętrzny dysk
Klej wewnętrzny dysk

Przyklej dysk wewnętrzny na miejscu za pomocą pierścienia ustalającego godziny i koła zębatego, aby umieścić dysk wewnętrzny.

Krok 12: Dołącz fornir

Dołącz fornir
Dołącz fornir
Dołącz fornir
Dołącz fornir
Dołącz fornir
Dołącz fornir
Dołącz fornir
Dołącz fornir

Wytnij pasek forniru szerszy niż zegar jest głęboki i wystarczająco długi, aby owinąć go wokół zegara (3,14 * średnica zegara, zwróci potrzebną długość. Dodaj cal, aby mieć pewność, że masz wystarczająco dużo.) Dopasuj okleinę na sucho do cięte na długość. Nakładanie dużej ilości kleju na fornir i zaciskanie za pomocą zacisku taśmowego. Pozostaw do wyschnięcia na kilka godzin, aby zapewnić przyczepność.

Krok 13: Przytnij okleinę

Przycinanie forniru
Przycinanie forniru

Za pomocą ostrego dłuta odetnij nadmiar forniru z przodu i z tyłu zegara.

Krok 14: Wytnij fornir

Fornir cięty
Fornir cięty
Fornir cięty
Fornir cięty

Mój fornir miał kilka pęknięć. Aby ułatwić pracę, przykleiłem taśmę malarską, aby ją skleić. Używając noża x-acto w kompasie, wytnij fornir nieco większy niż tarcza zegara.

Krok 15: Przyklej fornir

Klej do forniru
Klej do forniru
Klej do forniru
Klej do forniru

Użyj odciętych pierścieni, aby rozłożyć nacisk na tarczę zegara. Nałóż dużą ilość kleju na stronę bez taśmy forniru. Ułóż ziarno pionowo na tarczy zegara i zastosuj wiele zacisków, dokręcając każdy z nich po trochu na raz. Zapewni to, że okleina nie przesuwa się i ma równomierny nacisk na twarz.

Użyłem kilku płaskich tablic na przedniej stronie zegara i kilku przegród z tyłu.

Krok 16: Piasek i wykończenie

Piasek i wykończenie
Piasek i wykończenie
Piasek i wykończenie
Piasek i wykończenie

Używając papieru ściernego, ostrożnie usuń nadmiar forniru z tarczy zegara i przeszlifuj od ziarnistości 220 do ziarnistości 600.

Nałożyć od 10 do 20 warstw lakieru. To zbuduje powierzchnię, po której będzie się poruszało łożysko kulkowe. Nieuchronnie z powodu kurzu i innych cząstek w powietrzu, myślę, że wzdłuż ścieżki każdego łożyska kulkowego pojawią się linie. Nałożenie większej liczby warstw wykończenia powinno opóźnić to tak długo, jak to możliwe. Ułatwi to również przyszłe renowacje. Zaktualizuję ten krok, jeśli linie pojawią się na moim zegarze.

Krok 17: Zainstaluj zasilanie

Zainstaluj zasilanie
Zainstaluj zasilanie
Zainstaluj zasilanie
Zainstaluj zasilanie

Używając wiertła 27/64 cala, wywierć otwór w dolnej części zegara i wkręć wtyczkę na miejsce.

Krok 18: Złóż elektronikę

Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki
Montaż elektroniki

Dołącz sterowniki krokowe i zegar czasu rzeczywistego do płytki elektronicznej. Musiałem znaleźć sposób na zabezpieczenie Arduino, aby wywiercić otwory i wyciąć szczelinę na opaskę na suwak. Te funkcje zostały dodane do pliku znalezionego w kroku 22.

Krok 19: Przylutuj i połącz elektronikę

Przylutuj i połącz elektronikę
Przylutuj i połącz elektronikę
Przylutuj i połącz elektronikę
Przylutuj i połącz elektronikę
Przylutuj i połącz elektronikę
Przylutuj i połącz elektronikę

Zgodnie ze schematem blokowym, zlutuj wszystkie komponenty razem. Przyklej pierścienie na gorąco i zabezpiecz również zabłąkane druty gorącym klejem.

Obraz
Obraz

Krok 20: Płyta tylna

Tylna rejestracja
Tylna rejestracja
Tylna rejestracja
Tylna rejestracja
Tylna rejestracja
Tylna rejestracja

Utwórz tylną płytkę, wycinając kolejny okrąg o 1/2 cala większy niż tarcza zegara i pierścień o wewnętrznej średnicy takiej samej jak tył zegara. Przyklej pierścień i kółko razem z kilkoma zaciskami sprężynowymi.

Po wyschnięciu narysuj linię o 1/8 cala większą niż pierścień wewnętrzny i przytnij na wymiar za pomocą piły taśmowej lub szlifierki tarczowej.

Wytnij szczelinę o długości 1 cala o szerokości 1/4 cala w górnej części tylnej części za pomocą frezarki lub wierteł. Pogłębić cztery otwory, aby przymocować tył do ramy zegara.

Nałóż czarną farbę w sprayu i przymocuj do zegara po wyschnięciu.

Krok 21: Kod Arduino

Kod arduino jest komentowany tak dobrze, jak to możliwe. Pamiętaj, że nie jestem programistą, mam minimalne doświadczenie w arduino (bądź miły). Kod działa w sposób ciągły sprawdzając, czy aktualny czas jest zgodny z „Czasem resetowania”. Ponieważ nie mogłem wymyślić sposobu na przełożenie aktualnego czasu na kroki, poprawia się on tylko raz dziennie (domyślnie o północy). O północy koła zębate obracają się do pozycji północy, a następnie poczekaj, aż 00:01 przeniesie się do tej godziny, a następnie kontynuuje stamtąd. W obecnej formie zegar traci tylko około 5 sekund w ciągu 24 godzin.

Będziesz potrzebował zainstalowanych bibliotek Stepper i RTClib.

Wiem, że kod może zostać zoptymalizowany przez kogoś, kto ma większe doświadczenie niż ja. Jeśli sprostasz wyzwaniu, odtwórz ten projekt dla siebie i podziel się swoją wiedzą.

#włączać

#dołącz "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // ilość kroków w jednym obrocie silnika krokowego 28BYJ-48 Stepper hourHand(oneRotation, 3, 5, 4, 6); Krokowa minutaRęka (jeden obrót, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Opóźnienie czasowe dla szybkości zegara. int setOpóźnienie1 = 168; int setOpóźnienie2 = 166; int setOpóźnienie3 = 5; // Aktualny czas na matematykę. liczba godzin = 0; pływak mn = 0; zmiennoprzecinkowy sc = 0; // Ustaw godzinę, aby zresetować zegar (format 24-godzinny). int godzina resetowania = 0; int minuta resetowania = 0; // Zmienne do ustawiania poprawnego czasu podczas uruchamiania i resetowania. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; Test godziny pływania = 0; test minut pływających = 0; void setup() { Serial.begin(115200); // Ustaw zegar czasu rzeczywistego i zresetuj czujniki efektu Halla. pinMode(hourStopSensor, INPUT_PULLUP); pinMode(minuteStopSensor, INPUT_PULLUP); rtc.początek(); // Odkomentuj wiersz poniżej, aby ustawić czas. // rtc.adjust(DateTime(2020, 2, 19, 23, 40, 30)); // rtc.adjust(DataCzas(F(_DATA_), F(_CZAS_))); // Ustaw maksymalną prędkość silników krokowych. godzinaHand.setSpeed(15); minut. Prędkość.zestawu minut (15); // Pętla, aż wskazówka minutowa i godzinowa znajdą się w południe while (digitalRead(hourStopSensor) == LOW || digitalRead(minuteStopSensor) == LOW) { if (digitalRead(hourStopSensor) == LOW) { hourHand.step(2); } inny { opóźnienie(3); } if (digitalRead(minuteStopSensor) == LOW) { minuteHand.step(3); } inny { opóźnienie(4); } } while (digitalRead(hourStopSensor) != LOW || digitalRead(minuteStopSensor) != LOW) { if (digitalRead(hourStopSensor) != LOW) { hourHand.step(2); } inny { opóźnienie(3); } if (digitalRead(minuteStopSensor) != LOW) { minuteHand.step(3); } inny { opóźnienie(4); } } // Pobierz aktualny czas DateTime now = rtc.now(); hr = teraz.godzina(); mn = teraz.minuta(); sc = teraz.druga(); // Zmień na 12-godzinny format if (hr >= 12) { hr = hr - 12; } // Zobacz, jaka ręka musi przejść dalej przez twarz i użyj tej odległości //, aby odpowiednio dostosować ustawiony czas. godzinaTest = godz / 12; minutaTest = mn / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minutaTest; } // Ustaw aktualną godzinę setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Ustaw bieżącą minutę setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Sprawdź, która ręka będzie wymagała większej liczby kroków i ustaw ją na najdłuższą liczbę kroków dla pętli for. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); } inny { opóźnienie(3); } if (i < setTimeStepMinute) { minuteHand.step(3); } inny { opóźnienie(4); } } // Ustaw zegar w trybie RPM hourHand.setSpeed(1); minutaHand.setSpeed(1); } void loop() { // Uruchom pętlę zegara. for (int i = 0; i < 22; i++) { minutaRęka.krok(1); opóźnienie(ustawOpóźnienie1); // Test czasu resetu, jeśli gotowy do resetu, przerwij. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { przerwa; } } opóźnienie(setDelay3); for (int i = 0; i < 38; i++) { hourHand.step(1); opóźnienie(ustawOpóźnienie1); // Test czasu resetu, jeśli gotowy do resetu, przerwij. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { przerwa; } for (int i = 0; i <20; i++) { minutaRęka.krok(1); opóźnienie(ustawOpóźnienie2); // Test czasu resetu, jeśli jest gotowy do resetu, przerwij. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { przerwa; } } } // Resetowanie zegara w czasie resetowania if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { // Zmiana szybkości zegara hourHand.setSpeed(10); minut. Prędkość.ustaw.ręcznej(10); // Pętla, aż wskazówka minutowa i godzinowa dotrze do południa. while (digitalRead(hourStopSensor) == LOW || digitalRead(minuteStopSensor) == LOW) { if (digitalRead(hourStopSensor) == LOW) { hourHand.step(2); } inny { opóźnienie(3); } if (digitalRead(minuteStopSensor) == LOW) { minuteHand.step(3); } inny { opóźnienie(4); } } while (digitalRead(hourStopSensor) != LOW || digitalRead(minuteStopSensor) != LOW) { if (digitalRead(hourStopSensor) != LOW) { hourHand.step(2); } inny { opóźnienie(3); } if (digitalRead(minuteStopSensor) != LOW) { minuteHand.step(3); } inny { opóźnienie(4); } } // Poczekaj tutaj, aż minie czas resetowania. while (rtc.now().minute() == resetMinute) { delay(1000); } // Pobierz aktualny czas DateTime now = rtc.now(); hr = teraz.godzina(); mn = teraz.minuta(); sc = teraz.druga(); // Zmień na 12-godzinny format if (hr>= 12) { hr = hr - 12; } // Zobacz, jaka ręka musi przejść dalej przez twarz i użyj tej odległości //, aby odpowiednio dostosować ustawiony czas. godzinaTest = godz / 12; minutaTest = mn / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minutaTest; } // Ustaw aktualną godzinę setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Ustaw bieżącą minutę setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Sprawdź, która ręka będzie wymagała większej liczby kroków i ustaw ją na najdłuższą liczbę kroków dla pętli for. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); } inny { opóźnienie(3); } if (i < setTimeStepMinute) { minuteHand.step(3); } inny { opóźnienie(4); } } godzinaHand.setSpeed(1); minutaHand.setSpeed(1); } }

Krok 22: Pliki STL

Będziesz musiał wydrukować następujące ilości plików:

  • 1-godzinny magnes segmentu pierścienia zębatego
  • 6-godzinny segment pierścienia zębatego Basic
  • 1-godzinny montaż krokowy segmentu pierścienia ustalającego
  • 6-godzinny segment pierścienia ustalającego Basic
  • 1-godzinny uchwyt czujnika Halla
  • 1-minutowy magnes segmentu koła zębatego
  • 7 - Podstawowy segment pierścienia zębatego minutowego
  • 1-minutowy montaż krokowy segmentu pierścienia ustalającego
  • 6-minutowy segment pierścienia ustalającego Basic
  • 1-minutowy uchwyt czujnika Halla
  • 2 - Przekładnia czołowa
  • 1 - Uchwyt do elektroniki

Krok 23: Pliki Solidworks

Są to oryginalne pliki Solidworks używane do tworzenia STL znalezione w poprzednim kroku. Zapraszam do edycji i zmiany moich plików według własnego uznania.

Krok 24: Wniosek

Ten zegar okazał się lepszy, niż się spodziewałem. Mając minimalne doświadczenie z Arduino, jestem zadowolony z tego, jak się okazało i jak dokładne jest. Wygląda świetnie i działa tak, jak się spodziewałem.

Zalecana: