Uso de la interrupción PWM y Timer2 en PIC18F25k50

Fondo

Estoy trabajando en un cargador de batería de plomo-ácido y experimentando con la desulfatación de la batería.

Quiero dibujar el gráfico actual vs. tiempo en la pantalla LCD gráfica y ver:

  • que picos de corriente tengo
  • medir RMS de mi actual si es posible

Espero algo como esto en la entrada ADC:

ingrese la descripción de la imagen aquí

Pregunta

¿Puedo usar la interrupción de Timer2 cuando PWM ya está usando Timer2 en PIC18F25k50?

Quiero usar esa interrupción para "sincronizar" mis medidas de ADC con PWM y captar el pico actual.

Respuestas (1)

  1. No puedo ver ninguna razón por la que no. Es bastante común querer sincronizar con el PWM, y la interrupción del temporizador es la más utilizada.
  2. Eso es un poco más complicado. Puede usar la interrupción del temporizador 2 para disparar una muestra, pero realmente quiere hacer una muestra en bloque comenzando en el tiempo de interrupción, ¿no es así? Desafortunadamente, no parece que ese chip tenga DMA, por lo que realmente sería un caso de usar T2 para iniciar el muestreo, pero controlar el muestreo desde otro temporizador/interrupción.
Me doy cuenta de que será complicado, pero mis pulsos deberían ser similares. Quiero poner un retraso variable en mi interrupción y probar muchos pulsos PWM en diferentes fases/puntos. Creo que eso puede funcionar. Quiero decir, no tengo que probar un pulso PWM muchas veces.
En ese caso, ¿por qué necesita sincronizar? ¿Simplemente ejecute su ADC a una velocidad ligeramente diferente a la del PWM...?
Quiero tener un efecto similar al disparo en el osciloscopio: pulso siempre en el mismo lugar en la pantalla.
Si está muestreando repetidamente sobre la forma de onda PWM para crear un conjunto de muestras para representar la forma de onda, puede usar el contador del temporizador 2 para obtener el número de muestra para guardar, luego simplemente muestra el conjunto de muestras de muestra 0 a 255 o sea ​​cual sea la resolución PWM con la que estés trabajando.