- Tarvittavat materiaalit
- BLDC-moottoreiden ymmärtäminen
- Miksi Drones ja muut monikopterit käyttävät BLDC-moottoreita?
- Miksi tarvitsemme ESC: tä ja mikä on sen tehtävä?
- Joitakin yleisiä termejä BLDC: n ja ESC: n kanssa:
- Arduino BLDC -moottorin ohjauspiirikaavio
- Ohjelma BLDC-nopeuden säätöön Arduinolla
- Arduino BLDC -moottorin ohjaus
Tavaroiden rakentaminen ja työn saaminen haluamallamme tavalla on aina ollut hauskaa. Vaikka siitä on sovittu, lentokykyisten tavaroiden rakentaminen pumppaa uhmakkaasti hieman enemmän ahdistusta harrastajien ja rautatavaroiden keskuudessa. Joo! Puhun purjelentokoneista, helikoptereista, lentokoneista ja lähinnä monikoptereista. Tänään on tullut erittäin helppoa rakentaa sellainen itse, koska verkossa on saatavilla yhteisön tukea. Yksi yleinen asia kaikkien lentävien asioiden kanssa on se, että he käyttävät BLDC-moottoria, joten mikä tämä BLDC-moottori on? Miksi tarvitsemme sitä lentämään asioita? Mikä siinä on niin erikoista? Kuinka ostaa oikea moottori ja liittää se ohjaimeen? Mikä on ESC ja miksi sitä käytetään? Jos sinulla on tällaisia kysymyksiä, tämä opetusohjelma on yksi luukku.
Joten periaatteessa tässä opetusohjelmassa hallitsemme Harjaton moottori Arduinolla. Tässä käytetään A2212 / 13T-anturivapaata BLDC-ohitusmoottoria yhdessä 20A: n elektronisen nopeudensäätimen (ESC) kanssa. Tätä moottoria käytetään yleisesti droonien rakentamiseen.
Tarvittavat materiaalit
- A2212 / 13T BLDC-moottori
- ESC (20A)
- Virtalähde (12V 20A)
- Arduino
- Potentiometri
BLDC-moottoreiden ymmärtäminen
BLDC-moottori tarkoittaa Brush Less DC -moottoria, sitä käytetään yleisesti kattotuulettimissa ja sähköajoneuvoissa sen sujuvan toiminnan takia. BLDC-moottoreiden käyttö sähköajoneuvoissa on aiemmin selitetty yksityiskohtaisesti. Toisin kuin muissa moottoreissa, BLDC-moottoreissa on kolmea johtoa, joista jokainen johto muodostaa oman vaiheensa, mikä antoi meille kolmivaihemoottorin. Siis mitä!!??
Kyllä, vaikka BLDC-moottoreita pidetään tasavirtamoottoreina, ne toimivat pulssiaaltojen avulla. Elektroninen nopeuden säädin (ESC) muuntaa tasajännitteen akku pulsseja ja antaa sen 3 johdot Moottorin. Kulloinkin vain kaksi moottorin vaihetta saa virran, joten virta kulkee yhden vaiheen läpi ja lähtee toisen läpi. Tämän prosessin aikana moottorin sisällä oleva kela saa virtaa ja siten roottorin magneetit kohdistuvat jännitteiseen kelaan. Sitten ESC virtaa kaksi seuraavaa johtoa, tätä prosessia jatketaan moottorin pyörimiseksi. Moottorin nopeus riippuu siitä, kuinka nopeasti kela on jännitteinen ja moottorin suunta riippuu siitä, missä järjestyksessä kelat ovat jännitteisiä. Opimme lisää ESC: stä myöhemmin tässä artikkelissa.
BLDC-moottoreita on monenlaisia, katsotaanpa yleisimmät luokitukset.
Sisään juoksija ja Out-Runner BLDC -moottori: Juoksijaan BLDC-moottorit toimivat kuten kaikki muutkin moottorit. Eli akseli moottorin sisällä pyörii, kun taas kotelo pysyy kiinteänä. Kun taas ulos juoksija BLDC moottorit ovat juuri päinvastoin, Outer kotelo moottori pyörii akselin mukana, kun taas kelan sisällä pysyy kiinteä. Ohjausmoottorit ovat erittäin etuja sähköpyörissä, koska itse ulkokotelosta (joka pyörii) itse tehdään renkaiksi vanteita, joten kytkentämekanismia vältetään. Myös ulkopuoliset moottorit antavat yleensä enemmän vääntöä kuin juoksijatyypeissä, joten siitä tulee ihanteellinen valinta EV- ja Drones-malleissa. Se, jota käytämme täällä, on myös out-juoksijatyyppi.
Huomaa: On olemassa toinen tyyppinen moottori, jota kutsutaan sydämettömiksi BLDC-moottoreiksi, joita käytetään myös taskutrooneihin, niillä on erilainen toimintaperiaate, mutta toistaiseksi ohitetaan se tämän opetusohjelman vuoksi.
Anturi ja sensoriton BLDC-moottori: Jotta BLDC-moottori pyörii ilman nykimistä, tarvitaan palautetta. ESC: n on siis tiedettävä magneettien sijainti ja napa roottorissa staattorin virran saamiseksi. Nämä tiedot voidaan hankkia kahdella tavalla; yksi on sijoittamalla hall-anturi moottorin sisään. Hall-anturi tunnistaa magneetin ja lähettää tiedot ESC: lle. Tämän tyyppistä moottoria kutsutaan Sensord BLDC -moottoriksi ja sitä käytetään sähköajoneuvoissa. Toinen menetelmä on käyttää kelojen muodostamaa taka-EMF: ää magneettien ylittäessä ne. Tämä ei vaadi lisälaitteita tai -johtoja, joita vaihelangkaa käytetään palautteena takaisin-EMF: n tarkistamiseksi. Tätä menetelmää käytetään moottorissamme ja se on yleinen droneille ja muille lentäville projekteille.
Miksi Drones ja muut monikopterit käyttävät BLDC-moottoreita?
Siellä on monenlaisia hienoja droneja, Quad-kopterista helikoptereihin ja purjelentokoneisiin, kaikilla on yksi yhteinen laitteisto. Se on BLDC-moottoreita, mutta miksi? Miksi he käyttävät BLDC-moottoria, joka on vähän kallis verrattuna DC-moottoreihin?
Tähän on olemassa melko useita päteviä syitä, yksi tärkeimmistä syistä on näiden moottoreiden antama vääntömomentti, joka on erittäin tärkeää saada nopeasti / löysästi työntövoima lentokoneen nousuun tai laskeutumiseen. Myös näitä moottoreita on saatavana ulosjuoksuina, mikä taas lisää moottoreiden työntövoimaa. Toinen syy valitulle BLDC-moottorille on sen sileä tärinän vähäisempi toiminta, mikä on erittäin ihanteellinen droneillemme, joka on vakaa ilmassa.
Teho-paino-suhde on BLDC moottori on erittäin korkea. Tämä on erittäin tärkeää, koska droneilla käytettävien moottoreiden tulisi olla suuritehoisia (suuria nopeuksia ja suuria vääntömomentteja), mutta niiden tulisi olla myös vähemmän painavia. DC-moottori, joka voi tuottaa saman vääntömomentin ja nopeuden kuin BLDC-moottori, on kaksi kertaa niin raskas kuin BLDC-moottori.
Miksi tarvitsemme ESC: tä ja mikä on sen tehtävä?
Kuten tiedämme, jokainen BLDC-moottori vaatii jonkinlaisen ohjaimen muuntamaan akun tasajännitteen pulsseiksi moottorin vaihejohtojen virran saamiseksi. Tätä ohjainta kutsutaan ESC: ksi, joka tarkoittaa elektronista nopeudenohjainta. Ohjaimen päävastuu on virrata BLDC-moottoreiden vaihejohdot järjestyksessä siten, että moottori pyörii. Tämä tapahtuu tunnistamalla takana oleva EMF jokaisesta langasta ja energisoimalla kela tarkalleen, kun magneetti ylittää kelan. Joten ESC: ssä on paljon laitteisto-kirkkautta, joka ei kuulu tämän opetusohjelman piiriin. Mutta muutama mainitsemaan siinä on nopeuden säädin ja akun eliminointipiiri.
PWM-pohjainen nopeuden hallinta: ESC voi ohjata BLDC-moottorin nopeutta lukemalla oranssilla johdolla olevan PWM-signaalin. Se toimii hyvin samankaltaisesti kuin servomoottorit, toimitetulla PWM-signaalilla tulisi olla 20 ms: n jakso ja käyttöjaksoa voidaan vaihdella BLDC-moottorin nopeuden vaihtelemiseksi. Koska sama logiikka pätee myös servomoottoreihin sijainnin hallitsemiseksi, voimme käyttää samaa servokirjastoa Arduino-ohjelmassa. Opi käyttämään Servoa Arduinon kanssa täältä.
Akun eliminointipiiri (BEC): Lähes kaikissa ESC: ssä on akun eliminointipiiri. Kuten nimestäkin käy ilmi, tämä piiri eliminoi erillisen akun tarpeen mikro-ohjaimelle, tässä tapauksessa emme tarvitse erillistä virtalähdettä Arduinon virran saamiseksi; ESC itse tarjoaa säännellyn + 5 V: n, jota voidaan käyttää Arduinon virtana. On olemassa monenlaisia piirejä, jotka säätelevät tätä jännitettä normaalisti, se on lineaarinen säätö halvoille ESC: ille, mutta löydät myös kytkentäpiirejä.
Laiteohjelmisto: Jokaisessa ESC: ssä on valmistajien kirjoittama laiteohjelmisto. Tämä laiteohjelmisto määrää suuresti, miten ESC reagoi; Jotkut suosituista laiteohjelmistoista ovat Traditional, Simon-K ja BL-Heli. Tämä laiteohjelmisto on myös käyttäjän ohjelmoitavissa, mutta emme käsittele suurta osaa tässä opetusohjelmassa.
Joitakin yleisiä termejä BLDC: n ja ESC: n kanssa:
Jos olet juuri alkanut työskennellä BLDC-moottoreiden kanssa, olet todennäköisesti törmännyt termeihin, kuten jarrutus, pehmeä käynnistys, moottorin suunta, matala jännite, vasteaika ja eteneminen. Katsotaanpa, mitä nämä termit tarkoittavat.
Jarrutus: Jarrutus on BLDC-moottorisi kyky lakata pyörimästä heti, kun kaasu irrotetaan. Tämä kyky on erittäin tärkeä monikoptereille, koska heidän on vaihdettava kierrosnopeuttaan useammin ilmassa liikkumiseen.
Pehmeä käynnistys: Pehmeä käynnistys on tärkeä ominaisuus, joka on otettava huomioon, kun BLDC-moottori liitetään vaihteeseen. Kun moottorissa on pehmeä käynnistys, se ei pyöri yhtäkkiä kovin nopeasti, se lisää nopeutta vähitellen riippumatta siitä, kuinka nopeasti kaasua annettiin. Tämä auttaa meitä vähentämään moottoreihin (jos sellaisia on) kiinnitettyjen hammaspyörien kulumista.
Moottorin suunta: BLDC-moottoreiden moottorin suuntaa ei yleensä muuteta käytön aikana. Mutta koottaessa käyttäjän on ehkä muutettava moottorin pyörimissuunta. Helpoin tapa muuttaa moottorin suuntaa on yksinkertaisesti vaihtaa moottorin kaikki kaksi johtoa.
Pienjännitepysäytys: Kalibroinnin jälkeen tarvitsemme BLDC-moottoreitamme aina samalla nopeudella tietylle kaasun arvolle. Mutta tätä on vaikea saavuttaa, koska moottorit pyrkivät vähentämään nopeuttaan samalla kaasuläpän arvolla kuin akun jännite pienenee. Tämän välttämiseksi ohjelmoimme ESC: n normaalisti lopettamaan toimintansa, kun akun jännite on saavuttanut kynnysarvon, tätä toimintoa kutsutaan matalajännitteen pysäyttimeksi ja siitä on hyötyä droneissa.
Vasteaika: Moottorin kykyä muuttaa nopeasti nopeuttaan kaasun muutoksen perusteella kutsutaan vasteaikaksi. Mitä lyhyempi vasteaika, sitä parempi ohjaus on.
Advance: Advance on ongelma tai enemmän kuin vika BLDC-moottoreilla. Kaikissa BLDC-moottoreissa on vähän etukäteen. Silloin staattorin kelat ovat jännitteisiä, jolloin roottori vetää sitä kohti niiden päällä olevan kestomagneetin takia. Kiinnittymisen jälkeen roottorilla on taipumus liikkua hieman enemmän eteenpäin samaan suuntaan, ennen kuin kela irtoaa ja sitten seuraava kela virtaa. Tätä liikettä kutsutaan "etukäteen", ja se aiheuttaa ongelmia, kuten tärinää, lämmitystä, melua jne. Joten tätä hyvää ESC: n tulisi välttää yksin.
Okei, riittää teoria, että voimme nyt aloittaa laitteiston liittämällä moottorin Arduinoon.
Arduino BLDC -moottorin ohjauspiirikaavio
Alla on piirikaavio ohjata harjaton moottori Arduinolla:
Yhteys BLDC-moottorin liittämiseen Arduinoon on melko suoraviivainen. ESC tarvitsee vähintään 12 V: n ja 5 A: n virtalähteen. Tässä opetusohjelmassa olen käyttänyt RPS: ääni virtalähteenä, mutta voit käyttää myös Li-Po-akkua ESC: n virtalähteeseen. ESC: n kolmivaiheiset johdot tulisi liittää moottoreiden kolmivaiheisiin johtimiin, näitä johtoja ei voida liittää, voit liittää ne missä tahansa järjestyksessä.
Varoitus: Joissakin ESC: ssä ei ole liittimiä, varmista siinä tapauksessa, että yhteys on tukeva ja suojaa paljaat johdot eristysnauhalla. Koska vaiheiden läpi kulkee suuri virta, mikä tahansa oikosulku johtaisi ESC: n ja moottorin pysyviin vaurioihin.
BEC (akkueliminaattori piiri) TSK itsessään säännellä + 5V, jota voidaan käyttää tehon ylös Arduino hallituksen. Lopuksi BLDC-moottorin nopeuden asettamiseksi käytämme myös potentiometriä, joka on kytketty Arduinon A0-napaan
Ohjelma BLDC-nopeuden säätöön Arduinolla
Meidän on luotava PWM-signaali vaihtelevalla käyttöjaksolla 0% - 100% taajuudella 50 Hz. Käyttöjaksoa tulisi ohjata potentiometrillä, jotta voimme hallita moottorin nopeutta. Tätä varten käytettävä koodi on samanlainen kuin servomoottoreiden ohjaus, koska ne edellyttävät myös PWM-signaalia 50 Hz: n taajuudella; siksi käytämme samaa Arduinon servokirjastoa. Koko koodi löytyy alareunassa tämän sivun alempana Selitän koodin pienissä katkelmia. Ja jos olet uusi Arduinossa tai PWM: ssä, käy ensin läpi PWM: n käyttö Arduinon kanssa ja servon hallinta Arduinolla.
PWM-signaali voidaan tuottaa vain nastoille, jotka tukevat PWM: ää laitteistolla, nämä nastat mainitaan yleensä ~ -merkillä. Arduino UNO: ssa nasta 9 voi tuottaa PWM-signaalin, joten yhdistämme ESC-signaalinastan (oranssi johto) nastaan 9 ja mainitsemme myös saman majatalon koodin seuraavalla rivillä
ESC. Kiinnitys (9);
Meidän on luotava PWM-signaali, jonka käyttöjakso vaihtelee 0%: sta 100%: iin. 0%: n käyttöjaksolle POT tuottaa 0V (0) ja 100%: n käyttöjaksolle POT tuottaa 5V (1023). Tässä potti on kytketty nastaan A0, joten meidän on luettava analoginen jännite POT: sta käyttämällä analogista lukutoimintoa alla esitetyllä tavalla
int kaasu = analoginenLue (A0);
Sitten meidän on muunnettava arvo 0: sta 1023: een 0: een 180: een, koska arvo 0 tuottaa 0% PWM: n ja arvo 180 tuottaa 100%: n käyttöjakson. Mitään arvoja yli 180 ei ole mitään järkeä. Joten kartoitamme arvon 0-180: een käyttämällä alla olevaa karttatoimintoa.
kuristin = kartta (kaasu, 0, 1023, 0, 180);
Lopuksi meidän on lähetettävä tämä arvo servotoiminnolle, jotta se voi tuottaa PWM-signaalin tälle pinille. Koska olemme nimenneet servo-objektin ESC: ksi, koodi näyttää tältä alla, jossa muuttujakaasu sisältää arvon 0-180 PWM-signaalin työjakson ohjaamiseksi
ESC. Kirjoita (kaasu);
Arduino BLDC -moottorin ohjaus
Tee kytkennät piirikaavion mukaan ja lataa koodi Arduinoon ja käynnistä ESC. Varmista, että olet asentanut BLDC-moottorin johonkin, koska moottori hyppää ympäriinsä pyörittäessään. Kun asetus on kytketty päälle, ESC antaa tervetuloaäänen ja jatkaa äänimerkkiä, kunnes kaasusignaali on kynnysrajan sisällä. signaalin alemman kynnysarvon yläpuolelle ja kun lisäät moottoriasi, moottori alkaa pyöriä hitaasti. Mitä enemmän jännitettä annat, sitä enemmän moottori nousee, lopulta kun jännite saavuttaa ylärajan, moottori pysähtyy. Voit sitten toistaa prosessin.
Tämän Arduino BLDC -ohjaimen täydellinen toiminta löytyy myös alla olevasta videolinkistä. Jos sinulla on ollut ongelmia saada tämä toimimaan, voit käyttää kommenttiosaa tai käyttää foorumeita tekniseen apuun.