El servo no se detiene en una posición estable

3

Actualmente estoy jugando con el servo HS-485HB , y noté que muy frecuentemente el servo no se detendrá en una posición de "descanso" después de que deje de moverse, incluso cuando las fuerzas externas aplicadas sean pequeñas. En su lugar, se detiene en una posición aproximadamente correcta y continúa "zumbando", mientras que extrae más corriente de lo que debería (~ 30 mA). Si toco suavemente la bocina del servo con mi dedo, se asienta en la posición de reposo, el ruido se detiene y la corriente baja a aproximadamente 7 mA, que es lo que estoy buscando.

Aquí hay un video que demuestra el problema: enlace

¿Cuáles son las posibles razones de este comportamiento?

EDITAR: actué en una corazonada y agregué un condensador de 570uF en paralelo con GND y + 5V del servo. ¡Esto parece haber resuelto el problema! Y tenía que ser tan grande también. Por ejemplo, el uso de un solo 470uF ayudó a que el servomotor se estacionara correctamente solo la mitad del tiempo.

Todavía no sé por qué funcionó, por lo que se agradecería una explicación.

    
pregunta Val Blant

2 respuestas

9

La razón por la que la adición de un capacitor ayuda es porque cuando el motor de CC que realmente impulsa el servo se inicia o se detiene, inyecta algo de ruido en la fuente de alimentación (+ 5V). Esto hace que la parte del sensor de su servo lea un valor ligeramente diferente para la posición del actuador, ya que el sensor es solo un potenciómetro conectado entre +5 y GND con el limpiaparabrisas en el centro que establece un voltaje debido a la división de voltaje.

Considere, por ejemplo, que desea que el servo esté orientado "a mitad de camino". Si la tensión corresponde exactamente a la posición del servo, la electrónica servo compara la tensión real a la mitad entre +5 y GND (2.5V), girando el motor para reducir la tensión y, por lo tanto, la diferencia de posición entre las posiciones real y objetivo / tensiones Sin embargo, supongamos que al encender el motor, el voltaje de la potencia de + 5V cae ligeramente. Por lo tanto, el voltaje que se lee es ligeramente más bajo de lo que se le debe dar a la posición del actuador. Esto hace que (por ejemplo) el motor se apague prematuramente. Sin embargo, cuando lo hace, el voltaje sube de nuevo a + 5V, y por lo tanto el servo supone que no está lo suficientemente cerca, y vuelve a encender el motor, pero esto reduce el voltaje de la alimentación, por lo que el ciclo continúa. Esto crea una ruta de retroalimentación interna que causa que el servo vibre o se mueva.

Añadir un condensador cerca del servo crea un filtro de paso bajo que reduce este ruido en el riel de alimentación, lo que le permite permanecer a un voltaje constante independientemente de que el motor se encienda y apague.

    
respondido por el Zuofu
2

Eso se llama "caza" en la automatización; A veces sucede con los servos. En los casos en que el circuito de retroalimentación se extiende fuera del servo (detección de posición en el extremo más alejado del mecanismo), a menudo se debe a que el software de control no tiene en cuenta la inercia suficiente, por lo que el servo supera continuamente la meta y el amp; Intenta corregir, de nuevo sobrepasando.

En su caso, sin embargo, el bucle de retroalimentación está completamente dentro del servo. Y así el software no tiene la culpa. En cambio, ese servo tiene un pequeño potenciómetro en su interior para detectar el ángulo del actuador del servo. O bien ese potenciómetro está un poco sucio (y la limpieza se encargará del problema) o su conexión a la etapa final del actuador no es tan estricta como podría ser.

    
respondido por el TDHofstetter

Lea otras preguntas en las etiquetas