Motor vezérlő shield


A pajzs segítségével könnyen összeépíthetünk dc illetve stepper motor hajtásokat igénylő berendezéseket. A shield képes meghajtani 2 szervót és 4 dc motort vagy a dc-k helyett két steppert, erről 2db L293D motorvezérlő ic gondoskodik. Bírja az 0,6A-os folyamatos terhelést eszközönként, és az akár 1,2A-os csúcsáramot is képes elviselni.
Külön sorkapoccsal csatlakoztatható külső áramforrás a motorok kezeléséhez, a vezérlés és táp ellátástól teljesen elválasztva, evvel megelőzve a motorok használatánál fellépő feszültség esést.
A szervók a vezérlő áramkört használják az 5V-os felfutó élhez, a dc ill stepper motorok a külső tápcsatlakozást. Dc motorok kivezetései közé érdemes 0,1uF tárcsa kondikat forrasztani a motor által gerjesztett zajok szűrésére, ha ez nem elég akkor a két kivezetés és a test közé is kondit kell forrasztani.

A shield a 6db analóg kimenetet nem használja ezek más célokra felhasználhatók, ezeken kívül
még nincs használatban a digitális 2 és 13 kimenet. A shield a következő pineket használja:

Digital pin 11: DC Motor #1 / Stepper #1
Digital pin 3: DC Motor #2 / Stepper #1
Digital pin 5: DC Motor #3 / Stepper #2
Digital pin 6: DC Motor #4 / Stepper #2


Digitals pin 9: Servo #1 vezérlés
Digital pin 10: Servo #2 vezérlés


Digital pin 4,7,8 és 12 a dc és stepper motorok vezérlését valósítja meg a 74HC595 soros-párhuzamos

átalakító segítségével.

A motorpajzs használatához le kell töltenünk az AF_Motor könyvtárat a https://github.com/adafaruit/Adafruit-Motor-Shield-library oldalról. A fájlt kicsomagolni, majd
átnevezni AFMotor-ra. Az átnevezett fáljt be kell másolni az Arduino/libraries könyvtárba.
A minta program megtalálható az Arduino IDE / fájl / Minták / AFMotor / MotorParty.


A pajzsot úgy tervezték hogy 4.5V-25V közötti tápfeszü motorok használhatók vele, tehát az
1,5-3V-os motorokat felejtsük el. Nagyon vigyázzunk a sorkapcsok bekötésénél a helyes polaritásra,
 mert nincs védő dióda és így könnyen gallyra vághatjuk a pajzsunkat és az alaplapunkat is.

A szervót legegyszerűbb használni a shieldel, a sima servo könyvtárral kezelhető.

A stepper és a dc motorokhoz már kell az AFMotor könyvtár. Tesztprogram a sztepper ellenörzésére:


#include <AFMotor.h>

AF_Stepper motor(48, 2);//motor felbontásának beállítása

void setup() {

Serial.begin(9600); // soros átvitel bitrátája

Serial.println("Stepper test!");

motor.setSpeed(10); // sebesség beállítása

motor.step(100, FORWARD, SINGLE);//100 lépés előre

motor.release();

delay(1000);

}

void loop() {

motor.step(100, FORWARD, SINGLE);

motor.step(100, BACKWARD, SINGLE);//100 lépés hátra, single 1 tekercs aktiv

motor.step(100, FORWARD, DOUBLE);//duble 2 tekercs aktív egyszerre

motor.step(100, BACKWARD, DOUBLE);

motor.step(100, FORWARD, INTERLEAVE);//átfedés 1 és 2 tekercs felváltva

motor.step(100, BACKWARD, INTERLEAVE);

motor.step(100, FORWARD, MICROSTEP);//pwm-es léptetési módszer, egyenletes elmozdulás

motor.step(100, BACKWARD, MICROSTEP);

}


DC motorok kezelése


#include <AFMotor.h>

AF_DCMotor motor(2, MOTOR12_64KHZ); // 2-es motor 64kHz pwm-el dolgozik

void setup() {

Serial.begin(9600); // bitráta beállítása

Serial.println("Motor test!");

motor.setSpeed(200); // sebesség beállítás 0-255 között

}

void loop() {

Serial.print("tick");

motor.run(FORWARD); // előre forgatás

delay(1000);

Serial.print("tock");

motor.run(BACKWARD); // hátra forgatás

delay(1000);

Serial.print("tack");

motor.run(RELEASE); // megállítás

delay(1000);

}


A négy motorkimenet közül az 1 és 2-es kimenet frekvenciáját lehet állítani, ez lehet:

MOTOR12_64KHZ, MOTOR12_8KHZ,

MOTOR12_2KHZ, vagy MOTOR12_1KHZ. A 3-as és 4-es motorkimenet csak 1kHz-en üzemel.


Több -féle motor shield van forgalomban, ez a cikk az egyik alapváltozatot mutatta be, más
shieldeknél vannak eltérések nagyobb terhelhetőség illetve felfűzhetőség terén.