Arduino Motor Shield pro řízení motorů

Arduino Motor Shield představuje rozšiřující modul pro platformu Arduino, navržený s cílem zjednodušit a zpřehlednit ovládání různých typů motorů. Tento shield je primárně postaven na bázi integrovaných obvodů L298 (nebo L293D v některých verzích), které umožňují řídit nejen klasické stejnosměrné motory, ale také servomotory a krokové motory.

Je možné připojit dva servomotory a zároveň až čtyři DC motory nebo dva krokové motory. Konektory pro připojení DC a krokových motorů jsou umístěny po stranách shieldu a jsou označeny jako M1 až M4. Pro krokové motory je nutné vždy využít dvojici sousedních konektorů (M1+M2 nebo M3+M4).

Schéma zapojení Arduino Motor Shield s Arduinem a motory

Napájení Arduino Motor Shield

Vzhledem k vyšší proudové náročnosti motorů je pro správnou funkci nezbytné využít externí napájení. Shield disponuje samostatným konektorem pro externí napájecí zdroj, doplněným o propojovací jumper. Velikost napájecího napětí a proudu by měla být volena s ohledem na specifikace připojených motorů. Řídicí obvod L298 podporuje rozsah napájecího napětí od 4,5 V do 25 V s proudem 0,6 A na výstup (špičkově až 1,2 A u L293D, resp. až 2 A na kanál u L298).

Pro úspěšné propojení s řídicí deskou Arduino (např. Uno, Leonardo, Mega) stačí Motor Shield jednoduše nasadit na kompatibilní Arduino desku.

Ovládání motorů pomocí Motor Shield

Arduino Motor Shield je navržen tak, aby umožňoval nezávislé řízení rychlosti a směru otáčení každého připojeného DC motoru. Základní princip spočívá v použití PWM signálu pro regulaci rychlosti a změně logických úrovní na pinech pro řízení směru.

Řízení stejnosměrných motorů (DC motory)

  • Směr otáčení: Ovládán pomocí digitálních pinů (např. DIR A, DIR B), kde nastavení na HIGH nebo LOW určuje směr.
  • Rychlost otáčení: Regulována pomocí PWM (Pulse Width Modulation) signálu na příslušných pinech (např. PWM A, PWM B). Hodnota od 0 do 255 typicky odpovídá plnému rozsahu rychlosti.
  • Brzdění: Kolíky označené jako "brzda" (např. Brake A, Brake B), po nastavení na HIGH, efektivně zabrzdí motor namísto postupného zpomalování při snížení výkonu.
  • Měření proudu: Některé verze shieldů umožňují měřit proud odebíraný motorem pomocí analogových vstupů (např. SNS0, SNS1, A0, A1). Napětí na těchto pinech je úměrné měřenému proudu.

Řízení krokových motorů

Pro pohon jednoho bipolárního krokového motoru lze zkombinovat dva kanály shieldu. Krokové motory vyžadují sekvenční spínání cívek pro dosažení pohybu. Arduino Motor Shield tuto sekvenci řídí pomocí definovaných pinů.

Řízení servomotorů

Pro servomotory je obvykle vyhrazen samostatný konektor nebo skupina pinů. Servomotory jsou řízeny PWM signálem, který určuje jejich úhlovou pozici.

Detailní pohled na konektory Arduino Motor Shield

Příklad použití a programování

Pro úspěšné využití Motor Shield s Arduinem je často nutné stáhnout a naimportovat specifickou knihovnu (např. Motor_shield_library). Ukázkový kód obvykle zahrnuje:

  • Připojení potřebných knihoven.
  • Definování a připojení jednotlivých typů motorů s možností nastavení jejich číslování.
  • V podprogramu setup(): nastavení inicializačních parametrů, například čísla servo motoru a zapnutí práce s DC motorem.
  • V nekonečné smyčce loop(): implementace logiky pro řízení motorů, včetně postupného nastavování rychlosti DC motoru, polohy servomotoru a kroků krokového motoru.

Ukázkový kód může demonstrovat spuštění motoru vpřed, postupné navyšování a snižování rychlosti a pozice v rámci cyklů.

Aplikace a možnosti

Arduino Motor Shield je všestranným prvkem pro projekty vyžadující pohyb:

  • Robotika a vozítka: Pohon kol, ramen, nebo jiných mechanických částí.
  • Automatizace: Řízení žaluzií, automatické zavlažování, polohování antén.
  • Modelářství: Ovládání servomotorů v modelech aut, letadel či lodí.
  • Průmyslové a obytné instalace: Například v motorizovaných kulových ventilech.

Motor Shield L293d for Arduino Beginner

Klíčové vlastnosti (L298N verze)

  • Provozní napětí: 5 V až 12 V (přes externí napájení).
  • Motor driver: L298P.
  • Ovládání: Současně 2 DC motory nebo 1 krokový motorek.
  • Maximální proud: 2 A na kanál nebo 4 A celkem (s externím zdrojem).
  • Funkce: Volný běh motoru, rychlé zastavení (brzda).
  • Měření proudu: Integrováno pro každý motor.
  • Kompatibilita: TinkerKit moduly.
  • Piny: Standardní rozvržení Arduino pinů plus 4 další signály (2 pro TWI/I2C, 2 u Reset).

Je důležité si uvědomit, že verze shieldů se mohou lišit (např. použitý čip L293D vs. L298P), což ovlivňuje maximální podporované napětí a proud. Vždy doporučujeme ověřit specifikace konkrétního modelu před nákupem a použitím.

tags: #arduino #motorova #brzda