¿Cuál es una forma analógica de medir solo el tiempo de encendido de un pulso PPM servo?

1

Los receptores de control de radio de Hobby normalmente emiten un pulso de 1-2 o 0.5-2.5 ms cada 50 milisegundos, y solo importa la duración del pulso alto. Ahora, la mejor manera de descodificar esta señal es probablemente con un microcontrolador. ¿Cuál sería una buena manera de convertir esta señal a un voltaje sin un micro? Una muestra & mantener o rastrear & mantenga el amplificador enganchado en el borde descendente?

    
pregunta joeforker

3 respuestas

2

Utiliza un integrador para obtener el área del pulso. Como todos tienen la misma altura, el área es directamente proporcional al ancho (en el tiempo) y, por lo tanto, su salida de voltaje es directamente proporcional al ancho del pulso.

Sin embargo, tendrías que reiniciar el integrador. Quizás pueda alimentar la salida del integrador a un amplificador S & H disparado en el flanco descendente y luego reiniciar el integrador.

    
respondido por el HL-SDK
2

Puedes hacerlo fácilmente con un integrador y S & H.

Integre un voltaje de referencia fijo durante el tiempo alto, y cuando la salida se vuelva baja, deje de integrar, capture el voltaje de salida con una S & H (retardo para el tiempo de adquisición), luego desconecte el integrador y solo reinicie el integrador con precisión a 0V (o algún otro voltaje conocido).

Figura a 4016 (interruptor analógico cuádruple) y un par de amplificadores operacionales, además de algunas cosas de tiempo (Se podría hacer con 74HC123 o con amplificadores operacionales o puertas CMOS con diodos, resistencias y condensadores, etc.). El tiempo de retención es solo de 50 ms como máximo, por lo que algo como una película de 100 n o un condensador NP0 sería adecuado para las tapas de retención e integración (posiblemente 10 n para la tapa de integración).

Hacer esto con una sola fuente de alimentación es completamente factible, pero involucraría algunas partes más.

En general, el enfoque del microcontrolador probablemente ganará en la mayoría de los casos, aunque solo sea porque la precisión de incluso el reloj "libre" en el microcontrolador sería mejor que la mayoría de las tolerancias RC prácticas que limitarían la precisión del integrador (usted podría necesitar un trimpot para la calibración). En cualquier caso, se requiere una referencia de voltaje (podría ser la fuente de alimentación).

    
respondido por el Spehro Pefhany
1

Podrías usar los mismos trucos que un ADC orientado en pendientes. Inicie un contador contando el pulso y lea el recuento en el flanco descendente. Si el análogo es una necesidad, puede usar un registro de desplazamiento para cambiar el conteo a D / A, o simplemente usar una escala R-2R.

Como alternativa, puede usar el pulso alto para controlar una fuente de corriente constante y usarlo para cargar un capacitor a un voltaje que aumentará linealmente con el tiempo de carga. Probablemente querrá que algunos lógicos / relés / interruptores / tapas mantengan el voltaje en la cuenta hasta la próxima actualización.

Cuando termine con esto, es posible que el aprendizaje de un entorno de microcontrolador de 8 bits sea más barato y más rápido. Incluso si insistes en apegarte a algo como el Arduino, probablemente funcionará mejor a largo plazo

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas