- Potrebni materiali
- Razumevanje BLDC motorjev
- Zakaj droni in drugi večkopterji uporabljajo BLDC motorje?
- Zakaj potrebujemo ESC in kakšna je njegova funkcija?
- Nekaj pogostih izrazov z BLDC in ESC:
- Shema krmiljenja motorja Arduino BLDC
- Program za nadzor hitrosti BLDC z uporabo Arduina
- Arduino BLDC nadzor motorja
Graditi stvari in jih spraviti na delo, tako kot si želimo, je bilo vedno zelo zabavno. Medtem ko bi se o tem dogovorili, bi gradbene stvari, ki bi lahko letele, kljubovalno črpale nekoliko več tesnobe med hobiji in ljubitelji strojne opreme. Ja! Govorim o jadralnih letalih, helikopterjih, letalih in predvsem večkopterjih. Danes je postalo zelo enostavno zgraditi samostojno zaradi podpore skupnosti, ki je na voljo na spletu. Skupno pri vseh stvareh, ki letijo, je, da uporabljajo BLDC motor, kaj je ta BLDC motor? Zakaj ga potrebujemo za letenje? Kaj je tako posebnega? Kako kupiti pravi motor in ga povezati s krmilnikom? Kaj je ESC in zakaj ga uporabljamo? Če imate takšna vprašanja, je ta vadnica vaša rešitev na enem mestu.
V bistvu bomo v tej vadnici nadzirali brezkrtačni motor z Arduinom. Tu se uporablja izhodni motor BLDC brez senzorja A2212 / 13T z elektronskim regulatorjem hitrosti 20A (ESC). Ta motor se običajno uporablja za izdelavo dronov.
Potrebni materiali
- A2212 / 13T BLDC motor
- ESC (20A)
- Vir energije (12V 20A)
- Arduino
- Potenciometer
Razumevanje BLDC motorjev
BLDC Motor pomeni Brush Less DC motor, zaradi gladkega delovanja se pogosto uporablja v stropnih ventilatorjih in električnih vozilih. Uporaba BLDC motorjev v električnih vozilih je predhodno podrobno pojasnjena. Za razliko od drugih motorjev imajo BLDC tri žice, ki izhajajo iz njih, vsaka žica pa tvori svojo fazo, kar nam daje trifazni motor. Počakaj, kaj!!??
Da, čeprav se BLDC motorji štejejo za enosmerne motorje, delujejo s pomočjo impulznih valov. Krmilnik elektronske vrtljajev (ESC) pretvori enosmerno napetost iz akumulatorja v impulzov in zagotavlja, da so 3 žice motorja. Kadar koli se bosta napajali samo dve fazi motorja, tako da tok vstopi skozi eno fazo in zapusti drugo. Med tem postopkom je tuljava v motorju pod napetostjo, zato se magneti na rotorju poravnajo na tuljavo pod napetostjo. Nato ESC napaja naslednji dve žici, ta postopek se nadaljuje, da se motor vrti. Hitrost motorja je odvisna od tega, kako hitro je tuljava pod napetostjo in smer motorja je odvisna od tega, v katerem vrstnem redu so tuljave pod napetostjo. Več o ESC bomo izvedeli kasneje v tem članku.
Na voljo je veliko vrst BLDC motorjev, poglejmo si najpogostejše klasifikacije.
BLDC motor v teku in zunaj teka: Motorji BLDC v vodilu delujejo kot kateri koli drugi motor. To je gred v motorju, ki se vrti, ohišje pa ostane fiksno. Medtem ko so izhodni BLDC motorji ravno nasprotno, se zunanje ohišje motorja vrti skupaj z gredjo, medtem ko ostane tuljava fiksna. Zunanji tekaški motorji so zelo pomembni pri električnih kolesih, saj je zunanje ohišje (tisto, ki se vrti) izdelano v platišče za pnevmatike in se tako izognemo spenjanju. Tudi motorji z zunanjim tekačem ponavadi dajejo več navora kot pri tipih tekačev, zato postanejo idealna izbira za EV in Drone. Tisti, ki ga uporabljamo tukaj, je tudi tip tekača.
Opomba: Obstaja še ena vrsta motorjev, imenovana brezžični BLDC motorji, ki se uporabljajo tudi za žepne brezpilotne zrakoplove. Imajo drugačen princip delovanja, za zdaj pa ga zaradi te vadnice preskočimo.
Senzor in BLDC motor brez senzorja: Za vrtenje motorja BLDC brez sunkov je potrebna povratna informacija. To pomeni, da mora ESC poznati položaj in pol magnetov v rotorju, da lahko v skladu s tem napaja stator. Te informacije je mogoče pridobiti na dva načina; eno je tako, da v motor vstavite Hall senzor. Halov senzor bo zaznal magnet in informacije poslal ESC. Ta tip motorja se imenuje Sensord BLDC motor in se uporablja v električnih vozilih. Druga metoda je uporaba zadnjega EMF, ki ga tuljave tvorijo, ko jih magneti prečkajo, pri čemer ni potrebna dodatna strojna oprema ali žice same fazne žice se uporabljajo kot povratna informacija za preverjanje povratne EMF. Ta metoda se uporablja v našem motorju in je pogosta za brezpilotne zrakoplove in druge leteče projekte.
Zakaj droni in drugi večkopterji uporabljajo BLDC motorje?
Obstaja veliko vrst hladnih brezpilotnih zrakoplovov, od Quad copterja do helikopterjev in jadralnih letal, vsem je skupna ena strojna oprema. To so BLDC motorji, ampak zakaj? Zakaj uporabljajo BLDC motor, ki je nekoliko dražji v primerjavi z enosmernimi motorji?
Za to obstaja kar nekaj tehtnih razlogov, eden glavnih razlogov je navor, ki ga zagotavljajo ti motorji, zelo visok, kar je zelo pomembno, da hitro pridobimo / popustimo potisk, da vzletimo ali pristanemo brez drona. Tudi ti motorji so na voljo kot zunanji tekači, kar spet poveča potisk motorjev. Drugi razlog za izbrani BLDC motor je gladko delovanje brez vibracij, kar je zelo idealno za naš brezpilotni zrakoplov, stabilen v zraku.
Razmerje moči in teže motorja BLDC je zelo veliko. To je zelo pomembno, ker morajo biti motorji, ki se uporabljajo na brezpilotnih letalih, velike moči (velika hitrost in velik navor), vendar morajo biti tudi manj teže. DC motor, ki bi lahko zagotavljal enak navor in hitrost kot BLDC motor, bo dvakrat težji od BLDC motorja.
Zakaj potrebujemo ESC in kakšna je njegova funkcija?
Kot vemo, vsak BLDC motor potrebuje nekakšen krmilnik za pretvorbo enosmerne napetosti iz akumulatorja v impulze za napajanje faznih žic motorja. Ta krmilnik se imenuje ESC, kar pomeni elektronski regulator hitrosti. Glavna odgovornost krmilnika je napajanje faznih žic BLDC motorjev v vrstnem redu, tako da se motor vrti. To se naredi tako, da zazna zadnji EMF iz vsake žice in tuljavo napaja natančno, ko magnet prečka tuljavo. V ESC je torej veliko sijaja strojne opreme, kar je zunaj obsega te vadnice. Če omenim nekaj , ima krmilnik hitrosti in vezje za odstranjevanje akumulatorja.
Nadzor hitrosti na osnovi PWM: ESC lahko nadzoruje hitrost motorja BLDC z branjem signala PWM na oranžni žici. Deluje zelo podobno kot servo motorji, predvideni signal PWM mora imeti obdobje 20 ms, delovni cikel pa lahko spreminjamo, da spreminjamo hitrost BLDC motorja. Ker ista logika velja tudi za servo motorje za nadzor položaja, lahko v našem programu Arduino uporabljamo isto servo knjižnico. Tu se naučite uporabljati Servo z Arduinom.
Vezje eliminatorja baterij (BEC): Skoraj vsi ESC-ji imajo vezje eliminatorja akumulatorjev. Kot že ime pove, to vezje odpravlja potrebo po ločeni bateriji za mikrokrmilnik, zato v tem primeru ne potrebujemo ločenega napajanja za napajanje našega Arduina; ESC bo sam zagotavljal regulirano + 5V, ki se lahko uporablja za napajanje našega Arduina. Obstaja veliko vrst tokokrogov, ki to napetost običajno uravnavajo; to bo linearna regulacija na poceni ESC, lahko pa jih najdete tudi s preklopnimi vezji.
Vdelana programska oprema: Vsak ESC ima vdelani program, ki ga vanj vpišejo proizvajalci. Ta vdelana programska oprema v veliki meri določa, kako se odziva vaš ESC; nekaj priljubljene programske opreme je tradicionalna, Simon-K in BL-Heli. Ta vdelana programska oprema je tudi programabilna za uporabnike, vendar v tej vadnici ne bomo več govorili o tem.
Nekaj pogostih izrazov z BLDC in ESC:
Če ste šele začeli delati z BLDC motorji, ste verjetno verjetno že naleteli na izraze, kot so zaviranje, mehak zagon, smer motorja, nizka napetost, odzivni čas in napredek. Oglejmo si, kaj ti izrazi pomenijo.
Zaviranje: Zaviranje je zmožnost vašega BLDC motorja, da se ustavi, ko se plin odstrani. Ta sposobnost je zelo pomembna za večkopterje, saj morajo za manevriranje v zraku pogosteje spreminjati število vrtljajev.
Mehki zagon: mehak zagon je pomembna lastnost, ki jo je treba upoštevati, ko je vaš BLDC motor povezan z zobnikom. Ko ima motor omogočen mehak zagon, se nenadoma ne bo začel vrteti zelo hitro, vedno bo postopoma povečeval hitrost, ne glede na to, kako hitro je bil dan plin. To nam bo pomagalo zmanjšati obrabo zobnikov, pritrjenih z motorji (če obstajajo).
Smer motorja: Smer motorja v BLDC motorjih se med delovanjem običajno ne spremeni. Toda pri sestavljanju bo uporabnik morda moral spremeniti smer vrtenja motorja. Smer motorja najlažje spremenite tako, da preprosto zamenjate kateri koli dve žici motorja.
Zaustavitev nizke napetosti: Ko ga kalibriramo, bomo vedno potrebovali, da naši BLDC motorji delujejo z enako določeno hitrostjo za določeno vrednost plina. Toda to je težko doseči, ker motorji običajno zmanjšajo hitrost za enako vrednost plina, ko se napetost akumulatorja zmanjša. Da bi se temu izognili, običajno programiramo ESC, da preneha delovati, ko napetost akumulatorja doseže prag pod pragom, ta funkcija se imenuje Low Voltage Stop in je uporabna pri brezpilotnih letalih.
Odzivni čas: Sposobnost motorja, da hitro spremeni svojo hitrost glede na spremembo plina, se imenuje odzivni čas. Manjši kot je odzivni čas, boljši bo nadzor.
Advance: Advance je težava ali bolj podobna napaki z BLDC motorji. Vsi BLDC motorji imajo v sebi malo napredka. Takrat, ko so tuljave statorja pod napetostjo, se rotor privleče k njemu zaradi stalnega magneta, ki je na njih. Ko se rotor privabi, se ponavadi premakne nekoliko naprej v isti smeri, preden tuljava deenergira in nato naslednja tuljava. To gibanje se imenuje »Vnaprej« in bo povzročalo težave, kot so tresenje, segrevanje, hrup itd. To je nekaj, česar bi se dober ESC moral izogibati sam.
V redu, dovolj teorije zdaj začnimo s strojno opremo s povezovanjem motorja z Arduinom.
Shema krmiljenja motorja Arduino BLDC
Spodaj je diagram vezja za krmiljenje brezkrtačnega motorja z Arduinom:
Povezava za povezavo BLDC motorja z Arduinom je precej neposredna. ESC potrebuje vir energije približno 12V in 5A. V tej vadnici sem svoj RPS uporabil kot vir energije, za napajanje ESC pa lahko uporabite tudi Li-Po baterijo. Trifazne žice ESC bi morale biti povezane s trifaznimi žicami motorjev, ni povezave teh žic, lahko jih povežete v poljubnem vrstnem redu.
Opozorilo: Nekateri ESC ne bodo imeli priključkov, v tem primeru se prepričajte, da je vaša povezava trdna, in izpostavljene žice zaščitite z izolacijskim trakom. Ker bo skozi faze prehajal velik tok, bo vsak kratek trajno poškodoval ESC in motor.
BEC (Battery Eliminator krog) v ESS sam bo uredil + 5V, ki se lahko uporablja na oblast do Arduino sveta. Na koncu za nastavitev hitrosti BLDC motorja uporabimo še potenciometer, priključen na A0 zatič Arduino
Program za nadzor hitrosti BLDC z uporabo Arduina
Ustvariti moramo signal PWM z različnim delovnim ciklom od 0% do 100% s frekvenco 50Hz. Delovni cikel je treba nadzorovati z uporabo potenciometra, da lahko nadzorujemo hitrost motorja. Koda za to je podobna krmiljenju servo motorjev, saj potrebujejo tudi signal PWM s frekvenco 50 Hz; zato uporabljamo isto servo knjižnico iz Arduina. Celotno kodo najdete na dnu te strani, v nadaljevanju bom razložil kodo v majhnih delčkov. In če ste novi Arduino ali PWM, najprej pojdite na uporabo PWM z Arduino in nadzorujte servo z Arduino.
Signal PWM je mogoče generirati samo na nožicah, ki strojno podpirajo PWM, ti zatiči so običajno omenjeni s simbolom ~. Na Arduino UNO lahko zatič 9 generira PWM signal, zato priključimo signalni zatič ESC (oranžna žica) na zatič 9, pri čemer omenimo isto kodo gostilne z uporabo naslednje vrstice
ESC.attach (9);
Generirati moramo PWM signal z različnim delovnim ciklom od 0% do 100%. Za 0% delovnega cikla bo POT oddajal 0V (0), za 100% delovnega cikla pa POT 5V (1023). Tu je lonec priključen na zatič A0, zato moramo analogno napetost odčitati s POT-a z uporabo funkcije analognega branja, kot je prikazano spodaj
int dušilka = analogRead (A0);
Nato moramo vrednost pretvoriti iz 0 v 1023 v 0 v 180, ker bo vrednost 0 ustvarila 0% PWM in vrednost 180 bo ustvarila 100% delovni cikel. Vse vrednosti nad 180 ne bodo imele smisla. Torej vrednost preslikamo na 0-180 s pomočjo funkcije zemljevida, kot je prikazano spodaj.
dušilka = zemljevid (dušilka, 0, 1023, 0, 180);
Končno moramo to vrednost poslati servo funkciji, da lahko na tem zatiču generira signal PWM. Ker smo servo objekt imenovali ESC, bo koda videti takole spodaj, kjer spremenljivka dušilke vsebuje vrednost od 0-180 za nadzor delovnega cikla signala PWM
ESC.write (dušilka);
Arduino BLDC nadzor motorja
Povežite se v skladu s shemo vezij in naložite kodo v Arduino in vklopite ESC. Prepričajte se, da ste BLDC motor pritrdili na nekaj, saj bo motor med vrtenjem poskočil. Ko je nastavitev vklopljena, bo ESC sprožil pozdravni signal in piskal, dokler signal za plin ne bo znotraj mejnih vrednosti, preprosto postopoma povečajte POT z 0 V in zvočni signal se ustavi, kar pomeni, da zdaj ponujamo PWM signal nad spodnjo mejno vrednostjo in z nadaljnjim povečevanjem se bo vaš motor začel počasi vrteti. Več napetosti kot zagotovite, večjo hitrost bo motor dvignil in končno, ko napetost doseže zgornjo mejno vrednost, se motor ustavi. Nato lahko postopek ponovite.
Popolno delovanje tega Arduino BLDC krmilnika lahko najdete tudi na spodnji video povezavi. Če ste naleteli na kakršno koli težavo pri tem, da to deluje, vas prosimo, da uporabite odsek za komentarje ali uporabite forume za več tehnične pomoči.