Servo - Resolución PWM

0

Estoy intentando crear una función de servoaccionamiento en un microcontrolador ATMEL sin usar las funciones PWM incorporadas. Básicamente solo con el temporizador ISR.

Mi pregunta es ... ¿cuál es la resolución general para los servos Hitec (o Futaba)? ¿Son 10 grados, 5 grados, < 1 grado? ¿Cuál sería un objetivo superior realista para la resolución de mi temporizador, para que sea robusto para la mayoría de los servos?

Suponiendo un servo de rotación de 180 grados (1.25ms para 0, 1.5ms a 90 y 1.75ms a 180), tendría 500us para 180 grados, o 2.779us por grado a 1 grado de resolución. Para un reloj de 20MHz, tendría 50 ns por ciclo de reloj o 55.58 ciclos de reloj por grado de resolución.

Esto sería una gran carga si los procesos periféricos se estuvieran ejecutando y me pregunto si debo aumentar la velocidad de la CPU o si la resolución es incluso adecuada (demasiado alta o baja).

Para las aplicaciones, esto es bastante abierto, ya que estoy intentando construir una herramienta para una gran variedad de proyectos de robótica abierta, pero diría que debería ser comparable al Lynx Motion SSC-32 ( enlace ).

    
pregunta SpaceCowboyMDK

2 respuestas

1

Utilicé micro servos y su resolución fue entre 1 y 2 grados. Cuando los pisé en pasos de 1 grado, no todos los pasos generaron movimiento, pero sí lo hicieron los pasos de 2 grados.

    
respondido por el Szidor
-1

Los servomandos PCM con los que me he topado han utilizado una resolución de 10 bits (1 parte en 1024), ya que son "mucho mejores" que la resolución mecánica de cualquier servo en el que puedan usarse.

Monte un espejo en el eje de su servo, y use un lápiz láser para investigar la repetibilidad con un juego de su servo (o busque las especificaciones del fabricante (mejor aún haga ambas)). Dudo que se desempeñe mejor que 1 grado.

Una vez que la resolución de tu unidad sea unas veces mejor que la del servo, puedes considerarlo perfecto.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas