- Potrebni materijali
- Razumijevanje BLDC motora
- Zašto dronovi i drugi multi-kopteri koriste BLDC motore?
- Zašto nam treba ESC i koja je njegova funkcija?
- Neki uobičajeni izrazi s BLDC-om i ESC-om:
- Dijagram upravljačkog kruga motora Arduino BLDC
- Program za BLDC kontrolu brzine pomoću Arduina
- Arduino BLDC upravljanje motorom
Graditi stvari i navesti ih na posao, onako kako mi želimo, oduvijek je bila puka zabava. Iako se to dogovara, građevinske stvari koje bi mogle letjeti prkosno bi pumpale malo više anksioznosti među hobistima i onima koji se bave hardverom. Da! Govorim o jedrilicama, helikopterima, avionima i uglavnom o multikopterima. Danas je postalo vrlo jednostavno samostalno ga izraditi zahvaljujući podršci zajednice dostupnoj na mreži. Jedna uobičajena stvar kod svih stvari koje lete je da koriste BLDC motor, pa što je ovaj BLDC motor? Zašto nam je potreban za letenje? Što je tu posebno? Kako kupiti pravi motor i povezati ga s vašim kontrolerom? Što je ESC i zašto ga koristimo? Ako imate pitanja poput ovih, ovaj vodič je vaše rješenje na jednom mjestu.
U osnovi, u ovom uputstvu ćemo upravljati motorom bez četkica pomoću Arduina. Ovdje se ADD122 / 13T BLDC motor senzora bez senzora koristi s elektroničkim regulatorom brzine 20A (ESC). Ovaj se motor obično koristi za izradu dronova.
Potrebni materijali
- A2212 / 13T BLDC motor
- ESC (20A)
- Izvor napajanja (12V 20A)
- Arduino
- Potenciometar
Razumijevanje BLDC motora
BLDC Motor je skraćenica od istosmjernog motora s manje četkice, koji se često koristi u stropnim ventilatorima i električnim vozilima zbog svog nesmetanog rada. Primjena BLDC motora u električnim vozilima prethodno je detaljno objašnjena. Za razliku od ostalih motora, BLDC motori imaju tri žice koje izlaze iz njih i svaka žica tvori vlastitu fazu čime smo dobili trofazni motor. Čekaj, što!!??
Da, iako se BLDC motori smatraju istosmjernim motorima, oni rade uz pomoć impulsnih valova. Kontroler Elektronski brzina (ESC) pretvara istosmjerni napon iz akumulatora u impulsima i daje ga na 3 žice na motoru. U bilo kojem trenutku napajat će se samo dvije faze motora, tako da struja ulazi kroz jednu, a odlazi kroz drugu fazu. Tijekom ovog postupka zavojnica unutar motora je pod naponom i stoga se magneti na rotoru poravnavaju sa zavojnicom pod naponom. Zatim se ESC napaja sljedećim dvjema žicama, a ovaj se postupak nastavlja da bi se motor okretao. Brzina motora ovisi o brzini navoja zavojnice, a smjer motora ovisi o redoslijedu navoja zavojnica. O ESC-u ćemo saznati kasnije u ovom članku.
Dostupne su mnoge vrste BLDC motora, pogledajmo najčešće klasifikacije.
BLDC motor u trkaču i van trkača: BLDC motori u trkaču rade kao i svaki drugi motor. To je osovina unutar motora koja se okreće dok kućište ostaje fiksno. Doksu vanjski trkački BLDC motori upravo suprotno, vanjsko kućište motora rotira se zajedno s osovinom dok zavojnica iznutra ostaje fiksna. Motori s vanjskim trkačima vrlo su prednosti kod električnih bicikala, jer je samo vanjsko kućište (ono koje se okreće) napravljeno u obruč za gume i time je izbjegnut mehanizam za spajanje. Također, istršeni motori imaju tendenciju da daju veći obrtni moment nego kod tipova trkača, stoga postaju idealan izbor za EV i dronove. Ona koju ovdje koristimo također je tip trkača.
Napomena: Postoji još jedna vrsta motora koja se naziva BLDC motori bez jezgre i koji se također koriste za džepne dronove, oni imaju drugačiji princip rada, ali za sada ga preskočimo zbog ovog vodiča.
Senzor i BLDC motor bez senzora: Da bi se BLDC motor mogao okretati bez ikakvog trzaja, potrebne su povratne informacije. To jest, ESC mora znati položaj i pol magneta u rotoru kako bi napajao stator u skladu s tim. Ti se podaci mogu dobiti na dva načina; jedan je postavljanjem Hall senzora unutar motora. Halov senzor detektirat će magnet i podatke poslati ESC-u. Ova vrsta motora naziva se Sensord BLDC motor i koristi se u električnim vozilima. Druga metoda je upotreba stražnjeg EMF-a koji generiraju zavojnice kada ih magneti prelaze, što nije zahtijevalo dodatni hardver ili žice sama fazna žica koristi se kao povratna informacija za provjeru povratnog EMF-a. Ova se metoda koristi u našem motoru i uobičajena je za dronove i druge leteće projekte.
Zašto dronovi i drugi multi-kopteri koriste BLDC motore?
Postoje mnoge vrste cool bespilotnih letjelica, od Quad helikoptera do helikoptera i jedrilica, sve ima jedan zajednički hardver. To su BLDC motori, ali zašto? Zašto koriste BLDC motor koji je malo skuplji u usporedbi s istosmjernim motorima?

