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#
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,P0i dva PWM kanala snage naP7iP8, zatim primjenjuje zatraženu brzinu i snagu.stepnumber: Broj punih koraka po okretaju spojenog koračnog motora. Koristi se zajedno srpmsza izračun kašnjenja između koraka.rpms: Ciljana brzina vrtnje u okretajima u minuti. Prosljeđuje se metodiset_speed().power: Postotak PWM radnog ciklusa (0-100) primijenjen na oba kanala snage. Prosljeđuje se metodiset_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 korististep(). Svaki element n-torke je vrijednost koja se zapisuje upin1,pin2,pin3,pin4redom.
- 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 kao1000000 / (rpms * stepnumber) / 2.
- set_power(power: int) None#
Postavlja PWM radni ciklus primijenjen na oba kanala snage.
power: Postotak radnog ciklusa u rasponu od0do100.
- step(num: int) None#
Pomiče koračni motor za
numfaznih prijelaza, primjenjujući sljedeću fazu izphase_list()i čekajući konfigurirano kašnjenje između koraka (putempyb.udelay) između prijelaza.num: Broj faznih koraka za napredovanje. Svaki poziv funkcijestepnapreduje točno za toliko faza; smjer je fiksan (osnovni generator faza iterira samo unaprijed).