- Materiales necesarios
- Comprensión de los motores BLDC
- ¿Por qué los drones y otros multicópteros utilizan motores BLDC?
- ¿Por qué necesitamos un ESC y cuál es su función?
- Algunos términos comunes con BLDC y ESC:
- Diagrama del circuito de control del motor Arduino BLDC
- Programa para control de velocidad BLDC usando Arduino
- Control de motor Arduino BLDC
Construir cosas y hacer que funcionen, de la manera que queremos, siempre ha sido muy divertido. Si bien eso se acordó, construir cosas que pudieran volar desafiante generaría un poco más de ansiedad entre los aficionados y los aficionados al hardware. ¡Si! Me refiero a planeadores, helicópteros, aviones y principalmente multicópteros. Hoy en día se ha vuelto muy fácil construir uno por su cuenta debido al soporte de la comunidad disponible en línea. Una cosa común con todas las cosas que vuelan es que usan un motor BLDC, entonces , ¿qué es este motor BLDC? ¿Por qué lo necesitamos para volar cosas? ¿Qué tiene de especial? ¿Cómo comprar el motor correcto e interconectarlo con su controlador? ¿Qué es un ESC y por qué lo usamos? Si tiene preguntas como estas, este tutorial es su solución integral.
Básicamente, en este tutorial controlaremos el motor sin escobillas con Arduino. Aquí, el motor de avance BLDC sin sensor A2212 / 13T se utiliza con un controlador electrónico de velocidad (ESC) de 20A. Este motor se usa comúnmente para construir drones.
Materiales necesarios
- Motor A2212 / 13T BLDC
- ESC (20A)
- Fuente de energía (12V 20A)
- Arduino
- Potenciómetro
Comprensión de los motores BLDC
BLDC Motor es sinónimo de motor de CC sin escobillas, se usa comúnmente en ventiladores de techo y vehículos eléctricos debido a su buen funcionamiento. El uso de motores BLDC en vehículos eléctricos se explica previamente en detalle. A diferencia de otros motores, los motores BLDC tienen tres cables que salen de ellos y cada cable forma su propia fase, lo que nos da un motor trifásico. ¿¿¡¡Esperar lo!!??
Sí, aunque los motores BLDC se consideran motores de CC, funcionan con la ayuda de ondas pulsadas. El controlador de velocidad electrónico (ESC) convierte el voltaje de CC de la batería en pulsos y lo proporciona a los 3 cables del motor. En un momento dado, solo se alimentarán dos fases del motor, de modo que la corriente ingrese por una fase y salga por la otra. Durante este proceso, la bobina dentro del motor se energiza y, por lo tanto, los imanes del rotor se alinean con la bobina energizada. Luego, los dos cables siguientes son energizados por el ESC, este proceso continúa para hacer girar el motor. La velocidad del motor depende de qué tan rápido se energiza la bobina y la dirección del motor depende del orden en que se energizan las bobinas. Aprenderemos más sobre ESC más adelante en este artículo.
Hay muchos tipos de motores BLDC disponibles, echemos un vistazo a las clasificaciones más comunes.
Motor BLDC In-runner y Out-Runner: Los motores BLDC In-runner funcionan como cualquier otro motor. Es decir, el eje dentro del motor gira mientras la carcasa permanece fija. Mientras que los motores BLDC de corredor son todo lo contrario, la carcasa exterior del motor gira junto con el eje mientras que la bobina interior permanece fija. Los motores out runner son una gran ventaja en las bicicletas eléctricas, ya que la carcasa exterior (la que gira) se convierte en una llanta para los neumáticos y, por lo tanto, se evita un mecanismo de acoplamiento. Además, los motores de corredor tienden a dar más torque que en los tipos de corredor, por lo que se convierte en una opción ideal en vehículos eléctricos y drones. El que estamos usando aquí también es un tipo de corredor.
Nota: Hay otro tipo de motor llamado motores BLDC sin núcleo que también se utilizan para los Drones de bolsillo, tienen un principio de funcionamiento diferente, pero por ahora vamos a omitirlo por el bien de este tutorial.
Sensor y motor BLDC sin sensor: para que un motor BLDC gire sin sacudidas, se requiere una retroalimentación. Es decir, el ESC tiene que conocer la posición y el polo de los imanes en el rotor para energizar el estator de acuerdo. Esta información se puede adquirir de dos formas; uno es colocando el sensor de pasillo dentro del motor. El sensor de pasillo detectará el imán y enviará la información al ESC. Este tipo de motor se llama motor Sensord BLDC y se utiliza en vehículos eléctricos. El segundo método es usar el EMF trasero generado por las bobinas cuando los imanes los cruzan, esto no requiere hardware o cables adicionales, el cable de fase en sí se usa como retroalimentación para comprobar el EMF trasero. Este método se utiliza en nuestro motor y es común para drones y otros proyectos de vuelo.
¿Por qué los drones y otros multicópteros utilizan motores BLDC?
Hay muchos tipos de drones geniales, desde helicópteros Quad hasta helicópteros y planeadores, todo tiene un hardware en común. Esos son los motores BLDC, pero ¿por qué? ¿Por qué utilizan un motor BLDC que es un poco caro en comparación con los motores de CC?
Hay bastantes razones válidas para esto, una de las principales es que el par que proporcionan estos motores es muy alto, lo que es muy importante para ganar / perder empuje rápidamente para despegar o aterrizar en un dron. También estos motores están disponibles como corredores, lo que nuevamente aumenta el empuje de los motores. Otra razón para seleccionar el motor BLDC es su suave funcionamiento sin vibraciones, esto es muy ideal para nuestro dron estable en el aire.
La relación potencia / peso de un motor BLDC es muy alta. Esto es muy importante porque los motores utilizados en los drones deben ser de alta potencia (alta velocidad y alto par) pero también deben ser de menor peso. Un motor de CC que pueda proporcionar el mismo par y velocidad que un motor BLDC será dos veces más pesado que el motor BLDC.
¿Por qué necesitamos un ESC y cuál es su función?
Como sabemos, cada motor BLDC requiere algún tipo de controlador para convertir el voltaje de CC de la batería en pulsos para alimentar los cables de fase del motor. Este controlador se llama ESC, que significa controlador electrónico de velocidad. La principal responsabilidad del controlador es energizar los cables de fase de los motores BLDC en un orden para que el motor gire. Esto se hace detectando la EMF trasera de cada cable y energizando la bobina exactamente cuando el imán cruza la bobina. Así que hay mucha brillantez de hardware dentro del ESC que está fuera del alcance de este tutorial. Pero por mencionar algunos , tiene controlador de velocidad y un circuito eliminador de batería.
Control de velocidad basado en PWM: El ESC puede controlar la velocidad del motor BLDC leyendo la señal PWM proporcionada en el cable naranja. Funciona de manera muy similar a los servomotores, la señal PWM proporcionada debe tener un período de 20 ms y el ciclo de trabajo se puede variar para variar la velocidad del motor BLDC. Dado que la misma lógica también se aplica a los servomotores para controlar la posición, podemos usar la misma biblioteca de servos en nuestro programa Arduino. Aprenda a usar Servo con Arduino aquí.
Circuito eliminador de batería (BEC): Casi todos los ESC vienen con un circuito eliminador de batería. Como sugiere el nombre, este circuito elimina la necesidad de una batería separada para el microcontrolador, en este caso no necesitamos una fuente de alimentación separada para alimentar nuestro Arduino; el propio ESC proporcionará un + 5V regulado que se puede usar para alimentar nuestro Arduino. Hay muchos tipos de circuitos que regulan este voltaje normalmente será una regulación lineal en los ESC baratos, pero también puede encontrar algunos con circuitos de conmutación.
Firmware: Cada ESC tiene un programa de firmware escrito en él por los fabricantes. Este firmware determina en gran medida cómo responde su ESC; algunos de los firmware más populares son Traditional, Simon-K y BL-Heli. Este firmware también es programable por el usuario, pero no hablaremos mucho de eso en este tutorial.
Algunos términos comunes con BLDC y ESC:
Si acaba de comenzar a trabajar con motores BLDC, probablemente se haya encontrado con términos como Frenado, Arranque suave, Dirección del motor, Bajo voltaje, Tiempo de respuesta y Avance. Echemos un vistazo a lo que significan estos términos.
Frenado: El frenado es la capacidad de su motor BLDC para dejar de girar tan pronto como se quita el acelerador. Esta habilidad es muy importante para los helicópteros múltiples, ya que tienen que cambiar sus RPM con más frecuencia para maniobrar en el aire.
Arranque suave: El arranque suave es una característica importante a considerar cuando su motor BLDC está asociado con un engranaje. Cuando un motor tiene habilitado el arranque suave, no comenzará a girar muy rápido de repente, siempre aumentará gradualmente la velocidad sin importar qué tan rápido se haya dado el acelerador. Esto nos ayudará a reducir el desgaste de los engranajes conectados con los motores (si los hay).
Dirección del motor: la dirección del motor en los motores BLDC normalmente no se cambia durante el funcionamiento. Pero al ensamblar, es posible que el usuario deba cambiar la dirección en la que gira el motor. La forma más fácil de cambiar la dirección del motor es simplemente intercambiando dos cables cualesquiera del motor.
Parada de bajo voltaje: una vez calibrados, siempre necesitaríamos que nuestros motores BLDC funcionen a la misma velocidad particular para un valor particular de aceleración. Pero esto es difícil de lograr porque los motores tienden a reducir su velocidad por el mismo valor de aceleración a medida que disminuye el voltaje de la batería. Para evitar esto, normalmente programamos el ESC para que deje de funcionar cuando el voltaje de la batería ha llegado por debajo del valor umbral, esta función se llama parada por bajo voltaje y es útil en drones.
Tiempo de respuesta: la capacidad del motor para cambiar rápidamente su velocidad en función del cambio de aceleración se denomina tiempo de respuesta. Cuanto menor sea el tiempo de respuesta, mejor será el control.
Advance: Advance es un problema o más como un error con los motores BLDC. Todos los motores BLDC tienen un poco de avance en ellos. Es entonces cuando se energizan las bobinas del estator, el rotor es atraído hacia él debido al imán permanente presente en ellas. Después de ser atraído, el rotor tiende a moverse un poco más hacia adelante en la misma dirección antes de que la bobina se desenergice y luego se active la siguiente bobina. Este movimiento se llama "Avance" y creará problemas como temblores, calentamiento, ruido, etc. Así que esto es algo que un buen ESC debe evitar por sí solo.
Bien, suficiente teoría ahora, comencemos con el hardware conectando el motor con el Arduino.
Diagrama del circuito de control del motor Arduino BLDC
A continuación se muestra el diagrama de circuito para controlar el motor sin escobillas con Arduino:
La conexión para interconectar el motor BLDC con Arduino es bastante sencilla. El ESC necesita una fuente de energía de alrededor de 12V y 5A como mínimo. En este tutorial he usado mi RPS como fuente de energía, pero también puede usar una batería Li-Po para alimentar el ESC. Los cables trifásicos del ESC deben estar conectados a los cables trifásicos de los motores, no hay orden para conectar estos cables, puede conectarlos en cualquier orden.
Advertencia: algunos ESC no tendrán conectores, en ese caso asegúrese de que su conexión sea sólida y proteja los cables expuestos con cinta aislante. Dado que habrá alta corriente pasando a través de las fases, cualquier cortocircuito provocaría daños permanentes en el ESC y el motor.
El BEC (circuito eliminador de batería) en el propio ESC regulará un + 5V que se puede usar para encender la placa Arduino. Finalmente para configurar la velocidad del motor BLDC también usamos un potenciómetro conectado al pin A0 del Arduino
Programa para control de velocidad BLDC usando Arduino
Tenemos que crear una señal PWM con ciclo de trabajo variable de 0% a 100% con una frecuencia de 50Hz. El ciclo de trabajo debe controlarse mediante un potenciómetro para que podamos controlar la velocidad del motor. El código para hacer esto es similar a controlar los servomotores ya que también requieren una señal PWM con una frecuencia de 50Hz; por lo tanto, usamos la misma biblioteca de servos de Arduino. El código completo se puede encontrar en la parte inferior de esta página, más abajo explico el código en pequeños fragmentos. Y si es nuevo en Arduino o PWM, primero utilice PWM con Arduino y controle el servo con Arduino.
La señal PWM se puede generar solo en los pines que admiten PWM por hardware, estos pines normalmente se mencionan con un símbolo ~. En Arduino UNO, el pin 9 puede generar una señal PWM, por lo que conectamos el pin de señal ESC (cable naranja) al pin 9, también mencionamos el mismo código inn usando la siguiente línea
ESC.attach (9);
Tenemos que generar una señal PWM de ciclo de trabajo variable de 0% a 100%. Para un ciclo de trabajo de 0%, el POT generará 0 V (0) y para un ciclo de trabajo del 100%, el POT generará 5 V (1023). Aquí, el potenciómetro está conectado al pin A0, por lo que tenemos que leer el voltaje analógico del POT utilizando la función de lectura analógica como se muestra a continuación.
int acelerador = analogRead (A0);
Luego, tenemos que convertir el valor de 0 a 1023 a 0 a 180 porque el valor 0 generará 0% PWM y el valor 180 generará un ciclo de trabajo del 100%. Cualquier valor por encima de 180 no tendrá sentido. Así que asignamos el valor a 0-180 usando la función de mapa como se muestra a continuación.
acelerador = mapa (acelerador, 0, 1023, 0, 180);
Finalmente, tenemos que enviar este valor a la función servo para que pueda generar la señal PWM en ese pin. Dado que hemos nombrado el objeto servo como ESC, el código se verá así a continuación, donde el acelerador variable contiene el valor de 0-180 para controlar el ciclo de trabajo de la señal PWM
ESC.write (acelerador);
Control de motor Arduino BLDC
Realice las conexiones de acuerdo con el diagrama de circuito y cargue el código en Arduino y encienda el ESC. Asegúrese de haber montado el motor BLDC en algo, ya que el motor saltará al girar. Una vez que la configuración está encendida, su ESC emitirá un tono de bienvenida y seguirá sonando hasta que la señal del acelerador esté dentro de los límites del umbral, simplemente aumente el POT de 0V gradualmente y el tono de pitido se detendrá, esto significa que ahora estamos proporcionando PWM señal por encima del valor de umbral inferior y, a medida que aumenta más, el motor comenzará a girar lentamente. Cuanto más voltaje proporcione, más velocidad recogerá el motor; finalmente, cuando el voltaje supere el límite superior del umbral, el motor se detendrá. A continuación, puede repetir el proceso.
El funcionamiento completo de este controlador Arduino BLDC también se puede encontrar en el enlace de video a continuación. Si ha tenido algún problema para hacer que esto funcione, no dude en utilizar la sección de comentarios o utilizar los foros para obtener más ayuda técnica.