Servo PWM: ¿Por qué un período de 20 ms?

0

Estoy trabajando con controladores ESC que reciben señales PWM que son muy similares a las que controlan un Servomotor estándar, es decir, una señal PWM de 50 Hz (período de 20 ms) con un ciclo de trabajo del 5-10% (1-2) ms a tiempo).

Mi pregunta es ¿por qué los servomotores (y la mayoría de los ESC) usan este protocolo particular para establecer la posición (velocidad para los ESC)? ¿Por qué no elegir una frecuencia más rápida, algo así como 1kHz? ¿Hay alguna razón fundamental para que todos los servomotores hayan estado de acuerdo con esta frecuencia lenta?

Estoy usando un microcontrolador STM32 para enviar la señal de control a los ESC, por lo que puedo enviar algunas señales bastante rápidas y de aspecto loco, pero incluso algo tan simple como un ATTiny85 que opera a 8MHz puede emitir una señal PWM de 1 kHz

    
pregunta George Troulis

4 respuestas

3
  

Puedo enviar algunas señales bastante rápidas y de aspecto loco,

No ayudaría. Envía señales lentas inteligentes .

  

¿Por qué los servomotores ... usan 50 Hz? vbl pulso de ciclo de servicio a 50 Hz de frecuencia PWM

  • es un antiguo estándar

La corriente de sobrecarga depende de la búsqueda de posición rotatoria, la velocidad y la carga del momento del paso. La tasa de L / R de inductancia es mucho más rápida, por lo que no es inductancia.

  • la inercia mecánica extiende el tiempo de búsqueda y la corriente de sobretensión considerablemente hasta 10 veces la carga nominal del motor rotativo o lineal, pero solo por períodos cortos.
  • 20ms es una buena duración corta para servos pequeños, pero tal vez mucho menos para servos de baja masa y mucho más, para servo-cargas pesadas.

Reducir la frecuencia de pasos a 50Hz se reduce;

  • la sobrecarga en el uC para cambiar los comandos de duración del pulso para establecer la posición
  • aumenta la duración de las subidas de tensión para proporcionar un par para buscar y resolver rápidamente
  • permite que el filtro de compensación interno regule la estabilidad de llegada y mejor que el host.
  • 20 ms es un rápido como un servo de pasatiempo puede buscar
    • por lo que no hay ningún beneficio al ejecutar las tasas de búsqueda de PWM más rápido.
  • si desea que el servo sea < 20ms en su lugar, es posible que tenga que modificar el tiempo muerto dentro del servo.
  • si desea que el servo sea inalámbrico FM, < 20 ms puede exceder las bandas laterales de FM limitadas para los canales de Servo y la interferencia de canales adyacentes, de modo que se violan las especificaciones de la FCC en los canales de FM de servo para el control remoto.

: envía búsquedas más cortas cada 20 ms para reducir la sobrecarga en un movimiento robótico largo, por lo que demora más.

  • todo es un intercambio entre el tiempo de búsqueda y la corriente de subida.
    • Esto incluye aceleración máxima y frenado, velocidad máxima, par de búsqueda y tiempo de búsqueda.

simular este circuito : esquema creado usando CircuitLab

Desde principios de la década de 1990 los servos tienen utiliza un ancho de pulso estándar de facto Técnica de modulación para controlar la Posición del eje de salida. Aunque la invención puede haber sido mucho antes. Small Floppy y HDD's utilizaron una interfaz de conteo y dirección de pasos de impulsos en serie para el servo a partir de los 70, que requirió 2 señales y una respuesta de seek_complete.

    
respondido por el Tony EE rocketscientist
6

Es un estándar antiguo y antiguo que precede a los microcontroladores baratos y, de hecho, es anterior a los circuitos integrados de los consumidores.

Los controles remotos por radio proporcionales muy tempranos utilizaron la sincronización basada en transistores no unidos en los arreglos de estilo de oscilador de anillo, y el estándar no ha sido lo suficientemente pobre como para hacer que un reemplazo valga la pena.

Antes del PPM, existía un sistema que usaba modulación de división de frecuencia de banda base que usaba bancos de lengüetas metálicas sintonizadas para separar los tonos modulados en un enlace de radio AM.

    
respondido por el Dan Mills
2

Como lo mencionó Dan Mills, la señal de control de control de pasatiempos de RC estándar data de hace muchos años.

El período de señal de 20 ms (50 Hz) se eligió simplemente porque era un número conveniente que se ajustaba a los requisitos técnicos. Cada canal de control toma un máximo de unos 2 ms. Hay varios canales de control; lo más que he visto es 6 canales que pueden ocupar un máximo de 12 ms a 13 ms. El tiempo restante se utiliza como un impulso de sincronización que sincroniza el decodificador de recepción con el multiplexor del transmisor.

Por lo tanto: la señal del transmisor es una secuencia repetitiva de información del canal (de anchos variables) seguida de un pulso de sincronización que ocupa el tiempo restante en la trama de 20 ms.

Esto permite un decodificador / demultiplexor muy simple en el receptor: un simple registro de desplazamiento. Un "1" digital se desplaza al primer bit (solo el primer bit) del registro de desplazamiento. El borde anterior de cada impulso recibido recorre ese "1" a lo largo del registro de desplazamiento. El ancho del pulso en cada salida del registro de desplazamiento se controla, por lo tanto, cuando se recibe el inicio del siguiente pulso.

El Signetics NE544 es el primer IC que conozco que fue diseñado para controlar los servos de hobby. Todavía tengo los libros de datos de Signetics en papel que brindan información detallada sobre cómo se diseñó y cómo funciona todo el sistema de control de RC. Es muy probable que esa información aún esté disponible en línea.

Al pulsar el "Servetics RC Servo de Signetics" en Google, aparece el manual de construcción de un kit de Servo RC de Ace: Ace Servo Kit Manual que tiene un poco más de detalle.

La conclusión es que la señal de control PWM actual de que el uso de los servomotores de hobbies se diseñó hace mucho tiempo. El hecho de que siga siendo un estándar hasta el día de hoy demuestra que el diseño del protocolo fue lo suficientemente sólido como para seguir siendo un estándar.

Una última cosa a tener en cuenta: la señal servo RC fue principalmente una señal analógica en que el ancho del pulso de cada canal se derivó de los temporizadores monoestables en el transmisor. Los potenciómetros individuales en el transmisor simplemente ajustan el ancho del pulso de salida para ese canal ya que el temporizador de cada canal se activó en secuencia.

La electrónica de bucle cerrado en cada servo también era de naturaleza analógica: el potenciómetro de retroalimentación en el eje de salida del servo controlaba el ancho de pulso de un temporizador monoestable. La electrónica servo simplemente ajusta la posición del potenciómetro de retroalimentación para que coincida con el ancho del pulso del temporizador con el del pulso entrante. A medida que se ajusta el potenciómetro de retroalimentación, también se ajusta la posición del eje de salida.

¡Técnicas ingeniosas y muy bien pensadas!

    
respondido por el Dwayne Reid
0

La respuesta simple es que debido a que la carga es inductiva, la impedancia aumenta con la frecuencia, por lo que para empujar a través de la misma corriente promedio, se necesitan voltajes más altos para conducirla.

    
respondido por el Dirk Bruere

Lea otras preguntas en las etiquetas