2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Saya memiliki sedikit pengalaman mengemudi motor stepper, jadi sebelum merancang, mencetak, merakit, dan memprogram Jam Analog Koreksi Otomatis 'Antik' (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) menggunakan motor stepper, saya memutuskan untuk merancang dan menguji perangkat lunak menggunakan perlengkapan uji yang lebih sederhana. Jika Anda, seperti saya, memiliki sedikit atau tidak memiliki pengalaman dengan motor stepper, maka mudah-mudahan Instruksi singkat dengan kode sumber ini akan membantu.
Perlengkapan uji membutuhkan komponen berikut:
- Sebuah papan prototipe.
- Sebuah Adafruit Feather ESP32 dengan header perempuan.
- Papan pengontrol stepper berbasis ULN2003.
- Sebuah motor stepper 28BYJ-48 5vdc.
- Beberapa kabel jumper pria ke wanita.
- Baterai lithium Adafruit 3.7vdc.
- Tangan indikator cetak 3D.
Kontroler stepper, motor stepper, dan kabel jumper yang saya gunakan termasuk dalam paket 5 yang saya beli sebagai kit on line (cari "TIMESETL 5pcs DC 5V Stepper Motor 28BYJ-48 + 5pcs ULN2003 Driver Board + 40pcs Kabel Kawat Jumper Pria Wanita ").
Baterai adalah opsional. Perhatikan output baterai 3.7vdc, tetapi papan pengontrol stepper dan stepper adalah 5vdc. Perlengkapan uji akan beroperasi hanya dengan daya baterai, bahkan pada tegangan yang lebih rendah.
Saya telah menyertakan video yang menunjukkan langkah-langkah yang diperlukan untuk mengunduh perangkat lunak ke ESP32, menyambungkan ESP32 ke pengontrol motor stepper dan mencolokkan motor stepper dan baterai.
Langkah 1: Pengkabelan
Saya menggunakan kabel jumper pria / wanita yang disertakan dalam kit untuk menghubungkan perlengkapan uji. Enam kabel diperlukan, dan dimasukkan sebagai berikut:
- ESP32 pin 14 (jantan) ke stepper board pin IN4 (perempuan).
- ESP32 pin 32 (jantan) ke stepper board pin IN3 (perempuan).
- ESP32 pin 15 (jantan) ke stepper board pin IN2 (perempuan).
- ESP32 pin 33 (jantan) ke stepper board pin IN1 (perempuan).
- Pin ESP32 "GND" (jantan) ke pin papan stepper "-" (perempuan).
- ESP32 pin "USB" (pria) untuk operasi USB ATAU "BAT" (pria) untuk operasi baterai, ke pin papan stepper "+" (wanita).
Setelah kabel dimasukkan dan diperiksa dua kali, pasang kabel motor stepper ke konektor papan pengontrol motor stepper. Konektor dikunci dan hanya akan muat satu arah.
Terakhir, jika menggunakan baterai, tancapkan ke konektor baterai ESP32.
Langkah 2: Indikator
Untuk indikator pada motor stepper, saya mendesain dan mencetak 3D hand indikator "Hand.stl". Saya mencetak jarum indikator pada ketinggian lapisan.15mm, pengisi 20% tanpa penyangga, lalu menekannya ke poros motor stepper.
Sebagai alternatif, pita, karton atau bahan lain dapat digunakan sebagai indikator.
Langkah 3: Perangkat Lunak
Saya menulis perangkat lunak uji stepper di lingkungan Arduino 1.8.5. Jika Anda belum melakukannya, unduh lingkungan Arduino dan driver USB yang diperlukan ke komputer Anda dan instal. Juga, kunjungi situs web Adafruit untuk perangkat lunak tambahan terkait Adafruit ESP32. Saya menemukan tautan ini sangat membantu: Adafruit ESP32 dan Lingkungan Arduino.
Dengan kabel USB yang terhubung antara komputer Anda dan ESP32, dan "Stepper.ino" dimuat ke lingkungan Arduino, unduh "Stepper.ino" ke ESP32.
Setelah diunduh, stepper harus melangkah 6 derajat sekali per detik.
Saya menulis perangkat lunak uji ini karena dua alasan; pertama, mempelajari cara menggerakkan motor stepper, dan kedua, mengubah 4096 langkah per putaran motor stepper menjadi 60 satu detik 6 derajat "tik" untuk jam.
Fungsi "Step(nDirection)" menggerakkan motor stepper. Fungsi ini mempertahankan variabel integer lokal (statis) "nPhase", yang bertambah atau berkurang satu (setiap kali fungsi dipanggil), sesuai dengan tanda argumen fungsi nDirection. Variabel ini dibatasi dalam kisaran 0 hingga 7, yang bila digunakan bersama dengan sakelar casing, menggerakkan fase motor sesuai dengan spesifikasi pabrikan untuk setiap langkah.
Fungsi "Update()" menentukan kapan dan berapa banyak langkah yang harus diambil untuk setiap tick untuk meratakan jarak 60 tick per 360 derajat rotasi. Fungsi ini menggerakkan motor stepper baik 68 atau 69 langkah untuk setiap tick. Misalnya, jika fungsi tersebut hanya menggunakan 68 langkah per tick, maka (68 langkah * 60 ticks) = 4080 langkah tidak akan cukup untuk menyelesaikan putaran 360 derajat (ingat stepper membutuhkan 4096 langkah untuk rotasi 360 derajat). Dan jika fungsi tersebut menggunakan 69 langkah per centang, maka (69 langkah * 60 centang) = 4140 akan menjadi terlalu banyak langkah. Algoritme sederhana yang saya tulis mendistribusikan 68 dan 69 langkah kutu secara merata sepanjang putaran 360 derajat, dan dapat menentukan arah putaran mana yang paling cepat hingga hitungan detik yang diinginkan (digunakan dalam jam).
Dan begitulah cara saya merancang dan menguji perangkat lunak untuk Jam Analog Koreksi Otomatis 'Antik'.
Jika Anda memiliki saran dan / atau pertanyaan, jangan ragu untuk berkomentar dan saya akan melakukan yang terbaik untuk menjawab.
Direkomendasikan:
Motor Stepper Terkendali Motor Stepper Tanpa Mikrokontroler!: 6 Langkah
Motor Stepper Terkendali Motor Stepper Tanpa Mikrokontroler!: Dalam Instruksi singkat ini, kita akan membuat pengontrol motor stepper sederhana menggunakan motor stepper. Proyek ini tidak memerlukan sirkuit kompleks atau mikrokontroler. Jadi tanpa basa-basi lagi, mari kita mulai
Stepper Motor Controlled Stepper Motor Tanpa Mikrokontroler(V2): 9 Langkah (dengan Gambar)
Motor Stepper Terkendali Motor Stepper Tanpa Mikrokontroler(V2): Dalam salah satu Instruksi saya sebelumnya, saya menunjukkan kepada Anda cara mengontrol motor stepper menggunakan motor stepper tanpa mikrokontroler. Itu adalah proyek yang cepat dan menyenangkan tetapi datang dengan dua masalah yang akan diselesaikan dalam Instructable ini. Jadi, akal
Lokomotif Model Terkendali Motor Stepper - Stepper Motor Sebagai Rotary Encoder: 11 Langkah (dengan Gambar)
Lokomotif Model Terkendali Motor Stepper | Motor Stepper Sebagai Rotary Encoder: Dalam salah satu Instruksi sebelumnya, kita telah mempelajari cara menggunakan motor stepper sebagai rotary encoder. Dalam proyek ini, kita sekarang akan menggunakan motor stepper yang memutar rotary encoder untuk mengontrol model lokomotif menggunakan mikrokontroler Arduino. Jadi, tanpa fu
Motor Stepper Terkendali Motor Stepper - Stepper Motor Sebagai Rotary Encoder: 11 Langkah (dengan Gambar)
Motor Stepper Terkendali Motor Stepper | Stepper Motor Sebagai Rotary Encoder: Punya beberapa motor stepper tergeletak di sekitar dan ingin melakukan sesuatu? Dalam Instruksi ini, mari kita gunakan motor stepper sebagai rotary encoder untuk mengontrol posisi motor stepper lain menggunakan mikrokontroler Arduino. Jadi tanpa basa-basi lagi, mari kita
Perlengkapan Uji PCB: 6 Langkah
Perlengkapan Uji PCB: Sebagian besar papan yang saya desain memiliki bantalan lubang untuk header ICSP 6 pin, dan beberapa memiliki bantalan lubang tembus untuk header serial. Dalam banyak kasus, header tidak digunakan setelah papan diprogram. Perlengkapan uji ini digunakan sebagai pengganti