- Potrebné materiály
- Pochopenie motorov BLDC
- Prečo drony a iné multi-helikoptéry používajú motory BLDC?
- Prečo potrebujeme ESC a aká je jeho funkcia?
- Niektoré bežné výrazy s BLDC a ESC:
- Schéma ovládania obvodu Arduino BLDC motora
- Programujte BLDC Speed Control pomocou Arduina
- Ovládanie motora Arduino BLDC
Stavanie a zabezpečenie toho, aby fungovali, tak, ako chceme, vždy bola úplná zábava. Aj keď to bolo dohodnuté, stavebné veci, ktoré by mohli lietať, by vzdorovito načerpali o niečo viac úzkosti medzi fandmi a drotármi. Áno! Hovorím o klzákoch, vrtuľníkoch, lietadlách a hlavne o viac helikoptérach. Dnes je veľmi ľahké vytvoriť si svojpomocne vďaka komunitnej podpore dostupnej online. Jedna spoločná vec so všetkými vecami, ktoré lietajú, je to, že používajú BLDC motor, tak čo je tento BLDC motor? Prečo to potrebujeme na lietanie na veciach? Čo je na tom také zvláštne? Ako kúpiť ten správny motor a prepojiť ho s vašim radičom? Čo je ESC a prečo ho používame? Ak máte takéto otázky, tento návod je komplexné riešenie.
Takže v podstate v tomto tutoriáli budeme ovládať Brushless Motor s Arduinom. Tu sa bezdotykový motor BLDC A2212 / 13T BLDC používa s 20A elektronickým regulátorom otáčok (ESC). Tento motor sa bežne používa na výrobu dronov.
Potrebné materiály
- Motor A2212 / 13T BLDC
- ESC (20A)
- Zdroj energie (12V 20A)
- Arduino
- Potenciometer
Pochopenie motorov BLDC
BLDC Motor je skratka pre Brush Less DC motor, ktorý sa vďaka svojej bezproblémovej prevádzke bežne používa v stropných ventilátoroch a elektrických vozidlách. Použitie motorov BLDC v elektrických vozidlách je predtým podrobne vysvetlené. Na rozdiel od iných motorov majú motory BLDC tri vodiče, ktoré z nich vychádzajú a každý vodič vytvára svoju vlastnú fázu, čo nám dáva trojfázový motor. Počkaj čo!!??
Áno, aj keď sa motory BLDC považujú za motory na jednosmerný prúd, fungujú pomocou pulzných vĺn. Elektronický regulátor otáčok (ESC) prevádza jednosmerné napätie z batérie do impulzov a poskytuje ho do 3 vodičov motora. V danom okamihu budú napájané iba dve fázy motora, takže prúd vstupuje cez jednu fázu a odchádza cez druhú. Počas tohto procesu je cievka vo vnútri motora napájaná, a preto sa magnety na rotore vyrovnávajú s napájanou cievkou. Potom sú ďalšie dva vodiče napájané ESC, tento proces pokračuje, aby sa motor otáčal. Rýchlosť motora závisí od toho, ako rýchlo je cievka napájaná a smer motora závisí od toho, v akom poradí sú cievky napájané. Ďalej sa o ESC dozvieme ďalej v tomto článku.
Existuje veľa typov motorov BLDC, poďme sa pozrieť na najbežnejšie klasifikácie.
Motor BLDC pre beh a výstup: Motor BLDC pre motor bežiaci pracuje ako každý iný motor. To znamená, že hriadeľ vo vnútri motora sa otáča, zatiaľ čo skriňa zostáva upevnená. Zatiaľ čo motory BLDC s výstupom sú práve naopak, vonkajšie puzdro motora sa otáča spolu s hriadeľom, zatiaľ čo cievka vo vnútri zostáva pevná. Vonkajšie motory sú veľmi výhodou v elektrických bicykloch, pretože samotný vonkajší plášť (ten, ktorý sa otáča) je vyrobený z ráfika pre pneumatiky, a preto je zabránené spojovaciemu mechanizmu. Tiež motory out-runner majú tendenciu dávať väčší krútiaci moment ako u typov runner, preto sa stávajú ideálnou voľbou v EV a Drones. Ten, ktorý tu používame, je tiež typom mimo bežca.
Poznámka: Existuje ďalší typ motora, ktorý sa nazýva bezjadrové motory BLDC, ktoré sa tiež používajú pre vreckové drony. Majú odlišný princíp fungovania, ale teraz to kvôli tejto príručke preskočme.
Senzor a bezsenzorový motor BLDC: Aby sa motor BLDC otáčal bez trhania, je potrebná spätná väzba. To znamená, že ESC musí poznať polohu a pól magnetov v rotore, aby zodpovedajúcim spôsobom napájal stator. Tieto informácie je možné získať dvoma spôsobmi; jedným je umiestnenie Hallovho snímača do motora. Hallový senzor detekuje magnet a odošle informácie do ESC. Tento typ motora sa nazýva motor Sensord BLDC a používa sa v elektrických vozidlách. Druhá metóda spočíva v použití spätného EMF generovaného cievkami, keď ich magnety križujú, čo si nevyžaduje ďalší hardvér alebo vodiče. Samotný fázový vodič sa používa ako spätná väzba na kontrolu spätného EMF. Táto metóda sa používa v našom motore a je bežná pre drony a iné lietajúce projekty.
Prečo drony a iné multi-helikoptéry používajú motory BLDC?
Existuje veľa druhov chladných dronov, od vrtuľníka až po vrtuľníky a klzáky, všetko má jeden spoločný hardvér. To sú motory BLDC, ale prečo? Prečo používajú BLDC motor, ktorý je v porovnaní s jednosmernými motormi trochu drahý?
Existuje na to niekoľko platných dôvodov, jedným z hlavných dôvodov je to, že krútiaci moment poskytovaný týmito motormi je veľmi vysoký, čo je veľmi dôležité pre rýchle získanie / uvoľnenie ťahu pri štarte alebo pristátí drona. Aj tieto motory sú k dispozícii ako výsuvy, čo opäť zvyšuje prítlak motorov. Ďalším dôvodom pre výber motora BLDC je jeho plynulá prevádzka bez vibrácií, čo je pre náš dron stabilný vo vzduchu veľmi ideálne.
Pomer výkonu k hmotnosti motora BLDC je veľmi vysoký. To je veľmi dôležité, pretože motory používané na dronoch by mali mať vysoký výkon (vysoké otáčky a vysoký krútiaci moment), ale mali by mať aj menšiu hmotnosť. Jednosmerný motor, ktorý by mohol poskytovať rovnaký krútiaci moment a otáčky ako motor BLDC, bude dvakrát ťažší ako motor BLDC.
Prečo potrebujeme ESC a aká je jeho funkcia?
Ako vieme, každý motor BLDC vyžaduje určitý druh radiča, ktorý prevádza jednosmerné napätie z batérie na impulzy na napájanie fázových vodičov motora. Tento radič sa nazýva ESC, čo znamená Electronic Speed Controller. Hlavnou zodpovednosťou regulátora je napájanie fázových vodičov motorov BLDC v takom poradí, aby sa motor otáčal. To sa deje snímaním spätného EMF z každého drôtu a napájaním cievky presne vtedy, keď magnet pretína cievku. Vo vnútri ESC je teda veľa brilantnosti hardvéru, ktorá je mimo rozsahu tohto tutoriálu. Ale spomenieme niekoľko, ktoré majú regulátor otáčok a obvod eliminátora batérie.
Regulácia otáčok na základe PWM: ESC môže riadiť rýchlosť motora BLDC načítaním signálu PWM poskytnutého na oranžovom vodiči. Funguje veľmi podobne ako servomotory, poskytovaný signál PWM by mal mať periódu 20 ms a pracovný cyklus sa dá meniť tak, aby sa menila rýchlosť BLDC motora. Pretože rovnaká logika platí aj pre servomotory na riadenie polohy, môžeme v našom programe Arduino použiť rovnakú servo knižnicu. Naučte sa tu používať Servo s Arduinom.
Obvod eliminácie batérie (BEC): Takmer všetky ESC sú vybavené obvodom eliminácie batérie. Ako naznačuje názov, tento obvod eliminuje potrebu samostatnej batérie pre mikrokontrolér, v takom prípade nepotrebujeme samostatný napájací zdroj na napájanie nášho Arduina; samotný ESC poskytne regulovaných + 5 V, ktoré môžu byť použité na napájanie nášho Arduina. Existuje veľa druhov obvodov, ktoré regulujú toto napätie normálne, bude to lineárna regulácia na lacných ESC, ale môžete nájsť aj také, ktoré majú spínacie obvody.
Firmvér: Každý ESC má od výrobcu zapísaný program firmvéru. Tento firmvér výrazne určuje, ako vaša ESC reaguje; populárny firmvér je napríklad Traditional, Simon-K a BL-Heli. Tento firmvér je tiež programovateľný používateľom, ale v tomto tutoriále sa tým veľa nebudeme zaoberať.
Niektoré bežné výrazy s BLDC a ESC:
Ak ste práve začali pracovať s motormi BLDC, pravdepodobne ste sa už mohli stretnúť s pojmami ako brzdenie, pozvoľný rozbeh, smer motora, nízke napätie, doba odozvy a postup . Poďme sa pozrieť na to, čo tieto pojmy znamenajú.
Brzdenie: Brzdenie je schopnosť vášho motora BLDC prestať sa otáčať, akonáhle je plyn zošliapnutý. Táto schopnosť je pre multi-helikoptéry veľmi dôležitá, pretože pri manévrovaní vo vzduchu musia častejšie meniť svoje otáčky.
Mäkký štart: Mäkký štart je dôležitá vlastnosť, ktorú musíte vziať do úvahy, keď je váš motor BLDC spojený s prevodom. Ak má motor povolený pozvoľný rozbeh, nezačne sa zrazu veľmi rýchlo otáčať, vždy bude postupne zvyšovať rýchlosť bez ohľadu na to, ako rýchlo bol nastavený plyn. To nám pomôže pri znižovaní opotrebenia prevodových stupňov pripojených k motorom (ak existujú).
Smer motora: Smer motora v motoroch BLDC sa za prevádzky normálne nemení. Pri montáži však môže byť potrebné, aby používateľ zmenil smer, ktorým sa motor otáča. Najjednoduchší spôsob, ako zmeniť smer motora, je jednoduchá zámena akýchkoľvek dvoch vodičov motora.
Stop nízkeho napätia: Po kalibrácii by sme vždy potrebovali, aby naše motory BLDC bežali rovnakou konkrétnou rýchlosťou pre konkrétnu hodnotu plynu. Je to však ťažko dosiahnuteľné, pretože motory majú tendenciu znižovať svoje otáčky pri rovnakej hodnote plynu, ako klesá napätie batérie. Aby sme tomu zabránili, normálne naprogramujeme ESC tak, aby prestal pracovať, keď napätie batérie klesne pod prahovú hodnotu, táto funkcia sa nazýva Low Voltage Stop a je užitočná v dronoch.
Čas odozvy: Schopnosť motora rýchlo meniť rýchlosť na základe zmeny plynu sa nazýva čas odozvy. Čím menší je čas odozvy, tým lepšia bude kontrola.
Advance: Advance is a problem or more like a bug with BLDC motors. Všetky motory BLDC majú v sebe trochu predstihu. To je vtedy, keď sú statorové cievky pod napätím, rotor je priťahovaný k nej kvôli permanentnému magnetu, ktorý je na nich prítomný. Po prilákaní má rotor tendenciu pohybovať sa o niečo viac v rovnakom smere skôr, ako dôjde k odpojeniu cievky a potom k ďalším energiám cievky. Tento pohyb sa nazýva „Advance“ a bude spôsobovať problémy, ako je chvenie, zahriatie, hluk atď. Takže tomuto by sa mal dobrý ESC sám vyhnúť.
Dobre, teraz už je dosť teórie. Začnime s hardvérom pripojením motora k Arduinu.
Schéma ovládania obvodu Arduino BLDC motora
Ďalej je uvedená schéma zapojenia ovládacieho striedavého motora s Arduino:
Pripojenie na prepojenie motora BLDC s Arduinom je celkom priame. ESC potrebuje zdroj energie s minimom okolo 12 V a 5 A. V tomto návode som použil svoj RPS ako zdroj energie, ale na napájanie ESC môžete tiež použiť batériu Li-Po. Trojfázové vodiče ESC by mali byť pripojené k trojfázovým vodičom motorov, nie je potrebné tieto vodiče pripájať, môžete ich pripojiť v ľubovoľnom poradí.
Varovanie: Niektoré ESC nebudú mať na sebe konektory, v takom prípade sa uistite, či je vaše pripojenie pevné a odkryté vodiče chráňte izolačnou páskou. Pretože fázami bude prechádzať vysoký prúd, akýkoľvek skrat by viedol k trvalému poškodeniu ESC a motora.
Samotný obvod BEC (eliminátor batérie) v ESC bude regulovať + 5 V, ktoré sa dajú použiť na napájanie dosky Arduino. Nakoniec nastavíme rýchlosť BLDC motora aj pomocou potenciometra pripojeného k pinu A0 Arduina
Programujte BLDC Speed Control pomocou Arduina
Musíme vytvoriť signál PWM s meniacim sa pracovným cyklom od 0% do 100% s frekvenciou 50 Hz. Pracovný cyklus by sa mal riadiť pomocou potenciometra, aby sme mohli regulovať rýchlosť motora. Tento kód je podobný riadeniu servomotorov, pretože tiež vyžadujú signál PWM s frekvenciou 50 Hz; preto používame rovnakú servo knižnicu od Arduina. Kompletný kód možno nájsť v dolnej časti tejto stránky ďalej vysvetlím kód v malých fragmentov. A ak ste v Arduine alebo PWM nováčikom, najskôr si vyskúšajte použitie PWM s Arduinom a ovládanie serva pomocou Arduina.
Signál PWM je možné generovať iba na kolíkoch, ktoré hardvérovo podporujú PWM, tieto kolíky sa zvyčajne označujú symbolom ~. Na Arduino UNO môže pin 9 generovať signál PWM, takže pripojíme signálny pin ESC (oranžový vodič) k pin 9, spomenieme tiež rovnaký kód hostinca pomocou nasledujúceho riadku
Príloha ESC (9);
Musíme generovať PWM signál s meniacim sa pracovným cyklom od 0% do 100%. Pre 0% pracovný cyklus bude mať POT výstup 0 V (0) a pre 100% pracovný cyklus bude mať POT výstup 5 V (1023). Tu je hrniec pripojený k pinu A0, takže musíme načítať analógové napätie z POT pomocou funkcie analógového čítania, ako je uvedené nižšie
int plyn = analogRead (A0);
Potom musíme previesť hodnotu z 0 na 1023 na 0 až 180, pretože hodnota 0 vygeneruje 0% PWM a hodnota 180 vygeneruje 100% pracovný cyklus. Akékoľvek hodnoty nad 180 nebudú mať zmysel. Hodnotu teda namapujeme na 0 - 180 pomocou funkcie mapovania, ako je uvedené nižšie.
plyn = mapa (plyn, 0, 1023, 0, 180);
Nakoniec musíme túto hodnotu poslať do funkcie serva, aby mohla generovať signál PWM na tomto pinu. Pretože sme servo objekt pomenovali ako ESC, bude kód vyzerať takto, kde premenná škrtiaca klapka obsahuje hodnotu od 0 do 180 na riadenie pracovného cyklu signálu PWM
Zápis ESC (škrtiaca klapka);
Ovládanie motora Arduino BLDC
Pripojte pripojenie podľa schémy zapojenia a nahrajte kód do Arduina a zapnite ESC. Uistite sa, že ste na niečo namontovali motor BLDC, pretože motor pri otáčaní vyskočí dookola. Akonáhle je nastavenie zapnuté, váš ESC vydá uvítací tón a bude pípať dovtedy, kým signál škrtiacej klapky nebude v medziach prahových hodnôt. Jednoduché zvyšovanie POT z 0 V postupne a pípanie sa zastaví, to znamená, že teraz poskytujeme PWM signál nad dolnou prahovou hodnotou a s ďalším zvyšovaním sa váš motor začne pomaly otáčať. Čím väčšie napätie dodáte, tým viac sa motor naberie. Nakoniec, keď napätie dosiahne vyššiu ako hornú prahovú hranicu, motor sa zastaví. Potom môžete postup opakovať.
Kompletné fungovanie tohto radiča Arduino BLDC nájdete tiež na videozázname nižšie. Ak ste pri uvádzaní do prevádzky narazili na akýkoľvek problém, neváhajte použiť sekciu s komentármi alebo vyhľadajte technickú pomoc vo fórach.