● online
- Water Level sensor ketinggian air - deteksi air....
- DS3231SN DS3231 SN I2C RTC Module & Baterai Mo....
- Kabel Jumper Arduino Dupont 20 cm Female to Male P....
- Kapton Tape Polymide Film 20mm Polimida 20 mm Isol....
- Resistor 220 Ohm 220R Ohm 220Ohm 1/4W 1% Metal fil....
- Kabel Jumper 20cm Dupont 20 cm Female to Female Pe....
- B0505S-1W 5V to 5V converter DC DC power module co....
- Dimmer SCR 2000W Motor Speed Controller 220V AC PW....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
Motor DC sering digunakan dalam proyek Raspberry Pi seperti robot, kipas otomatis, conveyor mini, dan berbagai sistem mekanik lainnya. Namun, mengontrol motor bukan hanya soal membuatnya berputar atau berhenti. Ada kondisi di mana motor perlu berjalan lebih pelan, lebih cepat, atau berada pada kecepatan tertentu agar gerakannya sesuai dengan kebutuhan proyek. Karena itu, Raspberry Pi perlu menggunakan metode khusus untuk mengatur kecepatan motor tanpa memberikan daya motor secara langsung dari GPIO.
Salah satu cara yang praktis adalah menggunakan PWM (Pulse Width Modulation) melalui modul TB6612FNG. Modul ini berfungsi sebagai motor driver yang menerima sinyal kontrol dari Raspberry Pi, kemudian mengatur kerja motor DC berdasarkan sinyal tersebut. Pada channel A, pin AIN1 dan AIN2 digunakan untuk menentukan arah putaran, sedangkan PWMA dapat menerima sinyal PWM untuk mengatur kecepatan motor. Dengan kombinasi ini, Raspberry Pi bisa mengontrol arah sekaligus mengatur seberapa cepat motor berputar.
Pada artikel sebelumnya, kita sudah membahas cara menghubungkan TB6612FNG dengan Raspberry Pi untuk mengontrol arah motor DC. Jika wiring dasar seperti VCC, GND, VM, AIN1, AIN2, PWMA, STBY, dan output motor sudah dipahami, tahap berikutnya adalah membuat kontrol kecepatannya. Pada artikel ini, kita akan fokus menggunakan PWM pada Raspberry Pi untuk mengatur kecepatan motor DC yang terhubung ke channel A TB6612FNG, mulai dari memahami duty cycle sampai membuat program Python untuk menguji beberapa tingkat kecepatan motor.
Apa Itu PWM untuk Mengatur Kecepatan Motor DC?
PWM atau Pulse Width Modulation adalah cara untuk mengatur sinyal digital dengan mengubah lama waktu sinyal berada pada kondisi HIGH dalam satu periode. Perbandingan waktu HIGH tersebut disebut duty cycle. Pada proyek ini, PWM dari GPIO18 Raspberry Pi akan dikirim ke pin PWMA pada modul TB6612FNG untuk mengatur kecepatan motor. Jika ingin melihat detail fungsi pin dan karakteristik TB6612FNG, kamu bisa merujuk ke datasheet resmi TB6612FNG dari Toshiba.
Cara kerjanya sebenarnya cukup mudah dipahami. Saat duty cycle dibuat kecil, misalnya 25%, sinyal HIGH hanya aktif selama sebagian kecil dari satu periode sehingga daya rata-rata yang diberikan ke motor menjadi lebih rendah. Ketika duty cycle dinaikkan menjadi 50% atau 75%, waktu sinyal HIGH juga semakin lama dan motor biasanya akan berputar lebih cepat. Jadi, kita tidak perlu mengubah tegangan sumber motor secara manual, cukup mengubah nilai PWM yang dikirim ke pin PWMA.
Sebagai gambaran, kita bisa mencoba beberapa nilai seperti 25% untuk kecepatan rendah, 50% untuk kecepatan sedang, dan 75% untuk kecepatan tinggi. Hasil putaran motor tidak selalu persis mengikuti angka tersebut karena kecepatan sebenarnya juga dipengaruhi oleh jenis motor, beban, tegangan sumber, dan kondisi mekaniknya. Namun, semakin besar nilai duty cycle yang diberikan, umumnya semakin besar pula kecepatan motor yang dihasilkan.
Wiring TB6612FNG dengan Raspberry Pi untuk PWM Motor DC
Pada contoh ini kita menggunakan channel A pada modul TB6612FNG. Raspberry Pi mengirimkan sinyal kontrol melalui GPIO17, GPIO27, GPIO18, dan GPIO22, sedangkan motor mendapatkan daya dari sumber eksternal melalui pin VM. GPIO18 digunakan sebagai PWM untuk mengatur kecepatan motor, GPIO17 dan GPIO27 menentukan arah putaran, sementara GPIO22 digunakan untuk mengaktifkan pin STBY.
| Raspberry Pi | TB6612FNG | Fungsi |
|---|---|---|
| 3.3V | VCC | Catu daya logika |
| GND | GND | Ground |
| GPIO17 | AIN1 | Kontrol arah |
| GPIO27 | AIN2 | Kontrol arah |
| GPIO18 | PWMA | PWM kecepatan |
| GPIO22 | STBY | Mengaktifkan driver |
| — | VM | Sumber daya motor |
| — | A01/AO1 | Output motor |
| — | A02/AO2 | Output motor |

