¿Cuáles son las diferencias entre estos controladores PWM, específicamente relacionados con la conducción de servos?

0

Adafruit tiene rupturas para 2 controladores PWM diferentes:

Las diferencias específicas que me interesan son las que harían que la primera sea adecuada para los LED y la última también para la servos. La descripción del SPI dice "Diseñado (e ideal) para control LED, esta placa no es buena para conducir servos".

¿Qué causa esa diferencia? ¿Qué debo buscar en las hojas de datos para saber si puedo usar un controlador PWM para controlar los servos?

    
pregunta Shlomo Zippel

2 respuestas

1

TLC5947 tiene una frecuencia de pulso fija: 4096 veces el reloj interno (4MHz) = ~ 1000 Hz. Para un servo, desea una frecuencia de pulso mucho más baja: 30 a 50 Hz.

A partir de esto, hay un segundo problema: cada pulso puede durar como máximo 1 milisegundo. Para un servo, querrá pulsos de 0,5 a 2,5 mS.

Además, las salidas tienen un límite de corriente y un drenaje abierto, lo que significa que necesitará una resistencia de pull-up y la conexión será sospechosa de ruido y puede funcionar mal cuando los cables son largos.

    
respondido por el theamk
2

Los servos RC necesitan una entrada que va a + 5V por un tiempo preciso. Esta longitud de pulso es el comando de posición (1 ms = mover hacia la izquierda, 1,5 ms = moverse hacia el centro, 2 ms = mover hacia la derecha). Luego, la entrada debe ir a 0 V durante un período de tiempo (este período generalmente no importa mucho). Cualquier chip que pueda hacer eso debería funcionar.

Creo que veo 2 razones por las que el TLC5947 no es bueno para los servos:

  1. Si observa "Figura 3. OUT0 a OUT23" en la hoja de datos del TLC5947, puede ver que tiene una salida de "colector abierto". Esto significa que en un estado se conecta a tierra, y en el otro estado simplemente se desconecta de todo. Esto está bien para encender y apagar los LED. Pero los servos requieren una salida lógica "push-pull": en un estado se conecta a tierra, y en el otro estado se conecta a + 5V. Puede usar una resistencia de extracción para lograr este resultado con una salida de "colector abierto", pero ahora está agregando un componente adicional.

  2. No puedo averiguar cuál es la frecuencia del pulso. Es posible que el TLC5947 no ofrezca un control preciso de la duración del pulso, que necesita para los servos como se explicó anteriormente. Aunque podría estar perdiéndolo.

respondido por el Luke

Lea otras preguntas en las etiquetas