- Potřebné materiály
- Porozumění BLDC motorům
- Proč drony a další multi-helikoptéry používají motory BLDC?
- Proč potřebujeme ESC a jaká je jeho funkce?
- Některé běžné pojmy s BLDC a ESC:
- Obvodové schéma řízení motoru Arduino BLDC
- Programujte BLDC Speed Control pomocí Arduina
- Řízení motoru Arduino BLDC
Stavět věci a zajistit, aby fungovaly, tak, jak chceme, byla vždy naprostá zábava. I když to bylo dohodnuto, budování věcí, které by mohly létat, by vzdorovitě pumpovalo o něco více úzkosti mezi fandy a hardware. Ano! Mluvím o kluzácích, vrtulnících, letadlech a hlavně o více helikoptérách. Díky komunitní podpoře online je dnes velmi snadné si jeden vytvořit sami. Jedna společná věc se všemi věcmi, které létají, je to, že používají BLDC motor, tak co je tento BLDC motor? Proč to potřebujeme k létání věcí? Co je na tom tak zvláštního? Jak koupit správný motor a propojit jej s vaším ovladačem? Co je ESC a proč jej používáme? Pokud máte takové otázky, pak je tento tutoriál vaším komplexním řešením.
Takže v podstatě v tomto tutoriálu budeme ovládat střídavý motor s Arduino. Zde se A2212 / 13T bezsenzorový BLDC pomocný motor používá s 20A elektronickým regulátorem otáček (ESC). Tento motor se běžně používá k výrobě dronů.
Potřebné materiály
- A2212 / 13T BLDC Motor
- ESC (20A)
- Zdroj energie (12V 20A)
- Arduino
- Potenciometr
Porozumění BLDC motorům
BLDC Motor je zkratka pro stejnosměrný motor Brush Less, který se díky svému plynulému provozu běžně používá u stropních ventilátorů a elektrických vozidel. Použití BLDC motorů v elektrických vozidlech je dříve podrobně vysvětleno. Na rozdíl od jiných motorů mají motory BLDC tři vodiče vycházející z nich a každý vodič tvoří svou vlastní fázi, což nám dává třífázový motor. Počkej co!!??
Ano, i když se BLDC motory považují za stejnosměrné motory, fungují pomocí pulzních vln. Elektronický regulátor otáček (ESC) převádí stejnosměrné napětí z baterie do impulsů a poskytuje jej do 3 vodičů motoru. V daném okamžiku budou napájeny pouze dvě fáze motoru, takže proud vstupuje přes jednu fázi a odchází přes druhou. Během tohoto procesu je cívka uvnitř motoru napájena, a proto se magnety na rotoru vyrovnávají s napájenou cívkou. Poté jsou další dva vodiče napájeny ESC, tento proces pokračuje, aby se motor otočil. Rychlost motoru závisí na tom, jak rychle je cívka napájena a směr motoru závisí na tom, v jakém pořadí jsou cívky napájeny. Více o ESC se dozvíme dále v tomto článku.
Existuje mnoho typů BLDC motorů, podívejme se na nejběžnější klasifikace.
In-runner and Out-Runner BLDC motor: In runner BLDC Motors work like any other motor. To znamená, že se hřídel uvnitř motoru otáčí, zatímco skříň zůstává pevná. Zatímco motory BLDC s vnějším oběžným kolem jsou právě naopak, vnější skříň motoru se otáčí spolu s hřídelí, zatímco cívka uvnitř zůstává pevná. Mimochodové motory jsou u elektrických kol velmi výhodné, protože vnější plášť (ten, který se otáčí) je sám vyroben z ráfku pro pneumatiky, a proto je zabráněno spojovacímu mechanismu. Také motory out-runner mají tendenci poskytovat větší točivý moment než u typů runner, a proto se stávají ideální volbou v EV a Drones. Ten, který zde používáme, je také typem out runner.
Poznámka: Existuje další typ motoru s názvem bezjádrové BLDC motory, které se také používají pro kapesní drony, mají odlišný pracovní princip, ale prozatím ho pro účely tohoto tutoriálu přeskočme.
Senzor a bezsenzorový motor BLDC: Aby se motor BLDC mohl otáčet bez trhnutí, je nutná zpětná vazba. To znamená, že ESC musí znát polohu a pól magnetů v rotoru, aby podle toho napájel stator. Tyto informace lze získat dvěma způsoby; jedním je umístění Hallova senzoru do motoru. Hallův senzor detekuje magnet a odešle informace do ESC. Tento typ motoru se nazývá motor Sensord BLDC a používá se v elektrických vozidlech. Druhá metoda spočívá v použití zpětného EMF generovaného cívkami, když je magnety protínají, což nevyžaduje další hardware nebo vodiče, samotný fázový vodič se používá jako zpětná vazba ke kontrole zpětného EMF. Tato metoda se používá v našem motoru a je běžná pro drony a jiné létající projekty.
Proč drony a další multi-helikoptéry používají motory BLDC?
Existuje mnoho druhů chladných dronů, od vrtulníku Quad až po vrtulníky a kluzáky, všechno má jeden společný hardware. To jsou motory BLDC, ale proč? Proč používají motor BLDC, který je ve srovnání se stejnosměrnými motory o něco dražší?
Existuje pro to několik platných důvodů, jedním z hlavních důvodů je točivý moment poskytovaný těmito motory je velmi vysoký, což je velmi důležité pro rychlé získání / uvolnění tahu pro vzlet nebo přistání dronu. Také tyto motory jsou k dispozici jako výsuvy, což opět zvyšuje tah motorů. Dalším důvodem pro výběr motoru BLDC je jeho plynulý chod bez vibrací, což je pro náš dron stabilní ve vzduchu velmi ideální.
Poměr výkonu k hmotnosti motoru BLDC je velmi vysoký. To je velmi důležité, protože motory používané na dronech by měly mít vysoký výkon (vysoké otáčky a vysoký točivý moment), ale měly by mít také nižší hmotnost. Stejnosměrný motor, který by mohl poskytovat stejný točivý moment a rychlost jako motor BLDC, bude dvakrát tak těžký než motor BLDC.
Proč potřebujeme ESC a jaká je jeho funkce?
Jak víme, každý motor BLDC vyžaduje nějaký řadič, který převádí stejnosměrné napětí z baterie na impulsy k napájení fázových vodičů motoru. Tento ovladač se nazývá ESC, což je zkratka pro Electronic Speed Controller. Hlavní odpovědností řídicí jednotky je napájet fázové vodiče BLDC motorů v takovém pořadí, aby se motor otáčel. To se provádí snímáním zpětného EMF z každého drátu a energií cívky přesně, když magnet prochází cívkou. V ESC je tedy spousta brilantnosti hardwaru, která je mimo rozsah tohoto tutoriálu. Ale abych zmínil několik , má regulátor otáček a obvod eliminátoru baterie.
Regulace rychlosti na základě PWM: ESC může řídit rychlost BLDC motoru čtením signálu PWM poskytovaného na oranžovém vodiči. Funguje velmi podobně jako servomotory, poskytovaný signál PWM by měl mít periodu 20 ms a pracovní cyklus lze měnit tak, aby se měnila rychlost BLDC motoru. Protože stejná logika platí i pro servomotory pro ovládání polohy, můžeme použít stejnou knihovnu servo v našem programu Arduino. Naučte se zde používat Servo s Arduinem.
Okruh eliminátoru baterie (BEC): Téměř všechny ESC jsou vybaveny obvodem eliminátoru baterie. Jak název napovídá, tento obvod eliminuje potřebu samostatné baterie pro mikrokontrolér, v tomto případě nepotřebujeme k napájení našeho Arduina samostatný napájecí zdroj; samotný ESC poskytne regulované + 5V, které lze použít k napájení našeho Arduina. Existuje mnoho typů obvodů, které regulují toto napětí normálně, bude to lineární regulace na levných ESC, ale můžete také najít spínací obvody.
Firmware: Každý ESC má výrobcem zapsaný program firmwaru. Tento firmware výrazně určuje, jak vaše ESC reaguje; některé z populárních firmwarů jsou Traditional, Simon-K a BL-Heli. Tento firmware je také programovatelný uživatelem, ale v tomto tutoriálu se jím nebudeme moc zabývat.
Některé běžné pojmy s BLDC a ESC:
Pokud jste právě začali pracovat s motory BLDC, pravděpodobně jste se pravděpodobně setkali s pojmy jako brzdění, pozvolný rozběh, směr motoru, nízké napětí, doba odezvy a záloha. Pojďme se podívat na to, co tyto pojmy znamenají.
Brzdění: Brzdění je schopnost vašeho motoru BLDC zastavit otáčení, jakmile seškrtí plyn. Tato schopnost je pro multi-helikoptéry velmi důležitá, protože pro manévrování ve vzduchu musí častěji měnit své otáčky.
Měkký start: Měkký start je důležitá vlastnost, kterou je třeba vzít v úvahu, když je váš motor BLDC spojen s převodem. Pokud má motor povolený pozvolný rozběh, nezačne se najednou velmi rychle otáčet, vždy bude postupně zvyšovat rychlost bez ohledu na to, jak rychle byl přidán plyn. To nám pomůže snížit opotřebení převodů připojených k motorům (pokud existují).
Směr motoru: Směr motoru v motorech BLDC se během provozu normálně nemění. Při sestavování však může být nutné, aby uživatel změnil směr otáčení motoru. Nejjednodušší způsob, jak změnit směr motoru, je jednoduchá záměna jakýchkoli dvou vodičů motoru.
Stop nízkého napětí: Po kalibraci bychom vždy potřebovali, aby naše BLDC motory běžely stejnou konkrétní rychlostí pro určitou hodnotu plynu. Toho je ale těžké dosáhnout, protože motory mají tendenci snižovat své otáčky při stejné hodnotě škrticí klapky, jak klesá napětí baterie. Abychom tomu zabránili, normálně naprogramujeme ESC tak, aby přestal fungovat, když napětí baterie dosáhne pod prahovou hodnotu, tato funkce se nazývá Low Voltage Stop a je užitečná v dronech.
Doba odezvy: Schopnost motoru rychle měnit rychlost na základě změny plynu se nazývá doba odezvy. Čím menší je doba odezvy, tím lepší bude kontrola.
Advance: Advance je problém nebo spíše chyba u motorů BLDC. Všechny motory BLDC mají v sobě trochu pokrok. To je, když jsou cívky statoru pod napětím, rotor je přitahován k němu kvůli permanentnímu magnetu, který je na nich umístěn. Po přitahování má rotor tendenci se pohybovat o něco více dopředu ve stejném směru, než se cívka vypne a poté se zapne další cívka. Tento pohyb se nazývá „Advance“ a bude vytvářet problémy, jako je chvění, zahřívání, vydávání hluku atd. Takže tomuto by se měl dobrý ESC sám vyhnout.
Dobře, dost teorie nám nyní umožní začít s hardwarem připojením motoru k Arduinu.
Obvodové schéma řízení motoru Arduino BLDC
Níže je schéma zapojení k ovládání střídavého motoru s Arduino:
Připojení pro propojení motoru BLDC s Arduino je docela přímé. ESC potřebuje napájecí zdroj minimálně kolem 12V a 5A. V tomto tutoriálu jsem použil svůj RPS jako zdroj energie, ale k napájení ESC můžete také použít Li-Po baterii. Třífázové vodiče ESC by měly být připojeny k třífázovým vodičům motorů, není nutné tyto vodiče připojit, můžete je připojit v libovolném pořadí.
Varování: Některé ESC nebudou mít na sobě konektory, v takovém případě se ujistěte, že je vaše připojení pevné a nechráněné vodiče chráňte izolační páskou. Protože fázemi bude procházet vysoký proud, jakýkoli zkrat by vedl k trvalému poškození ESC a motoru.
Samotný obvod BEC (eliminátor baterie) v ESC bude regulovat + 5 V, které lze použít k napájení desky Arduino. Nakonec k nastavení rychlosti motoru BLDC použijeme také potenciometr připojený k pinu A0 Arduina
Programujte BLDC Speed Control pomocí Arduina
Musíme vytvořit signál PWM s měnícím se pracovním cyklem od 0% do 100% s frekvencí 50 Hz. Pracovní cyklus by měl být řízen pomocí potenciometru, abychom mohli řídit rychlost motoru. Kód je podobný ovládání servomotorů, protože také vyžadují signál PWM s frekvencí 50 Hz; proto používáme stejnou servo knihovnu od Arduina. Kompletní kód lze nalézt v dolní části této stránky dále vysvětlím kód v malých fragmentů. A pokud jste v Arduinu nebo PWM nováčkem, nejprve projděte PWM s Arduinem a ovládání serva pomocí Arduina.
Signál PWM lze generovat pouze na piny, které podporují PWM pomocí hardwaru, tyto piny jsou obvykle označeny symbolem ~. Na Arduino UNO může pin 9 generovat signál PWM, takže připojíme signální pin ESC (oranžový vodič) k pin 9, ale také zmíníme stejný kód hostince pomocí následujícího řádku
ESC. Příloha (9);
Musíme generovat signál PWM s různým pracovním cyklem od 0% do 100%. Pro 0% pracovní cyklus bude POT vydávat 0 V (0) a pro 100% pracovní cyklus bude POT vydávat 5 V (1023). Zde je hrnec připojen k pinu A0, takže musíme číst analogové napětí z POT pomocí funkce analogového čtení, jak je znázorněno níže
int škrticí klapka = analogRead (A0);
Pak musíme převést hodnotu z 0 na 1023 na 0 až 180, protože hodnota 0 vygeneruje 0% PWM a hodnota 180 vygeneruje 100% pracovní cyklus. Jakékoli hodnoty nad 180 nebudou mít smysl. Hodnotu tedy namapujeme na 0–180 pomocí funkce mapování, jak je znázorněno níže.
plyn = mapa (plyn, 0, 1023, 0, 180);
Nakonec musíme tuto hodnotu poslat do funkce serva, aby mohla na tomto pinu generovat signál PWM. Protože jsme pojmenovali servo objekt jako ESC, kód bude vypadat takto níže, kde proměnná škrticí klapka obsahuje hodnotu od 0 do 180 pro ovládání pracovního cyklu signálu PWM
ESC.write (škrticí klapka);
Řízení motoru Arduino BLDC
Proveďte připojení podle schématu zapojení a nahrajte kód do Arduina a zapněte ESC. Ujistěte se, že jste na něco namontovali motor BLDC, protože motor při otáčení vyskočí všude kolem. Jakmile je nastavení zapnuto, váš ESC vydá uvítací tón a bude pípat, dokud nebude signál plynu v mezích prahové hodnoty, jednoduché zvyšování POT z 0V postupně a pípání se zastaví, to znamená, že nyní poskytujeme PWM signál nad dolní prahovou hodnotou a s dalším zvyšováním se váš motor začne pomalu točit. Čím více napětí zadáte, tím vyšší bude rychlost motoru, nakonec když napětí dosáhne nad horní mezní hodnotu, motor se zastaví. Poté můžete postup opakovat.
Kompletní práci tohoto řadiče Arduino BLDC najdete také na videu níže. Pokud jste při uvedení do provozu narazili na jakýkoli problém, můžete použít sekci komentářů nebo použít technickou podporu ve fórech.