DC Motor a Arduino Nano

Vášho robota môžete jednoducho poháňať jednosmerným (DC) motorom. Tu prichádza na rad ovládač motora L298N. Dokáže ovládať rýchlosť a otáčanie smer dvoch jednosmerných motorov. Plnú kontrolu nad jednosmerným motorom môžeme mať iba vtedy, ak dokážeme ovládať jeho rýchlosť a smer otáčania. To je možné kombináciou týchto dvoch techník.

  • PWM – na ovládanie rýchlosti motora
  • H-Bridge – na ovládanie smeru otáčania motora

Rýchlosť jednosmerného motora je možné regulovať zmenou jeho vstupného napätia. Široko používanou technikou na dosiahnutie tohto cieľa je modulácia šírky impulzu. PWM je technika, pri ktorej sa priemerná hodnota vstupného napätia upravuje odoslaním série impulzov on off. Toto priemerné napätie je úmerné šírke impulzov, čo sa označuje ako pracovný cyklus.

Čím vyšší je pracovný cyklus, tým vyššie je priemerné napätie aplikované na jednosmerný motor, čo vedie k zvýšeniu otáčok motora. Čím kratší je pracovný cyklus, tým nižšie je priemerné napätie aplikované na jednosmerný motor, čo má za následok zníženie otáčok motora.

PWM-arduino-dc-motor

Smer otáčania jednosmerného motora možno ovládať zmenou polarity jeho vstupného napätia. Široko používanou technikou na dosiahnutie tohto cieľa je použitie H-mostíka. Obvod H-mostíka sa skladá zo štyroch spínačov usporiadaných do tvaru H, s motorom v strede. Súčasné zatvorenie dvoch špecifických spínačov obráti polaritu napätia aplikovaného na motor. To spôsobí zmenu smeru otáčania motora.

ako -funguje-h-bridge-arduino

L298N obsahuje dva štandardné H-mosty schopné poháňať dvojicu jednosmerných motorov, vďaka čomu je ideálny na stavbu dvojkolesovej robotickej platformy. Ovládač motora L298N má napájací rozsah 5V až 35V a je schopný nepretržitého prúdu 2A na kanál,

Piny L298N :

L298N
  • +12V Kolík napája interný H-Bridge integrovaného obvodu, ktorý poháňa motory. Tento kolík akceptuje vstupné napätie v rozsahu od 5 do 12V.
  • +5V Kolík sa používa na napájanie logických obvodov v rámci L298N IC a môže sa pohybovať medzi 5V a 7V.
  • GND je spoločný uzemňovací kolík.
  • OUT1, OUT2, OUT3, OUT4 Kolíky ovládača motora L298N, OUT 1 a OUT 2 pre motor A a OUT 3 a OUT 4 pre motor B, sú vybavené skrutkovými svorkami s rozstupom 3,5 mm. Na tieto svorky môžete pripojiť dva 5V až 12V DC motory. Každý kanál na module môže dodávať až 2A jednosmernému motoru.

Kolíky na ovládanie smeru : vám umožňujú ovládať, či sa motor otáča doprava alebo doľava.

  • Piny N1 a N2 ovládajú smer otáčania motora A. ( OUT 1 a OUT 2 )
  • Piny N3 a N4 ovládajú smer otáčania motora B. ( OUT 3 a OUT 4 )

Smer otáčania motora je možné ovládať použitím logických HIGH (+5V) alebo logických LOW (Zem) na tieto vstupy. Tabuľka nižšie zobrazuje rôzne kombinácie a ich výsledky:

N1N2Smer otáčania
Low(0)Low(0)Motor Vypnutý
High(1)Low(0)Vpred
Low(0)High(1)Dozadu (Spätne)
High(1)High(1)Motor Vypnutý

  • Piny ENA a ENB slúžia na zapínanie/vypínanie motorov a ovládanie ich otáčok. Nastavenie týchto kolíkov na log. High(1) spôsobí, že sa motory roztočia, zatiaľ čo nastavenie na log Low(0) že zastavia. Pomocou modulácie šírky impulzov PWM je však možné regulovať rýchlosť motorov. Modul sa zvyčajne dodáva s prepojkou na týchto kolíkoch. Keď je tento mostík na svojom mieste, motor sa roztočí na plné otáčky. Ak chcete ovládať rýchlosť motorov programovo, odstráňte prepojky a pripojte ich ku kolíkom Arduino s podporou PWM .
    • Pin CON5 , Modul obsahuje regulátor napätia 78M05, ktorý je možné aktivovať alebo deaktivovať pomocou CON5 prepojky. Keď je tento jumper na svojom mieste, vstupná svorka (+5V) funguje ako výstupný kolík a dodáva 5V 0,5A. Môžete ho použiť na napájanie Arduina alebo iných obvodov, ktoré potrebujú 5V napájanie. Ak je napájanie motora menšie ako 12 V, môžete prepojku ponechať na mieste. Ak je väčšie ako 12V, prepojku treba odstrániť, aby sa predišlo poškodeniu zabudovaného 5V regulátora.

L298N má úbytok napätia približne 2V. Je to spôsobené skutočnosťou, že 2 interné spínacie tranzistory majú pokles napätia približne 1V. Ak teda pripojíte 12V na napájaciu svorku motora, motory dostanú približne 10V. To znamená, že 12V jednosmerný motor sa nikdy neroztočí na plné otáčky.

Ak vezmeme do úvahy pokles napätia o 2V, potom ak používate 5V motory, budete musieť poskytnúť 7V na napájacej svorke motora. Ak máte 12V motory, napájacie napätie motora by malo byť 14V.

napájanie-h-bridge-l298n

K projektu (DC Motor a Arduino Nano) budeme Potrebovať :

arduino-nano-l298n-dc-motor

Prepojku 5V – CON5 ponechajte na mieste.

Nano môžete napájať napríklad aj prostredníctvom USB.

Pripojte vstupné kolíky modulu L298N ( ENA, N1, N2, N3, N4 a ENB ) k šiestim digitálnym výstupným kolíkom Arduino ( 10, 9, 8, 7, 6 a 3). Všimnite si, že oba výstupné kolíky Arduino 10 a 3 sú povolené pre PWM .

Nakoniec pripojte jeden motor ku svorke ( a OUT 2) a druhý k ( OUT 3 a OUT 4 ). Pripojenia motora (+ alebo – ) môžete vymeniť. Technicky neexistuje správna alebo nesprávna cesta.

Arduino kód je pomerne jednoduchý. Na fungovanie nie sú potrebné žiadne knižnice. Náčrt začína deklarovaním kolíkov Arduino, ktoré sú pripojené k ovládacím kolíkom L298N. V sekcii nastavenia kódu sú všetky kolíky na ovládanie motora, vrátane kolíkov na ovládanie smeru a rýchlosti, nakonfigurované ako digitálny OUTPUT. A kolíky ovládania smeru sa nastavia na LOW, aby sa na začiatku deaktivovali oba motory. V slučkovej časti kódu ( void loop() ) voláme dve užívateľom definované funkcie s jednosekundovým oneskorením.

directionControl() – Táto funkcia spôsobí, že sa obidva motory roztočia na dve sekundy plnou rýchlosťou. Potom obráti smer otáčania motorov a otáča sa dve sekundy. Nakoniec zastaví motory.

speedControl() – Táto funkcia využíva funkciu analogWrite() na generovanie signálu PWM ktorý urýchľuje oba motory z nuly na maximálnu rýchlosť pred ich spomalením späť na nulu. Nakoniec zastaví motory.

článok :


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Nemôžete kopírovať obsah tejto stránky