- Szükséges anyagok
- A BLDC Motors megértése
- Miért használják a drónok és más multi-kopterek a BLDC motorokat?
- Miért van szükség ESC-re és mi a funkciója?
- Néhány általános kifejezés a BLDC-vel és az ESC-vel:
- Arduino BLDC motorvezérlő áramkör rajza
- Program a BLDC sebességszabályozáshoz az Arduino segítségével
- Arduino BLDC motorvezérlés
A dolgok építése és a munkába állítás, ahogy szeretnénk, mindig is nagyon szórakoztató volt. Bár erről megállapodtak, a repülni képes dolgok dacosan még nagyobb aggodalmat keltenek a hobbisták és a hardveres bádogosok körében. Igen! Vitorlázórepülőkről, helikopterekről, repülőgépekről és főleg multikopterekről beszélek. Mára az online elérhető közösségi támogatásnak köszönhetően nagyon könnyű önállóan elkészíteni. A repülőkkel egy közös dolog az, hogy BLDC motort használnak , akkor mi ez a BLDC motor? Miért van rá szükségünk a dolgok repüléséhez? Mi olyan különleges benne? Hogyan vásárolhatjuk meg a megfelelő motort és illeszthetjük a vezérlőhöz? Mi az ESC, és miért használjuk? Ha ehhez hasonló kérdései vannak, akkor ez a bemutató az Ön egyablakos megoldása.
Tehát alapvetően ebben az oktatóanyagban fogjuk vezérelni a kefe nélküli motort az Arduinóval. Itt az A2212 / 13T szenzor nélküli BLDC outrunner motort egy 20A elektronikus sebességszabályozóval (ESC) használják. Ezt a motort általában drónok gyártására használják.
Szükséges anyagok
- A2212 / 13T BLDC motor
- ESC (20A)
- Áramforrás (12V 20A)
- Arduino
- Potenciométer
A BLDC Motors megértése
A BLDC Motor a Brush Less DC motor rövidítése, sima működése miatt általában mennyezeti ventilátorokban és elektromos járművekben használják. A BLDC motorok elektromos járművekben történő használatát korábban részletesen kifejtettük. Más motorokkal ellentétben a BLDC motorokból három vezeték jön ki, és mindegyik vezeték saját fázist képez, így háromfázisú motort kapott. Várj, mi!!??
Igen, bár a BLDC motorokat egyenáramú motoroknak tekintik, impulzusos hullámok segítségével működnek. Az elektronikus fordulatszám-szabályozó (ESC) átalakítja az akkumulátor egyenfeszültségét impulzusokká és a motor 3 vezetékéhez biztosítja. Egy adott pillanatban a motornak csak két fázisa kap tápfeszültséget, így az áram az egyik fázison át, a másikon pedig távozik. Ennek során a motor belsejében lévő tekercs feszültség alá kerül, és így a rotor mágnesei a feszültség alatt lévő tekercshez igazodnak. Ezután a következő két vezetéket az ESC feszültség alá helyezi, ezt a folyamatot folytatja a motor forogása. A motor fordulatszáma attól függ, hogy a tekercs milyen gyorsan van feszültség alatt, és a motor iránya attól függ, hogy a tekercsek milyen sorrendben vannak feszültség alatt. Az ESC-ről a cikk későbbi részében többet megtudunk.
Sokféle BLDC motor érhető el, nézzük meg a leggyakoribb osztályozásokat.
Futtató és kívül futó BLDC motor: A futóban a BLDC motorok úgy működnek, mint bármely más motor. Ez a tengely a motor belsejében forog, miközben a ház rögzített marad. Míg a futó BLDC motorjai éppen ellenkezőleg, a motor külső burkolata a tengellyel együtt forog, míg a tekercs belül marad. A kifutó motorok nagyon előnyösek az elektromos kerékpárokban, mivel a külső burkolat (amely forog) maga a keréktárcsa készül, így elkerülhető a kapcsolási mechanizmus. A kívül futó motorok általában nagyobb nyomatékot adnak, mint a futótípusoknál, ezért ideális választássá válik az EV és a Drones esetében. Amit itt használunk, az szintén futó típus.
Megjegyzés: Van még egy típusú motor, az úgynevezett mag nélküli BLDC motor, amelyet zsebes drónokhoz is használnak, más működési elvük van, de most hagyjuk ki az oktatóanyag kedvéért.
Érzékelő és érzékelő nélküli BLDC motor: Ahhoz, hogy a BLDC motor forgás nélkül foroghasson, visszacsatolás szükséges. Ez azt jelenti, hogy az ESC-nek ismernie kell a rotorban lévő mágnesek helyzetét és pólusát, hogy az állórészt ennek megfelelően táplálja. Ez az információ kétféleképpen szerezhető be; az egyik az, hogy a hall érzékelőt a motor belsejébe helyezzük. A hall-érzékelő felismeri a mágnest és az információt elküldi az ESC-nek. Ezt a típusú motort Sensord BLDC motornak hívják, és elektromos járművekben használják. A második módszer a tekercsek által generált hátsó EMF használata, amikor a mágnesek keresztezik őket, ehhez nem szükséges további hardver vagy vezeték, amelyet magát a fázishuzalt használnak visszacsatolásként az EMF visszaellenőrzéséhez. Ezt a módszert használják motorjainkban, és drónoknál és más repülési projekteknél szokásos.
Miért használják a drónok és más multi-kopterek a BLDC motorokat?
Sokféle hűvös drón létezik, a Quad helikoptertől a helikopterekig és a vitorlázó repülőgépekig. Mindennek egy hardvere közös. Ezek a BLDC motorok, de miért? Miért használnak egy BLDC motort, ami kissé drágább a DC motorokhoz képest?
Ennek jó néhány oka van, az egyik fő ok az, hogy ezeknek a motoroknak a nyomatéka nagyon magas, ami nagyon fontos a drón gyors felszabadulásához / lazulásához, hogy felszálljon vagy leereszkedjen egy drónról. Ezek a motorok szintén elérhetőek futóként, ami ismét növeli a motorok tolóerejét. A kiválasztott BLDC motor másik oka a sima rezgésmentes működés, ez nagyon ideális a drónunk számára a levegőben.
A BLDC motor teljesítmény-súlyaránya nagyon magas. Ez nagyon fontos, mert a drónokon használt motoroknak nagy teljesítményűeknek (nagy fordulatszámúaknak és nagy nyomatékúaknak) kell lenniük, ugyanakkor kisebb súlyúaknak is kell lenniük. Egy egyenáramú motor, amely ugyanazt a nyomatékot és fordulatszámot képes biztosítani, mint egy BLDC motor, kétszer olyan nehéz lesz, mint a BLDC motor.
Miért van szükség ESC-re és mi a funkciója?
Mint tudjuk, minden BLDC motorhoz valamilyen vezérlőre van szükség, hogy az akkumulátor egyenfeszültségét impulzusokká alakítsa a motor fázisvezetékeinek táplálásához. Ezt a vezérlőt ESC-nek hívják, amely az elektronikus sebességszabályozót jelenti. A vezérlő fő feladata a BLDC motorok fázisvezetékeinek feszültségellátása olyan sorrendben, hogy a motor forogjon. Ez úgy történik, hogy érzékeli a hátsó EMF-t minden vezetékből, és pontosan bekapcsolja a tekercset, amikor a mágnes keresztezi a tekercset. Tehát az ESC-n belül nagy a hardveres ragyogás, amely nem tartozik ezen oktatóanyag körébe. De hogy néhányat említsünk , sebességszabályozóval és akkumulátor-leválasztó áramkörrel rendelkezik.
PWM alapú fordulatszám-szabályozás: Az ESC szabályozhatja a BLDC motor fordulatszámát azáltal, hogy leolvassa a narancssárga vezetéken kapott PWM jelet. Nagyon hasonlóan működik, mint a szervomotorok, a megadott PWM jelnek 20 ms periódusnak kell lennie, és az üzemi ciklus változtatható a BLDC motor fordulatszámának változtatásához. Mivel ugyanaz a logika érvényes a szervomotorokra is a helyzet vezérléséhez, ugyanazt a szervo könyvtárat használhatjuk Arduino programunkban. Itt tanulhatja meg a Servo és Arduino használatát.
Akkumulátor-eltávolító áramkör (BEC): Szinte az összes ESC-hez tartozik egy akkumulátor-eltávolító áramkör. Ahogy a neve is sugallja, ez az áramkör kiküszöböli a külön akkumulátor szükségességét a mikrovezérlőhöz, ebben az esetben nincs szükség külön tápegységre az Arduino működéséhez; az ESC maga is biztosít egy szabályozott + 5 V feszültséget, amely Arduinónk tápellátására használható. Sokféle áramkör szabályozza ezt a feszültséget, általában lineáris szabályozás lesz az olcsó ESC-ken, de kapcsoló áramkörökkel is rendelkezhet.
Firmware: Minden ESC-ben van egy firmware program, amelyet a gyártók írnak bele. Ez a firmware nagyban meghatározza, hogyan reagál az ESC; a népszerű firmware egy része a Traditional, a Simon-K és a BL-Heli. Ez a firmware a felhasználó által is programozható, de ebben az oktatóanyagban nem sokat fogunk belemenni.
Néhány általános kifejezés a BLDC-vel és az ESC-vel:
Ha csak most kezdett dolgozni a BLDC motorokkal, akkor valószínűleg találkozhatott olyan feltételekkel, mint a fékezés, a lágyindítás, a motor iránya, az alacsony feszültség, a válaszidő és az előrehozás. Vizsgáljuk meg, mit jelentenek ezek a kifejezések.
Fékezés: A fékezés az a képessége, hogy a BLDC motorja leáll a forgással, amint a fojtószelepet eltávolítják. Ez a képesség nagyon fontos a multi-kopterek számára, mivel gyakrabban kell változtatniuk a fordulatszámukat, hogy a levegőben manőverezzenek.
Lágyindítás: A lágyindítás fontos szempont, amelyet figyelembe kell venni, amikor a BLDC motorja sebességváltóval van összekapcsolva. Ha a motor be van kapcsolva a lágyindítással, akkor hirtelen nem kezd el nagyon gyorsan forogni, mindig fokozatosan növeli a sebességet, függetlenül attól, hogy milyen gyorsan adták a fojtót. Ez segít csökkenteni a motorokhoz rögzített fogaskerekek kopását (ha van ilyen).
Motor iránya: A motor iránya a BLDC motorokban működés közben általában nem változik. Összeszereléskor azonban a felhasználónak meg kell változtatnia a motor forgásirányát. A motor irányának megváltoztatásának legegyszerűbb módja a motor bármely két vezetékének egyszerű cseréje.
Alacsony feszültségű leállítás: A kalibrálás után mindig szükségünk lesz arra, hogy a BLDC motorjaink ugyanazon a fordulatszámon működjenek egy adott gázértéknél. De ezt nehéz elérni, mert a motorok ugyanolyan fojtószelep-érték mellett hajlamosak csökkenteni a sebességüket, amikor az akkumulátor feszültsége csökken. Ennek elkerülése érdekében az ESC-t rendszerint leállítjuk, ha az akkumulátor feszültsége eléri a küszöbértéket, ezt a funkciót alacsony feszültségű leállításnak hívják, és drónokban hasznos.
Válaszidő: A motornak azt a képességét, hogy gyorsan megváltoztassa sebességét a fojtószelep változása alapján, válaszidőnek nevezzük. Minél kevesebb a válaszidő, annál jobb lesz a kontroll.
Advance: Az Advance olyan probléma, vagy inkább a BLDC motorok hibája. Az összes BLDC motorban van egy kis előrelépés. Ekkor az állórész tekercsei feszültség alá kerülnek, és a rotor a rajtuk lévő állandó mágnes miatt vonzódik felé. Miután vonzotta a rotort, hajlamos egy kicsit előrébb mozogni ugyanabban az irányban, mielőtt a tekercs kikapcsol, majd a következő tekercs beindul. Ezt a mozgást „Advance” -nek hívják, és olyan problémákat fog létrehozni, mint a rázkódás, a felmelegedés, a zaj, stb. Tehát ezt egy jó ESC-nek el kell kerülnie.
Oké, most elég elmélet induljon el a hardverhez úgy, hogy összekapcsoljuk a motort az Arduinóval.
Arduino BLDC motorvezérlő áramkör rajza
Az alábbiakban bemutatjuk az Arduino vezérlésű kefe nélküli motor kapcsolási rajzát :
A BLDC motor és az Arduino összekapcsolásának kapcsolata meglehetősen egyenes. Az ESC-nek legalább 12 V és 5 A áramforrásra van szüksége. Ebben az oktatóanyagban az RPS-t használtam áramforrásként, de Li-Po akkumulátort is használhat az ESC áramellátására. Az ESC háromfázisú vezetékeit csatlakoztatni kell a motorok háromfázisú vezetékeihez, nincs olyan kapcsolat, hogy ezeket a vezetékeket bármilyen sorrendben csatlakoztathatja.
Figyelem: Néhány ESC-n nem lesznek csatlakozók, ebben az esetben győződjön meg róla, hogy a csatlakozása szilárd, és szigetelőszalaggal védje a szabadon lévő vezetékeket. Mivel a fázisokon nagy áram lesz, bármelyik rövidzárlat az ESC és a motor maradandó károsodásához vezet.
Az ESC-ben található BEC (Battery Eliminator áramkör) szabályozni fog egy + 5 V-ot, amely az Arduino Board bekapcsolására használható. Végül a BLDC motor fordulatszámának beállításához egy potenciométert is használunk, amely az Arduino A0 tűjéhez van csatlakoztatva
Program a BLDC sebességszabályozáshoz az Arduino segítségével
Létre kell hoznunk egy 0% és 100% közötti változó munkaciklusú PWM jelet, 50Hz frekvenciával. Az üzemi ciklust egy potenciométer segítségével kell szabályozni, hogy szabályozni tudjuk a motor fordulatszámát. Az ehhez szükséges kód hasonló a szervomotorok vezérléséhez, mivel 50Hz frekvenciájú PWM jelre is szükségük van; ezért ugyanazt az Arduino szervo könyvtárat használjuk. A teljes kódot az oldal alján találja meg alább, a kódot apró részletekben magyarázom. És ha még nem ismeri az Arduino-t vagy a PWM-et, akkor először végezze el a PWM használatát az Arduino-val, és a szervo vezérlését az Arduino segítségével.
A PWM jel csak azokon a csapokon állítható elő, amelyek hardveresen támogatják a PWM-et, ezeket a csapokat általában ~ szimbólummal említik. Az Arduino UNO-n a 9-es érintkező PWM-jelet generálhat, így az ESC jel-tűt (narancssárga vezeték) összekötjük a 9-es tűvel, ugyanazt a fogadó kódot is megemlítjük a következő sor használatával
ESC.csatolás (9);
0% és 100% közötti változó munkaciklusú PWM jelet kell előállítanunk. 0% -os munkaciklus esetén a POT 0V (0), 100% -os ciklus esetén pedig 5V (1023). Itt a pot csatlakozik az A0 tűhöz, ezért le kell olvasnunk az analóg feszültséget a POT-ról az analóg olvasás funkció használatával, az alábbiak szerint
int fojtószelep = analogRead (A0);
Ezután a 0-ról 1023-ra 0-ról 180-ra kell konvertálnunk az értéket, mert a 0 érték 0% PWM-et, a 180-as érték pedig 100% -os munkaciklust generál. Bármely 180 feletti értéknek nincs értelme. Tehát az értéket 0-180-ra térképezzük fel az alább látható térképfunkció segítségével.
fojtószelep = térkép (fojtószelep, 0, 1023, 0, 180);
Végül el kell küldenünk ezt az értéket a szervo funkciónak, hogy az előállítsa a PWM jelet azon a csapon. Mivel a szervo objektumot ESC-ként neveztük ki, a kód az alábbiak szerint fog kinézni, ahol a változó fojtószelep 0-180 értéket tartalmaz a PWM jel munkaciklusának vezérléséhez
ESC.write (fojtószelep);
Arduino BLDC motorvezérlés
Csatlakoztassa a kapcsolási rajz szerint, töltse fel a kódot az Arduino-ba, és kapcsolja be az ESC-t. Győződjön meg róla, hogy a BLDC motort valamire felhelyezte, mivel a motor körbe fog ugrani forgás közben. Amint a beállítás be van kapcsolva, az ESC üdvözlő hangot ad, és folyamatosan csipog, amíg a fojtószelepjel a küszöbértékhatáron belül van, egyszerűen fokozatosan növelje a POT-ot 0 V-ról és a sípoló hang megszűnik, ez azt jelenti, hogy most PWM-et biztosítunk jelet az alsó küszöbérték felett, és ahogy tovább növekszik, a motor lassan forogni kezd. Minél nagyobb feszültséget biztosít, annál nagyobb sebességet vesz fel a motor, végül amikor a feszültség eléri a felső küszöbértéket, a motor leáll. Ezután megismételheti a folyamatot.
Ezen Arduino BLDC vezérlő teljes működése megtalálható az alábbi videó linken is. Ha bármilyen problémával szembesült, hogy ez működjön, nyugodtan használja a megjegyzés részt, vagy használja a fórumot további technikai segítségért.