ADC muestrea media frecuencia

1

Estoy usando un dsPIC33F (Microchip) para muestrear una señal de 555 temporizadores. He intentado formas de señal cuadradas, triangulares y "sinusoidales", pero siempre tengo el mismo problema: el ADC muestrea la forma de onda correctamente, pero el resultado es siempre la mitad de la frecuencia esperada.

Por ejemplo, mi entrada es 440Hz, y cuando grafico lo que el ADC escribe en el búfer, obtengo:

Sinlaslíneases:

En el osciloscopio lo leí como 440Hz. Mi frecuencia de muestreo es de 8 kHz (que verifiqué con el osciloscopio al alternar un pin), y al cambiarlo, los valores muestreados cambian para reflejar eso, así que estoy casi seguro de que estoy usando el temporizador correcto para activar el ADC. Como cada punto representa 1/8000 = 0,000125s, los gráficos anteriores muestran una forma de onda con un período de 36 * .000125 = 0.0045, o 222Hz.

Siento que el tiempo de conversión no debería tener ningún efecto, siempre que sea más corto que 0.000125s. Estoy seguro de que lo es, y he intentado diferentes tiempos de conversión sin ningún cambio. Sé que no es la forma más eficiente de hacer las cosas, pero para comenzar, también convierto una muestra a la vez antes de activar una interrupción y escribir en el búfer. No estoy seguro de si eso importaría.

Si alguien tiene alguna idea, te lo agradecería.

    
pregunta MrUser

1 respuesta

3

Cuando alternas un pin a una cierta frecuencia, la forma de onda resultante tendrá una frecuencia a la mitad de la velocidad de alternancia. Entonces, si su forma de onda de salida era una onda cuadrada de 8 kHz, entonces su frecuencia de muestreo de ADC es en realidad de 16 kHz, lo que explica el factor de error 2.

    
respondido por el Justin

Lea otras preguntas en las etiquetas