Pregunta:
Control / cuenta de rotaciones de un motor de CC
Michael Cornn
2014-04-23 19:04:52 UTC
view on stackexchange narkive permalink

Usando un Arduino y un L293D IC, ¿puedo controlar el número de rotaciones que hace un motor de CC? ¿O solo puedo controlar la dirección y la velocidad del motor?

Compré una plataforma de robot de dos ruedas para aprender programación y electrónica de Arduino. La plataforma está aquí: http://www.robotshop.com/en/dfrobot-2wd-mobile-platform-arduino.html

Cada rueda está controlada por un motor de CC . Seguí el tutorial de Adafruit ( https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing) para controlar los motores con la ayuda de un L293D IC.

Ahora me doy cuenta de que no puedo controlar directamente las rotaciones del motor. Puedo controlar la dirección, el voltaje y el tiempo de rotación. Por ejemplo: gire hacia adelante al 50% del voltaje durante 500 milisegundos.

Pero eso es difícil de traducir en rotaciones reales. La velocidad del motor varía según el voltaje (como si cambio de baterías 2AA a 4AA) y el peso (agregar sensores ralentiza los motores). Cada vez que cambio el voltaje o el peso, tengo que adivinar cuánto voltaje / tiempo causa una sola rotación.

Creo que debería comprar motores paso a paso. Antes de hacer eso, le preguntaré a la comunidad: ¿Hay alguna forma de controlar los motores de CC mediante rotaciones en lugar de tiempo?

¿Aparte de un codificador rotatorio?
No entiendo cómo conectar un codificador rotatorio a un motor de CC. Veo que el codificador rotatorio tiene una perilla y los tres pines le indican al Arduino cuántos grados ha girado la perilla. Pero, ¿cómo ataría esa perilla al motor de CC (o la rueda que gira el motor)?
Con engranajes, cinturón o cadena.
O un acoplador de eje, aunque eso puede requerir una alineación más precisa. Los motores paso a paso generalmente no se utilizan para robots móviles, ya que son bastante pesados ​​y requieren mucha energía. Dependiendo de sus necesidades de resolución, también puede hacer sus propios codificadores ópticos o magnéticos, especialmente si puede trabajar cerca del borde de una rueda. Un sistema de cuadratura le dará 4 veces la resolución del elemento, por lo que si tiene un diámetro de trabajo que puede soportar 8 o 16 elementos físicos con dos sensores espaciados, puede obtener una resolución decente (32 o 64 cuentas / revolución) para el movimiento. Ver robotics.stackechange.com
Gracias por el consejo. ¿Una pregunta como esta sería más adecuada para robotics.stackexchange.com?
O utilice un motor con codificador (engranaje y) incorporado.
Dos respuestas:
#1
+3
gwideman
2014-04-25 16:51:01 UTC
view on stackexchange narkive permalink

Stepper sería pesado y consumiría batería, como dice Ignacio.

Pololu hace un codificador para una rueda: http://www.pololu.com/product/1217 , pero obviamente también puede implementar esto de otras formas.

#2
+2
Karl Bielefeldt
2014-04-25 23:18:23 UTC
view on stackexchange narkive permalink

Como ha descubierto, hay muchas variables involucradas, por lo que necesita algún tipo de retroalimentación. Una forma popular de hacer esto es con un codificador, pero dependiendo de sus necesidades, otros tipos de sensores pueden hacerlo. Por ejemplo, si su problema es mantener al robot en línea recta, una brújula electrónica puede ayudar. Para un robot de seguimiento de línea, los sensores de línea suelen ser suficientes. Los sensores de rango pueden rastrear su distancia. Entiendes la idea.



Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...