Daftar Isi:
- Langkah 1: Daftar Bagian
- Langkah 2: Bagian Utama
- Langkah 3: Jalankan
- Langkah 4: Kontrol Kecepatan
- Langkah 5: Mulai / Berhenti
- Langkah 6: Kontrol Arah
- Langkah 7: Kesimpulan
Video: Mengendarai Motor Stepper Tanpa Mikrokontroler.: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Dalam Instruksi ini, saya akan mengendarai motor langkah 28-BYJ-48, dengan papan array Darlington UNL2003, kadang-kadang bernama x113647, tanpa pengontrol mikro.
Ini akan memiliki mulai/berhenti, maju/mundur, dan kontrol kecepatan.
Motor adalah motor langkah uni-polar dengan 2048 langkah per putaran dalam mode langkah penuh. Lembar data untuk motor dapat ditemukan di
Kedua perangkat dapat dibeli bersama dari beberapa vendor. Saya mendapatkan milik saya dari kjell.com
Bing atau google untuk menemukan vendor di dekat Anda.
Pertama-tama saya akan melalui beberapa langkah dan bagian yang diperlukan untuk menjalankannya, dan kemudian menambahkan beberapa langkah dan bagian untuk kontrol lebih lanjut.
Anda harus diperingatkan bahwa bagian-bagian yang saya gunakan, adalah bagian-bagian yang kebetulan saya miliki di peti harta karun saya, dan belum tentu bagian-bagian yang paling cocok untuk tujuan itu.
Juga, Anda harus diperingatkan, bahwa ini adalah Instruksi pertama saya, dan saya cukup baru dalam elektronik.
Silakan tambahkan komentar jika menurut Anda saya telah melakukan sesuatu yang seharusnya tidak saya lakukan, atau jika Anda memiliki saran untuk perbaikan, atau saran untuk bagian yang lebih cocok.
Langkah 1: Daftar Bagian
Bagian yang digunakan untuk proyek ini adalah
- Papan tempat memotong roti
- Motor stepper 28byj-48
- Darlington transistor array papan ULN2003 (x113647)
- register geser 74HC595
- 74HC393 penghitung riak biner
- Potensiometer digital DS1809-100 Dallastat
- 74HC241 penyangga oktal
- 3 × tombol taktil
- 3 × 10kΩ resistor
- 2 × 0,1µF kapasitor keramik
- 1 × 0,01 F kapasitor keramik
- Kabel koneksi
- catu daya 5V
Langkah 2: Bagian Utama
Register geser 74HC595
Motor digerakkan dengan berulang kali memberikan empat pin input papan UNL2003 urutan ini:
1100-0110-0011-1001
Ini akan menggerakkan motor dalam apa yang disebut mode langkah penuh. Pola 1100 berulang kali digeser ke kanan. Ini menunjukkan register geser. Cara kerja register geser adalah, pada setiap siklus clock, bit-bit dalam register bergeser satu tempat ke kanan, menggantikan bit paling kiri dengan nilai pin input pada saat itu. Oleh karena itu, harus diberi makan dengan dua siklus clock 1 dan kemudian dua siklus clock 0 untuk menghasilkan pola penyelaman motor.
Untuk menghasilkan sinyal clock, diperlukan osilator, yang menghasilkan serangkaian pulsa yang stabil, lebih disukai gelombang persegi yang bersih. Ini akan membentuk dasar pola pergeseran sinyal ke motor.
Untuk menghasilkan "dua siklus satu dan kemudian dua siklus 0", flip-flop digunakan.
Saya memiliki register geser 74HC595. Ini adalah chip yang sangat populer, yang dijelaskan dalam banyak Instructables dan video Youtube.
Lembar data dapat ditemukan di
Instruksi yang bagus adalah 74HC595-Shift-Register-Demistified oleh bweaver6, Register geser 74HC595 bekerja sehingga pada setiap siklus clock, data pada register 8 bitnya digeser ke kanan, dan menggeser nilai pin input pada posisi paling kiri. Oleh karena itu, harus diberi makan dengan dua siklus clock 1 dan kemudian dua siklus clock 0.
Data digeser pada tepi naik dari pulsa clock. Oleh karena itu flip-flop harus beralih di tepi jam yang turun, sehingga 74HC595 akan memiliki input data yang stabil di tepi jam yang naik.
74HC595 in dapat disambungkan seperti ini:
Pin 8 (GND) -> GND
Pin 16 (VCC) -> 5V Pin 14 (SER) -> Data di Pin 12 (RCLK) -> Input jam Pin 11 (SRCLK) -> Input jam Pin 13 (OE) -> GND Pin 10 (SRCRL) -> 5V Pin 15, dan 1-3 akan menampilkan pola untuk menggerakkan motor.
Menghubungkan RCLK dan SRCLK memastikan bahwa register data chip selalu sinkron dengan register keluaran. Menempatkan Pin 13 ke ground membuat isi register keluaran segera terlihat oleh pin keluaran (Q0 - Q7).
Pengatur waktu 555
Untuk menghasilkan pulsa clock, chip timer 555 dapat digunakan. Ini juga merupakan chip yang sangat populer, dan bahkan lebih dijelaskan dan didiskusikan daripada register geser. Wikipedia memiliki artikel yang bagus di
Lembar data ada di sini:
Chip ini dapat, antara lain, menghasilkan pulsa clock gelombang persegi. Resistor dan kapasitor eksternal digunakan untuk mengontrol frekuensi dan siklus kerja (on-fraksi).
Ketika diatur untuk menghasilkan pulsa berulang kali, chip 555 dikatakan dalam mode astabil. Ini dilakukan dengan memasang kabel seperti pada gambar di atas. (gambar oleh jjbeard [Domain publik], melalui Wikimedia Commons):
Pin 1 -> GND
Pin 2 -> R1 (10kΩ) -> Pin 7 Pin 2 -> Pin 6 Pin 3 adalah output Pin 4 (reset) -> 5V Pin 5 -> 0.01µF -> GND Pin 6 -> 0.1µF -> GND Pin 7 -> R2 (10kΩ) -> 5V Pin 8 -> 5V
Output dari Pin 3 akan dihubungkan ke pin clock input (Pin 11 dan Pin 12) dari register geser 74HC595.
Frekuensi sinyal keluaran (dan karenanya kecepatan motor langkah) ditentukan oleh nilai resistor R1 dan R2, dan nilai kapasitor C.
Waktu siklus T akan menjadi ln(2) C (R1 + 2 R2) atau sekitar 0,7 C (R1 + 2 R2). Frekuensinya adalah 1/T.
Siklus kerja, fraksi waktu siklus saat sinyal tinggi, adalah (R1 + R2) / (R1 + 2R2). Siklus kerja tidak terlalu penting untuk proyek ini.
Saya menggunakan 10kΩ, untuk R1 dan R2, dan C = 0.1µF.
Ini memberikan frekuensi sekitar 480Hz, dan mendekati frekuensi maksimum yang saya temukan bahwa motor langkah dapat menangani tanpa mengulur waktu.
Untuk menghasilkan 1100 bergeser, pola berulang dari 74HC595, pin 14 (SER) harus dijaga tinggi untuk dua siklus clock, dan kemudian rendah untuk dua siklus clock berulang kali. Artinya, pin harus berosilasi dengan setengah frekuensi jam.
Penghitung riak biner ganda 74HC393
Hitungan 74HC393 dalam biner, dan itu juga berarti dapat digunakan untuk membagi frekuensi pulsa dengan pangkat dua, Lembar datanya ada di sini:
74HC393 adalah dual, ia memiliki satu penghitung 4 bit di setiap sisi.
Di tepi jatuh pulsa clock, pin output pertama matikan dan nyalakan. Oleh karena itu, pin keluaran satu akan berosilasi dengan setengah frekuensi dari jam masukan. Di tepi jatuh pin output satu, pin output dua mati dan hidup. Dan seterusnya untuk keempat pin keluaran. Setiap kali pin n mati, pin n+1 mati.
Pin n+1 berubah setengah sesering pin n. Ini adalah penghitungan biner. Penghitung dapat menghitung sampai 15 (semua empat bit 1) sebelum mulai dari nol lagi. Jika pin keluaran terakhir dari pencacah 1 dihubungkan sebagai jam ke pencacah 2, mungkin menghitung sampai 255 (8 bit).
Untuk membuat pulsa dengan setengah frekuensi clock input, hanya pin output 1 yang diperlukan. Artinya, hanya menghitung dari nol sampai satu.
Jadi, jika penghitungan dilakukan oleh pulsa clock dari 555, pin pada pencacah 74HC393 yang mewakili bit 2, akan berosilasi dengan setengah frekuensi clock. Oleh karena itu ini dapat dihubungkan ke pin SER dari register geser 74HC595, untuk menghasilkan pola yang diinginkan.
Pengkabelan penghitung biner 74HC393 harus:
Pin 1 (1CLK) -> 74HC595 Pin 11, 12 dan 555 Pin 3
Pin 2 (1CLR) -> GND Pin 4 (1QB) -> 74HC595 Pin 14 Pin 7 (GND) -> GND Pin 14 (VCC) -> 5V Pin 13 (2CLK) -> GND (tidak digunakan) Pin 12 (2CLR) -> 5V (tidak digunakan)
Langkah 3: Jalankan
Kita sekarang dapat menjalankan motor, Jika Pin 0-3 dari 74HC595 masing-masing terhubung ke Pin 1-4 dari papan ULN2003.
Untuk saat ini, ganti kapasitor 0,1µF pada Pin 6 dari timer 555 dengan 10µF. Ini akan membuat siklus jam ratusan kali lebih lama, dan orang akan dapat melihat apa yang sedang terjadi.
LED pada papan ULN2003 dapat digunakan untuk ini. Cabut motor dari papan ULN2003. Hubungkan Pin 1 hingga 4 papan ke output QA-QD (pin 7, 9, 10 dan 11) dari 74HC595. Hubungkan - dan + papan ULN2003 ke ground dan 5V. Jika daya dihidupkan, Anda akan melihat pola yang diinginkan pada LED.
Jika Anda ingin melihat apa yang terjadi di penghitung biner 74HC393, sambungkan ke pin 3-6 sebagai gantinya.
Jika polanya tampak benar, matikan, ganti kapasitor dengan 0,1µF lagi, sambungkan pin input 1 - 4 papan ULN2003 ke pin output QA - QD pada 74HC595, dan pasang kembali motor.
Dengan power on, motor sekarang harus berjalan.
Langkah 4: Kontrol Kecepatan
Kecepatan motor langkah diatur oleh frekuensi keluaran timer 555. Ini sekali lagi, diatur oleh nilai resistor R1 dan R2 dan kapasitor C1 yang terhubung dengannya. Dengan menghubungkan potensiometer 100kΩ secara seri dengan R2, frekuensinya mungkin antara 480Hz dan 63Hz. Langkah-langkah hal. detik motor, akan menjadi setengah dari frekuensi timer 555.
Saya menggunakan potensiometer digital DS1809-100, yang dibuat untuk penggunaan tombol tekan. Tombol tekan yang menghubungkan pin 2 (UC) dan Pin 7 (DC) ke 5V membuat resistansi meningkat/menurun antara terminal RH (Pin 1) atau RL (Pin 4), dan pin wiper 6 (RW). Menahan tombol selama lebih dari satu detik, membuat tombol berulang secara otomatis.
Lembar data dapat ditemukan di sini:
Pengkabelannya seperti ini:
Pin 1 (RH) tidak digunakan
Pin 2 (UC) -> tombol taktil 1 Pin 3 (STR) -> GND Pin 4 (RL) -> 555 Pin 2 Pin 5 -> GND Pin 6 (RW) -> 10kΩ -> 555 pin 7 Pin 7 (DC) -> tombol taktil 2 Pin 8 -> 5V
Kabel untuk tombol taktil 1:
Pin 1/2 -> DS1809 Pin 2
Pin 3/4 -> 5V
Kabel untuk tombol taktil 2:
Pin 1/2 -> DS1809 Pin 7
Pin 3/4 -> 5V
Sekarang, kecepatannya bisa diatur.
Langkah 5: Mulai / Berhenti
Untuk memulai dan menghentikan motor stepper, Pin 4 (pin Reset) dari timer 555 dapat digunakan. Jika ini ditarik rendah, tidak akan ada pulsa output dari Pin 3.
Tombol taktil akan digunakan untuk beralih mulai dan berhenti. Menekan tombol sekali, harus menghidupkan motor, dan menekannya lagi, harus menghentikannya. Untuk mendapatkan perilaku ini, diperlukan sebuah flip-flop. Tapi 74HC393 yang sudah ada, bisa juga digunakan. 74HC393 memiliki dua bagian, dan hanya setengahnya yang digunakan sebagai pembagi frekuensi untuk pulsa clock.
Karena pencacah biner sebenarnya hanya satu set toggling flip-flop secara seri, flip-flop pertama dari bagian lain dapat digunakan. Dengan menghubungkan tombol taktil sehingga Pin 13 (2CLK) rendah saat tombol ditekan, dan tinggi jika tidak, Pin 12 akan beralih pada setiap tombol rendah. Menghubungkan Pin 12 ke Pin 4 dari 555, akan memulai dan menghentikan outputnya, dan karenanya motor.
Tombol taktil agak rumit, karena bersifat mekanis. Mereka mungkin 'memantul', yaitu mereka dapat mengirim banyak sinyal pada setiap dorongan. Menghubungkan kapasitor 0,1 F melalui tombol, membantu menghindari hal ini.
Jadi tombol taktil (tombol 3 ditambahkan, dan koneksi ke Pin 4 dari 555 diubah.
Kabel tombol:
Pin 1/2 -> 10kΩ -> 5V
Pin 1/2 -> 0.1µF -> Pin Pin 3/4 -> 74HC393 Pin 13 (2CLK)
Perubahan berikut dilakukan pada 555:
Pin 4 (Reset) -> 74HC393 Pin 11 (2QA)
Tombol 3 sekarang harus berfungsi sebagai sakelar mulai/berhenti.
Perhatikan bahwa motor yang berhenti dengan cara ini, akan tetap mengkonsumsi daya.
Langkah 6: Kontrol Arah
Untuk mengontrol arah motor, diperlukan tombol tekan lain, dan kemudian flip-flop lain. Namun, saya akan curang, dengan menggunakan flip-flop berikutnya dari 74HC393, setelah flip-flop on/off, dan tombol on/off.
Ketika pin arah (Pin 2QA) menjadi rendah, pin berikutnya (Pin 2QB) diaktifkan. Oleh karena itu berulang kali menekan tombol akan menghasilkan OFF - ON FORWARDS - OFF - ON BACKWARDS - OFF - ON FORWARDS dll.
Untuk membuat motor berjalan mundur, pola yang diumpankan ke ULN2003 harus dibalik. Itu mungkin dilakukan dengan register geser dua arah, tetapi saya tidak memilikinya. 74HC595 tidak dua arah.
Namun, saya menemukan bahwa saya dapat menggunakan buffer oktal 74HC241 saya. Buffer ini memiliki dua bagian 4 bit, dengan pin OE (output enable) terpisah. Pin OE pertama mengontrol empat pin output pertama, dan yang kedua mengontrol empat pin output terakhir. Ketika OE berada pada pin output memiliki nilai yang sama dengan pin input yang sesuai, dan ketika mati, pin output akan berada dalam keadaan impedansi tinggi, seolah-olah tidak terhubung. Selanjutnya, salah satu pin OE aktif rendah, dan yang lainnya aktif tinggi, jadi saat menghubungkannya bersama-sama, hanya setengah dari buffer yang akan aktif pada saat itu.
Jadi, untuk input yang sama, setengah dari buffer dapat menggerakkan motor ke depan, dan setengah lainnya ke belakang. Bagian mana yang sedang aktif, tergantung dari nilai pin OE.
Lembar data untuk 74HC241 dapat ditemukan di
Pengkabelannya bisa seperti ini:
Pin 1 (1OE) -> 74HC293 Pin 10 (2QB)
Pin 2 (1A1) -> 74HC595 Pin 15 Pin 3 (1Y4) -> ULN2003 Pin 1 Pin 4 (1A2) -> 74HC595 Pin 1 Pin 5 (1Y3) -> ULN2003 Pin 2 Pin 6 (1A3) -> 74HC595 Pin 2 Pin 7 (1Y2) -> ULN2003 Pin 3 Pin 8 (1A4) -> 74HC595 Pin 3 Pin 9 (1Y1) -> ULN2003 Pin 4 Pin 10 (GND) -> Ground Pin 11 (2A1) -> Pin 2 (1A1) Pin 12 (1Y4) -> Pin 9 (2Y1) Pin 13 (2A2) -> Pin 4 (1A2) Pin 14 (1Y3) -> Pin 7 (2Y2) Pin 15 (2A3) -> Pin 6 (1A3) Pin 16 (1Y2) -> Pin 5 (2Y3) Pin 17 (2A3) -> Pin 8 (1A4) Pin 18 (1Y2) -> Pin 3 (2Y4) Pin 19 (2OE) -> Pin 1 (1OE) Pin 20 (VCC) -> 5V
Sekarang, pengkabelan harus diselesaikan hanya dengan menyalakan dengan 5V. Pastikan catu daya dapat memberikan arus yang cukup untuk menggerakkan motor dan sirkuit.
Langkah 7: Kesimpulan
Motor langkah dapat dikendalikan tanpa mikrokontroler.
IC yang digunakan di sini, adalah beberapa yang saya miliki sebelumnya. Kebanyakan dari mereka tidak optimal untuk ini, dan beberapa alternatif dapat digunakan.
- Untuk menghasilkan pulsa, chip timer 555 adalah pilihan yang bagus, tetapi ada beberapa alternatif, misalnya yang dijelaskan dalam Instruksi ini.
- Untuk pengaturan kecepatan, potensiometer apa saja dapat digunakan, tidak hanya potensiometer digital. Jika Anda memiliki potensiometer 10kΩ, bukan 100kΩ, resistor 10kΩ dapat diganti dengan 1KΩ, dan kapasitor 0,1 F dengan kapasitor 1µF (bagi semua resistor dan kalikan kapasitor dengan nomor yang sama untuk menjaga waktu).
- Menggunakan register geser dua arah, mis. 74HC194 akan membuat kontrol arah lebih mudah.
- Untuk kontrol tombol, 74HC393 dapat diganti dengan flip-flop, mis. 74HC73. 555 juga dapat ditransfer untuk bertindak sebagai sakelar.
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
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
Mengendarai Motor Stepper Dengan Mikroprosesor AVR: 8 Langkah
Mengendarai Motor Stepper Dengan Mikroprosesor AVR: Punya beberapa motor stepper yang diambil dari printer/disk drive/dll tergeletak di sekitar? Beberapa pemeriksaan dengan ohmeter, diikuti oleh beberapa kode driver sederhana pada mikroprosesor Anda dan Anda akan melangkah dengan gaya
Pendingin / Penyangga Laptop Tanpa Biaya (Tanpa Lem, Tanpa Pengeboran, Tanpa Mur & Baut, Tanpa Sekrup): 3 Langkah
Pendingin / Penyangga Laptop Tanpa Biaya (Tanpa Lem, Tanpa Pengeboran, Tanpa Mur & Baut, Tanpa Sekrup): UPDATE: MOHON MOHON VOTE UNTUK SAYA INSTRUCTABLE, TERIMA KASIH ^_^ ANDA JUGA INGIN MEMILIH KONTES SAYA YANG LAINNYA MASUK DI www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ ATAU MUNGKIN PILIH TEMAN TERBAIK SAYA