Generador PWM de alta velocidad (30 KHz) de 10 bits

2

Estoy buscando una manera de generar una señal PWM de alta velocidad en un IC de controlador de puerta de entrada de alta impedancia. Esto se usaría para reemplazar un generador de forma de onda de banco de laboratorio. Preferiblemente usaría algo como un Arduino, así que también puedo usar el ADC y hacer mis comentarios digitalmente. Desafortunadamente, Arduino no tiene esa combinación de frecuencia y resolución.

La siguiente mejor opción sería un controlador PWM que se pueda controlar con algo como I2C para que yo pueda controlarlo con algo como un Arduino.

He mirado alto y bajo, pero hasta ahora estoy golpeando. Necesito al menos 10 bits de resolución porque mi ciclo de trabajo es bajo (3-5%) y es relativamente sensible a pequeños cambios.

    
pregunta Brett Prudhom

4 respuestas

1

Ya que el Dueño de Arduino se mencionó anteriormente (y no puedo hacer comentarios todavía), lo mencionaré aquí.

En Arduino Due, puede usar el módulo de comparación para PWM, por ejemplo. Al cambiar el "TOP" (lo que el temporizador cuenta hasta - esto establece la frecuencia) usando el registro RC en el chip AT91SAM, puede ajustar la frecuencia (y la resolución). Para obtener 30 kHz, terminas teniendo una resolución de más de 10 bits (con un prescaler 1: 1).

Veo que también hay un bloque PWM separado en el chip. No he jugado con eso, pero la hoja de datos debería revelar más.

    
respondido por el Tahmid
3

Varios microcontroladores pueden hacer esto. Desea PWM de 30 kHz con 10 bits de resolución de ciclo de trabajo. Eso significa que el generador PWM necesita un reloj de (30 kHz) (1023) = 30.7 MHz. Una serie EP dsPIC 33 o PIC 24 puede ejecutarse y sincronizar sus generadores pwm, casi al doble de esa frecuencia. También hay algunos generadores PWM de "alta velocidad" disponibles en estas partes que tienen su propio oscilador y PLL, y ejecutan el PWM a aproximadamente 1 GHz.

Lo que estás pidiendo realmente no es tan exótico.

    
respondido por el Olin Lathrop
1

No es la solución más elegante, pero los controladores LED de sumidero actuales son una opción si necesita un chip que ofrezca una salida PWM sin terminar con muchos canales. Simplemente puedes usar una resistencia de pull-up para elevarla si decides hacer esto.

    
respondido por el Bart Plovie
0

Como se señaló anteriormente, hay varios micros que pueden hacer esto, por ejemplo. la mayoría de las ARM. Tienden a tener también algunos ADCs a bordo y algunos temporizadores de alta resolución que se ejecutarán a decenas de MHz.

Sin embargo, si sabe que su ciclo de trabajo siempre es "bajo", entonces en realidad no está usando 10 bits de resolución. Suponiendo que tiene un filtro de salida que convierte el PWM a un voltaje analógico, un PWM de 8 bits le dará una resolución 4 veces más basta que 10 bits en un rango de voltaje fijo ... o la misma resolución en 1/4 del rango de voltaje .

Si su ciclo de trabajo siempre es inferior a 1/4, puede usar un PWM de 8 bits a 8MHz con un filtro y luego reducir la salida 4x usando un opamp, divisor de voltaje o lo que sea. Eso te daría 31250Hz sin necesitar un temporizador más rápido y más amplio.

    
respondido por el William Brodie-Tyrrell

Lea otras preguntas en las etiquetas