Dom / Vijesti / Vijesti iz industrije / BLDC motor s Arduinom: ožičenje, kod i upravljački vodič
Vijesti iz industrije
Naš otisak proteže se cijelim svijetom.
Kupcima pružamo kvalitetne proizvode i usluge sa svih strana svijeta.

BLDC motor s Arduinom: ožičenje, kod i upravljački vodič

Kako ESC omogućuje Arduinu kontrolu BLDC motora

Arduino ne može izravno pokretati tri faze BLDC motora — nema ugrađen trenutni kapacitet niti logiku komutacije. Taj posao pripada ESC-u (Electronic Speed Controller), koji se nalazi između Arduina i motora, pretvarajući jednostavan PWM signal u tempirano trofazno prebacivanje koje zapravo okreće rotor.

Iz perspektive Arduina, ESC izgleda točno kao standardni RC servo. Očekuje puls između otprilike 1000 i 2000 mikrosekundi, koji se ponavlja svakih 20 milisekundi, gdje se širina pulsa preslikava na položaj gasa. Zato isto Servo knjižnica koristi se za hobi servosisteme, radi za kontrolu ESC-a — Arduino uopće ne razgovara s motorom, nego s ugrađenim mikrokontrolerom ESC-a, koji upravlja stvarnom komutacijom.

Spajanje Arduina na BLDC motor preko ESC-a

Tri žice motora velikog promjera povezuju se s BLDC motora ravno na trofazne izlaze ESC-a — redoslijed konektora nije bitan za smjer u ovoj fazi, budući da zamjena bilo koje dvije žice samo obrće rotaciju. Snaga motora (obično LiPo baterija usklađena s nazivnim naponom motora) spaja se na ulazne vodove ESC-a, a ne na Arduino.

Signalna strana je jednostavnija: jedna PWM žica od Arduino digitalnog pina do ESC-ovog signalnog ulaza, plus zajedničko uzemljenje između Arduina i ESC-a. Većina ESC uključuje BEC (Battery Eliminator Circuit) na tom signalnom konektoru, koji dovodi reguliranih 5 V natrag u Arduino — što znači da zasebno napajanje za ploču obično nije potrebno sve dok je BEC izlaz ESC-a ocijenjen za Arduino struju.

Arduino kod za osnovnu kontrolu brzine

Uz postavljeno ožičenje, sam kod je kratak. Servo biblioteka tretira ESC kao servo motor i mapira brzinu na isti raspon 0-180 koji biblioteka koristi za kut:

  • Pričvrstite ESC signalnu iglu pomoću ESC.attach(9, 1000, 2000) , eksplicitno postavljanje raspona širine pulsa
  • Očitajte potenciometar na analognom pinu za ručnu kontrolu brzine
  • Preslikajte analogno očitanje 0-1023 na raspon 0-180 koji ESC očekuje
  • Zapišite tu mapiranu vrijednost pomoću ESC.write(brzina) unutar glavne petlje

Ovaj uzorak funkcionira jer je temeljni format signala identičan hobi servo-u, kao što je dokumentirano u Referenca knjižnice Arduino Servo , koji objašnjava vremenski raspored pulsa i ograničenja pinova na koje se biblioteka oslanja.

Aktiviranje i kalibracija ESC-a

Većina ESC-ova neće zavrtjeti motor odmah nakon uključivanja — oni prvo očekuju sekvencu aktiviranja, obično pokrenutu držanjem signala gasa na minimumu sekundu ili dvije nakon pokretanja. Preskakanje ovog koraka najčešći je razlog zbog kojeg se čini da se motor nakratko pokreće nakon uključivanja i zatim zaustavlja: ESC čeka valjani signal niskog gasa prije nego što prihvati naredbe.

