¿Es posible accionar un motor sin escobillas directamente con Arduino? ¿O debo volver a controlar un motor sin escobillas ESC con pulsos PWM?
Respuestas
¿Demasiados anuncios?Definitivamente deberías usar el ESC. Los motores sin escobillas funcionan mejor cuando se accionan con una onda sinusoidal (o lo más parecido posible a una onda sinusoidal). También requieren un conjunto de señales bastante preciso y complicado. Generar las formas de onda adecuadas y la sincronización desde un arduino sería difícil, y a menos que realmente lo necesites, probablemente no valga la pena. Siempre puedes organizar el control del ESC desde tu arduino, lo que te daría un control programático más la eficiencia y la potencia del ESC.
He ido de un lado a otro en esto durante unos 30 minutos. Creo que probablemente quieras usar un ESC a menos que lo estés haciendo como experiencia de aprendizaje. Para controlar adecuadamente el motor, se necesitarían más recursos del arduino de los que podría justificar. Además, estarías limitando la capacidad de respuesta del motor a la del sondeo del adc. Yo no pensaría en usar un ESC como reversible, es la forma en que se supone que se hace.
Ya que nadie más lo ha dicho, no se podría prácticamente accionar un motor directamente desde un arduino, simplemente porque el chip AVR no pondrá suficiente corriente para suministrar cualquier cantidad útil de energía.
Así que, como mínimo, tendrías que crear una disposición de puente H trifásico (léase: tres "medios puentes H") para conducir las corrientes necesarias, lo que requeriría seis líneas digitales sólo para hacer funcionar los transistores de accionamiento.
Suponiendo que tuvieras resuelto el problema de la capacidad de accionamiento, y eso no es trivial, entonces tendrías que entrar en el código de control. Estos motores tienen rotores de imanes permanentes, por lo que no se puede hacer girar a ciegas el campo del estator y obtener un par útil. Hay que conocer la orientación del rotor para mantener los ángulos de fase eléctrica ajustados de forma que se obtenga un par uniforme.
Así que como otros han dicho, a menos que quieras la experiencia específica de aprendizaje, no hay deshonor en sólo comprar un ESC.
Creo que sería un gran ejercicio de aprendizaje, pero los ESCs utilizan el back EMF para detectar la rotación, aunque puedes utilizar sensores ópticos o magnéticos para ello. Básicamente tienes que generar 3 fases de CA y activarlas/desactivarlas en el momento adecuado.
La velocidad de rotación del campo magnético debe adaptarse a la del motor, es decir, si se quiere acelerar, el campo debe funcionar un poco antes y más rápido. También se puede romper, haciendo lo contrario.
Para una explicación exhaustiva: http://www.embedded.com/columns/technicalinsights/196701832?_requestid=137540
Para un trabajo práctico, consigue un ESC.
Usted puede conducirlo directamente con Arduino si por conducir no te refieres a suministrar literalmente corriente para los bobinados - cualquier MCU sería demasiado débil para eso. Además, Arduino puede absorber pero no suministrar corriente, pero necesitarías ambas cosas para un motor sin escobillas.
Sin embargo, si además del Arduino utilizas un CI controlador de puente H muy sencillo, puedes implementar prácticamente todas las funciones del ESC. De hecho, dependiendo de la aplicación, puede que ni siquiera necesites un E*. SC * Si la carga no es muy grande, puedes confiar en que el motor responda en sincronía con la energía del devanado, y la velocidad de los cambios de la corriente del devanado vendría del Arduino. Mira esto Esquema de control del motor sin escobillas (BLDC) muy sencillo y un sketch de Arduino que tal vez puedas adaptar para accionar tu motor. Ese está basado en el IC de puente H cuádruple SN754410NE que tiene un máximo de 750mA si la memoria no me falla.
El código no es demasiado trivial y hace uso de PWM para una rotación suave, pero tampoco es demasiado difícil de analizar para adaptarlo a tu aplicación. El código El boceto de Arduino para el motor BLDC está aquí .