- Materials necessaris
- Comprensió dels motors BLDC
- Per què els drons i altres copòters utilitzen motors BLDC?
- Per què necessitem un ESC i quina és la seva funció?
- Alguns termes comuns amb BLDC i ESC:
- Diagrama del circuit de control del motor Arduino BLDC
- Programa per al control de velocitat BLDC mitjançant Arduino
- Control del motor Arduino BLDC
Sempre ha estat molt divertit construir coses i aconseguir que funcionessin, tal com volem. Mentre es va acordar això, construir coses que poguessin volar bombaria desafiant una mica més d'ansietat entre els aficionats i els jugadors de maquinari. Sí! Parlo de planadors, helicòpters, avions i principalment multi-copters. Avui en dia s’ha tornat molt fàcil crear-ne un pel vostre compte gràcies al suport comunitari disponible en línia. Una cosa freqüent amb totes les coses que volen és que utilitzen un motor BLDC, doncs , què és aquest motor BLDC? Per què el necessitem per volar coses? Què té d’especial? Com es pot comprar el motor adequat i relacionar-lo amb el controlador? Què és un ESC i per què el fem servir? Si teniu preguntes com aquestes, aquest tutorial és la vostra solució única.
Per tant, bàsicament en aquest tutorial controlarem el motor sense escombretes amb Arduino. Aquí s’utilitza un motor de sortida BLDC sense sensor A2212 / 13T amb un controlador electrònic de velocitat (ESC) de 20A. Aquest motor s’utilitza habitualment per construir drons.
Materials necessaris
- Motor BLDC A2212 / 13T
- ESC (20A)
- Font d'alimentació (12V 20A)
- Arduino
- Potenciòmetre
Comprensió dels motors BLDC
BLDC Motor és el motor Brush Less DC, que s’utilitza habitualment en ventiladors de sostre i vehicles elèctrics pel seu bon funcionament. L’ús de motors BLDC en vehicles elèctrics s’explica prèviament amb detall. A diferència d'altres motors, els motors BLDC tenen tres cables que surten d'ells i cada fil forma la seva pròpia fase, donant-nos un motor trifàsic. Espera Què!!??
Sí, tot i que es considera que els motors BLDC són motors de corrent continu, funcionen amb l'ajut d'ones polsades. El controlador electrònic de velocitat (ESC) converteix el voltatge de CC de la bateria en polsos i el proporciona als 3 cables del motor. En un moment donat, només s’alimentarà dues fases del motor, de manera que el corrent entra per una fase i surt per una altra. Durant aquest procés, la bobina a l'interior del motor s'energia i, per tant, els imants del rotor s'alineen a la bobina energitzada. A continuació, els dos cables següents són alimentats per l’ESC, aquest procés es continua fent que el motor giri. La velocitat del motor depèn de la velocitat amb què s’energia la bobina i la direcció del motor depèn de l’ordre en què s’energia les bobines. Més endavant aprendrem més sobre ESC en aquest article.
Hi ha molts tipus de motors BLDC disponibles, donem una ullada a les classificacions més habituals.
Motor BLDC dins i fora del corredor: en motors Runner BLDC funcionen com qualsevol altre motor. És a dir, l’eix de l’interior del motor gira mentre la carcassa roman fixa. Mentre que els motors BLDC de corredor fora són exactament el contrari, la carcassa exterior del motor gira juntament amb l’eix mentre la bobina interior es manté fixa. Els motors de corredor fora són molt avantatjosos en les bicicletes elèctriques, ja que la carcassa exterior (la que gira) es converteix en una llanta per als pneumàtics i, per tant, s'evita un mecanisme d'acoblament. També els motors de corredor fora solen donar més parell que en els tipus de corredors, de manera que es converteix en una opció ideal en vehicles elèctrics i drones. El que estem utilitzant aquí també és un tipus de corredor fora.
Nota: Hi ha un altre tipus de motor anomenat motors BLDC sense cor que també s’utilitzen per als drons de butxaca, tenen un principi de funcionament diferent, però ara per ara l’ometem pel bé d’aquest tutorial.
Sensor i motor BLDC sense sensor: per a que un motor BLDC giri sense cap molèstia, cal una retroalimentació. És a dir, l'ESC ha de conèixer la posició i el pol dels imants del rotor per tal de dinamitzar l'estator d'acord. Aquesta informació es pot adquirir de dues maneres; un és col·locant el sensor de corredor a l'interior del motor. El sensor de sala detectarà l'imant i enviarà la informació a l'ESC; aquest tipus de motor s'anomena motor Sensord BLDC i s'utilitza en vehicles elèctrics. El segon mètode consisteix a utilitzar el CEM posterior generat per les bobines quan els imants els creuen, això no requereix maquinari addicional ni es fa servir el cable de fase com a retroalimentació per comprovar si hi ha CEM posteriors. Aquest mètode s’utilitza al nostre motor i és comú per a drons i altres projectes de vol.
Per què els drons i altres copòters utilitzen motors BLDC?
Hi ha molts tipus de drons genials, des de Quad helicòpter fins a helicòpters i planadors. Tot té un maquinari en comú. Aquests són els motors BLDC, però per què? Per què utilitzen un motor BLDC que és una mica car en comparació amb els motors DC?

