desplazamiento de nivel PWM de 3.3V a 5V - microcontrolador ARM

-1

Estoy trabajando con un STM32F0 a 3.3 V. Estoy tratando de conducir un controlador de motor con PWM desde el microcontrolador. El controlador del motor requiere una entrada analógica de entre 0 y 5 V para controlar el ciclo de trabajo del motor.

Tengo el pin de salida del microcontrolador (tolerante a 5 V) configurado como drenaje abierto, alta velocidad, y estoy usando una resistencia pullup de 220 ohmios a 5V. La frecuencia PWM es de aproximadamente 12 kHz.

Cuando mido la salida en el pin del microcontrolador, obtengo 0.5 V cuando el pin tiene un ciclo de trabajo del 0%, y + - 2.9 V cuando el pin tiene el ciclo de trabajo del 100%.

Si uso una resistencia de 2k2, el problema empeora y obtengo aproximadamente 1.8 V en el pin de salida en el ciclo de trabajo del 100%. También intenté conectar el pin directamente a 5 V, sin embargo, cuando hago esto, no se reduce al 0% del ciclo de trabajo, sino que se coloca a 5 V.

Por lo que yo entiendo, esta configuración debería funcionar correctamente. ¿Alguien puede proporcionar alguna sugerencia de por qué esto no me funciona?

    
pregunta makepeace

1 respuesta

2

Suponiendo que sus mediciones son correctas y asumiendo que se toman con el controlador del motor conectado, se comporta como una entrada no lineal similar a un diodo o diodos con unos pocos cientos de ohmios en serie y está cargando fuertemente la salida PWM. Para confirmar esto, conecte la entrada del controlador del motor a 5V con solo una resistencia de 220R y 2.2K (nada más en absoluto , no micro en absoluto) y mida el voltaje de entrada. Si los voltajes son los mismos que usted indica, entonces se confirma. De lo contrario, o bien el PWM no es lo que piensas o algo más es gracioso acerca del micro.

Si esto es así, necesitará un filtro de paso bajo y un búfer de algún tipo.

Esta es una situación plausible si se trata de un controlador de motor barato que funciona con alimentación de red, porque un buen aislamiento es costoso.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas