Tentang proyek ini
Berikut saya hadirkan library Arduino untuk mengontrol motor DC. Perpustakaan memiliki begitu banyak fasilitas dan fleksibilitas sehingga dapat mengontrol motor DC apa pun dengan cara yang diperlukan. Perpustakaan dirancang sesuai dengan kontrol gerak industri persyaratan. Perpustakaan memiliki 16 fungsi yang berbeda sehingga dapat mengontrol motor dengan cara yang paling serbaguna. Berikut adalah daftar fasilitas di perpustakaan
1. Ini mengontrol arah putaran motor
2. Ini mengontrol kecepatan motor dari 0-100%
3. Ini dapat memberikan awal lunak ke motor dalam waktu tertentu – berarti kecepatan motor akan meningkat dari 0% ke tingkat yang diinginkan dalam waktu tertentu
4. Ini dapat memberikan perhentian mulus ke motor dalam waktu tertentu - berarti kecepatan motor akan berkurang dari kecepatan saat ini menjadi 0% dalam waktu yang ditentukan
5. Dapat menerapkan kontrol joging ke motor di kedua arah – berarti motor akan menyentak ke arah yang ditentukan
6. Dapat menerapkan DC BREAK (berarti STOP segera atau darurat) ke motor
Deskripsi singkat dari semua fungsi perpustakaan diberikan di sini. Beberapa contoh diberikan setelahnya yang menjelaskan bagaimana motor dikendalikan menggunakan perpustakaan ini. Ada tiga video yang diberikan yang menunjukkan demonstrasi contoh-contoh ini. Terakhir, disarankan rangkaian yang menggunakan rangkaian H-Bridge yang banyak digunakan untuk mengendalikan motor DC.
Untuk menggunakan perpustakaan ini di sketsa arduino Anda, cukup salin DC_Motor folder ke direktori root folder perpustakaan arduino seperti C:\arduino-1.6.7\libraries
Deskripsi fungsi perpustakaan:
1. DC_Motor(int pin1, int pin2): fungsi ini mendeklarasikan pin arduino yang menggerakkan motor DC
2. DC_Motor(int pin1, int pin2, int speed_flag): fungsi ini mendeklarasikan pin output analog arduino yang menggerakkan motor DC
3. start_motor(int dir): fungsi ini mulai memutar motor ke arah yang ditentukan. Jika arahnya 1 – motor akan mulai berputar ke depan dan sebaliknya
4. maju(): fungsi ini akan mulai memutar motor ke arah depan
5. terbalik(): fungsi ini akan mulai memutar motor ke arah sebaliknya
6. dc_break(): fungsi ini akan langsung menghentikan putaran motor*
7. stop_motor(): fungsi ini akan menghentikan putaran motor
8. jogg_full_speed(int dir) : fungsi ini akan menerapkan sentakan ke motor selama 5 detik dengan kecepatan penuh ke arah yang diinginkan
*Catatan:- fungsi ini hanya akan bekerja jika motor DC memiliki pengaturan internal untuk pemutusan DC tersebut. Selain itu, rangkaian driver motor yang tepat harus dirancang dengan resistensi pengereman dinamis (DBR) dan perawatan lengkap harus dilakukan agar motor atau sirkuit tidak rusak.
Semua fungsi di atas memberikan kontrol sederhana ke motor DC. Mereka tidak mengontrol kecepatan motor. 8 fungsi berikutnya mengontrol kecepatan serta arah motor. Tetapi diperlukan untuk memilih pin output analog arduino untuk menggunakan fungsi ini. Motor DC harus diinisialisasi dengan fungsi ke-2 bersama dengan bendera kecepatan yang disetel ke 1
9. set_speed(kecepatan int): fungsi ini akan mengatur kecepatan motor DC antara 0 hingga 100%
10. forward_with_set_speed(): fungsi ini akan mulai memutar motor DC maju dengan kecepatan yang disetel
11. reverse_with_set_speed(): fungsi ini akan mulai memutar balik motor DC pada kecepatan yang disetel
12. run_motor(int dir, int speed): fungsi ini akan memutar motor DC ke kedua arah dengan kecepatan yang disetel
13. jogg_set_speed(int dir, int speed): fungsi ini akan menerapkan sentakan ke motor di kedua arah pada kecepatan yang disetel
14. motor_speed_zero()*: fungsinya akan menurunkan kecepatan motor menjadi 0 – artinya menghentikan motor
15. soft_start(int dir, int speed, inttime_in_sec) : fungsi ini akan meningkatkan kecepatan motor dari 0 ke tingkat keinginan dalam waktu tertentu di kedua arah. Waktu harus dipilih dalam detik
16. smooth_stop(int time_in_sec): fungsi ini akan mengurangi kecepatan motor dari kecepatan berjalan saat ini menjadi 0 dalam waktu yang ditentukan. Waktu harus dipilih dalam detik
*Catatan:fungsi stop_motor() tidak dapat digunakan di sini karena memberikan output digital sedangkan fungsi ini memberikan output analog minimum untuk membuat kecepatan motor DC menjadi nol. Saat mengendalikan motor DC dengan kecepatan, jangan hanya menghentikan motor tetapi membuat kecepatannya nol.
Contoh:
1) Putar motor DC maju dan mundur dengan kecepatan penuh (kontrol tanpa kecepatan)
/*program ini akan memutar motor DC maju selama 5 detik
kemudian berhenti selama 2 detik dan putar kembali motor mundur selama
5 detik, berhenti selama 2 detik terus menerus
dibuat oleh A M Bhatt (+91-9998476150), Gujarat, INDIA
pada 12/10/2016
*/
#include
DC_Motormotor(8, 12);
voidsetup()
}
void loop()
motor.forward();
penundaan(5000);
motor.stop_motor();
delay(2000);
motor.reverse();
penundaan(5000);
motor.stop_motor();
delay(2000);
}
2) Putar motor DC maju dan mundur pada kecepatan yang disetel (dengan kontrol kecepatan)
/*program ini akan memutar motor DC maju selama 5 detik
pada kecepatan 40% lalu berhenti selama 2 detik dan putar kembali motor mundur selama
5 detik dengan kecepatan 80% terus menerus
dibuat oleh A M Bhatt (+91-9998476150), Gujarat, INDIA
pada 12/10/2016
*/
#include
Motor DC_Motor2(9, 10, 1);
voidsetup()
}
void loop()
motor2.set_speed(40);
motor2.forward_with_set_speed();
penundaan(5000);
motor2.motor_speed_zero();
delay(2000);
motor2.set_speed(80);
motor2.reverse_with_set_speed();
penundaan(5000);
motor2.motor_speed_zero();
delay(2000);
}
3) Terapkan joging ke motor di kedua arah dengan dan tanpa kontrol kecepatan
/*program ini menerapkan jog ke dua motor DC yang berbeda
* itu berlaku joging ke motor pertama dengan kecepatan penuh di kedua arah
* dan kemudian memberikan joging ke motor ke-2 dengan kecepatan 80% secara terbalik
* arah dan 30% kecepatan ke arah depan
* dibuat oleh Ashutosh M Bhatt(+91-9998476150), Gujarat (INDIA)
* pada 22/10/2016
*/
#include
Motor DC_Motor (8, 12);
Motor DC_Motor2(9, 10, 1);
voidsetup()
}
voidloop()
motor.jogg_full_speed(1);
motor.jogg_full_speed(0);
motor2.jogg_set_speed(0, 80);
motor2.jogg_set_speed(1, 30);
}
4) Terapkan soft start dan smooth stop ke motor
/*program ini akan memberikan soft start pada motor dan meningkatkan kecepatannya
dari 0 hingga 90% dalam 10 detik ke arah depan
kemudian memberikan penghentian mulus dari 90% menjadi 0 dalam 5 detik
lagi soft start dari 0 hingga 50% dalam 6 detik dalam arah terbalik
dan akhirnya berhenti dengan mulus dari 50% menjadi 0 dalam 3 detik
dibuat oleh A M Bhatt (+91-9998476150), Gujarat, INDIA
pada 12/10/2016
*/
#include
Motor DC_Motor2(9, 10, 1);
voidsetup()
}
voidloop()
motor2.soft_start(1, 90, 10);
penundaan(3000);
motor2.smooth_stop(5);
motor2.soft_start(0, 50, 6);
penundaan(3000);
motor2.smooth_stop(3);
}
Kode
- Perpustakaan Pengendali Motor DC
Pustaka Pengendali Motor DCFile Header C
Pustaka ini mengontrol kecepatan dan arah semua jenis motor DCTanpa pratinjau (hanya unduh).
Skema
Arduino UNO dan driver jembatan H digunakan untuk mengontrol Motor DC