Mündəricat:
- Təchizat
- Addım 1: 3D çaplı hissələr
- Addım 2: CNC Stepper Motor Qalxanının hazırlanması
- Addım 3: Step Motor Dəyişiklikləri
- Addım 4: RTC və açarları əlavə edin
- Addım 5: Şematik
- Addım 6: Taxta sürüşmələrin hazırlanması
- Addım 7: Nömrələrin Lazerlə Oyulması
- Addım 8: Taxta Sürgülərə Rack Gears əlavə edin
- Addım 9: Saatı yığmaq
- Addım 10: Proqram təminatı
- Addım 11: Əməliyyat
- Addım 12: Nəticə
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Maraqlı saatlar tərtib etməkdən və qurmaqdan zövq alıram və həmişə vaxtı göstərmək üçün unikal yollara baxıram. Bu saat nömrələri olan 4 şaquli slayddan istifadə edir. Dörd pilləli mühərrik slaydları elə yerləşdirir ki, saatın ekranında düzgün vaxt göstərilsin. Stepperlər bir CNC Shield ilə bir Arduino Uno istifadə edərək idarə olunur. Vaxt saxlamaq üçün Adafruit PCF8523 RTC lövhəsindən istifadə edir. Kassa və mexaniki cəhətlər hamısı 3D çapdır və nömrələri əks etdirən slaydlar lazerlə həkk olunmuş nömrələrlə ağacdan hazırlanmışdır. Slaydları yuxarı və aşağı hərəkət etdirmək üçün taxta slaydların arxasına quraşdırılmış 3d çaplı rack və pinion dişlilərdən istifadə etdim. Rack və pinion sistemi, Thingiverse -də Trigubovich tərəfindən hazırlanan bu xətti hərəkət cihazından əldə edilmişdir.
Gizli versiya
Normal rəqəmlərdən istifadə edərək iki versiyanı və cfb70 -in Şifrəli Təqvim Təlimatına əsaslanan şifrəli bir versiyanı hazırladım.
Təchizat
- Ardunio Uno
- CNC Motor Qalxanı
- A4988 Motor Sürücü (ədəd 4)
- Adafruit PCF8523 RTC
- Stepper 28BYJ 5V (ədəd 4)
- Güc Konnektoru - Namlu növü
- Pushbutton Switch (ədəd 2)
- Enerji təchizatı 12v
- 3 mm bolt və qoz -fındıq
- RTC lövhəsi üçün 2 mm vintlər (ədəd 2)
- 1.5/4 ayaq 4/4 sərt ağac (Birdseye Maple istifadə etdim)
Addım 1: 3D çaplı hissələr
Ümumilikdə 14 - 3D çaplı hissələr var. PLA istifadə edərək Prusa i3 Mk3 printerində çap etdim.
- Motor Taşıyıcısı
- Pinion Gears (ədəd 4)
- Rack Gears (ədəd 7)
- Arxa qapaq
- Bezel
Sürgülü raflar mənim 3d printer yatağıma sığmayacaq qədər uzun idi, buna görə onları yarıya böldüm və iki yarını (A və B) bir -birinə bağlamaq üçün bir göyərçin oynağı istifadə etdim.
- Raf Slaydı A - 500 mm (2 ədəd)
- Rack Slide B - 500mm (ədəd 2)
- Raf Slaydı A - 300 mm (ədəd 2)
- Rəf Slaydı B - 300 mm
Slayd Saatı üçün STL sənədlərini https://www.thingiverse.com/thing:4627764 ünvanında tapa bilərsiniz.
Addım 2: CNC Stepper Motor Qalxanının hazırlanması
A4988 Stepper Sürücüləri əlavə olunur
CNC Stepper Motor Shield müxtəlif növ step sürücülərindən istifadə edə bilər. Pololu A4988 Stepper Sürücülərindən istifadə edirəm. Tam addımlardan istifadə edərək motorları idarə edirəm.
Quraşdırıldıqdan sonra mühərriklərə gedən cərəyanı məhdudlaşdırmaq üçün Vref gərginliyini təyin etməyi unutmayın. Vref -i.15vA Motoru Müstəqil Olmaq üçün Ayarladım
Motor qalxanı 4 mühərriki dəstəkləyir, "A" mühərriki əsas X, Y və ya Z mühərriklərindən birini təqlid edən ikinci bir motor kimi idarə oluna bilər və ya müstəqil bir motor ola bilər. Slayd Saatı üçün müstəqil olmalı və Arduinodan D12 və D13 tərəfindən idarə olunacaq.
Müstəqil olmaq üçün A. Stp və A. Dir pinlərini D12 və D13 -ə bağlamaq üçün yuxarıdakı fotoşəkildə göstərildiyi kimi quraşdırılmalıdır.
Step Motor Gücü
5V pilləli mühərriklər əslində 12V istifadə olunur. Bu 12V təchizatı CNC Motor Shield motor güc konnektoruna bağlıdır.
Arduino Uno -nu gücləndirir
Arduino Uno üçün güc, CNC Motor Qalxanına qoşulmuş 12V təchizatı ilə təmin edilir. Qalxandakı Vin pimi açıqdır və qalxanın başlığına bağlı deyil. Beləliklə, 12V pozitiv terminaldan gedən bir tel bağlandı və yuxarıdakı fotoda göstərildiyi kimi qalxanın Vin pininə lehim olundu.
Addım 3: Step Motor Dəyişiklikləri
28BYJ Stepper mühərrikləri bipolyar mühərriklərdir və 5 pinli konnektora malikdir, CNC Motor Shield birqütblü mühərrikləri idarə etmək üçün nəzərdə tutulmuşdur və mühərrikləri birləşdirmək üçün 4 pinli başlıqlara malikdir. Stepperləri birbaşa qalxana bağlamaq üçün step konnektorunun naqillərini dəyişdirdim. Xüsusilə 2 nömrəli (çəhrayı) və 3 nömrəli (sarı) telləri dəyişdirmək lazımdır. Bunu etmək üçün kiçik bir tornavida istifadə edərək konnektorun korpusundakı teli tutan çubuğu itələdim və korpusdan çıxarıb ikisini də dəyişdirdim. Daha sonra dəyişdirildiyini bilmək üçün bağlayıcıya bir işarə qoydum.
Motor fişini qalxana bağlayarkən qırmızı tel istifadə edilmir, buna görə də fişi başlığın üstünə yerləşdirdim ki, yalnız 1-4 sancaqlar bağlansın və qırmızı pin 5 üzsün.
Sürüşmə Saatı mühərrikləri aşağıdakı kimi bağlanır:
X oxu = Dəqiqə SürgüY oxu = On Dəqiqə SürgüZ oxu = Saat SürgüsüA oxu = On Saatlıq Sürgü
Addım 4: RTC və açarları əlavə edin
Real vaxt saatı bağlantısı
Adafruit PFC8523 Real Time Clock, Arduino ilə əlaqə yaratmaq üçün I2C istifadə edir, lakin CNC Motor Shield Arduino üzərindəki I2C SDA və SCL pinlərinə qoşulmur. Bunu həll etmək üçün pin bağlayıcıları olan iki tel keçiddən istifadə etdim və Arduino lövhəsindəki SDA və SCL başlıq mövqelərinə daxil etdim və sonra qalxanı üstünə quraşdırdım.
Düymə Əlaqələri
İki düymə Arduino üzərindəki A1 və A2 -yə bağlıdır. CNC Motor Shield, bu sancaqları qalxanın kənarındakı bir başlığa gətirir və onlara Hold and Resume adını verir. Anahtarlar bu başlığa bağlıdır.
Addım 5: Şematik
Addım 6: Taxta sürüşmələrin hazırlanması
Slaydlar üçün 4/4 Birdseye Maple aldım. Düzgün qalınlığa çatmaq üçün taxtanı yarıya böldüm və sonra baraban zımpara ilə bütün ilkin lövhələr üçün 3/8 (9,5 mm) vahid qalınlıq yaratdım. Sonra 150 qranitlə zımpara keçidi etdim.
Daha sonra yıxılan lövhələr və aşağıdakı ölçülərə kəsilir.
- Dəqiqə sürüşmə: 500mm x 40mm x 9.5mm
- On dəqiqələr sürüşmə: 300mm x 40mm x 9.5mm
- Saat sürüşmə: 500mm x 40mm x 9.5mm (dəqiqələrlə eyni)
- On Saatlar sürüşmə: 150mm x 40mm x 9.5mm
Addım 7: Nömrələrin Lazerlə Oyulması
Slaydları lazerlə oymadan əvvəl lövhənin yuxarı səthinə mavi rəngli lent çəkdim. Bu, rəqəmlərin kənarında yanma və qalıqların qarşısını almağa kömək edir.
Yataq ölçüsü 24 "x 18" olan 45W Epilog Helix Lazerdən istifadə etdim. Dəqiqələr və saatlar slaydlar 18 -dən çox olduğundan "Slaydların hamısını oyarkən 90* döndərdim. Lazer parametrlərim sürət 13 və güc 90 idi.
İşlənməyə hazırlaşmaq üçün oyulmuş slaydları 150 və 180 qranit zımpara ilə zımparaladım.
Nömrələr üçün.dxf bu layihə üçün Github deposunda tapıla bilərhttps://github.com/moose408/SlideClock
Oymağı bitirdikdən sonra odunu 180 xırda zımparaladım, sonra Qaynadılmış Kətan Yağı (BLO) tətbiq etdim, 10 dəqiqə gözləyib sildim və 24 saat müalicə etməsinə icazə verdim, sonra yenidən 180 grit ilə zımparaladım və başqa bir qat BLO tətbiq etdim və 24 gözlədim. saat, 180 -ə zımpara və Clear Gloss poliuretan tətbiq olunur. Müalicə olunduğundan biri gözəl bir parıltı əldə etmək üçün 180 -dən 600 -ə qədər zımpara ilə zımparaladım.
Addım 8: Taxta Sürgülərə Rack Gears əlavə edin
Raf dişliləri taxta sürüşmələrin arxasına əlavə olunur, həm şaquli, həm də üfüqi olaraq arxa boyunca mərkəzləşdirilir.
- Dəqiqələr və Saatlar üçün 500 mm -lik iki raf yarısının bir -birinə bağlanması lazımdır.
- On Dəqiqələr üçün 300 mm raf yarısından ikisi bir -birinə bağlıdır.
- On Saatlar Slayd üçün 300 mm -lik çarxın iki yarısından birini istifadə edirəm.
Sürgünün arxa tərəfinə baxarkən dişli dişlər sağ tərəfdə olmalıdır.
Addım 9: Saatı yığmaq
Montaj kifayət qədər irəli gedir. Bütün montaj üçün 3 mm altıbucaqlı cıvatalardan istifadə etdim. Aşağıda montaj addımları verilmişdir
- Stepperləri motor daşıyıcısına quraşdırın
- Pinon dişliləri mühərriklərə əlavə edin, onlar boşdur və rəf slaydı ilə yerində saxlanılacaq
-
Arxa qapağa elektronika quraşdırın
- Arduino, lövhəni tutmaq üçün boltlarla arxa və qoz -fındıq ilə bağlanır
- RTC, plastikə 2 mm -lik iki vida istifadə edir
- Güc konnektoru gövdəyə sıxışdırılmışdır
- Şalterlər verilən iki çuxura quraşdırılmışdır.
- Arxa qapağın, motor daşıyıcısının arxasına yapışan, bir tərəfi hər iki tərəfin də qığılcımlarla birləşməsinə imkan verən bir qaraciyər oynağına malikdir. Arxa qapağı möhkəmləndirmək üçün ön tərəfdən 3 mm boltlar vidalanmışdır.
- Çərçivəni əlavə edin
- Rəqəm slaydları yuvalara yerləşdirilir və düz dişlilərin kənarında dayanır. Saata güc tətbiq edildikdə işə başlayacaqlar.
Saatı divara asmaq üçün arxa qapaqda açar delikləri var. STL faylları, test etmək üçün saatı bir masaya və ya iş masasına əlavə etmək üçün istifadə edilə bilən isteğe bağlı bir L-mötərizə daxildir.
Addım 10: Proqram təminatı
Mənbə kodu GitHub -da https://github.com/moose408/SlideClock ünvanında tapılmışdır.
Kitabxanalar
Slayd Saatı, Stan Reifel tərəfindən hazırlanan SpeedyStepper kitabxanasından istifadə edə bilər, Əvvəlcə bir çox insanın istifadə etdiyi kimi AccelStepper kitabxanasından istifadə etməyə çalışdım. Tək bir addım üçün yaxşı işləyirdi, amma eyni zamanda bütün dörd pilləni hərəkət etdirməyə çalışanda yavaşladı. Buna görə SpeedyStepper kitabxanasına keçdim və çox məmnun oldum. Gələcəkdə bütün addım atan ehtiyaclarım üçün bu kitabxanadan istifadə edəcəyəm.
Başlamaq
Başladıqdan sonra kod serial portundakı düyməni basmağı axtarır.
- İstifadəçi bir düyməni basarsa, bütün step motorlarını əl ilə idarə etməyə imkan verən bir ayıklama menyusunu işə salacaq.
- Serial portda heç bir aktivlik yoxdursa, proqram slaydları yerləşdirərək saatı işə salır və sonra cari vaxtı göstərir.
Slaydlara ev sahibliyi
Step motorları istifadə edərkən, proqramın hər bir slaydın fiziki mövqeyini bilməsi üçün onları "ev mövqeyinə" başlamalısınız. Əvvəlcə evin mövqeyini təyin etmək üçün hər bir slayda zal effekti sensorlar və maqnit əlavə etmək niyyətindəydim. Əlavə elektronika tələb olunacaqdı və bir az düşündükdən sonra başa düşdüm ki, maksimum addımlar üçün slaydı yuxarıya doğru axır. Slayd, maksimum addım sayından əvvəl ora çatsa, dişli dişli üzərində sıçrayacaq və mühərriklər dayandıqda, bütün slaydlar həddinin ən üstündəki düz dişli üzərində dayanacaq. Bir az səs -küylüdür və zaman keçdikcə dişli dişlilərdə aşınma yarada bilər, lakin kifayət qədər nadir hallarda problem olmamalıdır.
Addım 11: Əməliyyat
Saatın Başlanması
Saat ilk dəfə qoşulduqda bütün 4 slaydı yerləşdirəcək və sonra cari vaxtı göstərəcək.
Vaxtın təyin edilməsi
Vaxtı təyin etmək üçün saatın altındakı mavi Mod düyməsini 1 saniyə basıb saxlayın. Onlarla saat sürgüsü seçildiyini göstərmək üçün 1/2 yuxarı və aşağı hərəkət edəcək. Zamanı dəyişdirmək üçün sarı Seç düyməsini basın və ya növbəti slayda (saat) keçmək üçün Mod düyməsini basın. Zamana qədər təkrarlayın quruldu və saata başlamaq üçün Mode düyməsini bir dəfə vurun.
Addım 12: Nəticə
Bu dizaynla araşdırıla biləcək bir çox variant var. Bir fikir rəqəmləri hərflərlə əvəz etmək və hava, birja və ya təsdiq kimi məlumatları çatdıran 4 hərfli sözləri göstərmək üçün istifadə etməkdir.
Məsələn, həyat yoldaşım iş vəziyyətini göstərən bir versiya hazırlamağımı istəyir; Məşğul, Pulsuz, Zəng və s. Bu, sadəcə slaydları dəyişdirmək və bir az proqram dəyişdirməklə edilə bilər. İmkanları sonsuzdur.
Remix yarışmasında ikinci mükafat