¿Cambiar la frecuencia PWM en arduino afecta la comunicación SPI e I2C y ayuda a controlar el motor de CC?

2

Estoy usando un protector de motor basado en L293D para controlar dos motores de CC de Arduino Mega 2560. Yo uso 5 y 6 pines PWM para ajustar la velocidad de cada motor. Tengo dos preguntas:

  1. ¿El aumento de la frecuencia de PWM (de 500Hz por defecto a 31KHz máximo) hará que los motores sean más sensibles? Con la frecuencia predeterminada (aparte del ruido), los motores funcionan por encima del nivel de 130-140 PWM. Por debajo de 130 no están girando, solo emitiendo el sonido "BEEP". También hay poca diferencia entre el nivel 130 y 255. ¿El aumento de la frecuencia del pulso los hará más sensibles, por lo que podría ejecutarlos a un nivel similar a 32 (1/8 de velocidad máxima)?

  2. Si es así: ¿Se cambia el divisor en timer0 (como se describe aquí enlace y aquí enlace ) ¿afectará a la interfaz SPI y I2C? ¿Afectará (y cómo) a la función pulseIn? (Sé que afectará la función de retardo, pero creo que tendré que volver a escalar el argumento de la función).

pregunta PanJanek

1 respuesta

1

1) 31KHz es una frecuencia PWM mucho más razonable que 500Hz. Los motores actuarán como un filtro de paso bajo y generalmente le darán el equivalente en CC de su PWM, pero con PWM de muy baja frecuencia que se vuelven arriesgados, como ha visto. En general, debe aumentar la frecuencia del PWM por encima del ancho de banda del motor; de lo contrario, verá una onda cuadrada en lugar de un voltaje de CC. 31KHz está justo en el rango de la mayoría de los controladores de motor que he visto. Por lo general, lo desea alto pero no demasiado alto (el ruido de HF puede acoplarse a otras partes del circuito, etc.). Parece que estás en un buen rango con 31KHz.

2) No debería afectar esas tasas de bits. Los periféricos deben tener sus propios divisores y escaladores y deben ser alejados del reloj principal y no de un temporizador periférico. Sin embargo, no puedo hablar con la función pulseIn.

    
respondido por el AngryEE

Lea otras preguntas en las etiquetas