Raspberry Pi adalah papan berbasis prosesor arsitektur ARM yang dirancang untuk insinyur elektronik dan penghobi. PI adalah salah satu platform pengembangan proyek paling tepercaya saat ini. Dengan kecepatan prosesor yang lebih tinggi dan RAM 1 GB, PI dapat digunakan untuk banyak proyek profil tinggi seperti Pemrosesan gambar dan Internet of Things.
Untuk melakukan salah satu proyek profil tinggi, seseorang perlu memahami fungsi dasar PI. Kami akan membahas semua fungsi dasar Raspberry Pi dalam tutorial ini. Dalam setiap tutorial kita akan membahas salah satu fungsi PI. Pada akhir Seri Tutorial Raspberry Pi ini, Anda akan dapat melakukan proyek profil tinggi sendiri. Pergi melalui tutorial di bawah ini:
- Memulai dengan Raspberry Pi
- Konfigurasi Raspberry Pi
- LED Blinky
- Antarmuka Tombol Raspberry Pi
- Generasi Raspberry Pi PWM
- Mengontrol Motor DC menggunakan Raspberry Pi
Dalam tutorial ini, kita akan Mengontrol Kecepatan Motor Stepper menggunakan Raspberry Pi. Di Stepper Motor, seperti namanya sendiri, rotasi poros dalam bentuk Langkah. Ada berbagai jenis Motor Stepper; Disini kita akan menggunakan salah satu yang paling populer yaitu Unipolar Stepper Motor. Tidak seperti motor DC, kita dapat memutar motor stepper ke sudut tertentu dengan memberikan instruksi yang tepat.
Untuk memutar Motor Stepper Empat Tahap ini, kita akan mengirimkan pulsa daya dengan menggunakan Sirkuit Driver Motor Stepper. Sirkuit driver mengambil pemicu logika dari PI. Jika kita mengontrol pemicu logika, kita mengontrol pulsa daya dan karenanya kecepatan motor stepper.
Ada 40 pin keluaran GPIO di Raspberry Pi 2. Namun dari 40, hanya 26 pin GPIO (GPIO2 hingga GPIO27) yang dapat diprogram. Beberapa pin ini menjalankan beberapa fungsi khusus. Dengan penyisihan GPIO khusus, kami hanya memiliki 17 GPIO tersisa. Masing-masing dari 17 pin GPIO ini dapat menghasilkan arus maksimum 15mA. Dan jumlah arus dari semua Pin GPIO tidak boleh melebihi 50mA. Untuk mengetahui lebih lanjut tentang pin GPIO, melalui: LED Berkedip dengan Raspberry Pi
Ada pin output daya + 5V (Pin 2 & 4) dan + 3,3V (Pin 1 & 17) di papan untuk menghubungkan modul dan sensor lain. Rel listrik ini tidak dapat digunakan untuk menggerakkan Motor Stepper, karena kita membutuhkan lebih banyak tenaga untuk memutarnya. Jadi kita harus menyalurkan tenaga ke Stepper Motor dari sumber tenaga lain. Motor stepper saya memiliki nilai tegangan 9V jadi saya menggunakan baterai 9v sebagai sumber tenaga kedua saya. Cari nomor model motor stepper Anda untuk mengetahui nilai tegangan. Bergantung pada peringkatnya, pilih sumber sekunder dengan tepat.
Seperti yang dinyatakan sebelumnya, kita membutuhkan rangkaian driver untuk menggerakkan Motor Stepper. Kami juga akan merancang Sirkuit Driver Transistor Sederhana di sini.
Komponen yang Dibutuhkan:
Di sini kami menggunakan Raspberry Pi 2 Model B dengan Raspbian Jessie OS. Semua persyaratan dasar Perangkat Keras dan Perangkat Lunak telah dibahas sebelumnya, Anda dapat mencarinya di Pengenalan Raspberry Pi, selain itu yang kami butuhkan:
- Menghubungkan pin
- 220Ω atau 1KΩ resistor (3)
- Motor Stepper
- Tombol (2)
- 2N2222 Transistor (4)
- 1N4007 Diode (4)
- Kapasitor- 1000uF
- Papan Roti
Penjelasan Sirkuit:
Motor stepper menggunakan 200 langkah untuk menyelesaikan putaran 360 derajat, artinya rotasinya 1,8 derajat per langkah. Saat kita mengendarai Motor Stepper Empat Tahap, jadi kita perlu memberikan empat pulsa untuk menyelesaikan siklus logika tunggal. Setiap langkah motor ini menyelesaikan 1,8 derajat putaran, jadi untuk menyelesaikan satu siklus kita membutuhkan 200 pulsa. Jadi 200/4 = 50 siklus logika yang dibutuhkan untuk menyelesaikan satu rotasi. Periksa ini untuk mengetahui lebih lanjut tentang Steppers Motors dan Mode Mengemudi.
Kami akan menggerakkan masing-masing dari empat kumparan ini dengan transistor NPN (2N2222), transistor NPN ini mengambil pulsa logika dari PI dan menggerakkan kumparan yang sesuai. Empat transistor mengambil empat logika dari PI untuk menggerakkan empat tahap motor stepper.
Sirkuit driver transistor adalah pengaturan yang rumit; di sini kita harus memperhatikan bahwa salah menghubungkan transistor dapat memuat papan berat dan merusaknya. Periksa ini untuk memahami Sirkuit Driver Motor Stepper dengan benar.
Motor adalah induksi dan saat mengganti motor, kami mengalami lonjakan induktif. Lonjakan ini akan memanaskan transistor dengan berat, jadi kita akan menggunakan Diode (1N4007) untuk memberikan perlindungan pada transistor terhadap Spiking Induktif.
Untuk mengurangi fluktuasi tegangan, kami akan menghubungkan kapasitor 1000uF melintasi catu daya seperti yang ditunjukkan pada Diagram Sirkuit.
Penjelasan Kerja:
Setelah semuanya terhubung sesuai diagram rangkaian, kita dapat MENGAKTIFKAN PI untuk menulis program di PYHTON.
Kami akan berbicara tentang beberapa perintah yang akan kami gunakan dalam program PYHTON, Kami akan mengimpor file GPIO dari perpustakaan, fungsi di bawah ini memungkinkan kami untuk memprogram pin GPIO PI. Kami juga mengganti nama "GPIO" menjadi "IO", jadi dalam program kapan pun kami ingin merujuk ke pin GPIO, kami akan menggunakan kata 'IO'.
impor RPi.GPIO sebagai IO
Terkadang, ketika pin GPIO, yang kami coba gunakan, mungkin melakukan beberapa fungsi lain. Dalam hal ini, kami akan menerima peringatan saat menjalankan program. Perintah di bawah ini memberi tahu PI untuk mengabaikan peringatan dan melanjutkan program.
IO.setwarnings (Salah)
Kita dapat merujuk pin GPIO PI, baik dengan nomor pin di papan atau dengan nomor fungsinya. Seperti 'PIN 35' di papan tulis adalah 'GPIO19'. Jadi kami beri tahu di sini apakah kami akan mewakili pin di sini dengan '35' atau '19'.
IO.setmode (IO.BCM)
Kami menetapkan empat pin GPIO sebagai output untuk menggerakkan empat gulungan motor stepper.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
Kami menetapkan GPIO26 dan GPIO19 sebagai pin input. Kami akan mendeteksi penekanan tombol oleh pin ini.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
Jika Kondisi di dalam kurung kurawal benar, pernyataan di dalam loop akan dieksekusi satu kali. Jadi jika pin GPIO 26 menjadi rendah, maka pernyataan di dalam loop IF akan dijalankan satu kali. Jika GPIO pin 26 tidak rendah, maka pernyataan di dalam loop IF tidak akan dijalankan.
jika (IO.input (26) == False):
Perintah ini mengeksekusi loop 100 kali, x bertambah dari 0 menjadi 99.
untuk x dalam rentang (100):
Sedangkan 1: digunakan untuk infinity loop. Dengan perintah ini, pernyataan di dalam loop ini akan dijalankan terus menerus.
Kami memiliki semua perintah yang diperlukan untuk mencapai Kontrol Kecepatan Motor Stepper dengan ini.
Setelah menulis program dan menjalankannya, yang tersisa hanyalah mengoperasikan kontrol. Kami memiliki dua tombol yang terhubung ke PI. Satu untuk menambah penundaan antara empat pulsa dan lainnya untuk mengurangi penundaan antara empat pulsa. Penundaan itu sendiri berbicara tentang kecepatan; jika penundaan lebih tinggi, motor akan mengerem di antara setiap langkah sehingga putaran menjadi lambat. Jika jeda mendekati nol, maka motor berputar dengan kecepatan maksimum.
Di sini harus diingat bahwa, harus ada jeda antara pulsa. Setelah memberikan pulsa, motor stepper membutuhkan waktu beberapa milidetik untuk mencapai tahap akhirnya. Jika tidak ada penundaan yang diberikan antara pulsa, motor stepper tidak akan bergerak sama sekali. Biasanya penundaan 50ms baik-baik saja di antara pulsa. Untuk informasi yang lebih akurat, lihat lembar data.
Jadi dengan dua tombol kita bisa mengontrol tunda, yang pada gilirannya mengontrol kecepatan motor stepper.