Õppematerjal 08

analogWrite() – mootori kiiruse juhtimine

Meie programmis kasutame funktsiooni analogWrite() mootori kiiruse juhtimiseks.

Näide:

analogWrite(VASAK_PWM, vasakKiirus);

Selle käsuga saadetakse vasaku mootori PWM-juhtpin'ile väärtus, mille abil saab mõjutada mootori kiirust.

Mis on PWM?

PWM tähendab Pulse Width Modulation ehk impulsi laiuse modulatsiooni.

See võib esialgu keeruliselt kõlada, aga põhimõte on lihtne.

Mikrokontroller lülitab väljundsignaali väga kiiresti sisse ja välja. Muutes seda, kui suure osa ajast signaal sisse lülitatud on, saame muuta mootorile antavat keskmist võimsust.

Meie näites kasutame 8-bitist PWM-väärtuste vahemikku 0–255.

Fail:PWM duty cycle with label.gif – Vikipeedia

Näiteks:

  • 0 – signaal on pidevalt välja lülitatud.

  • 128 – signaal on umbes poole ajast sisse lülitatud.

  • 255 – signaal on pidevalt sisse lülitatud.

Mida suurem on PWM-väärtus, seda suurem on üldjuhul mootori kiirus.

Näide:

analogWrite(VASAK_PWM, 100);

See määrab vasaku mootori PWM-väärtuseks 100.

Kui tahame väärtust suurendada:

analogWrite(VASAK_PWM, 200);

Siis antakse mootorile suurema töötsükliga PWM-signaal ning mootor pöörleb tavaliselt kiiremini.

NB! PWM-väärtus ei näita otseselt mootori tegelikku pöörlemiskiirust. Samuti peab kasutatav mikrokontrolleri pin toetama PWM-i.