Controlar un motor sin escobillas con arduino sin esc

Valoración: 4.81 (350 votos)

En este artículo, exploraremos las posibilidades de controlar un motor sin escobillas (BLDC) con un microcontrolador Arduino sin utilizar un ESC (Electronic Speed Controller), una tarea que podría parecer compleja a primera vista, pero que con los conocimientos adecuados se vuelve accesible. Abordaremos los principios básicos del funcionamiento de los motores sin escobillas, cómo conectarlos a un Arduino y cómo programar el microcontrolador para controlar la velocidad y el sentido de rotación del motor.

¿Qué son los motores sin escobillas?

Los motores sin escobillas, a diferencia de los motores con escobillas, utilizan imanes permanentes en el rotor y un estator con bobinas electromagnéticas. La ausencia de escobillas elimina el desgaste y la fricción asociados con los motores tradicionales, lo que se traduce en una mayor eficiencia, durabilidad y menor ruido.

Estos motores son generalmente más eficientes, más potentes y tienen una vida útil más larga que los motores con escobillas. Sin embargo, requieren un controlador electrónico más complejo para funcionar, ya que la conmutación de las bobinas del estator debe ser gestionada electrónicamente.

¿Cómo funcionan los motores sin escobillas?

Los motores sin escobillas funcionan con el principio de la interacción entre campos magnéticos. El rotor del motor contiene imanes permanentes que generan un campo magnético constante. El estator, por otro lado, contiene bobinas electromagnéticas que se activan y desactivan en secuencia por el controlador electrónico.

El controlador electrónico determina la secuencia de activación de las bobinas del estator, creando un campo magnético rotatorio que interactúa con el campo magnético del rotor. Esta interacción entre los campos magnéticos provoca la rotación del rotor. La velocidad del motor se controla ajustando la frecuencia de conmutación de las bobinas del estator.

brushless motor arduino without esc - Can you control a brushless motor with Arduino

¿Por qué se utilizan los ESC?

Los ESC (Electronic Speed Controllers) son controladores electrónicos diseñados específicamente para motores sin escobillas. Estos controladores se encargan de gestionar la conmutación de las bobinas del estator, controlar la velocidad del motor y proteger el motor de sobrecargas y cortocircuitos.

Un ESC típico consta de varios componentes, como:

brushless motor arduino without esc - Can you run a sensored brushless motor on a non sensored ESC

  • Un circuito de detección de posición: Este circuito detecta la posición del rotor del motor sin escobillas.
  • Un circuito de conmutación: Este circuito controla la activación y desactivación de las bobinas del estator.
  • Un circuito de control de velocidad: Este circuito ajusta la frecuencia de conmutación de las bobinas del estator para controlar la velocidad del motor.
  • Un circuito de protección: Este circuito protege el motor de sobrecargas y cortocircuitos.

Controlar un motor sin escobillas sin ESC: Los desafíos

Aunque es posible controlar un motor sin escobillas sin un ESC, presenta varios desafíos que debemos considerar:

  • Detección de posición del rotor: Los ESC utilizan sensores de posición para determinar la posición del rotor. Sin un ESC, debemos implementar un método alternativo para detectar la posición del rotor, como la detección de voltaje de back-EMF o el uso de un codificador incremental.
  • Generación de señales de conmutación: Los ESC generan las señales de conmutación precisas para activar y desactivar las bobinas del estator. Sin un ESC, debemos generar estas señales manualmente utilizando el Arduino.
  • Control de velocidad: Los ESC ajustan la frecuencia de conmutación de las bobinas del estator para controlar la velocidad del motor. Sin un ESC, debemos implementar un algoritmo de control de velocidad en el Arduino.
  • Protección del motor: Los ESC incluyen circuitos de protección para proteger el motor de sobrecargas y cortocircuitos. Sin un ESC, debemos implementar medidas de protección adicionales en el Arduino.

Controlar un motor sin escobillas con Arduino: Una posible solución

Para controlar un motor sin escobillas sin un ESC, podemos usar un Arduino junto con un codificador incremental y una biblioteca de control de motores. El codificador incremental proporciona información sobre la posición del rotor, mientras que la biblioteca de control de motores se encarga de generar las señales de conmutación y controlar la velocidad del motor.

Aquí presentamos un enfoque paso a paso:

Materiales necesarios

  • Arduino (por ejemplo, Arduino Uno)
  • Motor sin escobillas (BLDC)
  • Codificador incremental (con una resolución adecuada para el motor)
  • Controlador de motor (por ejemplo, L298N o DRV8833)
  • Fuente de alimentación (batería LiPo o fuente de alimentación regulada)
  • Conectores y cables

Conexión del circuito

  • Conexión del codificador incremental: Los codificadores incrementales suelen tener dos canales de salida, A y B. Estos canales generan pulsos que indican el cambio de posición del rotor. Conecte los canales A y B del codificador a las entradas digitales del Arduino.
  • Conexión del controlador de motor: El controlador de motor es responsable de conducir las bobinas del estator. Conecte las salidas del controlador de motor a las terminales del motor.
  • Conexión del Arduino: Conecte el Arduino al controlador de motor y al codificador incremental de acuerdo con las especificaciones del controlador y del codificador.
  • Conexión de la alimentación: Conecte la fuente de alimentación al Arduino y al controlador de motor.

Código Arduino

El código Arduino se encargará de leer los datos del codificador incremental, generar las señales de conmutación para el controlador de motor y controlar la velocidad del motor. Se recomienda utilizar una biblioteca de control de motores como AccelStepper para simplificar el proceso.

A continuación, se muestra un ejemplo de código Arduino para controlar un motor sin escobillas sin ESC utilizando un codificador incremental y la biblioteca AccelStepper:

Si quieres conocer otros artículos parecidos a Controlar un motor sin escobillas con arduino sin esc puedes visitar la categoría Motor.

Subir