Hi ha força raons vàlides per a això, una de les raons principals és que el parell proporcionat per aquests motors és molt elevat, cosa que és molt important per guanyar / perdre l’empenta ràpidament per enlairar o aterrar un dron. A més, aquests motors estan disponibles com a corredors que augmenten de nou l’empenta dels motors. Una altra de les raons per seleccionar un motor BLDC és el seu funcionament suau sense vibracions, és molt ideal per al nostre avió no tripulat estable a l'aire.
La relació potència / pes d’un motor BLDC és molt elevada. Això és molt important perquè els motors que s’utilitzen als drons haurien de ser d’alta potència (velocitat alta i parell elevat), però també haurien de ser de menys pes. Un motor de corrent continu que pugui proporcionar el mateix parell i velocitat que el d’un motor BLDC serà el doble de pesat que el motor BLDC.
Per què necessitem un ESC i quina és la seva funció?
Com sabem, tots els motors BLDC requereixen algun tipus de controlador per convertir el voltatge continu de la bateria en impulsos per alimentar els cables de fase del motor. Aquest controlador s’anomena ESC que significa Electronic Speed Controller (controlador electrònic de velocitat). La principal responsabilitat del controlador és alimentar els cables de fase dels motors BLDC en un ordre perquè el motor giri. Això es fa detectant el CEM posterior de cada fil i energitzant la bobina exactament quan l’imant creua la bobina. Per tant, hi ha molta brillantor de maquinari dins de l’ESC que no surt de l’abast d’aquest tutorial. Però per esmentar-ne uns quants , té un controlador de velocitat i un circuit eliminador de bateries.

