Kotiin / Uutiset / Teollisuuden uutisia / BLDC-moottori Arduinolla: johdotus, koodi ja ohjausopas
Teollisuuden uutisia
Jalanjälkemme kattaa koko maapallon.
Tarjoamme asiakkaillemme laadukkaita tuotteita ja palveluita kaikkialta maailmasta.

BLDC-moottori Arduinolla: johdotus, koodi ja ohjausopas

Kuinka ESC antaa Arduinon ohjata BLDC-moottoria

Arduino ei voi ohjata BLDC-moottorin kolmea vaihetta suoraan – siinä ei ole sisäänrakennettua virtakapasiteettia tai kommutointilogiikkaa. Tämä tehtävä kuuluu ESC:lle (Electronic Speed Controller), joka sijaitsee Arduinon ja moottorin välissä ja muuntaa yksinkertaisen PWM-signaalin ajoitetuksi kolmivaihekytkimeksi, joka todella pyörittää roottoria.

Arduinon näkökulmasta ESC näyttää täsmälleen tavalliselta RC-servolta. Se odottaa pulssin noin 1 000 ja 2 000 mikrosekunnin välillä, toistuvan 20 millisekunnin välein, jolloin pulssin leveys vastaa kaasun asentoa. Siksi sama Servo kirjasto harrasteservoissa käytetty toimii ESC-ohjauksessa – Arduino ei puhu ollenkaan moottorille, vaan ESC:n sisäiselle mikro-ohjaimelle, joka hoitaa varsinaisen kommutoinnin.

Arduinon kytkeminen BLDC-moottoriin ESC:n kautta

Kolme raskaan mittaisen moottorin johtoa liitetään BLDC-moottorista suoraan ESC:n kolmivaihelähtöön – liittimien järjestyksellä ei ole tässä vaiheessa merkitystä suunnan suhteen, koska kahden johtimen vaihtaminen vain kääntää pyörimisen. Moottorin teho (yleensä LiPo-akku, joka on sovitettu moottorin jännitearvoon) kytketään ESC:n tulojohtoihin, ei Arduinoon.

Signaalipuoli on yksinkertaisempi: yksi PWM-johto Arduinon digitaalisesta nastasta ESC:n signaalituloon sekä yhteinen maa Arduinon ja ESC:n välillä. Useimmissa ESC:issä on BEC (Battery Eliminator Circuit) kyseisessä signaaliliittimessä, joka syöttää säädellyn 5 V:n takaisin Arduinoon – eli erillistä virtalähdettä kortille ei yleensä tarvita, kunhan ESC:n BEC-lähtö on mitoitettu Arduinon virrankulutukselle.

Arduino-koodi perusnopeuden säätöön

Kun johdotus on paikallaan, itse koodi on lyhyt. Servo-kirjasto käsittelee ESC:tä kuin servomoottoria ja nopeuskartoitetaan samalle 0-180-alueelle, jota kirjasto käyttää kulman suhteen:

  • Kiinnitä ESC-signaalin nasta käyttämällä ESC.attach(9; 1000; 2000) , asettamalla pulssinleveysalueen eksplisiittisesti
  • Lue analogisen tapin potentiometri manuaalista nopeudensäätöä varten
  • Yhdistä analoginen lukema 0-1023 ESC:n odottamalle alueelle 0-180
  • Kirjoita se kartoitettu arvo ESC.write(nopeus) pääsilmukan sisällä

Tämä malli toimii, koska taustalla oleva signaalimuoto on identtinen harrastusservon kanssa, kuten dokumentissa on dokumentoitu. Arduino Servo -kirjaston viite , joka selittää pulssin ajoituksen ja nastarajoitukset, joihin kirjasto luottaa.

ESC:n virittäminen ja kalibrointi

Useimmat ESC:t eivät pyöritä moottoria heti käynnistyksen jälkeen – ne odottavat ensin viritysjaksoa, joka yleensä laukeaa pitämällä kaasusignaalia vähintään sekunnin tai kaksi käynnistyksen jälkeen. Tämän vaiheen ohittaminen on yleisin syy, miksi moottori näyttää käynnistyvän hetken käynnistettäessä ja sitten pysähtyvän: ESC odottaa kelvollista matalan kaasun signaalia ennen kuin se hyväksyy komentoja.

