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).