Postoji dosta valjanih razloga za to, jedan od glavnih razloga je okretni moment koji pružaju ovi motori vrlo je velik, što je vrlo važno za brzo pojačanje / popuštanje potiska za poletanje ili slijetanje drona. Ovi motori su također dostupni kao vanjski klizači što opet povećava potisak motora. Još jedan razlog odabira BLDC motora je njegov glatki rad bez vibracija, što je vrlo idealno za našu bespilotnu letjelicu stabilnu u zraku.
Odnos snage i težine BLDC motora vrlo je visok. To je vrlo važno jer bi motori koji se koriste na bespilotnim letjelicama trebali biti velike snage (velike brzine i veliki okretni moment), ali trebali bi biti i manje težine. Istosmjerni motor koji može pružiti jednak okretni moment i brzinu kao BLDC motor bit će dvostruko teži od BLDC motora.
Zašto nam treba ESC i koja je njegova funkcija?
Kao što znamo, svaki BLDC motor zahtijeva neku vrstu kontrolera za pretvaranje istosmjernog napona iz baterije u impulse za napajanje faznih žica motora. Ovaj se regulator naziva ESC što je skraćenica od Elektronički regulator brzine. Glavna odgovornost kontrolera je napajanje faznih žica BLDC motora redom tako da se motor okreće. To se postiže osjetljivanjem stražnjeg EMR-a sa svake žice i napajanjem zavojnice točno kad magnet prijeđe zavojnicu. Dakle, unutar ESC-a ima puno hardverskog sjaja što je izvan opsega ovog vodiča. Ali da spomenemo nekoliko , ima regulator brzine i krug eliminatora baterije.

