tb6612 — TB6612-moottoriohjain¶
Moduuli tb6612 tarjoaa ohjaimen TB6612-moottoriohjaimelle. Se tarjoaa Motor-luokan yhden tasavirtamoottorin ohjaamiseen toisella kahdesta kanavasta sekä Stepper-luokan 4-johtimisen askelmoottorin ohjaamiseen.
Molemmat luokat käyttävät pyb.Timer(4)-ajastinta 1 kHz:n taajuudella nastoissa P7 ja P8 PWM-tehon ulostuloon. Motor-luokan suuntanastat ovat P3/P2 (kanava 1) ja P1/P0 (kanava 2). Stepper käyttää kaikkia neljää nastaa (P3, P2, P1, P0) sekä molempia PWM-kanavia.
Esimerkki:
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 Stepper¶
- class tb6612.Stepper(stepnumber: int = 200, rpms: int = 2, power: int = 50)¶
Luo 4-johtimisen askelmoottorin ohjaimen. Alustaa suuntanastat
P3,P2,P1,P0sekä kaksi PWM-tehokanavaa nastoissaP7jaP8ja soveltaa sitten pyydetyn nopeuden ja tehon.stepnumber: Liitetyn askelmoottorin täysien askelten määrä kierrosta kohden. Käytetään yhdessärpms-arvon kanssa askelten välisen viiveen laskemiseen.rpms: Tavoiteltu pyörimisnopeus kierroksina minuutissa. Välitetään metodilleset_speed().power: PWM-pulssisuhteen prosenttiosuus (0-100), jota sovelletaan molempiin tehokanaviin. Välitetään metodilleset_power().
- phase_list() Generator[tuple[int, int, int, int], None, None]¶
Generaattori, joka tuottaa loputtomasti nelivaiheisen ohjauskuvion
(1, 0, 0, 0),(0, 0, 1, 0),(0, 1, 0, 0),(0, 0, 0, 1), jota metodistep()käyttää. Jokainen monikon alkio on arvo, joka kirjoitetaan vastaavasti nastaanpin1,pin2,pin3,pin4.
- set_speed(rpms: int) None¶
Päivittää askellusnopeuden.
rpms: Tavoiteltu pyörimisnopeus kierroksina minuutissa. Puolikkaan askeleen viive (mikrosekunteina) lasketaan uudelleen kaavalla1000000 / (rpms * stepnumber) / 2.
- set_power(power: int) None¶
Asettaa molempiin tehokanaviin sovellettavan PWM-pulssisuhteen.
power: Pulssisuhteen prosenttiosuus alueella0–100.
- step(num: int) None¶
Etenee askelmoottoria
numvaihesiirtymää eteenpäin soveltamalla seuraavan vaiheen metodistaphase_list()ja odottamalla määritettyä askelten välistä viivettä (komennollapyb.udelay) siirtymien välillä.num: Eteenpäin etenevien vaiheaskelten määrä. Jokainenstep-kutsu etenee tasan tämän verran vaiheita; suunta on kiinteä (taustalla oleva vaihegeneraattori iteroi vain eteenpäin).