Kalibracija postavlja ESC-ovo razumijevanje minimalne i maksimalne širine impulsa tako da odgovara onome što Arduino zapravo šalje. Uključite ESC sa signalom gasa koji je već na maksimumu, pričekajte zvučne signale potvrde, zatim spustite na minimum i ponovno pričekajte — ovo uči ESC točnim krajnjim točkama koje vaš kod proizvodi, umjesto da se oslanja na tvorničke postavke koje možda ne odgovaraju mapiranom rasponu vašeg potenciometra.

Senzorirani u odnosu na BLDC bez senzora: zašto mijenja vaše Arduino postavke

Sve gore navedeno pretpostavlja BLDC motor bez senzora uparen s standardnim ESC-om — najčešća postavka za hobiste i razlog zašto je većina tutorijala zadana. ESC detektira položaj rotora iz povratnog EMF-a generiranog u fazi bez napajanja, što dobro radi kada se motor okrene, ali znači da je motoru potrebna kratka rampa pokretanja otvorene petlje prije nego što se ESC može zaključati na BEMF vrijeme.

Senzorirani BLDC motor dodaje tri Hallova senzora koji izravno javljaju o položaju rotora, čak i pri nula okretaja u minuti. To eliminira rampu pri pokretanju i daje glađu kontrolu pri niskim brzinama, ali također znači da ESC ili kontroler moraju imati ulaze Hallovih senzora — obični ESC bez senzora uopće nema ožičenje za njih. Ako je za projekt potreban precizan okretni moment pri niskim brzinama ili česta pokretanja i zaustavljanja, nabava senzorskog motora i Hall-kompatibilnog kontrolera od samog početka izbjegava kasniju preradu postavki upravljanja.

R5 Fast response Brushless DC Motor Controller

Od Arduino prototipa do upravljanja motorom proizvodne razine

ESC s PWM-om pravi je alat za dokazivanje koncepta — jeftin je, dobro dokumentiran i ne treba mu softver za konfiguraciju. Ali također ima stvarna ograničenja: nema strujne povratne informacije za Arduino, minimalna zaštitna logika i kontrolna rezolucija vezana za pulsni prozor od 1000-2000 mikrosekundi koji se ne skalira dobro nakon što kontrola zakretnog momenta, regulacija brzine u zatvorenoj petlji ili izvješćivanje o kvarovima postanu zahtjevi.

Kada projekt prijeđe izradom prototipa prema proizvodu s terenskim korištenjem, uobičajeni sljedeći korak je kontroler koji komunicira preko digitalne sabirnice, a ne preko jedne PWM linije. UART-TTL sučelje za otklanjanje pogrešaka koje se koristi za konfiguriranje proizvodnih kontrolera motora ovdje igra ulogu sličnu Arduino serijskom monitoru — omogućuje vam očitavanje parametara i izravno podešavanje ponašanja umjesto nagađanja samo iz širine impulsa.

Za timove koji prerastaju hobi ESC, ulazna točka u APT-ove CAN sabirnice programabilne BLDC kontrolere motora nudi onu vrstu konfigurabilnog ograničenja struje i dijagnostike koju osnovni ESC jednostavno ne izlaže. Prijave kojima je potreban čvršći odgovor - robotske ruke, pokretački mehanizmi, bilo što s opterećenjem koje se brzo mijenja - bolje je opsluživati BLDC kontroler brzog odziva izgrađen za aplikacije zatvorene petlje u stvarnom vremenu nego hobi ESC s otvorenom petljom.

Budući da se specifikacije regulatora i motora moraju uskladiti s naponom, strujom i kompatibilnošću Hall senzora, vrijedi ih pregledati upute za uparivanje kontrolera i motora za usklađivanje pogonske elektronike sa specifikacijama motora prije nego što se posvetite hardveru za proizvodnju. Također je vrijedno razumijevanja kako softverski slojevi preoblikuju modernu kontrolu motora , budući da je podešavanje na razini firmware-a sve više ono što razlikuje dobar proizvodni kontroler od jednostavno odgovarajućeg.



Zainteresirani ste za suradnju ili imate pitanja?
  • Submit Request {$config.cms_name}