Contador digital con salida analógica

0

Tengo un proceso que produce un tren de pulso digital desde un codificador rotatorio. Necesito poder detener el proceso una vez que un motor paso a paso se ha movido una distancia determinada. El truco es que necesito configurar manualmente la duración del proceso, probablemente usando un potenciómetro. Entonces, lo que estoy buscando es algo que toma el tren de pulsos digital como una entrada y produce una tensión analógica como salida, el voltaje aumenta con el número de pulsos recibidos. Luego puedo comparar este voltaje de salida con el voltaje en el potenciómetro y detener el proceso cuando coincidan.

Esta parada es secundaria al propósito principal del motor paso a paso, y no es un requisito preciso; el número exacto de pulsos recibidos no es importante. Quiero detener el motor paso a paso si supera la distancia prevista, por lo que un control de potenciómetro es adecuado.

He estado buscando en la web artículos que den una solución a esto, pero no he encontrado ninguno. He visto convertidores de digital a analógico pero no puedo encontrar uno que haga lo que necesito. Básicamente, es un contador digital que produce una salida de voltaje analógico que aumenta con el conteo de entrada.

    
pregunta Steve W

3 respuestas

0

Un integrador analógico parece hacer lo que quieres: -

Unsolopulsopositivoharáquelasalidadelamplificadoroperacionaldisminuyaaunafrecuenciaespecíficay,cuandofinaliceelpulso,elniveldesalidaestaráenunnuevonivelypermaneceráenesenivelhastaquellegueotropulso.

Silapolaridaddelpulsodeentradacambia,lasalidaaumentaráenladirecciónopuesta,porloquesedebetenercuidadoparaasegurarsedequelaentradasea"confiable". También debe elegir cuidadosamente el amplificador operacional y el condensador para evitar que la salida se caiga con el tiempo en ausencia de un pulso.

Si está "recolectando", diga cien pulsos en diez segundos y confíe en la salida como una medida aproximada del número de pulsos que debería estar bien. Si es mucho más tiempo, no estarás bien y te recomendaría una técnica digital.

Si los pulsos tienen una gran variabilidad en su anchura, esto también será problemático porque el circuito "ponderará" los pulsos de mayor duración más que los pulsos más delgados.

Si puedes superar estos problemas, debería funcionar.

También tenga en cuenta que necesita un circuito de reinicio para descargar el condensador cada vez que inicie una nueva "ejecución".

    
respondido por el Andy aka
1

Normalmente, esto se haría al hacer que el potenciómetro sea entrada al procesador (a través de un ADC) y que tome una decisión. Especialmente porque puede aplicar filtros y decisiones un tanto más sofisticados que los que puede realizar fácilmente en el ámbito analógico.

De forma alternativa, para ser más coherente con su idea declarada, puede utilizar un convertidor de digital a analógico (DAC) para convertir un valor en software en un voltaje analógico. Una forma cruda, pero a veces adecuada de DAC es usar un temporizador de hardware en un procesador para generar pulsos de ancho variable (PWM), y luego suavizar esto con un filtro hecho de al menos una resistencia y un condensador, o quizás uno más sofisticado . Una pregunta clave aquí será qué tan suave debe ser la salida, en comparación con cuán ágil necesita que sea para responder a los cambios de valor. Si solo necesita cambiar lentamente, puede hacerse muy suave. Pero hacer una salida que sea suave en reposo pero que cambie rápidamente cuando sea necesario impone exigencias más desafiantes al filtro, y puede ser una razón para usar un DAC "real" en lugar de PWM suavizado.

Su pregunta es bastante corta en detalles, por lo que no será posible una respuesta más específica. E incluso si hubiera más detalles de la aplicación, buscar recomendaciones de partes específicas no es realmente un objetivo permitido de preguntas aquí.

    
respondido por el Chris Stratton
0

Me temo que solo necesita utilizar el enfoque directo para resolver su problema, tal como lo formuló: "contador digital con salida analógica".

Tome un MCU de tamaño mínimo, con el que se sienta cómodo (y tiene un soporte de desarrollo completo), y cuente los impulsos que vienen del codificador. Hay un montón de diseños de referencia / desarrollo listos para usar, algunos son realmente económicos, que servirán para este propósito sin mucha soldadura.

Podría ser solo una entrada de interrupción. Un pulso - una llamada, contador ++. En la misma llamada, simplemente envíe el valor actual de ese contador a un DAC. Podría ser un DAC interno en la MCU o un DAC externo controlado por la interfaz I2C. Deberá obtener el DAC con una resolución suficiente (número de bits) para cubrir su rango de pulsos.

Es probable que un integrador analógico falle debido a fugas impredecibles, por lo que la salida se desviará.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas