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. 1 a P3/P2 irányvezérlő lábakat és a P7 PWM lábat használja (4. időzítő, 1. csatorna). 2 a P1/P0 irányvezérlő lábakat és a P8 PWM lábat használja (4. időzítő, 2. csatorna).

set_speed(pwm: int) None

Beállítja a motor sebességét és irányát.

  • pwm: Előjeles kitöltési tényező a -100 és 100 közötti tartományban. A pozitív értékek előre hajtják a motort, a negatív értékek visszafelé. Az abszolút érték kerül alkalmazásra PWM kitöltési tényező százalékként a teljesítménylábon.

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, P0 irányvezérlő lábakat és a két PWM teljesítménycsatornát a P7 és P8 lá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. Az rpms é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 a set_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 a set_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 a pin1, pin2, pin3, pin4 lá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ódik 1000000 / (rpms * stepnumber) / 2 formá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 a 0 és 100 közötti tartományban.

step(num: int) None

num fázisátmenettel lépteti előre a léptetőmotort, alkalmazva a következő fázist a phase_list() generátorból, és az átmenetek között a beállított lépésközti késleltetést várva (a pyb.udelay segítségével).

  • num: Az előrelépendő fázisok száma. A step minden 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).