Kontrola brzine na temelju PWM-a: ESC može kontrolirati brzinu BLDC motora očitavanjem PWM-signala na narančastoj žici. Radi vrlo slično servo motorima, isporučeni PWM signal trebao bi imati razdoblje od 20 ms, a radni ciklus može varirati kako bi varirao brzinu BLDC motora. Budući da se ista logika odnosi i na servo motore za kontrolu položaja, možemo koristiti istu biblioteku servo u našem programu Arduino. Ovdje naučite koristiti Servo s Arduinom.
Krug eliminatora baterije (BEC): Gotovo svi ESC-ovi dolaze s krugom eliminatora baterije. Kao što ime sugerira, ovaj sklop eliminira potrebu za odvojenom baterijom za mikrokontroler, u ovom slučaju ne trebamo zasebno napajanje za napajanje našeg Arduina; sam ESC će pružiti regulirani + 5V koji se može koristiti za napajanje našeg Arduina. Postoje mnoge vrste krugova koji normalno reguliraju ovaj napon, to će biti linearna regulacija na jeftinim ESC-ima, ali možete ih pronaći i s preklopnim krugovima.
Firmware: Svaki ESC ima program za firmware koji su upisali proizvođači. Ovaj firmware uvelike određuje kako vaš ESC reagira; neki od popularnih firmware-a su Tradicionalni, Simon-K i BL-Heli. Ovaj se firmver također može programirati pomoću korisnika, ali u ovom se tutorialu nećemo upuštati u puno toga.
Neki uobičajeni izrazi s BLDC-om i ESC-om:
Ako ste tek počeli raditi s BLDC motorima, možda ste vjerojatno naišli na pojmove poput kočenja, laganog starta, smjera motora, niskog napona, vremena odziva i unaprijed. Pogledajmo što ovi pojmovi znače.
Kočenje: kočenje je sposobnost vašeg BLDC motora da se zaustavi okretati čim se makne gas. Ova sposobnost je vrlo važna za multi-koptere jer moraju češće mijenjati svoj okretaj da bi manevrirali u zraku.
Meki start: Meki start je važna značajka koju treba uzeti u obzir kada je vaš BLDC motor povezan sa zupčanikom. Kad je motoru omogućen meki start, neće se odjednom početi okretati vrlo brzo, uvijek će postupno povećavati brzinu bez obzira na brzinu davanja gasa. To će nam pomoći u smanjenju trošenja zupčanika pričvršćenih na motore (ako ih ima).
Smjer motora: Smjer motora kod BLDC motora obično se ne mijenja tijekom rada. Ali prilikom sastavljanja, korisnik će možda morati promijeniti smjer u kojem se motor okreće. Najlakši način za promjenu smjera motora je jednostavnim međusobnim mijenjanjem bilo koje dvije žice motora.
Niskonaponsko zaustavljanje: Jednom kalibrirani uvijek će nam trebati da naši BLDC motori rade istom brzinom za određenu vrijednost prigušnice. Ali to je teško postići jer motori imaju tendenciju smanjivanja brzine za istu vrijednost leptira dok se napon akumulatora smanjuje. Da bismo to izbjegli, obično programiramo ESC da prestane raditi kada napon akumulatora dosegne ispod praga vrijednosti, ova se funkcija naziva Low Voltage Stop i korisna je u bespilotnim letjelicama.
Vrijeme odziva: Sposobnost motora da brzo promijeni brzinu na temelju promjene prigušnice naziva se vremenom odziva. Što je manje vrijeme odziva, to će kontrola biti bolja.
Unaprijed: Napredak je problem ili više poput greške kod BLDC motora. Svi BLDC motori imaju malo napretka. Tada se namotaju zavojnice statora, privuče se rotor prema njemu zbog postojanog magneta na njima. Nakon privlačenja, rotor se nastoji pomaknuti malo više prema naprijed u istom smjeru prije nego što se zavojnica deaktivira, a zatim sljedeća. Taj se pokret naziva "Napredak" i stvorit će probleme poput podrhtavanja, zagrijavanja, stvaranja buke itd. Dakle, ovo je nešto što bi dobar ESC trebao izbjegavati sam.
U redu, dovoljno teorije sada započnimo s hardverom spajanjem motora s Arduinom.
Dijagram upravljačkog kruga motora Arduino BLDC
Ispod je shema spojeva za upravljanje motorom bez četkica s Arduinom:

Veza za povezivanje BLDC motora s Arduinom prilično je ravna naprijed. ESC treba izvor napajanja od oko 12V i 5A. U ovom uputstvu koristio sam svoj RPS kao izvor napajanja, ali možete koristiti i Li-Po bateriju za napajanje ESC-a. Trofazne žice ESC-a trebale bi biti povezane s trofaznim žicama motora, ne postoji redoslijed spajanja tih žica, možete ih spojiti bilo kojim redoslijedom.
Upozorenje: Neki ESC neće imati konektore na sebi, u tom slučaju provjerite je li vaša veza čvrsta i zaštitite izložene žice pomoću izolacijske trake. Budući da će kroz faze prolaziti velika struja, svaki kratki spoj doveo bi do trajnih oštećenja ESC-a i motora.
BEC (baterija Eliminator krug) u samom ESC će regulirati + 5V koji se može koristiti za napajanje Arduino odbora. Konačno, za podešavanje brzine BLDC motora koristimo i potenciometar spojen na A0 pin Arduina

Program za BLDC kontrolu brzine pomoću Arduina
Moramo stvoriti PWM signal s različitim radnim ciklusom od 0% do 100% s frekvencijom od 50Hz. Radni ciklus treba kontrolirati pomoću potenciometra kako bismo mogli kontrolirati brzinu motora. Kôd za to sličan je upravljanju servo motorima jer im je potreban i PWM signal s frekvencijom od 50 Hz; stoga koristimo istu servo knjižnicu iz Arduina. Kompletan kod može se pronaći na dnu ove stranice u nastavku ću objasniti kod u malim isječcima. A ako ste novi u Arduinu ili PWM-u, prvo prođite kroz korištenje PWM-a s Arduinom i upravljanje servo-sustavom pomoću Arduina.
PWM signal može se generirati samo na pinovima koji hardverski podržavaju PWM, ti se pinovi obično spominju simbolom ~. Na Arduino UNO, pin 9 može generirati PWM signal, tako da spojimo ESC signalni pin (narančasta žica) na pin 9, a također spominjemo isti kod gostionice pomoću sljedećeg retka
ESC.attach (9);
Moramo generirati PWM signal s različitim radnim ciklusom od 0% do 100%. Za 0% radnog ciklusa POT će dati 0V (0), a za 100% radnog ciklusa POT će dati 5V (1023). Ovdje je lonac spojen na pin A0, tako da analogni napon moramo očitati s POT- a pomoću funkcije analognog čitanja kao što je prikazano dolje
int prigušnica = analogRead (A0);
Tada moramo pretvoriti vrijednost od 0 do 1023 do 0 do 180, jer će vrijednost 0 generirati 0% PWM, a vrijednost 180 generirati 100% radnog ciklusa. Bilo koje vrijednosti iznad 180 neće imati smisla. Dakle, vrijednost mapiramo na 0-180 pomoću funkcije karte kako je prikazano dolje.
prigušnica = karta (prigušnica, 0, 1023, 0, 180);
Konačno, ovu vrijednost moramo poslati servo funkciji kako bi mogla generirati PWM signal na tom pinu. Budući da smo servo objekt označili kao ESC, kod će izgledati ovako dolje, gdje varijabilna zaklopka sadrži vrijednost od 0-180 za kontrolu radnog ciklusa PWM signala
ESC.write (leptir za gas);
Arduino BLDC upravljanje motorom
Uspostavite veze prema shemi spojeva i prenesite kôd na Arduino i uključite ESC. Obavezno montirajte BLDC motor na nešto jer će motor okretati oko sebe prilikom okretanja. Jednom kada se podešavanje uključi, vaš ESC će dati zvuk dobrodošlice i nastavljati oglašavati sve dok signal za regulaciju gasa ne bude unutar graničnih vrijednosti, jednostavno postupno povećavajte POT s 0 V i zvučni signal će prestati, što znači da sada pružamo PWM signal iznad vrijednosti donjeg praga i kako se dalje povećavate, vaš će se motor početi polako okretati. Što više napona pružite, to će motor povećati brzinu, napokon kad napon dosegne gornju granicu praga, motor će se zaustaviti. Zatim možete ponoviti postupak.

Kompletni rad ovog Arduino BLDC kontrolera također se može pronaći na donjoj video poveznici. Ako ste se suočili s bilo kojim problemom kako biste to postigli, slobodno upotrijebite odjeljak za komentare ili forume za više tehničke pomoći.