Pastikan sumber tegangan motor pada VM sesuai dengan kebutuhan motor yang digunakan. Motor tidak boleh mengambil daya langsung dari GPIO Raspberry Pi karena GPIO hanya digunakan sebagai sinyal kontrol. Ground Raspberry Pi, modul TB6612FNG, dan sumber daya motor juga perlu terhubung bersama agar sinyal kontrol dapat bekerja dengan baik.
Program Python PWM untuk Mengatur Kecepatan Motor DC
Setelah wiring selesai, kita bisa mulai mengatur kecepatan motor menggunakan PWM. Pada program ini, GPIO18 digunakan untuk menghasilkan sinyal PWM yang dikirim ke PWMA, sedangkan GPIO17 dan GPIO27 digunakan untuk menentukan arah putaran motor. Kita akan mencoba beberapa nilai duty cycle agar perbedaan kecepatan motor bisa terlihat dengan jelas.
from gpiozero import DigitalOutputDevice, PWMOutputDevice
from time import sleep
# Pin Raspberry Pi
ain1 = DigitalOutputDevice(17)
ain2 = DigitalOutputDevice(27)
pwma = PWMOutputDevice(18)
stby = DigitalOutputDevice(22)
# Aktifkan driver dan tentukan arah motor
stby.on()
ain1.on()
ain2.off()
try:
while True:
print("Kecepatan 25%")
pwma.value = 0.25
sleep(3)
print("Kecepatan 50%")
pwma.value = 0.50
sleep(3)
print("Kecepatan 75%")
pwma.value = 0.75
sleep(3)
print("Kecepatan 100%")
pwma.value = 1.0
sleep(3)
print("Motor berhenti")
pwma.value = 0
sleep(2)
except KeyboardInterrupt:
print("Program dihentikan")
finally:
pwma.value = 0
ain1.off()
ain2.off()
stby.off()
Setiap nilai pada pwma.value menunjukkan duty cycle PWM yang digunakan untuk mengatur kecepatan motor. Nilai 0.25 berarti 25%, 0.50 berarti 50%, 0.75 berarti 75%, sedangkan 1.0 berarti 100%. Program akan menjalankan motor pada setiap tingkat kecepatan selama tiga detik, lalu menghentikannya selama dua detik sebelum mengulang kembali. Jika motor belum mau berputar pada duty cycle rendah, itu masih normal karena setiap motor memiliki karakteristik dan beban awal yang berbeda.
Menguji Kecepatan Motor DC dengan PWM Raspberry Pi
Setelah program dijalankan, motor akan melewati beberapa tingkat kecepatan mulai dari 25%, 50%, 75%, hingga 100%. Perhatikan perubahan putaran motor pada setiap tahap untuk melihat pengaruh duty cycle terhadap kecepatannya. Jika motor tidak berputar pada 25% tetapi mulai bergerak pada 50%, itu bukan berarti programnya salah karena motor membutuhkan daya awal tertentu untuk mulai berputar. Kamu juga bisa mengubah nilai pwma.value untuk mencari kecepatan yang paling sesuai dengan kebutuhan proyek.
Kesimpulan
Mengatur kecepatan motor DC dengan Raspberry Pi dan modul TB6612FNG bisa dilakukan dengan memanfaatkan PWM pada pin PWMA. GPIO Raspberry Pi digunakan untuk mengirim sinyal kontrol, sedangkan daya motor tetap berasal dari sumber eksternal. Dengan mengubah nilai duty cycle, kecepatan motor dapat dinaikkan atau diturunkan sesuai kebutuhan, sementara AIN1 dan AIN2 tetap digunakan untuk menentukan arah putaran.
Dengan kombinasi kontrol arah dan PWM, modul TB6612FNG bisa menjadi solusi praktis untuk berbagai proyek Raspberry Pi yang menggunakan motor DC. Selanjutnya, konsep ini bisa dikembangkan untuk membuat kontrol kecepatan yang lebih interaktif, misalnya menggunakan potensiometer, sensor, joystick, atau input dari aplikasi untuk mengubah kecepatan motor secara real-time.
Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
Pernahkah Anda melihat katalog busana muslimah ataupun lainnya, lalu ada objek orang yang sama dengan mengunakan baju berwarna tetapi... selengkapnya
Kali ini kita akan mencoba menggunakan sensor DHT11 pada ESP32. Seperti yang kita ketahui sensor DHT11 ini berfungsi untuk... selengkapnya
Oke kali ini akan membahas seputar sensor fingerprint, dimana fungsi dari fingerprint ini adalah sebagai validasi data identitas dengan... selengkapnya
Pada tutorial ini akan dijelaskan bagaimana memulai menggunakan NodeMCU Esp8266 pada Arduino IDE. Meskipun pada tutorial sebelumnya sudah menggunakan... selengkapnya
Sensor PIR (Passive Infrared) berfungsi sebagai pendeteksi gerakan berbasis suhu tubuh, khususnya radiasi inframerah yang dipancarkan oleh manusia dan hewan... selengkapnya
Motor jadi salah satu komponen elektronik yang seru buat kita pelajari, dengan motor kita bahkan bisa buat mobil mainan yang... selengkapnya
Tidak jauh-jauh dari shield ESP-01 lagi, kali ini akan membahas module shield untuk relay. Cukup praktis dan hemat size... selengkapnya
Bagi orang-orang yang sering melihat konten-konten di aplikasi Instagram mungkin sudah tidak asing lagi, melihat gambar atau foto yang... selengkapnya
Thingspeak merupakan sebuah platform Internet of things yang memungkinkan anda untuk memonitoring/kontrol device menggunakan internet. Platform Iot ini gratis... selengkapnya
Sensor ultrasonik merupakan sensor yang dapat mendeteksi suatu benda yang ada di depannya dengan jarak tertentu. Prinsip kerja dari... selengkapnya
12A 300W DC Buck Step Down Converter CC CV Driver LED charge Battery Spesifikasi: Input Voltage: 5-40V Output Voltage: 1.2-35V… selengkapnya
Rp 39.400Putaran = 180º Specifications • Weight: 55 g • Dimension: 40.7 x 19.7 x 42.9 mm approx. • Stall torque:… selengkapnya
Rp 36.400ESP-WROOM-32 is Powered by Espressif’s most advanced SoC, the ESP-WROOM-32 features high performance, a wide range of peripherals, Wi-Fi and… selengkapnya
Rp 38.400Features: Brand new and high quality. Control the speed of a DC motor with this controller. High efficiency, high torque,… selengkapnya
Rp 25.400Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Kabel Jumper Dupont Pelangi 10 cm.. male to female 1 lembar isi 40 kabel
Rp 9.000Modul sensor tegangan AC bolak balik 3 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 57.000this is another great IIC/I2C/TWI/SPI Serial Interface. As the pin resources of for Arduino controller is limited, your project may… selengkapnya
Rp 12.400Specifications: Operating voltage: DC3-5V Operating current: less than 20mA Sensor Type: Analog Detection Area: 40mmx16mm Production process: FR4 double-sided HASL… selengkapnya
Rp 3.000Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
Kategori
Artikel Terkait
-
Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC
-
Cara Membuat Alarm Keamanan Sederhana dengan Sensor PIR dan Raspberry Pi 5
-
Cara Menghubungkan Sensor PIR ke Raspberry Pi untuk Mendeteksi Gerakan
- Cara Mengetahui Alamat I2C SHT40 dengan ESP32-C3 Mini
-
Cara Menghubungkan SHT40 ke ESP32-C3 Mini untuk Membaca Suhu dan Kelembapan

Saat ini belum tersedia komentar.