● online
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- Raspberry Pi 4 Model B - 2GB RAM Raspberry Pi 4B....
- LCD CHARACTER 16X2 1602 5V GREEN HIJAU BACKLIGHT M....
- 10mm Kapton Tape Polymide Film Gold High Temp isol....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- ESR Meter Digital LCR-T4 Tester Transistor Diode M....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Male to Mal....
- Dimmer AC 4000W 220 Volt 4000 Watt 220V + Casing A....
- 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
MPU6050 adalah Sensor Gyroscope dan Accelerometer yang memiliki 6-axis Motion Tracking di mana perangkat ini mengkombinasikan 3-axis gyroscope, 3-axis accelerometer... selengkapnya
Salah satu proyek pertama yang sering dilakukan oleh pemula dalam dunia Raspberry Pi adalah menyalakan LED. Meskipun terlihat sederhana, proyek... selengkapnya
Di dalam dunia elektronika, dikenal dua jenis input dan output (I/O) yaitu, analog dan digital. Untuk yang digital itu gampang... selengkapnya
Halo semuanya, pada kesempatan kali ini Saya ingin berbagi tutorial tentang simulasi penggunaan sensor suhu TMP36 untuk mengukur suhu... selengkapnya
Hallo, kali ini akan membahas bagaimana cara untuk membuat dimmer menggunakan mosfet D4184 module. Mosfet mempunyai fungsi yaitu untuk... selengkapnya
Hallo semua, pada artikel kali saya ini akan membahas kembali seputar push button switch dimana pada artikel yang sebelumnya... selengkapnya
Thingspeak merupakan sebuah platform Internet of things yang memungkinkan anda untuk memonitoring/kontrol device menggunakan internet. Platform Iot ini gratis... selengkapnya
Setelah kemarin-kemarin sudah sering membahas board esp8266 dengan jenis NodeMCU. Kali ini kita belajar dengan jenis lain yaitu ESP-01,... selengkapnya
Pada postingan sebelumnya sudah membahas tentang kontrol relay menggunakan Arduino di sini. Nah untuk kali ini saya akan membahasnya... selengkapnya
Siapa yang nggak kenal dengan running text? Running text merupakan sebuah teks berjalan pada sebuah papan yang berisi led-led... 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.400TILT SENSOR adalah sensor untuk mendeteksi sudut kemiringan / derajat, dimana cara kerja sensor ini adalah dengan menggunakan 2 buah… selengkapnya
Rp 9.800Tang Crimping Press Skun Ratchet YTH SN-48B Model YTH SN-48B FOR NON INSULATED TERMINAL YTH SN-48B dengan mata Press 0.5… selengkapnya
Rp 150.000Kabel Jumper Dupont Pelangi 10 cm.. male to female 1 lembar isi 40 kabel
Rp 9.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.400Case patern: Solid Warna : Merah dan Hijau Current: 10-20 mA Diameter: 3mm
Rp 300Features: It is of high power density, high efficiency, high-reliability, small size and lightweight. It can isolate unsteady single-way voltage… selengkapnya
Rp 18.500Harga untuk 10pcs Resistance: 1K Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film
Rp 1.500Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.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.