● online
- Kabel Jumper 20cm Dupont 20 cm Female to Female Pe....
- Dimmer AC 4000W 220 Volt 4000 Watt 220V + Casing A....
- Kabel Jumper arduino Dupont Pelangi 30 cm Male to ....
- ADS1115 16 Bit I2C Module ADC 4 channel with Pro G....
- LED 3mm Lampu LED 3 mm....
- Relay Module 1 Channel Modul Relay 5V 10A 1 Channe....
- Kabel Jumper 20cm Dupont 20 cm Male to Male Pelang....
- LM35DZ Sensor Suhu - LM35....
- 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
Apa itu efek autumn? Efek autumn adalah efek musim gugur, dimana dedaunan akan berubah warna dari hijau menjadi coklat... selengkapnya
Menjaga kondisi lingkungan ruang server tetap stabil adalah hal yang sangat krusial bagi kelangsungan operasional sistem TI. Jika suhu dan... selengkapnya
Setelah kamu mengenal Arduino Uno dan isi dari Arduino Uno Trainer Kit, sekarang saatnya masuk ke bagian yang lebih teknis... selengkapnya
Sudah pernah menyalakan LED menggunakan Python? Atau membaca input dari tombol? Di proyek kali ini, kamu akan menggabungkan dua fungsi... selengkapnya
LCD atau Liquid Crystal Display adalah perangkat yang berfungsi sebagai media penampil dengan memanfaatkan kristal cair sebagai objek penampil utama.... selengkapnya
CNC router merupakan sebuah mesin yang mempunyai kegunaan untuk memotong, mengukir/grafir dan membuat marking. Semua proses itu dapat dilakukan... selengkapnya
HK1600B merupakan salah satu sensor tekanan yang mudah kita temukan di pasaran, dengan output analog linear dari 0.5V hingga 4.5V,... selengkapnya
Halo, Sobat! Pernah nggak sih ngerasa parno pas mau tidur atau pas lagi di luar rumah, tiba-tiba kepikiran: “Duh, gas... selengkapnya
Halo, Sobat Makers! Pernah nggak sih ngerasa pusing atau pengap pas lagi asyik nyolder project atau eksperimen kimia di kamar/lab?... selengkapnya
RFID merupakan suatu teknologi yang dapat mengidentifikasi sebuah objek menggunakan frekuensi radio. Untuk dapat menggunakanya kita membutuhkan sebuah ID... selengkapnya
sg90 towerpro penggerak pada robot-robot kecil, dan bisa digunakan sebagai alat untuk hobi membuat robot dsb, dengan berat sekitar 9g… selengkapnya
Rp 15.500Support terus UKM indonesia dengan membeli produk-produk dalam negeri. Untuk kualitas tidak usah diragukan, udah kita tes QC dengan sangat… selengkapnya
Rp 8.500ESP-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.400Harga untuk 10pcs Resistance: 220 Ohm Wattage Rating: 0.25 Watt Tolerance: 1% Metal Film Lead Free ROHS compliant
Rp 1.500Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.000TECHNICAL SPECIFICATIONS: – Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz – 2GB LPDDR4-2400 SDRAM – 2.4… selengkapnya
Rp 940.000Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.900MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300Kinerja Produk: Warnanya coklat (amber), Goldfinger tape sticky baik, patuh, suhu tinggi, pelarut, tidak ada rembesan timah dan tidak ada… selengkapnya
Rp 11.900Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v – Sudah include module I2C Backpack dan tersolder… selengkapnya
Rp 30.000Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
Kategori
Artikel Terkait
-
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
-
Bikin Sensor Parkir Otomatis Pakai Arduino Uno dan HC SR04

Saat ini belum tersedia komentar.