- Reikalingos medžiagos
- Suprasti BLDC variklius
- Kodėl „Drones“ ir kiti daugiafunkciniai kopteriai naudoja „BLDC Motor“?
- Kodėl mums reikia ESR ir kokia yra jo funkcija?
- Keletas bendrų terminų su BLDC ir ESC:
- „Arduino BLDC“ variklio valdymo grandinės schema
- BLDC greičio valdymo programa naudojant „Arduino“
- „Arduino BLDC“ variklio valdymas
Kurti daiktus ir priversti juos dirbti taip, kaip norime, visada buvo be galo smagu. Nors dėl to susitarta, statybinės medžiagos, kurios galėtų skristi, iššaukiančiai sukeltų šiek tiek daugiau nerimo tarp mėgėjų ir aparatūros tinkerių. Taip! Aš kalbu apie sklandytuvus, sraigtasparnius, lėktuvus ir daugiausia daugiasparnius. Šiandien tapo labai lengva sukurti vieną savarankiškai dėl internete teikiamos bendruomenės paramos. Vienas bendras dalykas, susijęs su visais skraidančiais dalykais, yra tai, kad jie naudoja BLDC variklį, tai kas yra šis BLDC variklis? Kodėl mums to reikia norint skraidinti daiktus? Kuo jis ypatingas? Kaip nusipirkti tinkamą variklį ir susieti jį su valdikliu? Kas yra ESC ir kodėl mes ją naudojame? Jei turite panašių klausimų, ši pamoka yra jūsų vieno langelio sprendimas.
Taigi iš esmės šioje pamokoje mes valdysime variklį be šepetėlių su „Arduino“. Čia A2212 / 13T be jutiklio BLDC pakėlimo variklis naudojamas su 20A elektroniniu greičio reguliatoriumi (ESC). Šis variklis dažniausiai naudojamas dronams kurti.
Reikalingos medžiagos
- A2212 / 13T BLDC variklis
- ESC (20A)
- Maitinimo šaltinis (12V 20A)
- Arduino
- Potenciometras
Suprasti BLDC variklius
BLDC variklis reiškia „ Brush Less DC“ variklį, dėl sklandaus veikimo jis paprastai naudojamas lubų ventiliatoriuose ir elektrinėse transporto priemonėse. BLDC variklių naudojimas elektrinėse transporto priemonėse anksčiau buvo išsamiai paaiškintas. Skirtingai nuo kitų variklių, BLDC varikliuose iš jų išeina trys laidai ir kiekvienas laidas sudaro savo fazę, taigi mums suteikiamas trifazis variklis. Palauk, ką!!??
Taip, nors BLDC varikliai yra laikomi nuolatinės srovės varikliais, jie dirba su impulsinėmis bangomis. Elektroninis greičio reguliatorius (ESRK) konvertuoja DC įtampą nuo akumuliatoriaus į impulsų ir teikia jį 3 laidų variklio. Bet kuriuo metu bus maitinama tik dvi variklio fazės, kad srovė patektų per vieną fazę ir išeitų per kitą. Šio proceso metu ritė variklio viduje yra įjungta, todėl rotoriaus magnetai susilygina su įjungta ritė. Tada du kitus laidus įjungia ESC, šis procesas tęsiamas, kad variklis suktųsi. Variklio greitis priklauso nuo ritės įtampos, o variklio kryptis - nuo to, kokia tvarka ritės įjungiamos. Daugiau apie ESC sužinosime vėliau šiame straipsnyje.
Yra daugybė BLDC variklių tipų, pažvelkime į dažniausiai pasitaikančias klasifikacijas.
BLDC variklis, esantis bėgime, ir „Out-Runner“: „BLDC“ variklis veikia kaip ir bet kuris kitas variklis. Tai yra variklio viduje esantis velenas, o korpusas lieka fiksuotas. Nors išbėgę BLDC varikliai yra atvirkščiai, išorinis variklio korpusas sukasi kartu su velenu, o ritė viduje lieka fiksuota. Elektrinių dviračių varikliai yra labai naudingi, nes iš išorinio (besisukančio) korpuso padangoms gaminamas ratlankis, todėl išvengiama sukabinimo mechanizmo. Be to, užbėgantys varikliai linkę suteikti didesnį sukimo momentą nei bėgikų tipuose, todėl tai tampa idealiu pasirinkimu EV ir „Drones“. Tas, kurį mes čia naudojame, taip pat yra ne bėgikų tipas.
Pastaba: Yra ir kito tipo varikliai, vadinami bekūniais BLDC varikliais, kurie taip pat naudojami kišeniniams dronams, jų veikimo principas yra kitoks, tačiau kol kas praleiskite jį dėl šios instrukcijos.
Jutiklis ir be jutiklio BLDC variklis: norint, kad BLDC variklis suktųsi be jokio trūkčiojimo, reikalingas grįžtamasis ryšys. Tai reiškia, kad ESC turi žinoti rotoriaus magnetų padėtį ir polių, kad būtų galima įjungti statorių. Šią informaciją galima gauti dviem būdais; vienas yra patalpinant salės jutiklį variklio viduje. Salės jutiklis aptiks magnetą ir išsiųs informaciją ESC. Šis variklis vadinamas „Sensord BLDC“ varikliu ir naudojamas elektrinėse transporto priemonėse. Antrasis metodas yra naudojant ritės generuojamą galinį EMF, kai magnetai juos kerta, tam nereikia papildomos aparatūros ar laidų, o pats fazinis laidas naudojamas kaip grįžtamasis ryšys, norint patikrinti galinį EMF. Šis metodas naudojamas mūsų variklyje ir yra įprastas bepiločiams orlaiviams ir kitiems skraidantiems projektams.
Kodėl „Drones“ ir kiti daugiafunkciniai kopteriai naudoja „BLDC Motor“?
Yra daugybė puikių bepiločių orlaivių tipų - nuo keturračio kopterio iki sraigtasparnių ir sklandytuvų - viskas turi vieną bendrą aparatūrą. Tai yra BLDC varikliai, bet kodėl? Kodėl jie naudoja BLDC variklį, kuris yra šiek tiek brangesnis, palyginti su DC varikliais?
Tam yra nemažai pagrįstų priežasčių, viena iš pagrindinių priežasčių yra tai , kad šių variklių sukamas momentas yra labai didelis, o tai yra labai svarbu norint greitai įgyti / atpalaiduoti trauką, norint pakilti ar nusileisti bepiločiui orlaiviui. Šie varikliai taip pat yra prieinami kaip papildomi bėgikai, o tai vėl padidina variklių trauką. Kita pasirinkto BLDC variklio priežastis yra sklandus vibracijos veikimas, tai labai tinka mūsų dronui, stabiliam ore.
Galios ir svorio santykis yra BLDC variklis yra labai aukštos. Tai labai svarbu, nes bepiločiuose orlaiviuose naudojami varikliai turėtų būti didelės galios (dideliu greičiu ir dideliu sukimo momentu), tačiau taip pat turėtų būti mažesnio svorio. Nuolatinės srovės variklis, galintis užtikrinti tą patį BLDC variklio sukimo momentą ir greitį, bus dvigubai sunkesnis už BLDC variklį.
Kodėl mums reikia ESR ir kokia yra jo funkcija?
Kaip žinome, kiekvienam BLDC varikliui reikalingas tam tikras valdiklis, kad akumuliatoriaus nuolatinė įtampa būtų paversta impulsais, kad maitintų variklio fazinius laidus. Šis valdiklis vadinamas ESC, kuris reiškia elektroninį greičio valdiklį. Pagrindinė valdiklio atsakomybė yra įjungti BLDC variklių fazinius laidus tokia tvarka, kad variklis suktųsi. Tai daroma nujaučiant galinę EML nuo kiekvieno laido ir įjungiant ritę tiksliai, kai magnetas kerta ritę. Taigi ESC viduje yra daug aparatinės įrangos blizgesio, kuris nepatenka į šios mokymo programos taikymo sritį. Tačiau norint paminėti keletą, jis turi greičio reguliatorių ir akumuliatoriaus pašalinimo grandinę.
PWM pagrįstas greičio valdymas: ESC gali valdyti BLDC variklio greitį, perskaitęs PWM signalą, pateiktą ant oranžinės spalvos laido. Jis veikia labai panašiai kaip servovarikliai, pateikto PWM signalo periodas turėtų būti 20ms, o darbo ciklą galima keisti, kad būtų galima keisti BLDC variklio greitį. Ta pati logika galioja ir servovarikliams valdyti padėtį, todėl tą pačią servo biblioteką galime naudoti ir savo „Arduino“ programoje. Sužinokite apie „Servo“ su „Arduino“ naudojimą čia.
Baterijų šalinimo grandinė (BEC): Beveik visose ESC yra akumuliatoriaus pašalinimo grandinė. Kaip rodo pavadinimas, ši grandinė pašalina atskiros mikrovaldiklio baterijos poreikį, šiuo atveju mums nereikia atskiro maitinimo šaltinio, kad galėtume maitinti „Arduino“; pati ESC pateiks reguliuojamą + 5 V įtampą, kuri gali būti naudojama mūsų „Arduino“. Yra daugybė grandinių, reguliuojančių šią įtampą, paprastai tai bus linijinis reguliavimas pigiuose ESC, bet taip pat galite rasti ir su perjungimo grandinėmis.
Firmware: Kiekvienoje ESC yra programinės įrangos programa, kurią turi užrašyti gamintojai. Ši programinė įranga labai lemia, kaip reaguoja jūsų ESC; kai kuri populiari programinė aparatinė įranga yra „Traditional“, „Simon-K“ ir „BL-Heli“. Ši programinė aparatinė įranga taip pat yra programuojama vartotojui, tačiau šioje instrukcijoje į tai daug nesigilinsime.
Keletas bendrų terminų su BLDC ir ESC:
Jei ką tik pradėjote dirbti su BLDC varikliais, tikriausiai susidūrėte su tokiomis sąvokomis kaip stabdymas, minkštas paleidimas, variklio kryptis, žema įtampa, atsako laikas ir išankstinis. Pažvelkime į tai, ką reiškia šie terminai.
Stabdymas: stabdymas yra jūsų BLDC variklio galimybė nustoti suktis, kai tik pašalinamas droselis. Šis sugebėjimas yra labai svarbus daugiakopteriams, nes norint manevruoti ore, jiems tenka dažniau keisti apsukų skaičių.
„Soft Start“: „ Soft start“ yra svarbi savybė, į kurią reikia atsižvelgti, kai jūsų BLDC variklis susiejamas su pavara. Kai varikliui įjungtas minkštas paleidimas, jis staiga nepradės suktis labai greitai, jis visada palaipsniui didins greitį, kad ir kaip greitai būtų įjungtas droselis. Tai padės mums sumažinti su varikliais (jei yra) pritvirtintų pavarų dėvėjimąsi.
Variklio kryptis: BLDC varikliuose variklio kryptis darbo metu paprastai nekeičiama. Bet surenkant vartotojui gali tekti pakeisti variklio sukimosi kryptį. Lengviausias būdas pakeisti variklio kryptį paprasčiausiai keičiant bet kokius du variklio laidus.
Žemos įtampos sustabdymas: kalibruojant, mums visada reikės, kad mūsų BLDC varikliai veiktų tuo pačiu greičiu tam tikrai droselio vertei. Bet tai sunku pasiekti, nes varikliai linkę mažinti savo greitį ta pačia droselio verte, kai mažėja akumuliatoriaus įtampa. Norėdami to išvengti, mes paprastai programuojame ESC nebeveikti, kai akumuliatoriaus įtampa pasiekia žemesnę nei ribinė vertė, ši funkcija vadinama „Low Voltage Stop“ ir yra naudinga bepiločiuose orlaiviuose.
Atsakymo laikas: variklio galimybė greitai pakeisti greitį, atsižvelgiant į droselio pasikeitimą, vadinama atsako laiku. Kuo trumpesnis reagavimo laikas, tuo geresnė bus kontrolė.
„Advance“: „ Advance“ yra problema arba labiau panaši į klaidą su BLDC varikliais. Visi BLDC varikliai turi šiek tiek pažangos. Būtent tada, kai statoriaus ritės yra įjungtos, rotorius yra pritraukiamas jo link dėl jose esančio nuolatinio magneto. Po to, kai pritraukia, rotorius linkęs judėti šiek tiek į priekį ta pačia kryptimi, kol ritė išsijungia, o tada kita ritė įsijungia. Šis judėjimas vadinamas „išankstiniu“ ir sukels tokių problemų kaip nervinimasis, kaitinimas, triukšmas ir pan. Taigi to turėtų vengti gera ESC.
Gerai, pakankamai teorijos dabar leiskite mums pradėti naudotis aparatine įranga, prijungdami variklį prie „Arduino“.
„Arduino BLDC“ variklio valdymo grandinės schema
Žemiau pateikiama valdymo be šepetėlių variklio su „Arduino“ schema :
Ryšys BLDC varikliui susieti su „Arduino“ yra gana tiesus. ESC reikia mažiausiai 12 V ir 5 A maitinimo šaltinio. Šioje pamokoje aš naudoju savo RPS kaip energijos šaltinį, bet jūs taip pat galite naudoti „Li-Po“ bateriją, kad galėtumėte maitinti ESC. Trys faziniai ESC laidai turėtų būti prijungti prie trijų variklių fazių laidų, nėra jokio nurodymo prijungti šiuos laidus, kuriuos galite prijungti bet kokia tvarka.
Įspėjimas: Kai kuriose ESC nebus jungčių, tokiu atveju įsitikinkite, kad jūsų jungtys yra tvirtos, ir apsaugokite atvirus laidus izoliacine juostele. Kadangi per fazes praeis didelė srovė, bet koks trumpas sukels visišką ESC ir variklio pažeidimą.
BEC (Battery Eliminator grandinės) pačiame ESC bus reguliuoti + 5V, kuri gali būti naudojama galia iki Arduino valdyba. Galiausiai norėdami nustatyti BLDC variklio greitį, mes taip pat naudojame potenciometrą, prijungtą prie „Arduino“ A0 kaiščio
BLDC greičio valdymo programa naudojant „Arduino“
Turime sukurti PWM signalą, kurio darbo ciklas kinta nuo 0% iki 100%, o dažnis 50Hz. Darbinis ciklas turėtų būti valdomas naudojant potenciometrą, kad galėtume valdyti variklio greitį. Kodas tai padaryti yra panašus į servovariklių valdymą, nes jiems taip pat reikalingas PWM signalas 50Hz dažniu; taigi mes naudojame tą pačią servo biblioteką iš „Arduino“. Visą kodą galima rasti šio puslapio apačioje dar žemiau aš paaiškinti mažų fragmentų kodą. Ir jei jūs esate naujas „Arduino“ ar „PWM“ vartotojas, pirmiausia naudokitės „PWM“ su „Arduino“ ir valdykite servo valdymą naudodami „Arduino“.
PWM signalas gali būti generuojamas tik ant kaiščių, palaikančių PWM aparatine įranga, šie kaiščiai paprastai minimi su ~ simboliu. „Arduino UNO“ kaištis 9 gali generuoti PWM signalą, todėl mes prijungiame ESC signalo kaištį (oranžinę laidą) prie kaiščio 9, taip pat paminėjame tą patį užeigos kodą naudodami šią eilutę
ESC. Pritvirtinti (9);
Mes turime generuoti PWM signalą, kurio darbo ciklas skiriasi nuo 0% iki 100%. 0% darbo ciklo metu POT išves 0 V (0), o 100% darbo metu POT - 5 V (1023). Čia puodas yra prijungtas prie kaiščio A0, todėl mes turime nuskaityti analoginę įtampą iš POT, naudodami analoginio skaitymo funkciją, kaip parodyta žemiau
int droselis = analogRead (A0);
Tada mes turime konvertuoti vertę nuo 0 iki 1023 į 0 į 180, nes vertė 0 sukurs 0% PWM, o vertė 180 sukurs 100% darbo ciklą. Bet kokios vertės, viršijančios 180, nebus prasmės. Taigi, naudodami žemėlapio funkciją, kaip parodyta žemiau, mes susiejame vertę su 0-180.
droselis = žemėlapis (droselis, 0, 1023, 0, 180);
Galiausiai turime išsiųsti šią vertę į servo funkciją, kad ji galėtų generuoti PWM signalą tame smeigtuke. Kadangi mes nurodėme servo objektą kaip ESC, kodas atrodys taip žemiau, kur kintama droselio vertė yra nuo 0 iki 180, kad būtų galima valdyti PWM signalo darbo ciklą
ESC.write (droselis);
„Arduino BLDC“ variklio valdymas
Prijunkite jungtis pagal grandinės schemą ir įkelkite kodą į „Arduino“ ir įjunkite ESC. Įsitikinkite, kad ant kažko sumontavote BLDC variklį, nes sukdamasis variklis šokinės aplinkui. Įjungus sąranką, jūsų ESC pateiks pasisveikinimo toną ir pypsės tol, kol droselio signalas bus ribos ribose, paprasčiausiai padidinkite POT nuo 0 V ir pyptelėjimo signalas sustos, tai reiškia, kad mes dabar teikiame PWM signalas viršija apatinę slenkstinę vertę ir toliau didinant jūsų variklis pradės lėtai suktis. Kuo daugiau įtampos pateiksite, tuo didesnį greitį variklis paims, galiausiai, kai įtampa viršys viršutinę ribinę vertę, variklis sustos. Tada galite pakartoti procesą.
Visą šio „ Arduino BLDC“ valdiklio veikimą taip pat galite rasti žemiau esančioje vaizdo nuorodoje. Jei susidūrėte su bet kokia problema, kaip tai padaryti, drąsiai naudokitės komentarų skiltimi arba naudokite forumus, kad gautumėte daugiau techninės pagalbos.