● online
- 10X RESISTOR 1K 1KOHM 1/4W 1% METAL FILM....
- 10mm Kapton Tape Polymide Film Gold High Temp isol....
- TP5100 4.2v 8.4v 1S 2S Single / Double Cell Lithiu....
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard....
- Modul Sensor Tegangan AC Bolak balik 220V Listrik ....
- 5V 700mA (3.5W) Isolated switch Power Supply Modul....
- Water Level sensor ketinggian air - deteksi air....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- 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
Software dari keluarga adobe, yaitu salah satunya Adobe Photoshop. Adobe Photoshop ini di ciptakan secara multi fungsi, mulai untuk... selengkapnya
Di percobaan sebelumnya, kamu sudah belajar dua hal penting secara terpisah, yaitu menyalakan LED dan membaca input dari tombol. Nah,... selengkapnya
Alarm sangat diperlukan untuk keamanan tertentu, misalnya pada rumah, toko, maupun yang berupa barang-barang berharga lainnya dari pencuri. Tentunya... selengkapnya
Siapa yang nggak kenal dengan running text? Running text merupakan sebuah teks berjalan pada sebuah papan yang berisi led-led... selengkapnya
Tutorial kali ini akan membahas mengenai penggunaan sensor IR (infrared) untuk mengontrol AC / pendingin udara menggunakan jaringan... selengkapnya
Oke Hallo semua pada kesempatan kali ini kita akan belajar mendeteksi kemiringan suatu benda. Sensor yang digunakan adalah tilt... selengkapnya
Sebagai seorang programmer tentu saja harus mempunyai kemampuan di bidang Bahasa pemograman karena landasan utama dalam membangun sebuah aplikasi... selengkapnya
Motor jadi salah satu komponen elektronik yang seru buat kita pelajari, dengan motor kita bahkan bisa buat mobil mainan yang... selengkapnya
Sensor cahaya atau LDR (Light Dependent Resistor) adalah salah satu sensor analog yang paling sering digunakan saat belajar Arduino. Sensor... selengkapnya
Dulu kita sudah belajar untuk mengisi bootloader Arduino Uno ke IC Atmega328 juga, namun dengan jenis DIP (LIHAT DISINI).... selengkapnya
Penurun tegangan DC-DC ekonomis yang bisa distel tegangan output nya. Cocok untuk pemasangan variasi mobil dan sepeda motor, dijadikan charger… selengkapnya
Rp 9.000Spesifikasi: 20mm Kapton Tape Polymide Film Gold High Temp isolasi Tahan Panas Harga Tertera: 1 Roll Kapton Tape Polymide Film… selengkapnya
Rp 219.0001 X LDR Sensor 5mm Cahaya 5528 Light Dependent Resistor LDR
Rp 4.000TECHNICAL SPECIFICATIONS: – Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz – 2GB LPDDR4-2400 SDRAM – 2.4… selengkapnya
Rp 940.0002000W SCR Electronic Voltage Regulator Speed Controller Dimmer Thermostat Aplikasi : Kontrol temperature heater, kontrol kecepatan fan/bor tangan/gurinda tangan, kompor… selengkapnya
Rp 19.500Features: Brand new and high quality. Control the speed of a DC motor with this controller. High efficiency, high torque,… selengkapnya
Rp 25.400Kabel Jumper Dupont Pelangi 30cm female to Female 1 lembar = 40 kabel
Rp 13.500Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.570.000Specifications: 1. supports sampling costs (KHz): 8/11.025/12/16/22.05/24/32/44.1/48 2. 24-bit DAC output, dynamic range aid: 90dB, SNR aid: 85dB 3. fully… selengkapnya
Rp 17.80012A 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.400Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
Kategori
Artikel Terkait
-
Bikin Sendiri Alat Pendeteksi Hujan Pakai Arduino Uno Biar Gak Kaget Pas Jemuran Basah
-
Jaga Kualitas Udara Kamar Tetap Sehat Pakai ESP32 dan Sensor MQ-135
-
Stabil Terus! Cara Bikin Kontrol Kelembapan Ruangan Otomatis Pakai Arduino dan PID
-
Bikin Robot Anti Tumbang Panduan Lengkap Self-Balancing Robot Pakai Arduino
-
Bikin Mobil Parkir Otomatis Pakai Arduino dan PID dengan Budget di Bawah 100 Ribu

Saat ini belum tersedia komentar.