es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema de PWM rápido en Timet 1 del ATMEGA88PA

Estoy trabajando en un proyecto para un cliente en el que estamos utilizando el chip mencionado en el título. El chip funciona como un controlador de motor de ventilador, estableciendo un ciclo de trabajo de acuerdo con un conteo de tach requerido. Un canal está utilizando el temporizador 0 mientras que otro está utilizando el temporizador 1. El controlador de ventilador en el temporizador 0, que está configurado en modo PWM rápido, funciona perfectamente cada vez de acuerdo con el ciclo de trabajo requerido. En el canal 1, el controlador de ventilador parece funcionar casi todo el tiempo, pero a veces falla en ocurrencias extrañas, también está configurado en modo PWM rápido. Cuando falla, el pin de salida PWM solo puede configurarse en un ciclo de trabajo del cero por ciento o el cien por ciento (o simplemente encendido y apagado) y no aceptará valores intermedios (utilizando el registro ICR para establecer la frecuencia, es decir,

ICR = FRECUENCIA_REQUERIDA / RELOJ_PRINCIPAL_CPU

y OCR1A para establecer el ciclo de trabajo)

OCR1A = (ciclo_de_trabajo_requerido * ICR) / 100

). Hasta ahora, no he tenido este problema en mi banco de pruebas, pero si saco el PCB del producto de regreso a mi escritorio, lo reprogramo y luego lo vuelvo a colocar en el producto, falla consistentemente (pero el PCB sigue funcionando bien en mi escritorio).
La frecuencia del reloj principal está configurada en 8MHz y el MCU está siendo alimentado por 3.3V. Según la hoja de datos, esto está bien y no deberíamos esperar ningún comportamiento extraño. Siento que he agotado todas mis opciones, ya que, además de a veces cuando el controlador se inicia, entra en este estado, pero no es consistente. Solo estoy curioso si otros han experimentado este problema antes.
Siento que esto no puede ser un problema de firmware, debido a la inconsistencia que estoy viendo, pero no estoy seguro de cómo el hardware simplemente no puede generar una señal adecuada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Problema del proyecto embebido con AVR y PWM

    Un experto en TI está trabajando en un proyecto para un cliente que utiliza un chip diseñado para el controlador del motor del ventilador. El chip tiene dos canales, uno que utiliza el temporizador 0 y otro que utiliza el temporizador 1. El controlador del ventilador en el temporizador 0 funciona perfectamente cada vez de acuerdo con un ciclo de trabajo requerido configurado en modo PWM rápido. Sin embargo, el controlador del ventilador en el canal 1, también configurado en modo PWM rápido, a veces no funciona correctamente. Cuando falla, el pin de salida PWM solo se puede establecer en un ciclo de trabajo del cero por ciento o del cien por ciento y no aceptará valores intermedios, aunque el registro ICR esté configurado en la frecuencia requerida y OCR1A esté configurado en el ciclo de trabajo deseado.

    El problema ocurre a veces cuando el controlador se inicia, pero la falla no es constante. El microcontrolador está siendo alimentado con 3.3V, lo cual, según la hoja de datos, no debería causar ningún comportamiento extraño, ya que la frecuencia de reloj principal está configurada en 8MHz. El experto en TI ha intentado varias soluciones, como reprogramar el PCB y verificar el firmware, pero el problema persiste.

    El experto en TI no está seguro si el problema es de hardware o de firmware, ya que la inconsistencia sugiere que el problema puede no estar relacionado con el firmware. El experto está buscando a otras personas que puedan tener experiencia con este problema en particular.

Comments are closed.