Control de velocitat basat en PWM: l’ESC pot controlar la velocitat del motor BLDC llegint el senyal PWM subministrat al cable taronja. Funciona molt semblant als servomotors, el senyal PWM proporcionat ha de tenir un període de 20 ms i el cicle de treball es pot variar per variar la velocitat del motor BLDC. Com que la mateixa lògica també s'aplica als servomotors per controlar la posició, podem utilitzar la mateixa biblioteca de servidors al nostre programa Arduino. Apreneu a utilitzar Servo amb Arduino aquí.
Circuit eliminador de bateries (BEC): gairebé tots els ESC inclouen un circuit eliminador de bateries. Com el seu nom indica, aquest circuit elimina la necessitat de bateries separades per al microcontrolador, en aquest cas no necessitem una font d'alimentació separada per alimentar el nostre Arduino; el propi ESC proporcionarà un + 5V regulat que pot utilitzar el nostre Arduino. Hi ha molts tipus de circuits que regulen aquesta tensió, normalment serà de regulació lineal als ESC barats, però també es poden trobar amb circuits de commutació.
Firmware: tots els ESC tenen un programa de firmware escrit pels fabricants. Aquest firmware determina en gran mesura com respon el vostre ESC; alguns dels firmware populars són Traditional, Simon-K i BL-Heli. Aquest microprogramari també es pot programar per l'usuari, però en aquest tutorial no hi entrarem gaire.
Alguns termes comuns amb BLDC i ESC:
Si acabeu de començar a treballar amb motors BLDC, és probable que us hagueu trobat amb termes com ara frenada, arrencada suau, direcció del motor, baixa tensió, temps de resposta i avanç. Vegem què signifiquen aquests termes.
Frenar: la frenada és la capacitat del vostre motor BLDC de deixar de girar tan bon punt es retira l’accelerador. Aquesta habilitat és molt important per als copters, ja que han de canviar el seu RPM més sovint per maniobrar en l'aire.
Arrencada suau: l’ arrencada suau és una característica important a tenir en compte quan el motor BLDC s’associa amb engranatges. Quan un motor té l’arrencada suau habilitada, no començarà a girar molt ràpidament de cop, sempre augmentarà gradualment la velocitat independentment de la rapidesa amb què es va donar l’accelerador. Això ens ajudarà a reduir el desgast dels engranatges connectats als motors (si n’hi ha).
Direcció del motor: la direcció del motor en motors BLDC normalment no es modifica durant el funcionament. Però quan es fa el muntatge, és possible que l’usuari hagi de canviar la direcció en què gira el motor. La forma més senzilla de canviar la direcció del motor és simplement canviar els dos cables del motor.
Parada de baixa tensió: un cop calibrats, sempre necessitaríem que els nostres motors BLDC funcionessin a la mateixa velocitat per obtenir un valor particular de l’accelerador. Però això és difícil d’aconseguir perquè els motors tendeixen a reduir la seva velocitat amb el mateix valor d’accelerador que disminueix la tensió de la bateria. Per evitar-ho, normalment programem l'ESC perquè deixi de funcionar quan la tensió de la bateria hagi arribat a estar per sota del valor llindar. Aquesta funció s'anomena parada de baixa tensió i és útil en drons.
Temps de resposta: la capacitat del motor per canviar ràpidament la seva velocitat en funció del canvi de l’accelerador s’anomena temps de resposta. Com menor sigui el temps de resposta, millor serà el control.
Advance: Advance és un problema o més com un error amb motors BLDC. Tots els motors BLDC tenen una mica d’avanç. És llavors quan s’energia les bobines de l’estator, el rotor s’atrau cap a ell a causa de l’imant permanent que hi ha. Després de sentir-se atret, el rotor tendeix a avançar una mica més en aquesta mateixa direcció abans que la bobina es desencengui i, després, la següent. Aquest moviment s'anomena "Avanç" i crearà problemes com molestar, escalfar-se, fer soroll, etc. Per tant, això és una cosa que un bon ESC hauria d'evitar per si sol.
D’acord, prou teoria ens permet ara començar amb el maquinari connectant el motor amb l’Arduino.
Diagrama del circuit de control del motor Arduino BLDC
A continuació es mostra el diagrama de circuits per controlar el motor sense escombretes amb Arduino:

