Perpustakaan Arduino untuk 28BYJ-48 Stepper Motor dan ULN2003 Driver: 3 Langkah

Perpustakaan Arduino untuk 28BYJ-48 Stepper Motor dan ULN2003 Driver: 3 Langkah

Daftar Isi:

Anonim

Motor stepper 28BYJ-48 dengan driver ULN2003 sekarang tampaknya cukup konfigurasi biasa. Motor dan pengemudi keduanya tersedia, dan murah. Namun, perpustakaan motor stepper standar arduino tidak bekerja dengan konfigurasi ini! Rupanya ada hubungannya dengan urutan yang diperlukan untuk rotasi 28BYJ-48.

Ini diperintahkan akan menunjukkan kepada Anda bagaimana menulis perpustakaan sederhana yang akan membuat hidup lebih sederhana untuk penggunaan 28BYJ-48 di masa depan. Saya telah melihat beberapa solusi yang mungkin (bahkan menuliskan urutan nadi berulang-ulang), tetapi saya belum puas, jadi saya memutuskan untuk menulis sendiri.

Kami berasumsi bahwa Anda memiliki pemahaman dasar tentang C ++ dan teori motor stepper.

Anda bisa mendapatkan kode dan implementasi dari blog EngyFun di:

http: //engyfun.blogspot.com.au/2015/02/here-is-sou …

Persediaan:

Langkah 1: StepperMotor.h

Mari kita mulai dengan menulis kelas StepperMotor.

Buat file bernama StepperMotor.h dan salin kode pada gambar.

Jika Anda memiliki pemahaman tentang C ++, maka definisi kelas akan berbicara sendiri.

Langkah 2: StepperMotor.cpp

Sekarang mari kita tulis antarmuka kelas.

Buat file yang disebut StepperMotor.cpp, dan salin kode dalam gambar.

Mari kita lihat konstruktor pada baris 4. Kita mulai dengan menetapkan pin yang dipilih pengguna ke array pin input pada baris 6 hingga 9. Ini akan membuatnya lebih mudah untuk mengakses nomor pin dalam algoritma mengemudi.

Pada baris 12, kita beralih melalui array pin input, dan mengatur setiap pin ke mode OUTPUT.

Pada baris 15, kami menetapkan durasi langkah menjadi 50 ms.

Pada baris 18 kita memiliki setter durasi langkah. Ini cukup jelas.

Sekarang mari kita lihat metode langkahnya. Ini memungkinkan motor stepper untuk melangkah berapa kali berlalu ke metode.

Pada baris 28, kita menentukan urutan rotasi menggunakan array 2d. Baris mewakili langkah dan kolom mewakili pin output.

Pada baris 37 kita menghitung faktor, yang akan menjadi +1 atau -1, tergantung pada tanda jumlah langkah yang dilewati. Nilai ini diperlukan dalam algoritma untuk mengarahkan arah iterasi melalui array urutan, yaitu untuk mengubah arah rotasi.

Pada jalur 38, kami membuat noOfSteps positif, diperlukan untuk desain.

Pada baris 44, kita memulai loop yang akan berjalan untuk setiap awal urutan rotasi, mis. Pada awal setiap 8 langkah.

Pada baris 45, kita mulai loop lain yang berulang melalui baris array urutan.

Pada saluran 46, kami menunda sesuai durasi yang ditentukan.

Pada saluran 47, kita beralih melalui nomor pin.

Pada saluran 48, kami menulis sinyal digital ke nomor pin saat ini.

Jika faktor negatif, baris array urutan diakses pada arah yang berlawanan pada baris 48 ketika kita menulis ke pin. 8 dikurangi dengan hitungan baris … jadi kami mengakses dari bawah ke atas.

Langkah 3: Mengakses Perpustakaan Dari Arduino IDE

Sekarang kita hanya perlu menambahkan file-file ini ke direktori perpustakaan arduino IDE. Ini akan memungkinkan kita untuk mengimpor perpustakaan itu dalam IDE untuk digunakan.

Buka direktori berikut:

C: Program Files (x86) Arduino libraries

dan kemudian buat folder bernama StepperMotor.

Sekarang, letakkan file.h dan.cpp di folder yang dibuat.

Anda sekarang dapat mengimpor perpustakaan dari dalam IDE. (sketsa> impor perpustakaan …> StepperMotor)

2 Orang Membuat Proyek Ini!

  • johnnyfrx berhasil!

  • brdavid berhasil!

Apakah Anda membuat proyek ini? Bagikan dengan kami!

Rekomendasi

  • SKY CAM Solusi Kamera Udara

  • Arduino Air Bonsai Levitation

  • Internet of Things Class

  • Kontes Pengerjaan Kayu

  • Kontes Fandom

  • Kontes Arduino 2019

8 Diskusi

0

jplaiss

3 tahun yang lalu

… Arduino ULNStepper ULNStepper.ino: 2: 26: kesalahan fatal: StepperMotor.h: Tidak ada file atau direktori seperti itu

#termasuk

Terus muncul.

2 balasan 0

DikaM2 jplaiss

Jawab 3 bulan lalu

Saya pikir perpustakaan tidak ada di direktori

0

JeremieL8 jplaiss

Jawab 2 tahun yang lalu

sama disini..

0

tahirulhaq

1 tahun yang lalu

Pekerjaan yang luar biasa !!!

0

Drumpeter

2 tahun lalu

Bagus sekali! Apakah ada kemungkinan untuk membiarkannya berputar lebih cepat dari 1 langkah per mikrodetik? Jika saya mengerti bahwa yang benar perpustakaan hanya memahami bilangan bulat. Bagaimana saya bisa mengubahnya?

0

jplaiss

3 tahun yang lalu

Saya melewatkan sesuatu di sini.

Apa yang harus saya gunakan untuk membuat file.h dan.cpp?

Bagaimana saya harus menggabungkan ini bersama untuk membuat perpustakaan yang akan menginstal di IDE?

Sejauh ini saya telah membuat dua dokumen notepad yang ketika diberi label dengan sufiks tampak sama dengan perpustakaan lain yang saya miliki. Saya telah mencoba untuk memasukkan dokumen-dokumen ini ke dalam file utama, menempatkannya ke file lain di dalam main, memilikinya di tingkat yang sama dengan kode tes dan menyulap bit ini dalam beberapa iterasi.

Tolong bantu.

0

desain fungsional

3 tahun yang lalu

Informasi yang sangat bagus! Saya akhirnya membuat stepper ini untuk dijalankan. Saya ingin menggunakan tombol untuk mengontrol kecepatan / rpm. Nilai apa yang harus diubah untuk membuatnya lebih cepat? Saya bisa membuatnya lebih lambat dengan mengubah nilai pada motor.setStepDuration (1) tetapi bagaimana dengan lebih cepat?

0

Billdwp

3 tahun yang lalu pada Langkah 2

Cemerlang, luar biasa, membantu; Terima kasih!