Kalibrointi asettaa ESC:n ymmärryksen pulssin minimi- ja enimmäisleveydestä vastaamaan sitä, mitä Arduino todella lähettää. Anna ESC:lle virta kaasusignaalin ollessa maksimissaan, odota vahvistuspiippauksia, laske sitten minimiin ja odota uudelleen – tämä opettaa ESC:lle tarkat päätepisteet, jotka koodisi tuottaa, sen sijaan, että luottaisi tehdasasetuksiin, jotka eivät välttämättä vastaa potentiometrisi kartoitettua aluetta.

Sensoroitu vs anturiton BLDC: Miksi se muuttaa Arduino-asetuksiasi

Kaikki yllä oletetaan anturittomasta BLDC-moottorista, joka on yhdistetty valmiiseen ESC:hen – yleisin harrastaja-asetus ja syy, miksi useimmat opetusohjelmat valitsevat sen oletusarvoisesti. ESC havaitsee roottorin asennon taka-EMF:stä, joka syntyy tehottomana vaiheessa, mikä toimii hyvin, kun moottori pyörii, mutta tarkoittaa, että moottori tarvitsee lyhyen avoimen silmukan käynnistysrampin, ennen kuin ESC voi lukita BEMF-ajoituksen.

Anturoitu BLDC-moottori lisää kolme Hall-anturia, jotka raportoivat roottorin asennon suoraan jopa nollakierroksilla. Tämä eliminoi käynnistysrampin ja antaa tasaisemman hidasnopeuden ohjauksen, mutta se tarkoittaa myös sitä, että ESC:ssä tai ohjaimessa on oltava Hall-anturitulot – tavallisessa anturittomassa ESC:ssä ei ole johdotuksia niitä varten. Jos projekti vaatii tarkan hitaiden käyntinopeuksien vääntömomentin tai toistuvia käynnistyksiä ja pysäytyksiä, anturimoottorin ja Hall-yhteensopivan ohjaimen hankkiminen alusta alkaen välttää ohjausasetusten uudelleenkäsittelyn myöhemmin.

R5 Fast response Brushless DC Motor Controller

Arduino-prototyypistä tuotantoluokan moottoriohjaukseen

PWM-ohjattu ESC on oikea työkalu konseptin todistamiseen – se on halpa, hyvin dokumentoitu eikä vaadi konfigurointiohjelmistoa. Mutta sillä on myös todellisia rajoituksia: ei nykyistä palautetta Arduinoon, minimaalinen suojauslogiikka ja ohjausresoluutio, joka on sidottu 1000-2000 mikrosekunnin pulssiikkunaan, joka ei skaalaudu hyvin, kun vääntömomentin ohjaus, suljetun silmukan nopeuden säätö tai vikailmoitus tulee vaatimuksiksi.

Kun projekti siirtyy prototyyppien ohitse kohti kenttätuotetta, tavallinen seuraava vaihe on ohjain, joka kommunikoi digitaalisen väylän kautta yhden PWM-linjan sijaan. UART-TTL-virheenkorjausliittymä, jota käytetään tuotantomoottoriohjaimien konfigurointiin Sillä on tässä samanlainen rooli kuin Arduinon sarjanäytössä - sen avulla voit lukea parametreja ja virittää käyttäytymistä suoraan sen sijaan, että arvaisit pelkän pulssinleveyden perusteella.

Joukkueille, jotka kasvavat harrastus-ESC:t yli, sisääntulopiste APT:n CAN-väylällä ohjelmoitaviin BLDC-moottoriohjaimiin tarjoaa sellaisia konfiguroitavia virranrajoituksia ja diagnostiikkaa, joita perus-ESC ei yksinkertaisesti paljasta. Sovellukset, jotka vaativat tiukempaa reagointia – robottikäsivarret, käyttömekanismit, kaikki nopeasti muuttuvassa kuormassa – palvelevat paremmin Nopeasti reagoiva BLDC-ohjain, joka on rakennettu reaaliaikaisiin suljetun silmukan sovelluksiin avoimen silmukan ESC:n sijaan.

Koska ohjaimen ja moottorin teknisten tietojen on vastattava jännitteen, virran ja Hall-anturin yhteensopivuutta, se kannattaa tarkistaa ohjaimen ja moottorin pariliitoksen opastus ohjauselektroniikan sovittamiseksi moottorin ominaisuuksiin ennen kuin sitoudut laitteistoon tuotantoa varten. Kannattaa myös ymmärtää miten ohjelmistokerrokset muokkaavat nykyaikaista moottorinohjausta , koska laiteohjelmistotason viritys erottaa yhä useammin hyvän tuotannonohjaimen vain riittävästä.



Kiinnostaako yhteistyö tai sinulla on kysyttävää?
  • Lähetä pyyntö {$config.cms_name}