Řízení motoru Arduino a DC
podpora dvoukanálového H-mostu TB6612
1. Ovladač motorů TB6612 - modul
Dvoukanálový ovladač umožňuje ovládat dva stejnosměrné motory. Trvalý proud jednoho motoru nesmí překročit 1A, dočasně 3A. Maximální napájecí napětí je 12V. Tyto parametry umožňují provoz např Pololu nebo HL149 mikro motory .
Modul má potřebné výkonové filtrační kondenzátory a ochranu proti zpětnému připojení napájení.
Pro usnadnění montáže je modul vybaven standardními vodiči goldpin (rozteč 2,54 mm). Systém lze namontovat na prototyp prkénka nebo připojit k Arduinu pomocívodičů .
2. Připojení modulu
Napájení
VCC - napájení logické části
VMOT - napájecí zdroj pro motory
GND - zem - pamatujte, že všechny „důvody“ musí být vzájemně propojeny
STBY - nízký stav způsobí přechod do pohotovostního režimu, tj. Nízká spotřeba energie (pohotovostní režim), aby byl most zapnutý, musí být uveden vysoký stav
Výstupy - výstupy, ke kterým by měly být připojeny motory
AO1, AO2 - výstupy kanálu A - piny, ke kterým by měl být připojen první motor
BO1, BO2 - kanálové výstupy B - piny, ke kterým připojit druhý motor
Kontrola motoru
PWMA - signál PWM kanálu A - slouží k regulaci rychlosti otáčení motoru připojeného ke kanálu A
AIN1 AIN2 - piny pro nastavení směru otáčení motoru připojeného k výstupům kanálu A
PWMB - PWM signál kanálu B - slouží k regulaci rychlosti otáčení motoru připojeného ke kanálu B
BIN1, BIN2 - piny pro nastavení směru otáčení motoru připojeného k výstupům kanálu B
Tabulka - Podpora mostu TB6612 (x - znamená vhodný kanál A nebo B)
x IN1 |
x IN2 |
PWM x |
STBY |
Výstup kanálu x |
krátký | vysoký | pwm | vysoký | Motor se otáčí maximální rychlostí nařízenou pwm (nerovná se 0) ve směru hodinových ručiček. |
vysoký | krátký | pwm | vysoký | Motor se otáčí maximální rychlostí nastavenou PWM (ne 0) proti směru hodinových ručiček. |
žádný | žádný | krátký | vysoký | Rychlé brzdění (tzv. Hard-stop). |
krátký | krátký | žádný | vysoký | Jemné brzdění. |
vysoký | vysoký | žádný | vysoký | Jemné brzdění. |
žádný | žádný | žádný | krátký | Most je v pohotovostním režimu - nízká spotřeba energie. |
Obrázek ukazuje příklad připojení řadiče k modulu Arduino Uno.
3. Ukázkový program
Ukázkový program podporující modul TB6612. Systém by měl být připojen, jak je znázorněno na obrázku:
Výsledkem programu bude rotující hřídel motoru. Po dvou sekundách se změní směr otáčení. Po dalších dvou se motor zastaví.
Program:
int pwmMotorA=5; int InMotorA1=4; int InMotorA2=3; void setup() { //PWM výstup kanálu A pinMode(pwmMotorA, OUTPUT); //Digitální výstup AIN1 pinMode(InMotorA1, OUTPUT); //Digitální výstup AIN2 pinMode(InMotorA2, OUTPUT); } // Nekonečná smyčka void loop() { //Kanál A //Nastavení směru otáčení digitalWrite(InMotorA1, LOW); digitalWrite(InMotorA2, HIGH); //Nastavení otáček na 50 % (rozsah PWM: 8bit, tj. 0-255) analogWrite(pwmMotorA,128); //Zpoždění 2s delay(2000); //Změna směru otáčení digitalWrite(InMotorA1, HIGH); digitalWrite(InMotorA2, LOW); //Zpoždění 2s delay(2000); //Zastavení motoru - nastavením plnicího faktoru PWM na 0 analogWrite(pwmMotorA,0); //Zpoždění 2s delay(2000); }