tb6612 — ovladač motorů TB6612¶
Modul tb6612 poskytuje ovladač pro budič motorů TB6612. Nabízí třídu Motor pro řízení jednoho stejnosměrného motoru na jednom ze dvou kanálů a třídu Stepper pro řízení čtyřvodičového krokového motoru.
Obě třídy používají pyb.Timer(4) na 1 kHz na pinech P7 a P8 pro PWM výstup výkonu. Směrové piny třídy Motor jsou P3/P2 (kanál 1) a P1/P0 (kanál 2). Třída Stepper používá všechny čtyři piny (P3, P2, P1, P0) plus oba PWM kanály.
Příklad:
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
třída Motor¶
třída Stepper¶
- class tb6612.Stepper(stepnumber: int = 200, rpms: int = 2, power: int = 50)¶
Vytvoří řadič čtyřvodičového krokového motoru. Inicializuje směrové piny
P3,P2,P1,P0a dva PWM napájecí kanály naP7aP8, poté použije požadovanou rychlost a výkon.stepnumber: Počet plných kroků na otáčku připojeného krokového motoru. Používá se spolu srpmsk výpočtu prodlevy mezi kroky.rpms: Cílová rychlost otáčení v otáčkách za minutu. Předáno metoděset_speed().power: Procentuální střída PWM (0-100) aplikovaná na oba napájecí kanály. Předáno metoděset_power().
- phase_list() Generator[tuple[int, int, int, int], None, None]¶
Generátor, který nekonečně poskytuje čtyřfázový budicí vzor
(1, 0, 0, 0),(0, 0, 1, 0),(0, 1, 0, 0),(0, 0, 0, 1)používaný metodoustep(). Každý prvek n-tice je hodnota zapsaná postupně dopin1,pin2,pin3,pin4.
- set_speed(rpms: int) None¶
Aktualizuje rychlost krokování.
rpms: Cílová rychlost otáčení v otáčkách za minutu. Prodleva na půlkrok (v mikrosekundách) se přepočítá jako1000000 / (rpms * stepnumber) / 2.
- set_power(power: int) None¶
Nastaví střídu PWM aplikovanou na oba napájecí kanály.
power: Procentuální střída v rozsahu0až100.
- step(num: int) None¶
Posune krokový motor o
numfázových přechodů, přičemž aplikuje další fázi zphase_list()a mezi přechody čeká nakonfigurovanou prodlevu mezi kroky (pomocípyb.udelay).num: Počet fázových kroků k posunu. Každé volánístepposune přesně tolik fází; směr je pevný (podkladový generátor fází iteruje pouze vpřed).