- Léptető motor
- Léptetőmotor forgatása ARM7-LPC2148-mal
- Szükséges alkatrészek
- Léptetőmotor (28BYJ-48)
- ULN2003 léptető motor meghajtó
- Kördiagramm
- ARM7-LPC2148 programozása léptetőmotorhoz
A mai automatizálási világban a léptető motor és a szervomotor két leggyakrabban használt motor a beágyazott rendszerekben. Mindkettőt különféle automatizálási gépekben használják, például robotkarokban, CNC-gépekben, kamerákban stb. Ebben az oktatóanyagban megnézzük, hogyan kell összekapcsolni a léptetőmotort az ARM7-LPC2148-mal, és hogyan lehet szabályozni annak sebességét. Ha még nem ismeri az ARM7-et, akkor kezdje el megismerni az ARM7-LPC2148-at és annak programozási eszközeit.
Léptető motor
A léptetőmotor kefe nélküli egyenáramú motor, amely kis szögekben forgatható, ezeket a szögeket lépéseknek nevezzük. A léptetőmotort lépésről lépésre forgathatjuk úgy, hogy digitális impulzusokat adunk a csapjaihoz. A léptetőmotorok olcsóak és robusztus kivitelűek. A motor sebességét a digitális impulzusok frekvenciájának megváltoztatásával lehet szabályozni.
Kétféle léptető motorok elérhető típusa alapján a áiiórésztekercs: UNIPOLAR és BIPOLAR. Itt az UNIPOLAR léptetőmotort használjuk, amely a leggyakrabban használt léptetőmotor . A léptetőmotor forgatásához a léptetőmotor tekercseit egymás után energiával kell ellátnunk. A forgási művelet alapján két módba sorolják őket:
- Teljes lépés mód: (4 lépéses szekvencia)
- Egyfázisú lépés (WAVE STEPPING)
- Kétfázisú lépés
- Fél lépés mód (8 lépéses szekvencia)
Ha többet szeretne tudni a léptetőmotorról és annak működéséről, kövesse a linket.
Léptetőmotor forgatása ARM7-LPC2148-mal
Itt a FULL STEP: ONE PHASE ON vagy WAVE STEPPING módot fogjuk használni a léptetőmotor forgatásához ARM7-LPC2148-mal
Ebben a módszerben egyszerre csak egy tekercset kapcsolunk be (az LPC2148 egyik tűje). Ez az, ha az első A tekercset rövid ideig feszültség alatt tartják, a tengely megváltoztatja a helyzetét, majd a B tekercs ugyanennyi ideig feszültség alatt áll, és a tengely ismét megváltoztatja a helyzetét. Ugyanúgy, mint ez, a C tekercset, majd a D tekercset feszültség alá helyezik a tengely további mozgatásához. Ezáltal a léptetőmotor tengelye fokozatosan forog, egy-egy tekercs áramellátásával.
Ezzel a módszerrel a tengelyt lépésről lépésre forgatjuk úgy, hogy a tekercset egymás után feszültség alá helyezzük. Ezt négy lépésből álló szekvenciának nevezzük, mivel négy lépésből áll.
A léptetőmotort HALF STEP módszerrel (8-sorozatú módszer) forgathatja az alább megadott értékek szerint.
Lépés |
A tekercs |
B tekercs |
C tekercs |
D tekercs |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5. |
0 |
0 |
1 |
1 |
6. |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8. |
1 |
0 |
0 |
0 |
Szükséges alkatrészek
Hardver:
- ARM7-LPC2148
- ULN2003 Motor Driver IC
- LED - 4
- LÉPÉSMOTOR (28BYJ-48)
- Kenyértábla
- VEZETÉKEK CSATLAKOZTATÁSA
Szoftver:
- Keil uVision5
- Flasic Magic Tool
Léptetőmotor (28BYJ-48)
A 28BYJ-48 léptetőmotor már a fenti képen látható. Ez egy Unipolar Stepper motor, amely 5V-os tápfeszültséget igényel. A motor 4 tekercses unipoláris elrendezéssel rendelkezik, és mindegyik tekercs + 5 V-os besorolású, ezért viszonylag könnyen vezérelhető bármilyen mikrovezérlővel, például Arduino, Raspberry Pi, STM32, ARM stb.
De ahhoz az ULN2003-hoz hasonló Motor Drive IC-re van szükségünk, mert a léptető motorok nagy áramot fogyasztanak, és károsíthatják a mikrovezérlőket.
A 28BYJ-48 specifikációit az alábbi adatlap tartalmazza:
Ellenőrizze a léptetőmotorral való kapcsolatot más mikrovezérlőkkel is:
- A léptető motor összekapcsolása az Arduino Uno-val
- Léptetőmotor-vezérlés Raspberry Pi-vel
- Léptetőmotor összekapcsolása a 8051 mikrokontrollerrel
- Összekötő léptetőmotor PIC mikrovezérlővel
- A léptető motor összekapcsolása az MSP430G2-vel
A léptetőmotor mikrokontroller nélkül is vezérelhető, lásd ezt a léptetőmotor meghajtó áramkört.
ULN2003 léptető motor meghajtó
A legtöbb léptetőmotor csak egy meghajtó modul segítségével fog működni. Ennek oka, hogy a vezérlő modul (esetünkben az LPC2148) nem képes elegendő áramot szolgáltatni az I / O csapokról a motor működéséhez. Tehát egy külső modult, például az ULN2003 modult fogunk használni léptető motor meghajtóként.
Ebben a projektben az ULN2003 motor meghajtó IC-t fogjuk használni. Az IC pin diagramja az alábbiakban látható:
A csapok (IN1 - IN7) a mikrovezérlő kimenetének csatlakoztatására szolgáló bemeneti csapok, az OUT1 - OUT7 pedig a megfelelő kimeneti csapok a léptetőmotorok bemenetének csatlakoztatásához. A COM megkapta a kimeneti eszközökhöz és a külső áramforráshoz szükséges pozitív feszültséget.
Kördiagramm
A léptetőmotor és az ARM-7 LPC2148 összekapcsolásának kapcsolási rajza az alábbiakban látható
ARM7-LPC2148 ULN2003 motorvezérlő IC-vel
Az LPC2148 GPIO-csapjai (P0,7 - P0,10) az ULN2003 IC bemeneti csapjaival (IN1-IN4) összekapcsolt kimeneti tüskéknek számítanak.
LPC2148 csapok |
Az ULN2003 IC pincéi |
P0.7 |
IN1 |
P0.8 |
IN2 |
P0.9 |
IN3 |
P.10 |
IN4 |
5V |
COM |
GND |
GND |
Az ULN2003 IC csatlakozása léptetőmotorral (28BYJ-48)
Az ULN2003 IC kimeneti csapjai (OUT1-OUT4) csatlakoznak a léptetőmotor csapjaihoz (kék, rózsaszín, sárga és narancs).
ULN2003 IC PIN-ek |
LÉPTETŐ MOTOR TŰJEI |
OUT1 |
KÉK |
OUT2 |
RÓZSASZÍN |
OUT3 |
SÁRGA |
OUT4 |
NARANCSSÁRGA |
COM |
VÖRÖS (+ 5 V) |
Az ULN2003 IN1 - IN4 LED-jei
Négy LED (LED1, LED2, LED4, LED 4) anódtüske csatlakozik az ULN2003 IN1, IN2, IN3 és IN4 csapjaihoz, és a LED-ek katódja csatlakozik a GND-hez, ami jelzi az LPC2148 impulzusait. Megjegyezhetjük a kapott impulzusok mintázatát. A mintát a végén csatolt bemutató videó mutatja.
ARM7-LPC2148 programozása léptetőmotorhoz
Az ARM7-LPC2148 programozásához szükségünk van keil uVision és Flash Magic eszközre. USB-kábellel programozzuk az ARM7 Stick-et mikro USB-porton keresztül. Kódot írunk a Keil segítségével, és létrehozunk egy hex fájlt, majd a HEX fájlt a Flash Magic segítségével az ARM7 pálcára villantjuk. Ha többet szeretne megtudni a keil uVision és a Flash Magic telepítéséről és használatáról, kövesse az Első lépések az ARM7 LPC2148 mikrovezérlővel linket és programozza be a Keil uVision használatával.
Az oktatóanyag végén a léptetőmotor ARM 7-tel történő vezérlésének teljes kódját adjuk meg, itt néhány részt elmagyarázunk.
1. A FULL-ONE PHASE ON módszer használatához az alábbiakat kell beillesztenünk. Tehát a következő sort használjuk a programban
előjel nélküli karakter az óramutató járásával megegyező irányban = {0x1,0x2,0x4,0x8}; // Parancsok az óramutató járásával megegyező irányú forgatáshoz előjel nélküli karakter balra = {0x8,0x4,0x2,0x1}; // Parancsok az óramutató járásával ellentétes forgatáshoz
2. A következő sorokat használjuk a PORT0 csapok kimenetként történő inicializálásához és LOW értékre állításához
PINSEL0 = 0x00000000; // PORT0 csapok beállítása IO0DIR - = 0x00000780; // P0.7, P0.8, P0.9, P0.10 csapok beállítása OUTPUTként IO0CLR = 0x00000780; // A P0.7, P0.8, P0.9, P0.10 pólusok OUTPUT beállítása LOW
3. Állítsa be a PORT csapok (P0.7 a P0.10) NAGY szerint Clockwise parancsok segítségével ezt a hurkot késés
mert (int j = 0; j
Ugyanez az Anti-clock Wise esetében is
mert (int z = 0; z
4. Módosítsa a késleltetési időt a léptető motor forgási sebességének megváltoztatásához
késés (0x10000); // Ezen érték megváltoztatásával módosíthatja a forgási sebességet (0x10000) -Teljes sebesség (0x50000) -Lassúvá válik (0x90000) -Lassúvá válik, mint az előző. Tehát a késés növelésével csökkentjük a forgás sebességét.
5. Egy teljes forgatáshoz tartozó lépések száma az alábbi kóddal módosítható
int no_of_steps = 550; // Változtassa meg ezt az értéket a szükséges számú lépésforgatáshoz (550 egy teljes forgatást ad)
Léptetőmotoromhoz 550 lépést kaptam a teljes forgatáshoz, és 225-et a félforduláshoz. Tehát változtassa meg az Ön igényei szerint.
6. Ez a funkció késleltetési idő létrehozására szolgál.
void delay (unsigned int value) // késleltetést generáló funkció { unsigned int z; mert (z = 0; z
Az alábbiakban bemutatjuk a teljes kódot a bemutató videóval.