Daftar Isi:
- Perlengkapan
- Langkah 1: Merancang dan Membuat Gears
- Langkah 2: Perakitan Sistem Roda Gigi
- Langkah 3: Menghubungkan Stepper dan Sensor
- Langkah 4: Elektronik yang Membuat Jam Berdetak
- Langkah 5: Memprogram Arduino
- Langkah 6: Nikmati Suara Jam Anda Berdetak untuk Pertama Kalinya
Video: Planetary Gear Clock: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Jam mekanis (lama) sangat menarik dan menyenangkan untuk ditonton, tetapi sayangnya hampir tidak mungkin untuk membuatnya sendiri. Jam mekanis juga tidak memiliki kecerobohan dari teknologi digital presisi yang tersedia saat ini. Instruksi ini menunjukkan cara untuk menggabungkan yang terbaik dari kedua dunia; dengan menggerakkan jarum jam mekanis melalui gearbox planet dengan motor stepper dan Arduino!
Perlengkapan
Komponen umum:
- Kayu 5mm dan lembaran akrilik
- Baut M5 (countersunk), ring dan mur
- kebuntuan PCB
- Sekrup M3 untuk motor stepper
Komponen listrik:
- Driver stepper (saya menggunakan L293d)
- Semua jenis Arduino
- Jam Waktu Nyata (saya menggunakan DS3231)
- Sensor efek hall (saya menggunakan A3144)
- Magnet Neodium 5mm
- Tombol untuk input pengguna
- resistor 10K
- 100uf 25V kapasitor
- soket DC
- Catu daya DC 5V 2A
- Baterai untuk RTC (cr2032 dalam kasus saya)
Komponen mekanis:
- Semua jenis motor stepper 1,8 derajat / langkah dengan poros 5mm
- Sabuk waktu GT2 400mm
- GT2 60 gigi 5mm poros katrol
- GT2 20 gigi 5mm poros katrol
- 5x16x5 mm bantalan (3x)
- Bantalan bergelang 5x16x5 mm (2x)
- Batang berulir M5x50
Langkah 1: Merancang dan Membuat Gears
Salah satu tujuan dari proyek ini adalah memiliki satu motor yang menggerakkan jam lengkap, mirip dengan jam mekanis nyata di mana satu mekanisme pelepasan menggerakkan jam lengkap. Namun jarum menit perlu membuat 12 putaran pada saat jarum jam membuat 1 putaran. Ini berarti gearbox reduksi 1:12 diperlukan untuk menggerakkan kedua tangan dengan satu motor. Saya memutuskan untuk melakukan ini dengan gearbox planet, video yang disertakan dengan indah menjelaskan cara kerja jenis gearbox ini.
Langkah selanjutnya bagi saya adalah menentukan jumlah gigi untuk roda gigi yang berbeda untuk membuat rasio 1:12. Website ini sangat membantu dan berisi semua formula yang dibutuhkan. Saya memasang roda gigi matahari ke jarum menit dan pembawa planet ke jarum jam, membiarkan roda gigi cincin tidak bergerak. Mari kita lakukan sedikit matematika!
- S = jumlah gigi pada sun gear
- R = jumlah gigi pada ring gear
- P = jumlah gigi pada planet gear
Rasio roda gigi (i) ditentukan oleh:
i = S/R+S
Perhatikan bahwa jumlah gigi pada roda gigi planet tidak masalah untuk rasio roda gigi dalam kasus ini, namun kita perlu menghormati batasan umum:
P = (R - S)/2
Setelah beberapa kebingungan saya akhirnya menggunakan angka-angka berikut: S = 10; R = 110; P = 50; Mereka tampaknya berada di tepi dari apa yang mungkin karena ada jarak yang sangat sedikit di antara roda gigi planet, tetapi itu berhasil!
Anda dapat menggambar roda gigi di program CAD favorit Anda, kebanyakan dari mereka memiliki plugin roda gigi khusus. Anda juga dapat menggunakan file yang dilampirkan ke Instructable ini. tentu saja. Perhatikan bahwa semua roda gigi, meskipun ukurannya berbeda, memiliki pitch gigi yang sama.
Saya pikir akan luar biasa untuk membuat roda gigi ini dari aluminium 5mm dan menghubungi toko lokal dengan waterjet jika mereka dapat memotong roda gigi ini untuk saya. Biasanya Anda tidak akan pernah membuat roda gigi dengan pemotong air, tetapi ini adalah roda gigi berperforma sangat rendah. Anehnya mereka setuju untuk mencoba, tetapi rencana ini gagal total. Bagian-bagiannya terlalu kecil untuk waterjet dan mulai bergerak saat sedang memotong.
Kemunduran ini berarti sudah waktunya untuk rencana B, jadi saya membeli beberapa akrilik hitam asap 5mm dan menemukan tempat dengan pemotong laser, yang tidak masalah memotong gigi saya. Jika Anda tidak memiliki pemotong laser, Anda mungkin juga dapat menggunakan printer 3D untuk roda gigi ini, saya menyertakan file STL (gigi cincin mungkin perlu dipecah menjadi 3 bagian).
Setelah pemotongan saya tekan bantalan dipasang ke roda gigi planet. Agar pas, saya membuat potongan uji akrilik dengan beberapa lubang yang masing-masing memiliki diameter sedikit lebih besar (langkah 0,05 mm). Setelah menemukan pengaturan yang pas, saya mengubah ukuran lubang di roda gigi planet ke pengaturan ini. Ini adalah sesuatu yang berbeda dengan bahan dan jenis mesin sehingga Anda harus selalu melakukannya sendiri.
Langkah 2: Perakitan Sistem Roda Gigi
Untuk merakit roda gigi, bingkai jam diperlukan. Sekarang ini adalah bagian di mana Anda dapat membiarkan kreativitas Anda menjadi liar karena bentuk bingkai relatif tidak penting selama semua lubang baut berada di tempat yang tepat. I Memilih untuk membuat banyak lubang di pelat dial dan pelat belakang untuk menekankan mekanisme roda gigi. Ini juga alasan mengapa pembawa planet dan jarum menit agak tembus pandang, tetapi juga terlihat keren!
Saya sekali lagi menggunakan pemotong laser untuk membuat bagian ini, dan karena bagian akrilik setebal 5mm, saya juga membuat bagian kayu setebal 5mm. Semua lubang di pelat dial dan pembawa planet dibenamkan untuk mengakomodasi baut yang cocok.
Poros tengah jam berjalan di dua bantalan di dalam pembawa planet. Karena saya membuat poros ini dari stok batang 5mm, poros ini sangat pas di dalam bantalan dan saya tidak dapat membongkar komponen ini lagi. Akan jauh lebih mudah untuk hanya menggunakan seutas benang M5 karena Anda juga tidak perlu memotong benang Anda sendiri lagi (kalau saja saya menyadari sebelumnya…..). Untuk menghentikan sun gear berputar di sekitar porosnya memiliki lubang berbentuk D, jadi porosnya juga perlu diajukan ke dalam bentuk D ini. Ketika roda gigi matahari pas di sekitar poros, Anda dapat memasang poros, jangan lupakan pembawa planet jika Anda menggunakan bantalan bergelang! Lihat tampilan meledak untuk instruksi perakitan.
Ketika poros tengah dipasang, waktunya untuk roda gigi planet. Ini juga membutuhkan washer kecil, seperti poros tengah, untuk memastikan roda gigi bekerja dengan lancar. Setelah semuanya dipasang ke pembawa planet, periksa apakah roda gigi planet dan roda gigi matahari berjalan dengan lancar.
Bagian tengah sekarang dapat dipasang ke bingkai jam. Ini adalah pekerjaan yang membosankan, tetapi menempelkan baut melalui pelat depan dan menempelkannya di tempatnya sangat membantu. Hal ini juga berguna untuk menaikkan pelat depan untuk menciptakan ruang bagi jarum menit. Foto-foto menunjukkan bahwa saya meletakkan enam lembar kertas kecil di antara cincin roda gigi dan pelat belakang untuk memberikan sedikit jarak bagi roda gigi. Saat memasukkan pembawa planet pastikan dial menunjuk pada lokasi yang masuk akal (jika jarum menit menunjuk pada 12, jarum jam tidak boleh di antara dua jam misalnya)
Langkah 3: Menghubungkan Stepper dan Sensor
Sekarang kita memiliki mekanisme roda gigi yang menggerakkan tangan dengan benar, kita masih perlu menggerakkan mekanisme roda gigi dengan benar. Berbagai jenis motor listrik dapat digunakan, saya memilih motor stepper karena dapat membuat gerakan yang tepat tanpa sensor umpan balik sudut konstan. Motor stepper juga dapat mengeluarkan suara "Klik" yang nyata, yang sangat bagus untuk jam semi-mekanis!
Motor stepper biasa dapat membuat 200 langkah per putaran, yang berarti 200 langkah per jam jika kita menghubungkannya ke jarum menit. Ini berarti interval 18 detik per langkah, yang belum terdengar seperti jam yang berdetak. Oleh karena itu saya menggunakan transmisi 1:3 antara motor stepper dan jarum menit sehingga motor stepper perlu melakukan 600 langkah per jam. Menggunakan mode setengah langkah ini dapat ditingkatkan menjadi 1200 langkah per jam, yang sama dengan satu langkah per 3 detik. Terdengar lebih baik!
Satu masalah dengan motor stepper adalah Anda tidak pernah tahu di mana mereka berada saat Anda menyalakan Arduino Anda. Inilah sebabnya mengapa semua printer 3D memiliki end-stop, sehingga Anda dapat memindahkan printer Anda ke posisi yang diketahui dan kemudian melanjutkan dari titik itu. Ini juga diperlukan untuk jam, hanya penghentian akhir yang tidak akan berfungsi karena jam harus membuat rotasi terus menerus. Untuk mewujudkan penginderaan posisi ini saya menggunakan sensor efek Hall A3144 yang mendeteksi magnet (periksa polaritasnya! ….) yang melekat pada pembawa planet. Ini digunakan untuk memindahkan tangan ke posisi tertentu saat start-up, setelah itu mereka dapat bergerak ke waktu yang dibutuhkan.
Perakitan sangat sederhana; Pasang motor stepper ke pelat belakang, biarkan sekrup sedikit longgar. Kemudian Anda dapat memasang katrol kecil pada poros motor stepper dan memeriksa apakah timing belt berjalan lurus. Sekarang Anda dapat menggeser motor stepper untuk mengatur ketegangan pada timing belt. Timing belt membutuhkan sedikit permainan untuk memastikan Anda tidak menekan roda gigi. Main-main dengan pengaturan ini sampai Anda puas, lalu kencangkan sekrup motor stepper sepenuhnya.
Sensor efek hall terpaku pada tempatnya. Yang terbaik adalah menyolder tiga kabel ke sensor terlebih dahulu, pastikan untuk menempatkan panas menyusut di sekitar setiap kaki sensor sehingga mereka tidak dapat saling menyingkat. Setelah menyolder, sensor dapat direkatkan ke tempatnya. Tidak masalah sisi mana yang menghadap ke atas, selama Anda belum memasang magnet. Setelah Anda menempelkan sensor di tempatnya, sambungkan ke Arduino atau sirkuit LED kecil untuk menguji apakah berfungsi. (CATATAN: sensor efek hall hanya berfungsi jika garis medan magnet mengarah ke arah yang benar). Dengan menggunakan rangkaian uji ini, verifikasi bagaimana magnet harus direkatkan. Setelah Anda benar-benar yakin sisi magnet mana yang harus menghadap sensor, rekatkan magnet pada tempatnya.
Langkah 4: Elektronik yang Membuat Jam Berdetak
Anda bisa menggunakan kode Arduino yang sangat sederhana yang membuat setengah langkah dengan motor dan kemudian mengambil penundaan 3000 milidetik hingga langkah berikutnya. Ini akan berhasil tetapi tidak terlalu tepat karena jam Arduino internal tidak terlalu akurat. Kedua Arduino akan melupakan waktu setiap kali kehilangan daya.
Untuk melacak waktu, sebaiknya gunakan jam waktu nyata. Hal-hal ini adalah chip yang dirancang khusus dengan baterai cadangan yang secara akurat melacak waktu. Untuk proyek ini saya memilih DS3231 RTC yang dapat berkomunikasi dengan Arduino melalui i2c, membuat pengkabelan menjadi mudah. Setelah Anda mengatur waktu dengan benar pada chip-nya, ia tidak akan pernah melupakan jam berapa sekarang (selama baterai cr2032 masih tersisa). Lihat situs web ini untuk semua detail tentang modul ini.
Mengemudi motor stepper dilakukan dengan driver motor L293d. Beberapa driver motor stepper yang lebih maju menggunakan sinyal PWM untuk loncatan mikro dan pembatasan arus. Sinyal PWM ini dapat membuat suara mengintip yang mengganggu yang sudah dikenal oleh setiap pembuat (terutama jika Anda memiliki printer 3D). Karena jam ini seharusnya menjadi bagian dari interior Anda, suara-suara yang tidak menyenangkan tidak diinginkan. Oleh karena itu saya memutuskan untuk menggunakan driver motor l293d berteknologi rendah untuk memastikan jam saya diam (selain loncatan setiap 3 detik, tapi itu benar-benar menyenangkan!). Lihat situs web ini untuk penjelasan rinci tentang chip l293d. Perhatikan bahwa saya menjalankan motor stepper saya pada 5V yang menurunkan konsumsi daya dan suhu motor stepper.
Seperti yang disebutkan sebelumnya, saya menggunakan sensor efek Hall untuk mendeteksi magnet yang menempel pada pembawa planet. Prinsip pengoperasian sensor sangat sederhana, ia berubah keadaan ketika magnet cukup dekat. Dengan cara ini Arduino Anda dapat mendeteksi tinggi atau rendah digital dan karenanya mendeteksi jika magnet dekat. Lihat situs web ini yang menunjukkan cara menghubungkan sensor dan menunjukkan kode sederhana yang digunakan untuk pendeteksian magnet.
Last but not least, saya menambahkan 4 tombol untuk input pengguna ke PCB. Mereka menggunakan resistor pull-up internal Arduino untuk menyederhanakan kabel. PCB saya juga memiliki header dalam konfigurasi Uno sehingga saya dapat menambahkan perisai Arduino untuk kemungkinan ekspansi (sejauh ini saya belum melakukan ini).
Saya pertama kali menguji semuanya di papan tempat memotong roti saya dan kemudian saya merancang dan memesan PCB khusus untuk proyek ini, karena terlihat luar biasa! Anda juga dapat memasang PCB di bagian belakang jam jika Anda tidak ingin melihatnya.
File Gerber untuk PCB dapat diunduh dari drive saya, Instructables tidak mengizinkan saya mengunggahnya karena alasan tertentu. Gunakan tautan ini ke google drive saya.
Langkah 5: Memprogram Arduino
Kode dasar untuk Arduino sebenarnya sangat sederhana. Saya melampirkan skema yang memvisualisasikan apa yang terjadi di dalam Arduino dan bagaimana Arduino berinteraksi dengan perangkat lain. Saya menggunakan beberapa perpustakaan untuk menyederhanakan pengkodean.
- Accelstepper -> menangani urutan langkah motor stepper, memungkinkan Anda memberikan perintah intuitif seperti: Stepper.runSpeed(), atau Stepper.move() yang memungkinkan Anda bergerak pada kecepatan tertentu atau ke posisi tertentu masing-masing.
- Kawat -> ini diperlukan untuk komunikasi i2c, bahkan saat menggunakan RTClib
- RTClib -> menangani komunikasi antara Arduino dan RTC, memungkinkan Anda memberikan perintah intuitif seperti rtc.now() yang mengembalikan waktu saat ini.
- OneButton -> Menangani input tombol, mendeteksi penekanan dan kemudian menjalankan kekosongan yang ditentukan sebelumnya untuk melakukan sesuatu. Dapat mendeteksi penekanan tunggal, ganda atau panjang.
Saat menulis kode untuk jam, sangat penting untuk menghindari variabel yang terus meningkat. Karena kode Arduino akan berjalan 24/7, variabel-variabel ini akan dengan cepat menjadi semakin besar dan pada akhirnya akan menyebabkan overflow. Motor stepper misalnya tidak pernah diperintahkan untuk pergi ke posisi tertentu, karena posisi ini hanya akan meningkat seiring waktu. Sebaliknya motor stepper diperintahkan untuk menggerakkan sejumlah langkah tertentu ke arah tertentu. Dengan cara ini tidak ada variabel posisi yang meningkat seiring waktu.
Pertama kali Anda menghubungkan RTC, Anda perlu mengatur waktu chip, ada bagian kode yang dapat Anda batalkan komentar yang mengatur waktu RTC sama dengan waktu komputer Anda (waktu saat Anda mengkompilasi kode). Perhatikan bahwa ketika Anda membiarkan ini tidak dikomentari, waktu RTC akan diatur ulang ke waktu di mana Anda mengkompilasi kode Anda setiap saat. Jadi batalkan komentar ini, jalankan sekali lalu beri komentar lagi.
Saya melampirkan kode saya ke Instructable ini, saya berkomentar secara menyeluruh. Anda dapat mengunggahnya tanpa perubahan apa pun atau memeriksanya dan melihat pendapat Anda!
Langkah 6: Nikmati Suara Jam Anda Berdetak untuk Pertama Kalinya
Setelah menghubungkan semua elektronik dan mengunggah kode, inilah hasilnya!
Desain dasar jam ini sangat sederhana dan dapat dibuat dalam berbagai bentuk dan ukuran. Karena ada Arduino di dalamnya, Anda juga dapat dengan mudah menambahkan fitur tambahan. Menyetel alarm, menyalakan mesin kopi Anda pada waktu yang ditentukan, konektivitas internet, mode demo keren yang menonjolkan gerakan mekanis untuk menunjukkan desain Anda kepada orang lain dan banyak lagi!
Seperti yang mungkin Anda perhatikan di sepanjang Instructable ini, saya harus membongkar jam saya demi menulis Instructable ini. Meskipun disayangkan untuk Instructable ini saya setidaknya dapat menjamin desain berkinerja sangat baik dalam jangka panjang, karena jam ini telah berdetak selama lebih dari 3 tahun di ruang tamu saya tanpa masalah!
Tolong beri tahu saya di komentar jika Anda menyukai Instruksi ini, ini pertama kalinya saya menulisnya. Juga jika Anda memiliki tips atau pertanyaan, kirimkan saya pesan. Dan semoga saya menginspirasi seseorang untuk juga membuat jam semi-mekanik suatu hari nanti!
Hadiah Pertama dalam Kontes Jam
Direkomendasikan:
Stasiun Cuaca Hanging Gear: 7 Langkah (dengan Gambar)
Hanging Gear Weather Station: Dalam Instructable ini, saya akan menunjukkan kepada Anda bagaimana membangun stasiun cuaca gantung gear Anda sendiri, yang terbuat dari bagian MDF laser-cut CNC. Motor stepper menggerakkan setiap gigi dan Arduino melakukan pengukuran suhu dan kelembaban menggunakan DHT
Cara Memperbaiki/menghidupkan kembali Obeng Li-ion IXO Bosch Planetary Gear: 5 Langkah (dengan Gambar)
Cara Memperbaiki/menghidupkan kembali Obeng Li-ion IXO Planetary Gear Bosch: Dalam instruksi ini, saya akan menunjukkan cara memperbaiki roda gigi planet dari obeng Li-ion model IXO yang diproduksi oleh Bosch. Pencarian saya di WWW hanya menemukan petunjuk perbaikan tentang cara mengganti baterai. Ini bukan kasus saya. Masalah obeng saya
Timing Gear dan Chain Clock - Hampir Gratis!: 5 Langkah (dengan Gambar)
Timing Gear dan Jam Rantai - Hampir Gratis!: Semoga saat Anda mengubah pengaturan waktu mobil, Anda tidak membuang roda gigi dan rantai lama. Saya hampir melakukannya, tetapi istri saya menunjukkan ini kepada saya: http://www.uncommongoods.com/product/auto-timing-chain-and-gears-wall-clock $125 AS ditambah ongkos kirim.
Wire Worm Gear: 6 Langkah (dengan Gambar)
Wire Worm Gear: Sebuah proyek kecil yang menyenangkan yang memanfaatkan gabus pesta Anda :-) Putar pegangan kawat dan gigi maju satu gigi pada satu waktu. Dibutuhkan dua belas putaran pegangan untuk memutar roda gigi satu putaran penuh. Proyek ini awalnya diposting di robiv
Gear Clock: 3 Langkah (dengan Gambar)
Gear Clock: Jantung dari jam adalah mikrokontroler PIC 16f628A (PDF). Mikrokontroler ini memiliki osilator internal namun osilator kristal 20MHz eksternal sedang digunakan karena harus secara akurat melacak waktu selama berminggu-minggu dan berbulan-bulan. Mereka