Motor DC adalah motor yang paling banyak digunakan. Motor ini boleh didapati hampir di mana sahaja dari projek kecil hingga robotik canggih. Kami sebelum ini menghubungkan DC Motor dengan banyak mikrokontroler lain seperti Arduino, Raspberry pi dan menggunakannya dalam banyak projek robot. Hari ini kita belajar mengawal motor DC dengan AVR Microcontroller Atmega16. Tetapi sebelum melangkah lebih jauh mari kita ketahui lebih lanjut mengenai motor DC.
Apakah motor DC?
Motor DC adalah alat yang mengubah tenaga elektrik menjadi tenaga mekanikal. Secara khusus, motor DC menggunakan arus DC untuk menukar tenaga elektrik menjadi tenaga mekanikal. Prinsip asas motor adalah interaksi antara medan magnet dan arus untuk menghasilkan daya di dalam motor yang membantu motor berpusing. Oleh itu, apabila arus elektrik disalurkan melalui gegelung di medan magnet, daya magnet dihasilkan yang menghasilkan daya kilas yang mengakibatkan pergerakan motor. Arah motor dikawal dengan membalikkan arus. Kelajuannya juga dapat diubah dengan voltan yang disediakan. Oleh kerana mikrokontroler mempunyai pin PWM, maka ia dapat digunakan untuk mengawal kelajuan motor.
Dalam tutorial ini, operasi motor DC akan ditunjukkan dengan Atmega16. Pemacu motor L293D akan digunakan untuk membalikkan arah arus sehingga arah pergerakan. Pemacu motor L293D menggunakan konfigurasi litar H-Bridge yang mengeluarkan arus yang diperlukan ke Motor. Dua butang tekan digunakan untuk memilih arah motor. Salah satu butang tekan digunakan untuk memilih putaran jam mengikut arah jam dan yang lain digunakan untuk memilih operasi jam DC motor DC.
Komponen Diperlukan
- Motor DC (5V)
- Pemandu Motor L293D
- IC Mikrokontroler Atmega16
- Pengayun Kristal 16Mhz
- Dua Kapasitor 100nF
- Dua Kapasitor 22pF
- Tekan butang
- Wayar Pelompat
- Papan roti
- USBASP v2.0
- Led (Sebarang Warna)
Rajah Litar
Pengaturcaraan Atmega16 untuk kawalan Motor DC
Di sini Atmega16 diprogramkan menggunakan USBASP dan Atmel Studio7.0. Sekiranya anda tidak tahu cara memprogram Atmega16 menggunakan USBASP, sila lawati pautan. Program Lengkap diberikan pada akhir projek, cukup muat naik program di Atmega16 dan gunakan dua Tombol Tekan untuk memutar motor DC mengikut arah jam dan Anti Jam.Motor DC dihubungkan menggunakan pemacu motor L293D. Motor DC akan berputar ke dua arah apabila butang tekan masing-masing ditekan. Butang satu tekan akan digunakan untuk memutar motor DC ke arah Jam Bijaksana dan satu lagi butang tekan akan digunakan untuk memutar motor DC ke arah Counter Clock bijaksana. Mula-mula tentukan frekuensi CPU mikrokontroler dan sertakan semua perpustakaan yang diperlukan.
# menentukan F_CPU 16000000UL #include #include
Kemudian, gunakan satu pemboleh ubah untuk menjejaki status tekan butang. Pemboleh ubah ini akan digunakan untuk menentukan arah motor.
int i;
Pilih mod input / output GPIO menggunakan register arah data. Pada mulanya, buat output pin Motor serendah untuk mengelakkan menghidupkan motor tanpa menekan butang tekan.
DDRA = 03; PORTA & = ~ (1 << 1); PORTA & = ~ (1 << 0);
Periksa sama ada 1 st butang tekan ditekan berhubung dengan PORTA4 daripada Atmega16 dan menyimpan status butang push dalam pembolehubah.
jika (! bit_is_clear (PINA, 4)) { i = 1; PORTA & = ~ (1 << 1); _delay_ms (1000); }
Begitu juga tentang hotel 2 nd butang tekan ditekan berhubung dengan PORTA5 daripada Atmega16 dan menyimpan status butang push dalam pembolehubah.
lain jika (! bit_is_clear (PINA, 5)) { i = 2; PORTA & = ~ (1 << 0); _delay_ms (1000); }
Jika status 1 st butang adalah benar kemudian putar DC motor dalam Jam bijaksana dan jika status butang push kedua adalah benar kemudian putar DC motor dalam anti-arah jam.
jika (i == 1) { PORTA - = (1 << 0); PORTA & = ~ (1 << 1); } lain jika (i == 2) { PORTA - = (1 << 1); PORTA & = ~ (1 << 0); }
Anda boleh menyambungkan pin motor ke pin GPIO mana pun bergantung pada GPIO yang digunakan. Juga penting untuk menggunakan Motor Driver IC untuk mengurangkan beban pada mikrokontroler kerana mikrokontroler tidak mampu memberikan arus yang diperlukan untuk menjalankan motor DC. Untuk lebih terperinci dan projek lain berdasarkan motor DC, sila lawati pautan yang diberikan.
Kod lengkap dan Video Demonstrasi diberikan di bawah.