Determine si la longitud del pulso del servo está en un rango dado

0

Actualización rápida del servocontrol: los pulsos altos están separados por 20 ms y duran entre 1 ms y 2 ms.

Sé que esto se podría hacer con un microprocesador con mucha facilidad, pero quiero hacerlo sin uno porque la fuente de alimentación se comparte con el motor de la unidad y podrían producirse picos que perturben el procesador. Aparte de eso, el circuito está provisto de + 5V estabilizado.

Necesito un circuito que verifique si la señal servo entrante está en un rango determinado (1,7-1,8 ms), si es así, la salida será Alta, si no lo es, entonces Baja. Idealmente, también mantendría el valor Alto durante aproximadamente 0,5 s después de que los impulsos estén fuera de rango, para garantizar que la salida sea Alta durante un tiempo, incluso si la longitud del impulso cambia rápidamente, sin embargo, eso no es un requisito.

El circuito no tiene que ser súper preciso, ya que solo está destinado a la mejora estética y no a una funcionalidad crucial de ningún tipo.

Además, esta pregunta podría usar una etiqueta relacionada con la longitud, no tengo derecho a crearlas y no encontré ninguna existente.

    
pregunta Mr Redstoner

1 respuesta

0

Si tiene picos que molestarían a un micro, probablemente perturbarán cualquier circuito lógico digital. Tendrás que limpiarlos en cualquier circuito. Su mejor apuesta es probablemente un regulador lineal de una fuente de 5V y reduzca el voltaje a 3.3V. Este espacio libre de 1.7V permitirá que el regulador lineal absorba cualquiera de los picos transitorios y mantenga una salida limpia de 3.3V.

Dicho esto, siempre que uso la lógica me gusta hacerlo programable. De esa manera, en caso de que cometa un error, es solo una solución en el programa. Puede obtener tarjetas de evaluación para diferentes chips lógicos programables que probablemente tengan un regulador lineal como parte de la tarjeta. No mencionó si se trató de una sola vez o si lo quiere para cualquier tipo de producción en masa: eso impulsará la solución.

Si se trata de una sola vez, Lattice hace un tablero de evaluación de $ 35 que está en stock en Digi-key. Tendrías que aprender su GUI & cómo programar el chip, pero al final puede ser más fácil que conectar varios contadores, relojes, cierres y comparadores. Aquí hay un enlace a eso: enlace

Si prefieres seguir la ruta de la lógica difícil, se vuelve más difícil. Necesitará un reloj de baja frecuencia (¿100kHz?) Que ataría a una entrada de reloj en un contador. Entonces su señal PWM se vincula al pin de habilitación de conteo. Básicamente, cuando su señal PWM se pone alta, usted comienza a contar y luego, cuando baja, se detiene. Este valor enclavado se alimenta a un comparador, y si cae en el rango correcto, usted envía esa señal a un LED u otra lógica de flujo descendente. Por supuesto, es más complicado que esto, porque también tiene que restablecer el contador después de que su valor de conteo se trabe. Muchos detalles pequeños por resolver, por lo que prefiero la lógica programable.

Espero que esto te ayude, quizás si nos dejas saber con qué te sientes más cómodo (lógica discreta frente a programable) podemos ponerte en un buen camino.

    
respondido por el Mike Barber

Lea otras preguntas en las etiquetas