tb6612 --- Driver motor TB6612¶
Modul tb6612 menyediakan driver untuk driver motor TB6612. Modul ini mengekspos kelas Motor untuk menggerakkan satu motor DC pada salah satu dari dua kanal, dan kelas Stepper untuk menggerakkan motor stepper 4 kabel.
Kedua kelas menggunakan pyb.Timer(4) pada 1 kHz di pin P7 dan P8 untuk keluaran daya PWM. Pin arah Motor adalah P3/P2 (kanal 1) dan P1/P0 (kanal 2). Stepper menggunakan keempat pin (P3, P2, P1, P0) ditambah kedua kanal PWM.
Contoh:
from tb6612 import Motor, Stepper
m = Motor(1)
m.set_speed(50) # 50% duty forward
s = Stepper(stepnumber=200, rpms=2, power=50)
s.step(100) # advance 100 steps
class Motor¶
class Stepper¶
- class tb6612.Stepper(stepnumber: int = 200, rpms: int = 2, power: int = 50)¶
Buat pengontrol motor stepper 4 kabel. Menginisialisasi pin arah
P3,P2,P1,P0dan dua kanal daya PWM padaP7danP8, kemudian menerapkan kecepatan dan daya yang diminta.stepnumber: Jumlah langkah penuh per revolusi motor stepper yang terhubung. Digunakan bersamarpmsuntuk menghitung penundaan antar langkah.rpms: Target kecepatan rotasi dalam revolusi per menit. Diteruskan keset_speed().power: Persentase siklus tugas PWM (0-100) yang diterapkan ke kedua kanal daya. Diteruskan keset_power().
- phase_list() Generator[tuple[int, int, int, int], None, None]¶
Generator yang terus-menerus menghasilkan pola drive empat-fase
(1, 0, 0, 0),(0, 0, 1, 0),(0, 1, 0, 0),(0, 0, 0, 1)yang digunakan olehstep(). Setiap elemen tuple adalah nilai yang ditulis kepin1,pin2,pin3,pin4secara berurutan.
- set_speed(rpms: int) None¶
Perbarui kecepatan melangkah.
rpms: Target kecepatan rotasi dalam revolusi per menit. Penundaan per setengah-langkah (dalam mikrodetik) dihitung ulang sebagai1000000 / (rpms * stepnumber) / 2.
- set_power(power: int) None¶
Atur siklus tugas PWM yang diterapkan ke kedua kanal daya.
power: Persentase siklus tugas dalam rentang0hingga100.
- step(num: int) None¶
Majukan stepper sebanyak
numtransisi fase, menerapkan fase berikutnya dariphase_list()dan menunggu penundaan antar langkah yang dikonfigurasi (viapyb.udelay) di antara transisi.num: Jumlah langkah fase untuk dimajukan. Setiap panggilan kestepmemajukan tepat sejumlah fase ini; arah tetap (generator fase yang mendasarinya hanya beriterasi maju).