La connexió per connectar el motor BLDC amb Arduino és força senzilla. L’ESC necessita una font d’alimentació d’uns 12V i 5A mínims. En aquest tutorial he utilitzat el meu RPS com a font d'alimentació, però també podeu utilitzar una bateria Li-Po per alimentar l'ESC. Els cables trifàsics de l’ESC haurien d’estar connectats als cables trifàsics dels motors, no hi ha cap ordre per connectar aquests cables, els podeu connectar en qualsevol ordre.
Advertència: Alguns ESC no tindran connectors, en aquest cas assegureu-vos que la vostra connexió sigui sòlida i protegiu els cables exposats amb cinta aïllant. Com que hi haurà un corrent elevat que passa per les fases, qualsevol curt comporta un dany permanent de l'ESC i del motor.
El circuit BEC (Battery Eliminator Circuit) del propi ESC regularà un + 5V que es pot utilitzar per encendre la placa Arduino. Finalment, per configurar la velocitat del motor BLDC també fem servir un potenciòmetre connectat al pin A0 de l’Arduino

Programa per al control de velocitat BLDC mitjançant Arduino
Hem de crear un senyal PWM amb un cicle de treball variable del 0% al 100% amb una freqüència de 50Hz. El cicle de treball s’ha de controlar mitjançant un potenciòmetre perquè puguem controlar la velocitat del motor. El codi per fer-ho és similar al control dels servomotors, ja que també requereixen un senyal PWM amb una freqüència de 50Hz; per tant, fem servir la mateixa biblioteca de servidors d’Arduino. El codi complet es troba a la part inferior d’aquesta pàgina, més avall. Explico el codi en petits fragments. I si no sou nou a Arduino o PWM, primer feu servir PWM amb Arduino i controleu el servo amb Arduino.
El senyal PWM només es pot generar als pins que admeten PWM per maquinari, normalment aquests pins es mencionen amb un símbol ~. A Arduino UNO, el pin 9 pot generar senyal PWM, de manera que connectem el pin de senyal ESC (cable taronja) al pin 9, també esmenta el mateix codi de posada mitjançant la línia següent
ESC.attach (9);
Hem de generar un senyal PWM de cicle de treball variable del 0% al 100%. Per al cicle de treball del 0%, el POT produirà 0V (0) i per al cicle de treball del 100%, el POT produirà 5V (1023). Aquí el pot està connectat al pin A0, de manera que hem de llegir el voltatge analògic del POT utilitzant la funció de lectura analògica com es mostra a continuació
int throttle = analogRead (A0);
A continuació, hem de convertir el valor de 0 a 1023 a 0 a 180 perquè el valor 0 generarà un 0% de PWM i el valor 180 generarà un cicle de treball del 100%. Els valors superiors a 180 no tindran cap sentit. Per tant, assignem el valor a 0-180 mitjançant la funció de mapa com es mostra a continuació.
gas = mapa (gas, 0, 1023, 0, 180);
Finalment, hem d’ enviar aquest valor a la funció servo perquè pugui generar el senyal PWM en aquest pin. Atès que hem anomenat el servoobjecte com a ESC, el codi serà el següent, on l’accelerador variable conté el valor de 0 a 180 per controlar el cicle de treball del senyal PWM
ESC.write (accelerador);
Control del motor Arduino BLDC
Feu les connexions segons l’esquema del circuit i pengeu el codi a Arduino i engegueu l’ESC. Assegureu-vos que heu muntat el motor BLDC sobre alguna cosa, ja que el motor saltarà al voltant quan giri. Un cop la configuració estigui engegada, el vostre ESC donarà un to de benvinguda i continuarà sonant fins que el senyal de l’accelerador estigui dins dels límits del llindar, senzillament augmenteu el POT de 0V gradualment i el to sonor s’aturarà, això significa que ara estem proporcionant PWM senyal superior al valor del llindar inferior i, a mesura que augmenteu, el motor començarà a girar lentament. Com més tensió proporcioneu, més velocitat agafarà el motor, finalment quan el voltatge superi el límit superior del llindar, el motor s'aturarà. A continuació, podeu repetir el procés.

El funcionament complet d’aquest controlador Arduino BLDC també es pot trobar a l’enllaç de vídeo següent. Si us heu enfrontat a algun problema per aconseguir que això funcioni, no dubteu a utilitzar la secció de comentaris o utilitzeu els fòrums per obtenir més ajuda tècnica.
