tb6612 — TB6612 motormeghajtó¶
A tb6612 modul meghajtót biztosít a TB6612 motormeghajtóhoz. Egy Motor osztályt tesz elérhetővé egyetlen egyenáramú motor vezérléséhez a két csatorna egyikén, valamint egy Stepper osztályt egy 4 vezetékes léptetőmotor vezérléséhez.
Mindkét osztály a pyb.Timer(4) időzítőt használja 1 kHz-en a P7 és P8 lábakon a PWM teljesítménykimenethez. A Motor irányvezérlő lábai P3/P2 (1. csatorna) és P1/P0 (2. csatorna). A Stepper mind a négy lábat (P3, P2, P1, P0) és mindkét PWM csatornát használja.
Példa:
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 tb6612.Motor(channel: int)¶
Egyenáramú motorvezérlőt hoz létre a két TB6612 csatorna egyikéhez kötve.
channel: A motor csatornaszáma.1aP3/P2irányvezérlő lábakat és aP7PWM lábat használja (4. időzítő, 1. csatorna).2aP1/P0irányvezérlő lábakat és aP8PWM lábat használja (4. időzítő, 2. csatorna).
class Stepper¶
- class tb6612.Stepper(stepnumber: int = 200, rpms: int = 2, power: int = 50)¶
4 vezetékes léptetőmotor-vezérlőt hoz létre. Inicializálja a
P3,P2,P1,P0irányvezérlő lábakat és a két PWM teljesítménycsatornát aP7ésP8lábakon, majd alkalmazza a kért sebességet és teljesítményt.stepnumber: A csatlakoztatott léptetőmotor fordulatonkénti teljes lépéseinek száma. Azrpmsértékkel együtt használatos a lépésközti késleltetés kiszámításához.rpms: Célsebesség fordulat/percben. Továbbítva aset_speed()metódusnak.power: A mindkét teljesítménycsatornára alkalmazott PWM kitöltési tényező százalékban (0-100). Továbbítva aset_power()metódusnak.
- phase_list() Generator[tuple[int, int, int, int], None, None]¶
Olyan generátor, amely végtelenül szolgáltatja a
step()által használt négyfázisú meghajtási mintát:(1, 0, 0, 0),(0, 0, 1, 0),(0, 1, 0, 0),(0, 0, 0, 1). Minden tuple-elem apin1,pin2,pin3,pin4lábakra írandó értéket jelöli sorrendben.
- set_speed(rpms: int) None¶
Frissíti a léptetési sebességet.
rpms: Célsebesség fordulat/percben. A félléptetésenkénti késleltetés (mikroszekundumban) újraszámolódik1000000 / (rpms * stepnumber) / 2formában.
- set_power(power: int) None¶
Beállítja a mindkét teljesítménycsatornára alkalmazott PWM kitöltési tényezőt.
power: Kitöltési tényező százalékban a0és100közötti tartományban.
- step(num: int) None¶
numfázisátmenettel lépteti előre a léptetőmotort, alkalmazva a következő fázist aphase_list()generátorból, és az átmenetek között a beállított lépésközti késleltetést várva (apyb.udelaysegítségével).num: Az előrelépendő fázisok száma. Astepminden hívása pontosan ennyi fázist léptet előre; az irány rögzített (az alatta lévő fázisgenerátor csak előrefelé iterál).