¿La mejor interfaz para leer la señal de voltaje en la PC?

2

Tengo un dispositivo que genera un pulso de 6.2 vdc (de 0 vdc) periódicamente y me gustaría almacenar el tiempo entre pulsos con resolución de microsegundos. No me importa cuál es la longitud de la señal, solo necesito registrar la hora en que la señal se pone alta. ¿Existe una interfaz OTS que pueda usar para esto o alguien puede sugerir un buen método para capturar estos datos, Arduino, etc.? TIA.

    
pregunta Jim

1 respuesta

3

Un problema al tratar de medir los pulsos con una precisión de microsegundos directamente a través de USB es que habrá retrasos en la pila USB y que ningún sistema operativo de escritorio popular se encuentre en tiempo real. Aparte de la latencia, los retrasos no serán constantes, así que también introducirás fluctuaciones en las mediciones.

Un mejor enfoque sería un microcontrolador que pueda registrar las marcas de hora internamente y luego enviarlas a través del puerto USB. Hay algunas formas de hacerlo y se podría hacer con una micro de 8 bits y alguna programación inteligente, pero se complica por el hecho de que la mayoría solo tiene temporizadores de 16 bits y velocidades de reloj de aproximadamente 20MHz. Para un proyecto único, recomiendo mirar algo de 32 bits como un ARM.

No he usado uno, pero el Arduino Due es un ejemplo y las tablas Arduino en general tienden a tener Un montón de código de ejemplo y tutoriales flotando alrededor. La biblioteca contiene una función micros () que devuelve la cantidad de microsegundos que el programa ha estado ejecutando para que pueda registrar el delta entre Valores (aunque tenga en cuenta que se envuelve). Para detectar el límite, puede utilizar la función attachInterrupt () para llamar a una rutina de servicio de interrupción en el flanco ascendente de la señal.

En el lado de la interfaz, puede conectarse a cualquiera de los pines de E / S listados como una interrupción externa. La placa funciona a 3.3 V, por lo que es importante no aplicar un voltaje más alto para evitar daños. En su caso, un par de resistencias de 10K configuradas como divisor de voltaje daría 3.1V, lo cual es suficiente para ser leído como un valor alto y le brinda cierto margen de seguridad para las tolerancias.

    
respondido por el PeterJ

Lea otras preguntas en las etiquetas