PRA

Stejnosměrný motor

DC motor (stejnosměrný motor) je zařízení, které převádí elektrickou energii na mechanickou – konkrétně na otáčivý pohyb. Komutátor při otáčení motoru přepíná směr proudu, takže se motor točí stále stejným směrem.

Stator – pevná část, vytváří stálé magnetické pole (např. pomocí permanentních magnetů).

Rotor (kotva) – točivá část, obsahuje vinutí (cívky), do kterých se přivádí proud.

Komutátor – mechanický přepínač, který přepíná směr proudu ve vinutí během otáčení.

Kartáče (uhlíky) – přivádějí proud do komutátoru.

Video o konstrukci stejnosměrného motoru

Zdroj obrázku: https://dronebotworkshop.com/dc-motors-l298n-h-bridge/

H-můstek

H-můstek (anglicky H-bridge) je elektronický obvod, který slouží k řízení směru otáčení DC motoru. Umožňuje motor otáčet na jednu stranu,na druhou stranu nebo zastavit (volitelně i regulovat rychlost pomocí PWM). Obsahuje 4 spínače (např. tranzistory) uspořádané do tvaru písmene H. Přepínáním těchto spínačů lze změnit směr proudu procházejícího motorem a tím směr otáčení.

H-můstku

Pro řízení rychlosti DC motoru můžeme použít PWM pomocí funkce analogWrite().

Zdroj obrázku: https://howtomechatronics.com/tutorials/arduino/arduino-dc-motor-control-tutorial-l298n-pwm-h-bridge/

Výukový robot

Robot, kterého budeme ve výuce použivat, v sobě obsahuje Arduino Nano (má stejný procesor jako Arduino UNO, které obvykle používáme, ale má menší desku). Aby mohl jezdit, má dva stejnosměrné motory s převodovkou, kteér jsou řízeny pomocí H můstku DRV8833. Schéma pro výukového robota ke stažení zde

Pinout modulu DRV8833 a princip použití

Obvod DRV8833 v sobě obsahuje dva H můstky, můžeme s ním tedy řídít dva stejnosměrné motory. Vstupy IN1-4 připojíme k pinům Arduina, které podporují PWM výstup, abychom mohli řídit plynule rychlost motorů.

image

image

Zdroj obrázků: https://lastminuteengineers.com/drv8833-arduino-tutorial/

Režimy ovládání motoru

Zda a jakým směrem se motory budou točit nastavíme kombinací vstupů IN1 a IN2 pro první motor a IN3 A IN4 pro druhý motor:

IN1 IN2 Spinning Direction
Low (0) Low (0) Motor OFF
Low (0) High (1) Forward
High (1) Low (0) Reverse
High (1) High (1) Motor OFF

Úkoly

  1. Prostudujte si schéma robota. Zkuste roztočit oba motory oběma směry.
  2. Vytvořte funkce vpred(int rychlost), vzad(int rychlost), vlevo(int rychlost), vpravo(int rychlost) a stop()
  3. Napište program, kde robot pojede 3s rychle dopředu, pak se zastaví, otočí o 180° a pojede pomalu zpět.
  4. Pokud jede šikmo, upravte rychlosti jednotlivých motorů, aby jel rovně.
  5. Přidejte bezpečnostní funkci - robot se nerozjede hned po nahrání programu, ale až po stisknutí tlačítka na robotovi.
  6. Použijte ultrazvukový senzor pro detekci překážky - pokud je detekována překážka do 20 cm, zastavte robota.
  7. Stejně jako v předchozím bodě, ale přidejte při detekci překážky krátce zacouvejte a pokračujte jiným směrem.

Zpět na obsah