tb6612 — TB6612 upravljački program za motore#

Modul tb6612 pruža upravljački program za TB6612 upravljač motora. Izlaže klasu Motor za pogon jednog istosmjernog motora na jednom od dva kanala te klasu Stepper za pogon 4-žičnog koračnog motora.

Obje klase koriste pyb.Timer(4) na 1 kHz na pinovima P7 i P8 za PWM izlaz snage. Pinovi smjera klase Motor su P3/P2 (kanal 1) i P1/P0 (kanal 2). Klasa Stepper koristi sva četiri pina (P3, P2, P1, P0) plus oba PWM kanala.

Primjer:

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

klasa Motor#

class tb6612.Motor(channel: int)#

Konstruira upravljač istosmjernog motora vezan na jedan od dva TB6612 kanala.

  • channel: Broj kanala motora. 1 koristi pinove smjera P3/P2 i PWM pin P7 (mjerač vremena 4, kanal 1). 2 koristi pinove smjera P1/P0 i PWM pin P8 (mjerač vremena 4, kanal 2).

set_speed(pwm: int) None#

Postavlja brzinu i smjer motora.

  • pwm: Predznačeni radni ciklus u rasponu od -100 do 100. Pozitivne vrijednosti pogone motor naprijed, negativne vrijednosti pogone ga unatrag. Apsolutna vrijednost primjenjuje se kao postotak PWM radnog ciklusa na pin snage.

klasa Stepper#

class tb6612.Stepper(stepnumber: int = 200, rpms: int = 2, power: int = 50)#

Konstruira upravljač 4-žičnog koračnog motora. Inicijalizira pinove smjera P3, P2, P1, P0 i dva PWM kanala snage na P7 i P8, zatim primjenjuje zatraženu brzinu i snagu.

  • stepnumber: Broj punih koraka po okretaju spojenog koračnog motora. Koristi se zajedno s rpms za izračun kašnjenja između koraka.

  • rpms: Ciljana brzina vrtnje u okretajima u minuti. Prosljeđuje se metodi set_speed().

  • power: Postotak PWM radnog ciklusa (0-100) primijenjen na oba kanala snage. Prosljeđuje se metodi set_power().

phase_list() Generator[tuple[int, int, int, int], None, None]#

Generator koji beskonačno generira četverofazni pogonski uzorak (1, 0, 0, 0), (0, 0, 1, 0), (0, 1, 0, 0), (0, 0, 0, 1) koji koristi step(). Svaki element n-torke je vrijednost koja se zapisuje u pin1, pin2, pin3, pin4 redom.

set_speed(rpms: int) None#

Ažurira brzinu koračanja.

  • rpms: Ciljana brzina vrtnje u okretajima u minuti. Kašnjenje po polukoraku (u mikrosekundama) ponovno se izračunava kao 1000000 / (rpms * stepnumber) / 2.

set_power(power: int) None#

Postavlja PWM radni ciklus primijenjen na oba kanala snage.

  • power: Postotak radnog ciklusa u rasponu od 0 do 100.

step(num: int) None#

Pomiče koračni motor za num faznih prijelaza, primjenjujući sljedeću fazu iz phase_list() i čekajući konfigurirano kašnjenje između koraka (putem pyb.udelay) između prijelaza.

  • num: Broj faznih koraka za napredovanje. Svaki poziv funkcije step napreduje točno za toliko faza; smjer je fiksan (osnovni generator faza iterira samo unaprijed).