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, Anda akan dapat melakukan proyek profil tinggi sendiri. Periksa ini untuk Memulai dengan Raspberry Pi dan Konfigurasi Raspberry Pi.
Kita telah membahas LED Blinky, Button Interfacing dan generasi PWM di tutorial sebelumnya. Dalam tutorial ini kita akan Mengontrol Kecepatan Motor DC menggunakan teknik Raspberry Pi dan PWM. PWM (Pulse Width Modulation) adalah metode yang digunakan untuk mendapatkan tegangan variabel dari sumber daya konstan. Kita telah membahas tentang PWM pada tutorial sebelumnya.
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 memiliki 17 GPIO tersisa. Untuk mengetahui lebih lanjut tentang pin GPIO, melalui: LED Berkedip dengan Raspberry Pi
Masing-masing dari 17 pin GPIO ini dapat menghasilkan maksimum 15mA. Dan jumlah arus dari semua Pin GPIO tidak boleh melebihi 50mA. Jadi kita bisa menggambar rata-rata maksimal 3mA dari masing-masing pin GPIO ini. Jadi seseorang tidak boleh merusak hal-hal ini kecuali Anda tahu apa yang Anda lakukan.
Ada pin output daya + 5V (Pin 2 & 4) dan + 3,3V (Pin 1 & 17) di papan untuk menghubungkan modul dan sensor lain. Rel daya ini terhubung secara paralel dengan daya prosesor. Jadi menarik arus tinggi dari power rail ini memengaruhi Prosesor. Ada sekring pada papan PI yang akan trip setelah Anda menerapkan beban tinggi. Anda dapat menggambar 100mA dengan aman dari rel + 3.3V. Kami membicarakan hal ini di sini karena; kami menghubungkan motor DC ke + 3.3V. Dengan mempertimbangkan batasan daya, kami hanya dapat menghubungkan motor daya rendah di sini, jika Anda ingin menggerakkan motor daya tinggi, pertimbangkan untuk menyalakannya dari sumber daya terpisah.
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 DC Kecil
- Tombol (2)
- 2N2222 Transistor
- 1N4007 Diode
- Kapasitor- 1000uF
- Papan Roti
Penjelasan Sirkuit:
Seperti yang dikatakan sebelumnya, kami tidak dapat menarik lebih dari 15mA dari pin GPIO mana pun dan motor DC menarik lebih dari 15mA, sehingga PWM yang dihasilkan oleh Raspberry Pi tidak dapat diumpankan ke motor DC secara langsung. Jadi jika kita menghubungkan motor langsung ke PI untuk kontrol kecepatan, papan mungkin rusak secara permanen.
Jadi kita akan menggunakan transistor NPN (2N2222) sebagai perangkat switching. Transistor ini di sini menggerakkan motor DC daya tinggi dengan mengambil sinyal PWM dari PI. Di sini orang harus memperhatikan bahwa salah menghubungkan transistor dapat memuat papan dengan berat.
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 mengatur GPIO19 (atau PIN35) sebagai pin keluaran. Kami akan mendapatkan output PWM dari pin ini.
IO.setup (19, IO.IN)
Setelah mengatur pin sebagai output kita perlu mengatur pin sebagai pin keluaran PWM, p = IO.PWM (saluran keluaran, frekuensi sinyal PWM)
Perintah di atas adalah untuk mengatur saluran dan juga untuk mengatur frekuensi sinyal PWM. 'p' di sini adalah variabel itu bisa apa saja. Kami menggunakan GPIO19 sebagai saluran keluaran PWM. ' Frekuensi sinyal PWM ' telah dipilih 100, karena kami tidak ingin melihat LED berkedip.
Perintah di bawah ini digunakan untuk memulai pembangkitan sinyal PWM, ' DUTYCYCLE ' untuk mengatur rasio Turn On, 0 berarti LED akan ON selama 0% dari waktu, 30 berarti LED akan ON selama 30% dari waktu dan 100 berarti sepenuhnya ON.
p. mulai (TUGAS)
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):
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 dengan ini.
Setelah menulis program dan menjalankannya, yang tersisa hanyalah mengoperasikan kontrol. Kami memiliki dua tombol yang terhubung ke PI; satu untuk menaikkan Siklus Tugas sinyal PWM dan satu lagi untuk menurunkan Siklus Tugas sinyal PWM. Dengan menekan satu tombol, kecepatan motor DC bertambah dan dengan menekan tombol lainnya, kecepatan motor DC berkurang. Dengan ini kami telah mencapai Kontrol Kecepatan Motor DC oleh Raspberry Pi.
Periksa juga:
- Kontrol Kecepatan Motor DC
- Kontrol Motor DC menggunakan Arduino