Con un servo de rotación continua puedo controlar la dirección y la velocidad del servo, pero también necesito controlar la posición. Sé que no es posible directamente debido a la falta de control de retroalimentación en un servo continuo, pero encontré algunos consejos sobre cómo agregar un codificador para permitirle controlar la posición.
¿Es posible agregar un codificador a un servo continuo para controlar su posición y, de ser así, cómo?
Además, ¿puedo agregar algo para bloquear el movimiento del servo como se muestra en la imagen a continuación o tendría un efecto de detención y dañaría el servo?
Sí, se puede agregar un codificador rotatorio a cualquier motor, incluido un servo que se haya modificado para rotación continua y se use para el control de posición.
Sin embargo, esto es un poco contrario a la intuición, ya que el circuito interno del servo ya proporciona control de posición, utilizando el potenciómetro integrado como sensor giratorio. Parece innecesario desconectar este mecanismo de posicionamiento y luego agregar un sensor o codificador de determinación de posición externo para lograr el mismo resultado.
Sea como fuere, el método habitual para obtener dicho control de posición con un codificador rotatorio implica unir el codificador rotatorio al eje del motor, luego tomar los valores codificados en un microcontrolador, usando un algoritmo PID en el microcontrolador, accionado como un función de esta información de posición, para controlar el voltaje y la polaridad del motor para detener el motor en la posición deseada.
En términos muy simplificados, si la posición detectada del servo, cortesía del codificador rotatorio, está en el sentido de las agujas del reloj hasta la posición deseada, el algoritmo PID rotaría el motor en el sentido contrario a las agujas del reloj hasta que las dos posiciones sean idénticas. Viceversa para la posición detectada siendo en sentido antihorario a la posición deseada. Si algún par externo aleja el eje de la posición de reposo posteriormente, el codificador rotatorio alimenta datos angulares nuevos al código PID, que luego aplica la lógica descrita anteriormente.
Con respecto a la adición de un tope mecánico a un servomotor, este es un enfoque factible en general: el motor consumirá su corriente de bloqueo, que es más alta que la corriente de funcionamiento normal. Sin embargo, debe consultar la hoja de datos del motor en cuestión para verificar cuánto tiempo puede soportar la corriente de parada. No todos los motores pueden hacer frente a un bloqueo constante.
La solución en tal caso puede ser una de las siguientes:
Los únicos servos que "carecen" de movimiento o detección de posición son los servos de hobby baratos. Esos son los peores para usar en cualquier tipo de sistema resistente. No solo leen los comentarios en un arco parcial (no 360 grados), sino que ni siquiera devuelven ningún comentario al comandante.
Puede comprar servos de mayor calidad con codificadores de posición real, sensores de corriente real, controladores PID para control de movimiento, comunicación serial RS-485 en ambos sentidos y mucho más. Esos servos pueden "ir a un punto" o "girar a una velocidad" o hacer cualquier otro tipo de movimiento que desee.
Por ejemplo, estoy poniendo a este tipo en mi proyecto actual:
http://support.robotis.com/en/product/dynamixel/mx_series/mx-64.htm
Todavía es un servo de estilo "hobby", pero bastante capaz y hasta ahora, real
jimmy cluter
david tweed
Anindo Ghosh
jimmy cluter
david tweed