Domů / Novinky / Novinky z oboru / BLDC motor s Arduino: Průvodce zapojením, kódem a ovládáním
Novinky z oboru
Naše stopa se rozprostírá po celém světě.
Zákazníkům poskytujeme kvalitní produkty a služby z celého světa.

BLDC motor s Arduino: Průvodce zapojením, kódem a ovládáním

Jak ESC umožňuje Arduinu ovládat BLDC motor

Arduino nemůže přímo řídit tři fáze motoru BLDC – nemá vestavěnou proudovou kapacitu nebo komutační logiku. Tato úloha spadá do ESC (Electronic Speed Controller), který je umístěn mezi Arduino a motor a převádí jednoduchý PWM signál na časované třífázové přepínání, které ve skutečnosti roztočí rotor.

Z pohledu Arduina vypadá ESC přesně jako standardní RC servo. Očekává pulz mezi zhruba 1000 a 2000 mikrosekundami, opakující se každých 20 milisekund, kde se šířka pulzu mapuje do polohy škrticí klapky. Proto to samé Servo knihovna používaná pro hobby serva funguje pro ovládání ESC — Arduino vůbec nemluví s motorem, mluví s integrovaným mikrokontrolérem ESC, který se stará o skutečnou komutaci.

Zapojení Arduina k BLDC motoru přes ESC

Tři silné vodiče motoru se připojují z motoru BLDC přímo ke třífázovým výstupům ESC – pořadí konektorů v této fázi nezáleží na směru, protože prohození jakýchkoli dvou vodičů pouze obrátí rotaci. Napájení motoru (typicky LiPo baterie odpovídající jmenovitému napětí motoru) se připojuje ke vstupním vodičům ESC, nikoli k Arduinu.

Signálová strana je jednodušší: jeden PWM vodič z digitálního pinu Arduino na signálový vstup ESC plus sdílená zem mezi Arduino a ESC. Většina ESC obsahuje na tomto signálním konektoru BEC (Battery Eliminator Circuit), který dodává regulovaných 5V zpět do Arduina – což znamená, že samostatný napájecí zdroj pro desku obvykle není nutný, pokud je výstup BEC ESC dimenzován na proudový odběr Arduina.

Arduino kód pro základní ovládání rychlosti

Po zapojení kabelů je samotný kód krátký. Knihovna serv zachází s ESC jako se servomotorem a mapuje rychlost na stejný rozsah 0-180, který knihovna používá pro úhel:

  • Připojte signální kolík ESC pomocí ESC.attach(9, 1000, 2000) , explicitně nastaví rozsah šířky pulzu
  • Odečtěte potenciometr na analogovém kolíku pro ruční ovládání rychlosti
  • Mapujte analogové čtení 0-1023 dolů na rozsah 0-180, který ESC očekává
  • Napište tuto namapovanou hodnotu pomocí ESC.write(rychlost) uvnitř hlavní smyčky

Tento vzor funguje, protože základní formát signálu je identický s hobby servy, jak je zdokumentováno v Odkaz na knihovnu Arduino Servo , který vysvětluje časování pulzu a omezení pinů, na které knihovna spoléhá.

Aktivace a kalibrace ESC

Většina ESC neroztočí motor ihned po zapnutí – nejdříve očekávají aktivační sekvenci, obvykle spuštěnou přidržením signálu plynu na minimu po dobu jedné nebo dvou sekund po spuštění. Přeskočení tohoto kroku je nejčastějším důvodem, proč se motor zdánlivě krátce spustí při zapnutí a poté se zastaví: ESC čeká na platný signál nízkého plynu, než přijme příkazy.

Kalibrace nastavuje chápání ESC minimální a maximální šířky pulzu tak, aby odpovídalo tomu, co Arduino skutečně vysílá. Zapněte ESC se signálem plynu již na maximum, počkejte na potvrzovací pípnutí, pak snižte na minimum a znovu počkejte – tím ESC naučíte přesné koncové body, které váš kód produkuje, spíše než se spoléhat na výchozí tovární nastavení, která nemusí odpovídat namapovanému rozsahu vašeho potenciometru.

Sensored vs. Sensorless BLDC: Proč to mění nastavení Arduina

Vše výše předpokládá bezsenzorový BLDC motor spárovaný s běžně dostupným ESC – nejběžnějším nastavením pro fandy a důvodem, proč je většina výukových programů předvolena. ESC detekuje polohu rotoru ze zpětného EMF generovaného v nenapájené fázi, což funguje dobře, jakmile se motor roztočí, ale znamená to, že motor potřebuje krátkou spouštěcí rampu v otevřené smyčce, než se ESC může zablokovat na časování BEMF.

Senzorovaný BLDC motor přidává tři senzory s Hallovým efektem, které hlásí polohu rotoru přímo, dokonce i při nulových otáčkách. To eliminuje rozběhovou rampu a poskytuje plynulejší řízení při nízkých otáčkách, ale také to znamená, že ESC nebo regulátor musí mít vstupy Hallova čidla – prostý ESC bez čidla pro ně nemá vůbec žádnou kabeláž. Pokud projekt vyžaduje přesný točivý moment při nízkých otáčkách nebo časté spouštění a zastavování, pořízení motoru se snímačem a ovladače kompatibilního s Hallem od samého počátku zabrání pozdějšímu přepracování nastavení řízení.

R5 Fast response Brushless DC Motor Controller

Od prototypu Arduino po řízení motorů na produkční úrovni

ESC řízený PWM je tím správným nástrojem pro prokázání konceptu – je levný, dobře zdokumentovaný a nepotřebuje žádný konfigurační software. Ale má také skutečné limity: žádná proudová zpětná vazba k Arduinu, minimální logika ochrany a rozlišení ovládání vázané na 1000-2000 mikrosekundové okno pulzu, které se neškáluje dobře, jakmile se stane požadavkem řízení točivého momentu, regulace rychlosti v uzavřené smyčce nebo hlášení poruch.

Když se projekt přesune přes prototypování směrem k produktu v terénu, obvyklým dalším krokem je řadič, který komunikuje přes digitální sběrnici spíše než jedinou linku PWM. ladicí rozhraní UART-TTL používané ke konfiguraci sériových ovladačů motoru hraje zde roli podobnou sériovému monitoru Arduino – umožňuje vám číst parametry a ladit chování přímo, spíše než odhadovat pouze šířky pulsů.

Pro týmy, které převyšují hobby ESC, vstupní bod do BLDC motorových ovladačů APT programovatelných na sběrnici CAN nabízí druh konfigurovatelného omezení proudu a diagnostiky, které základní ESC jednoduše nevystaví. Aplikace vyžadující přísnější odezvu – robotická ramena, ovládané mechanismy, cokoliv s rychle se měnící zátěží – jsou lépe obsluhovány regulátor BLDC s rychlou odezvou vytvořený pro aplikace s uzavřenou smyčkou v reálném čase spíše než hobby ESC s otevřenou smyčkou.

Vzhledem k tomu, že specifikace regulátoru a motoru musí odpovídat kompatibilitě napětí, proudu a Hallova senzoru, stojí za to zkontrolovat Návod na párování ovladače a motoru pro přizpůsobení elektroniky pohonu specifikacím motoru předtím, než se zavážete k hardwaru pro produkční provoz. Také to stojí za pochopení jak softwarové vrstvy přetvářejí moderní řízení motoru , protože ladění na úrovni firmwaru je stále více tím, co odděluje dobrý produkční řadič od pouze adekvátního.



Máte zájem o spolupráci nebo máte dotazy?
  • Odeslat požadavek {$config.cms_name}