STM32: modos de temporizador

¿Es posible medir la frecuencia de una señal analógica de entrada con el modo de captura de entrada de los temporizadores en STM32F4? Si no, ¿cuál es la alternativa? Gracias de antemano.

¿Cómo se ve su señal analógica en comparación con la señal digital que quiere ver el pin de captura del temporizador?

Respuestas (1)

Introducción

Parece que estás tratando de construir un contador de frecuencia . Puede lograr un dispositivo de este tipo con el módulo de temporizador en un microcontrolador. Tenga en cuenta que tendrá algunas limitaciones en términos de qué tan rápido puede observar una señal.

Procesamiento analógico

Primero deberá acondicionar la señal de entrada. Para saber lo que se requiere, primero necesitaría saber un poco más sobre su señal, pero supondré que está tratando de medir la frecuencia de algo que es básicamente una onda sinusoidal/cuadrada, quizás con alguna compensación de CC. Necesitamos pasar de esta señal analógica general a una onda cuadrada digital que represente los mismos bordes. Podemos hacer eso con el siguiente circuito comparador:

esquemático

simular este circuito : esquema creado con CircuitLab

Configuración del microcontrolador

Configure su microcontrolador para contar hasta que vea un borde ascendente en la salida del comparador. Aumente la frecuencia del temporizador lo más alto posible para lograr la resolución de frecuencia que necesita. También querrá disparar una interrupción en un evento de captura para poder hacer algo con los nuevos datos.

Algoritmo

Cuando se dispara la interrupción, tome el valor en el registro de captura y calcule la frecuencia de la señal de la siguiente manera:

F i norte = F t i metro mi r C o tu norte t

A continuación, es posible que desee promediar varias de estas lecturas.