● online
- LCD 16x2 / 1602 Display Arduino Raspberry LCD 16 x....
- Kabel Jumper 20cm Dupont 20 cm Female to Female Pe....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to F....
- DS3231SN DS3231 SN I2C RTC Module & Baterai Mo....
- Water Level sensor ketinggian air - deteksi air....
- LDR Sensor 5mm Cahaya 5528 Light Dependent Resisto....
- Raspberry Pi 4 Model B - 2GB RAM Raspberry Pi 4B....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- 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
Hallo, kali ini akan membahas bagaimana cara untuk membuat dimmer menggunakan mosfet D4184 module. Mosfet mempunyai fungsi yaitu untuk... selengkapnya
SMS gateway merupakan layanan yang berguna untuk meneruskan pesan ke jaringan seluler lain... selengkapnya
Halo, Sobat! Pernah nggak sih ngerasa parno pas mau tidur atau pas lagi di luar rumah, tiba-tiba kepikiran: “Duh, gas... selengkapnya
Motor servo adalah salah satu jenis motor listrik yang memiliki feedback berupa sensor posisi. Dengan adanya feedback tersebut, motor... selengkapnya
Sensor INA219 merupakan sensor yang berfungsi untuk mengukur 2 parameter sekaligus yaitu tegangan (volt) dan arus (ampere). Tegangan yang... selengkapnya
Halo teman-teman tech enthusiast! Di era industri modern dan pembangunan infrastruktur yang serba cepat, aspek pemantauan kondisi struktur fisik (structural... selengkapnya
Pada penggunaan mesin CNC router salah satu kegunaanya adalah dapat membuat layout atau jalur PCB. Cara penggunaanya kita memerlukan... selengkapnya
Sensor TDS meter adalah perangkat elektronika yang digunakan untuk mengukur partikel terlarut dalam air, partikel terlarut termasuk zat organik... selengkapnya
Kalau kamu baru mulai belajar Arduino, percobaan pertama yang paling wajib dicoba adalah menyalakan LED. Percobaan ini kelihatannya simpel, tapi... selengkapnya
Oke kali ini saatnya kita mulai running ke mesin CNC router engaraving langsung. Sebelumnya apakah anda sudah mempersiapkan bahan-bahanya?... selengkapnya
Modul sensor tegangan AC bolak balik 1 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 21.000Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v – Sudah include module I2C Backpack dan tersolder… selengkapnya
Rp 30.000Modul sensor tegangan AC bolak balik 3 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 57.000Features: It is of high power density, high efficiency, high-reliability, small size and lightweight. It can isolate unsteady single-way voltage… selengkapnya
Rp 18.500POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.90012A 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.400Warna : biru dan merah Bahan Alumunium 25T include baut 2 pcs
Rp 8.7501 X LDR Sensor 5mm Cahaya 5528 Light Dependent Resistor LDR
Rp 4.000Kabel Jumper Dupont Pelangi 30cm Male to Female 1 lembar = 40 kabel
Rp 13.500Buruan dibeli gan….barang murah-berkualitas SIAPA CEPAT DIA DAPAT Spesifikasi: LCD 1602 / 16×2 (16 karakter, 2 baris) merek QAPASS (cek… selengkapnya
Rp 24.500Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
Kategori
Artikel Terkait
-
Bikin Sistem Parkir Otomatis dengan Penghitung Kendaraan dan Indikator Slot Kosong
-
Cara Bikin Sistem Monitoring Getaran Gempa dan Stabilitas Kemiringan Pakai ESP32 dan MPU 6050
-
Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
-
Bikin Sistem Monitor Volume Air Tandon Otomatis Pakai Arduino Uno dan Sensor Ultrasonik
-
Bikin Smart Medicine Box Otomatis Pakai Arduino Nano dan Sensor Suhu DHT11

Saat ini belum tersedia komentar.