Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Projektowanie i tworzenie kół zębatych
- Krok 2: Montaż systemu przekładni
- Krok 3: Podłączanie steppera i czujnika
- Krok 4: Elektronika, która tyka zegar
- Krok 5: Programowanie Arduino
- Krok 6: Po raz pierwszy ciesz się dźwiękiem tykającego zegara
Wideo: Zegar z przekładnią planetarną: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
(Stare) mechaniczne mechanizmy zegarowe są niezwykle interesujące i przyjemne do oglądania, ale niestety są prawie niemożliwe do zbudowania samemu. Zegarom mechanicznym brakuje również lekkomyślności precyzyjnej technologii cyfrowej dostępnej obecnie. Ta instrukcja pokazuje sposób na połączenie tego, co najlepsze z obu światów; napędzając mechaniczne wskazówki zegara przez przekładnię planetarną z silnikiem krokowym i Arduino!
Kieszonkowe dzieci
Komponenty ogólne:
- 5mm drewno i arkusz akrylowy
- Śruby M5 (wpuszczane), podkładki i nakrętki
- Elementy dystansowe PCB
- Śruby M3 do silnika krokowego
Elementy elektryczne:
- Sterownik krokowy (użyłem L293d)
- Dowolny typ Arduino
- Zegar czasu rzeczywistego (użyłem DS3231)
- Czujnik Halla (użyłem A3144)
- Magnes neodowy 5 mm
- Przyciski do wprowadzania danych przez użytkownika
- Rezystor 10K
- Kondensator 100uf 25 V
- Gniazdo prądu stałego
- Zasilanie 5V 2A DC
- Bateria do RTC (w moim przypadku cr2032)
Elementy mechaniczne:
- Dowolny typ silnika krokowego 1,8 stopnia/krok z osią 5 mm
- Pasek rozrządu GT2 400mm
- Koło pasowe osi GT2 60 zębów 5mm
- Koło pasowe osi GT2 20 zębów 5mm
- Łożysko 5x16x5 mm (3x)
- Łożysko kołnierzowe 5x16x5 mm (2x)
- Pręt gwintowany M5x50
Krok 1: Projektowanie i tworzenie kół zębatych
Jednym z celów tego projektu było stworzenie jednego silnika napędzającego cały zegar, podobnego do prawdziwego zegara mechanicznego, w którym jeden mechanizm ucieczki napędza cały zegar. Wskazówka minutowa musi jednak wykonać 12 obrotów w czasie, gdy wskazówka godzinowa wykona 1 obrót. Oznacza to, że do napędzania obu rąk jednym silnikiem potrzebna jest przekładnia redukcyjna 1:12. Postanowiłem to zrobić z planetarną skrzynią biegów, dołączony film pięknie wyjaśnia, jak działa ten rodzaj skrzyni biegów.
Następnym krokiem dla mnie było określenie liczby zębów dla różnych kół zębatych, aby uzyskać przełożenie 1:12. Ta strona była bardzo pomocna i zawiera wszystkie potrzebne formuły. Przymocowałem koło słoneczne do wskazówki minutowej, a nośnik planet do wskazówki godzinowej, pozostawiając koło koronowe nieruchome. Zróbmy trochę matematyki!
- S = liczba zębów na kole słonecznym
- R = liczba zębów na kole koronowym
- P = liczba zębów na kole planetarnym
Przełożenie (i) jest określone przez:
i = S/R+S
Zauważ, że liczba zębów na kole planetarnym nie ma w tym przypadku znaczenia dla przełożenia, jednak musimy przestrzegać ogólnego ograniczenia:
P = (R - S)/2
Po chwili zagadek użyłem następujących liczb: S = 10; R = 110; P = 50; Wydaje się, że są na krawędzi tego, co jest możliwe, ponieważ jest bardzo mały prześwit między kołami planetarnymi, ale to działa!
Możesz narysować koła zębate w swoim ulubionym programie CAD, większość z nich ma specjalne wtyczki do kół zębatych. Możesz także po prostu użyć plików dołączonych do tej instrukcji. oczywiście. Zwróć uwagę, że wszystkie koła zębate, chociaż różnią się rozmiarami, mają tę samą podziałkę zębów.
Pomyślałem, że byłoby wspaniale zrobić te koła zębate z 5 mm aluminium i skontaktowałem się z lokalnym sklepem z waterjetem, czy mogliby je dla mnie wyciąć. Normalnie nigdy nie robiłbyś kół zębatych za pomocą przecinaków wodnych, ale są to przekładnie o bardzo niskiej wydajności. Co zaskakujące, zgodzili się spróbować, ale ten plan strasznie się nie powiódł. Części były po prostu za małe dla strumienia wody i zaczęły się poruszać podczas cięcia.
Ta wpadka oznaczała, że nadszedł czas na plan B, więc kupiłem trochę czarnego akrylu o grubości 5 mm i znalazłem miejsce z wycinarką laserową, która nie miała problemu z cięciem moich kół zębatych. Jeśli nie masz dostępnej wycinarki laserowej, prawdopodobnie możesz również użyć drukarki 3D do tych kół zębatych, dołączyłem pliki STL (koło zębate może wymagać podzielenia na 3 części).
Po wycięciu wciskam pasowane łożyska w koła planetarne. Aby uzyskać odpowiednie dopasowanie, wykonałem próbny kawałek akrylu z kilkoma otworami, z których każdy miał nieco większą średnicę (w krokach co 0,05 mm). Po znalezieniu odpowiedniego ustawienia zmieniłem rozmiar otworu w satelitach na to ustawienie. Jest to coś, co różni się w zależności od materiału i typu maszyny, więc zawsze powinieneś to zrobić sam.
Krok 2: Montaż systemu przekładni
Do montażu kół zębatych potrzebna jest rama zegara. Teraz jest to część, w której możesz puścić wodze fantazji, ponieważ kształt ramy jest stosunkowo nieistotny, o ile wszystkie otwory na śruby są we właściwym miejscu. Zdecydowałem się zrobić dużo otworów w tarczy i tylnej płycie, aby podkreślić mechanizm przekładni. Jest to również powód, dla którego nośniki planet i wskazówka minutowa są nieco przezroczyste, ale też wyglądają fajnie!
Do wykonania tych części ponownie użyłem wycinarki laserowej, a ponieważ elementy akrylowe miały grubość 5 mm, wykonałem również elementy drewniane o grubości 5 mm. Wszystkie otwory w tarczy zegarowej i nośniku planetarnym zostały pogłębione, aby pomieścić pasujące śruby.
Oś centralna zegara porusza się w dwóch łożyskach wewnątrz nośników planet. Odkąd zrobiłem tę oś z półki 5mm, jest ona bardzo ciasno spasowana w łożyskach i nie byłem już w stanie rozmontować tych elementów. O wiele łatwiej byłoby po prostu użyć kawałka gwintu M5, ponieważ nie musiałbyś już wycinać własnej nici (jeśli tylko wcześniej się zorientowałem…..). Aby zapobiec obracaniu się koła słonecznego wokół osi, ma on otwór w kształcie litery D, więc oś również musi być zaostrzona w tym kształcie litery D. Kiedy koło słoneczne pasuje do osi, można ją zamontować, nie zapomnij o wspornikach planetarnych, jeśli używasz łożysk kołnierzowych! Sprawdź widok rozstrzelony, aby uzyskać instrukcje montażu.
Kiedy zamontowana jest oś centralna, czas na koła planetarne. Te również potrzebują małych podkładek, podobnie jak oś środkowa, aby zapewnić płynną pracę biegów. Po zamontowaniu wszystkiego na jarzmach satelitów sprawdź, czy satelity i koło słoneczne pracują płynnie.
Środkową część można teraz zamontować w ramie zegara. To żmudna praca, ale przyklejenie śrub przez przednią płytę i przyklejenie ich na miejscu bardzo pomaga. Przydatne może być również podniesienie przedniej płyty, aby zrobić miejsce na wskazówkę minutową. Zdjęcia pokazują, że umieściłem sześć małych kawałków papieru między pierścieniem zębatym a tylną płytą, aby dać trochę luzu na koła zębate. Podczas wkładania nośnika planetarnego upewnij się, że tarcze są skierowane w rozsądnym miejscu (jeśli wskazówka minutowa wskazuje 12, wskazówka godzinowa nie powinna znajdować się pomiędzy dwiema godzinami przykładu)
Krok 3: Podłączanie steppera i czujnika
Teraz, gdy mamy mechanizm zębaty, który prawidłowo napędza wskazówki, nadal musimy poprawnie napędzać mechanizm zębaty. Można stosować różne typy silników elektrycznych, wybrałem silnik krokowy, ponieważ może on wykonywać precyzyjne ruchy bez stałych czujników sprzężenia kątowego. Silnik krokowy może również wydawać prawdziwy dźwięk „kliknięcia”, który świetnie nadaje się do półmechanicznego zegara!
Zwykły silnik krokowy może wykonać 200 kroków na obrót, co przekłada się na 200 kroków na godzinę, jeśli podłączymy go do wskazówki minutowej. Oznaczałoby to interwał 18 sekund na krok, który jeszcze nie brzmi jak tykający zegar. Dlatego użyłem transmisji 1:3 między silnikiem krokowym a wskazówkami minutowymi, więc silnik krokowy musi wykonać 600 kroków na godzinę. Korzystając z trybu pół kroku, można to zwiększyć do 1200 kroków na godzinę, co odpowiada jednemu krokowi na 3 sekundy. Brzmi lepiej!
Jednym z problemów z silnikami krokowymi jest to, że nigdy nie wiesz, gdzie się znajdują, gdy włączasz Arduino. Dlatego wszystkie drukarki 3D mają ograniczniki, dzięki czemu możesz przenieść drukarkę do znanej pozycji, a następnie kontynuować od tego punktu. Jest to również potrzebne w przypadku zegara, tylko ogranicznik końcowy nie zadziała, ponieważ zegar powinien wykonywać ciągłe obroty. Aby zrealizować to wykrywanie położenia, użyłem czujnika z efektem Halla A3144, który wykrywa magnes (sprawdź polaryzację!….) przymocowany do nośnika planety. Służy do przesuwania rąk do określonej pozycji przy starcie, po czym mogą przejść do wymaganego czasu.
Montaż jest bardzo prosty; Przymocuj silnik krokowy do tylnej płyty, pozostawiając lekko poluzowane śruby. Następnie możesz zamontować małe koło pasowe na osi silnika krokowego i sprawdzić, czy pasek rozrządu biegnie prosto. Teraz możesz przesunąć silnik krokowy, aby wyregulować napięcie paska rozrządu. Pasek rozrządu potrzebuje trochę luzu, aby upewnić się, że nie obciążasz zębatek. Pobaw się tym ustawieniem, aż będziesz zadowolony, a następnie dokręć całkowicie śruby silnika krokowego.
Czujnik z efektem Halla jest przyklejony. Najlepiej najpierw przylutować trzy przewody do czujnika, upewniając się, że każda noga czujnika jest obkurczona termokurczliwie, aby nie mogły się nawzajem zwierać. Po przylutowaniu czujnik można wkleić na miejsce. Tak naprawdę nie ma znaczenia, która strona jest do góry, o ile nie przyczepiłeś jeszcze magnesu. Po przyklejeniu czujnika podłącz go do Arduino lub małego obwodu LED, aby sprawdzić, czy działa. (UWAGA: czujnik efektu Halla działa tylko wtedy, gdy linie pola magnetycznego idą we właściwym kierunku). Korzystając z tego obwodu testowego, sprawdź, jak magnes powinien być przyklejony. Gdy masz absolutną pewność, która strona magnesu powinna być skierowana w stronę czujnika, przyklej magnes na miejscu.
Krok 4: Elektronika, która tyka zegar
Możesz użyć bardzo prostego kodu Arduino, który wykonuje pół kroku z silnikiem, a następnie zajmuje 3000 milisekund opóźnienia do następnego kroku. To by zadziałało, ale nie jest zbyt precyzyjne, ponieważ wewnętrzny zegar Arduino nie jest ultra dokładny. Po drugie, Arduino za każdym razem zapominało o czasie, gdy traciło moc.
Aby śledzić czas, najlepiej jest używać zegara czasu rzeczywistego. Te rzeczy to specjalnie zaprojektowane chipy z zapasową baterią, które dokładnie śledzą czas. Do tego projektu wybrałem DS3231 RTC, który może komunikować się z Arduino przez i2c, co ułatwia okablowanie. Po prawidłowym ustawieniu czasu na jego chipie nigdy nie zapomni, która jest godzina (o ile w baterii cr2032 pozostało trochę soku). Sprawdź tę stronę internetową, aby uzyskać wszystkie szczegóły dotyczące tego modułu.
Napęd silnika krokowego odbywa się za pomocą sterownika silnika L293d. Niektóre bardziej zaawansowane sterowniki silników krokowych wykorzystują sygnał PWM do mikrokroków i ograniczania prądu. Ten sygnał PWM może wywoływać irytujący dźwięk piszczenia, z którym każdy producent jest zaznajomiony (zwłaszcza jeśli posiadasz drukarkę 3D). Ponieważ ten zegar ma stać się częścią Twojego wnętrza, nieprzyjemne odgłosy nie są pożądane. Dlatego zdecydowałem się użyć sterownika silnika low-tech l293d, aby upewnić się, że mój zegar jest cichy (poza krokami co 3 sekundy, ale to naprawdę przyjemne!). Sprawdź tę stronę internetową, aby uzyskać szczegółowy opis układu l293d. Zauważ, że uruchamiam silnik krokowy przy 5 V, co obniża zużycie energii i temperaturę silnika krokowego.
Jak wspomniano wcześniej, używam czujnika z efektem Halla do wykrywania magnesu przyklejonego do nośnika planety. Zasada działania czujnika jest bardzo prosta, zmienia stan, gdy magnes znajduje się wystarczająco blisko. W ten sposób Arduino może wykryć cyfrowy wysoki lub niski poziom, a tym samym wykryć, czy magnes jest blisko. Sprawdź tę stronę internetową, która pokazuje, jak podłączyć czujnik i pokazuje prosty kod używany do wykrywania magnesów.
Na koniec dodałem 4 przyciski do wprowadzania danych przez użytkownika na płytce drukowanej. Wykorzystują wewnętrzne rezystory podciągające Arduino, aby uprościć okablowanie. Moja płytka drukowana ma również nagłówki w konfiguracji Uno, więc mogę dodać osłony Arduino dla ewentualnych rozszerzeń (do tej pory tego nie robiłem).
Najpierw przetestowałem wszystko na swojej płytce prototypowej, a następnie zaprojektowałem i zamówiłem niestandardową płytkę drukowaną do tego projektu, ponieważ wygląda niesamowicie! Możesz również zamontować płytkę drukowaną z tyłu zegara, jeśli nie chcesz na nią patrzeć.
Pliki Gerber do PCB można pobrać z mojego dysku, Instructables z jakiegoś powodu nie pozwala mi ich przesłać. Użyj tego linku do mojego dysku Google.
Krok 5: Programowanie Arduino
Podstawowy kod dla Arduino jest w rzeczywistości bardzo prosty. Dołączyłem schemat, który wizualizuje, co dzieje się wewnątrz Arduino i jak Arduino łączy się z innymi urządzeniami. Użyłem kilku bibliotek, aby uprościć kodowanie.
- Accelstepper -> obsługuje sekwencję kroków silnika krokowego, pozwala wydawać intuicyjne polecenia, takie jak: Stepper.runSpeed() lub Stepper.move(), które pozwalają poruszać się odpowiednio z określoną prędkością lub do określonej pozycji.
- Przewód -> jest potrzebny do komunikacji i2c, nawet przy użyciu RTClib
- RTClib -> obsługuje komunikację między Arduino a RTC, pozwala wydawać intuicyjne polecenia, takie jak rtc.now(), który zwraca aktualny czas.
- OneButton -> Obsługuje dane wejściowe przycisku, wykrywa naciśnięcia, a następnie uruchamia wstępnie określoną pustkę, aby coś zrobić. Może wykrywać pojedyncze, podwójne lub długie naciśnięcia.
Podczas pisania kodu dla zegara bardzo ważne jest, aby unikać zmiennych, które stale rosną. Ponieważ kod Arduino będzie działał 24 godziny na dobę, 7 dni w tygodniu, zmienne te szybko staną się coraz większe i ostatecznie spowodują przepełnienie. Na przykład silnik krokowy nigdy nie otrzymuje polecenia przejścia do określonej pozycji, ponieważ ta pozycja będzie się zwiększać z czasem. Zamiast tego silnik krokowy otrzymuje polecenie wykonania określonej liczby kroków w określonym kierunku. W ten sposób nie ma zmiennej pozycji, która rośnie w czasie.
Przy pierwszym podłączeniu RTC musisz ustawić czas chipa, istnieje fragment kodu, który możesz odkomentować, który ustawia czas RTC równy czasowi komputera (czas w momencie kompilacji kodu). Zwróć uwagę, że gdy pozostawisz to bez komentarza, czas RTC zostanie za każdym razem zresetowany do czasu, w którym kompilowałeś kod. Odkomentuj to, uruchom go raz, a następnie skomentuj ponownie.
Dołączyłem mój kod do tego Instructable, dokładnie go skomentowałem. Możesz go przesłać bez żadnych zmian lub sprawdzić i zobaczyć, co myślisz!
Krok 6: Po raz pierwszy ciesz się dźwiękiem tykającego zegara
Po podłączeniu całej elektroniki i wgraniu kodu to już efekt!
Podstawowa konstrukcja tego zegara jest bardzo prosta i może być wykonana w wielu różnych kształtach i rozmiarach. Ponieważ na pokładzie znajduje się Arduino, możesz również łatwo dodać dodatkowe funkcje. Ustaw alarm, pozwól zegarowi włączyć ekspres do kawy o określonej godzinie, łączność z Internetem, fajne tryby demonstracyjne, które podkreślają ruch mechaniczny, aby pokazać swój projekt innym i wiele więcej!
Jak mogłeś zauważyć w tym Instruktażowym, musiałem rozebrać mój zegar, aby napisać ten Instruktaż. Chociaż niefortunnie dla tego Instructable mogę przynajmniej zagwarantować, że projekt działa bardzo dobrze na dłuższą metę, ponieważ ten zegar tyka od ponad 3 lat w moim salonie bez żadnych problemów!
Daj mi znać w komentarzach, jeśli podoba Ci się ten Instruktaż, to pierwszy raz, kiedy go piszę. Również jeśli masz jakieś wskazówki lub pytania, po prostu wyślij mi wiadomość. I mam nadzieję, że pewnego dnia zainspirowałem kogoś do zbudowania półmechanicznego zegara!
I nagroda w Konkursie Zegarów
Zalecana:
Zegar WiFi, zegar i stacja pogodowa, sterowanie Blynk: 5 kroków (ze zdjęciami)
Zegar WiFi, timer i stacja pogodowa, sterowanie Blynk: jest to zegar cyfrowy Morphing (dzięki Hari Wiguna za koncepcję i kod morfingu), jest to również zegar analogowy, stacja raportowania pogody i minutnik kuchenny. Jest kontrolowany w całości przez Aplikacja Blynk na smartfonie przez Wi-Fi.Aplikacja umożliwia
ESP8266 Zegar sieciowy bez zegara RTC - Nodemcu NTP Zegar bez RTC - PROJEKT ZEGAR INTERNETOWY: 4 kroki
ESP8266 Zegar sieciowy bez zegara RTC | Nodemcu NTP Zegar bez RTC | PROJEKT ZEGARA INTERNETOWEGO: W projekcie będzie wykonywany projekt zegara bez RTC, będzie pobierał czas z internetu za pomocą wifi i wyświetli go na wyświetlaczu st7735
Jak naprawić/wskrzesić śrubokręt litowo-jonowy IXO Bosch Przekładnia planetarna: 5 kroków (ze zdjęciami)
Jak naprawić/wskrzesić śrubokręt litowo-jonowy IXO Przekładnia planetarna Bosch: W tej instrukcji pokażę ci, jak naprawić przekładnię planetarną w śrubokręcie litowo-jonowym model IXO firmy Bosch. Moje poszukiwania w WWW znalazły tylko instrukcje naprawy, jak wymienić baterię. To nie był mój przypadek. Problem z moim śrubokrętem
Zegar elektroniczny C51 4 bity - Drewniany zegar: 15 kroków (ze zdjęciami)
C51 4-bitowy zegar elektroniczny - drewniany zegar: W ten weekend miałem trochę wolnego czasu, więc poszedłem dalej i zmontowałem ten 4-bitowy elektroniczny zegar cyfrowy DIY o wartości 2,40 USD, który kupiłem jakiś czas temu od AliExpress
Przekładnia ślimakowa drutu: 6 kroków (ze zdjęciami)
Wire Worm Gear: Zabawny mały projekt, który wykorzystuje twoje zapasowe świąteczne korki:-) Obróć drucianą rączkę, a mechanizm przesuwa się o jeden ząb na raz. Aby obrócić koło zębate o jeden pełny obrót, potrzeba dwunastu obrotów korbką. Ten projekt został pierwotnie opublikowany na robiv