Posición servo sin pulso

2

Estoy usando un PIC 16F884 para ejecutar 2 motores y 2 servos. Los motores están utilizando el módulo PWM incorporado, y estoy golpeando PWM para los servos del Temporizador 2.

Con solo un servo controlado, funciona perfectamente, pero cuando agrego un segundo control servo, el tiempo se desactiva debido al número de comandos que se emiten durante el período de interrupción (al menos esto es lo que he visto cuando lo he conectado a un osciloscopio).

Mi pregunta es: ¿Puedo enviar un comando a un servo, esperar hasta que llegue a la posición correcta, luego desactivar el pulso y esperar que se mantenga en posición? Si este es el caso, debería poder controlar ambos servos con 1 temporizador.

Vi una pregunta similar aquí: Will a ¿Servo mantiene su posición sin una señal? sin respuesta definitiva.

    
pregunta Scott Lance

1 respuesta

2

Un tipo específico de servomotor, un servo de enclavamiento , se requiere para mantener la posición después de eliminar la señal de control.

Dependiendo del servo específico en uso (vea las advertencias a continuación), se puede implementar un "servo de cierre del hombre pobre" alternativo:

  • Controle la línea power supply para el servo con un interruptor lateral alto, ya sea un P-MOSFET o para servos de alta potencia, un SSR.
    • No se sugiere la conmutación de lado bajo, ya que desconectar la ruta a tierra puede causar un comportamiento impredecible debido a que la señal de control pierde la referencia a tierra.
  • Después de permitir que el tiempo del servo alcance la posición deseada, desactive la alimentación del servo antes eliminando la señal de control.
  • Para cambiar de posición, inicie la señal de control, luego habilite la alimentación del servo.

Caveats:

  • El servo debe ser de alta relación de reducción / alto par de torsión, para que las fuerzas pequeñas se apliquen al brazo mientras está sin alimentación, no hacen que el brazo gire.
  • No todos los servos pueden tolerar la llegada de una señal de control mientras la alimentación de suministro está ausente. Mientras que algunos sufrirán daños en la electrónica interna (no es muy probable), tengo al menos un servo que intenta encender su motor desde la señal de control, el daño del pin del microcontrolador ergo .

Nota al margen:

Las señales de control del servocontrol no son en realidad PWM, sino una variante, la modulación de pulso duración : La posición del servo no está definida por el ciclo de trabajo de PWM (es decir, ON vs OFF time) sino solo Duración del pulso. Mientras esté en un rango de (típicamente) 40 Hz a 200 Hz, el valor exacto de la velocidad de fotogramas es irrelevante. El servo espera ver un pulso cada tantos ms, esto puede variar dentro de un amplio rango que difiere de servo a servo.

Esto es relevante porque el requisito del OP se puede cumplir generando pulsos consecutivos de las duraciones deseadas para cada servo accionado, con una gran flexibilidad en el tiempo transcurrido entre un pulso para el Servo A y un pulso para el Servo B, por ejemplo . Por lo tanto, los servos serían alimentados con sus pulsos de control al estilo de Robin redondo.

Como lo señaló Dave Tweed en los comentarios, usar el acrónimo PDM puede ser confuso, ya que eso también se aplica a la modulación de densidad de pulso, otra variante de caso especial de PWM.

    
respondido por el Anindo Ghosh

Lea otras preguntas en las etiquetas