Estoy usando 2 motores DC idénticos y una rueda giratoria. Los motores están conectados al controlador de motor L293D y están controlados por RPi .
El robot no va en línea recta. Se desvía a la derecha. Estoy ejecutando ambos motores al 100% PWM .
Lo que traté de corregir el error:
- Ajusté el PWM de la rueda yendo más rápido al 99% , pero el robot simplemente gira hacia el otro lado;
- Ajusté el peso del robot y el problema aún persiste.
Una vez intenté hacer funcionar el motor sin ninguna carga. ¿Es esa la causa de esto, como más tarde me dijeron que, hacer funcionar un motor de CC sin ninguna carga los daña?
Si esa no es la causa, dígame cómo resolver este problema sin usar ningún sensor para controlarlo.
Respuestas:
Estoy publicando esto como respuesta porque es la respuesta.
No puedes
Como @ BendingUnit22 menciona, está intentando el control de "bucle abierto". El ruido y las variaciones significarán que su robot nunca conducirá una línea perfectamente recta.
Los motores podrían tener diferentes resistencias de bobinado (diferentes corrientes de transmisión / torque), las ruedas podrían tener diferentes tamaños, las ruedas podrían tener diferentes características de tracción, el rodamiento podría ser "rígido", la rueda podría no estar perfectamente recta cuando el vehículo arranque , el piso puede tener diferentes características de fricción superficial (léase: polvo o alfombra): la lista sigue y sigue.
La única forma de dar cuenta de las cosas que están fuera de su control (lo que menciono arriba y más) es usar sensores de retroalimentación.
Puede intentar obtener un mejor rendimiento de bucle abierto corrigiendo los problemas que enumeré, pero hay aún más y simplemente no puede controlar todo.
fuente
Como ya se mencionó el problema del bucle abierto-cerrado, haré un comentario al "Una vez intenté ejecutar un motor de CC sin carga".
Sí, puede dañar su motor con esto, pero también puede dañar o destruir su motor con una carga. La destrucción proviene de la temperatura actual y resultante. Si no hay humo y algún olor obvio proveniente del motor, lo más probable es que no esté dañado. Según mi experiencia, puedo decir que los motores de corriente continua a escala hobby comenzarán a degradarse a temperaturas superiores a los 100 ° C. Y definitivamente notarás tales temperaturas
EDITAR:
Pensé en esto otra vez y podría tener una idea de la que tu colega podría haber estado hablando. Hay un tipo especial de motor de corriente alterna. Estos son motores síncronos no excitados. Básicamente están construidos para la autodestrucción. Si los enciendes, comenzarán a acelerar hasta que se desmonten. Pero si coloca una carga pesada sobre ellos, no pueden alcanzar este estado, solo por el gran momento que tienen que aplicar a la carga. Para que pueda usarlos con fines razonables. De todos modos, definitivamente no tiene un motor como este en su aplicación.
fuente
Lo que está describiendo se llama control de bucle abierto, y para hacer esto necesita dos motores que sean exactamente iguales, dos ruedas exactamente iguales, el centro de gravedad del robot para estar en el centro entre las ruedas, un circuito eléctrico simétrico perfecto, y finalmente una superficie nivelada uniforme perfecta para correr.
Para lograr esto, normalmente ordena decenas o cientos de cada parte, y luego realiza pruebas significativas para encontrar dos motores que sean los más similares entre sí en términos de potencia y velocidad frente a voltaje y PWM. Haga lo mismo para las ruedas, los controladores del motor y otras partes.
Este proceso se llama binning: después de estas pruebas, los clasifica según su capacidad o características. Se considera mucho más costoso, tanto en tiempo como en recursos, hacerlo correctamente que cambiar a un modelo de circuito cerrado, y ni siquiera tiene en cuenta las malas condiciones del suelo.
Sin embargo, es una forma de cumplir sus requisitos sin sensores adicionales.
fuente
Aunque nunca será perfecto, puede haber una forma simple de hacerlo más directo.
Si al 100% -100% el automóvil siempre gira a la izquierda, y al 100% -99% el automóvil siempre gira a la derecha, debería ser capaz de mejorar eso probando valores intermedios.
Comience con 100% -99.5% y continúe con 100% -99.75% o 100% -99.25% dependiendo del resultado. Esto pronto debería converger a una situación en la que irá directamente 'en promedio'.
fuente
Bueno, si el problema no radica en las diferencias en hardware o software para cada rueda, entonces probablemente sea un problema con imperfecciones naturales en la forma en que construyó el robot o en la forma en que se produjeron los motores. Es posible que las conexiones no sean sólidas o que el RPI no genere la misma corriente. Probablemente quieras usar controladores de velocidad. Intenta eso primero.
Si eso no funciona, su fabricante probablemente no hizo motores idénticos y probablemente solo tendrá que calibrar los motores. Podría significar escalar el valor del motor más fuerte para que el 100% de la potencia del motor fuerte coincida con el débil.
fuente
Las ruedas con motores de corriente continua deben estar en la parte delantera. Y rueda coster en la espalda. Luego se moverá en línea recta solo hacia adelante
fuente