PWM regular vs Sigma-Delta aleatorizado (controlador LED)

2

Llegué a un proyecto en el que algunas lámparas LED están siendo controladas con Sigma-Delta PDM aleatorizado. Cada lámpara tiene una MCU y aproximadamente 100 LED blancos fríos y más 100 LED blancos cálidos. El PCB se divide en la parte principal (con los primeros 10 LED, MCU y algunos sensores) y el resto solo LED tontos con controlador actual. La MCU utiliza 4 salidas de PDM: 2 (PDM de luz fría + PDM de luz cálida) utilizadas en la parte principal y las otras 2 en el resto de la placa. Me preguntaba por qué no usar PWM simple? ¿Eso es solo por EMI? Si es así, ¿es posible estimar (magnitud a la medida) qué peor podría ser la EMI utilizando PWM normal con un ancho de pulso constante dentro de un ciclo?

La forma en que lo veo no puede usar frecuencias demasiado bajas con PWM normal porque probablemente vea el parpadeo y tampoco las frecuencias altas para evitar una EMI alta. Pero me preguntaba si todavía puede usar PWM normal con resultados buenos / similares (por lo que es mucho más fácil verificar el resultado con un telescopio más tarde en comparación con pulsos aleatorios, por ejemplo).

Actualizar:

Aquí está la referencia para la hoja de datos que explica el PDM de Delta Sigma al azar:

XMC BCCU

y el PWM normal es el PWM normal que normalmente se encuentra en las MCU, que solo establece la frecuencia y el ciclo de trabajo y obtiene una onda cuadrada regular.

    
pregunta Felipe_Ribas

1 respuesta

2

Hay dos razones principales por las que comúnmente se usa PWM en lugar de algún método de acumulación de errores: contenido de frecuencia más baja conocido y fijo, y que está integrado en casi cualquier microcontrolador.

Con PWM básico que genera un valor fijo, sabe que no hay frecuencias en la salida por debajo de la frecuencia PWM. Esto es importante para filtrarlo. En el ejemplo de la lámpara, puede garantizar fácilmente que ninguno de los cambios será visible.

Con la acumulación de errores, la frecuencia más baja podría ser mucho menor. En la corrección de errores con precisión infinita, el contenido de frecuencia más baja puede ser infinitamente bajo. Esto, por supuesto, hace que sea imposible garantizar que no llegue al rango de frecuencia de señal válido. En el ejemplo de las luces, no se puede garantizar que no haya algún componente en el rango visiblemente detectable, lo que significa que los observadores humanos podrían ver las luces parpadear.

La razón habitual para hacer la acumulación de errores es obtener una mejor precisión. Con PWM, el número de valores de salida posibles es el número de cortes por período de PWM + 1. Por ejemplo, con un período de PWM de 10 µs (frecuencia de 100 kHz) y un tiempo de corte de 500 ns, solo obtiene 21 valores de salida posibles (deber ciclos de 0-20).

En la práctica, la acumulación de errores generalmente utiliza una precisión finita, de manera que la frecuencia de salida más baja está limitada. Por ejemplo, el tramado del período N es una forma común de realizar la acumulación de errores precalculados. Con N cortes por período de PWM y tramado de período M, obtiene MxN + 1 valores totales de salida posibles. Tenga en cuenta que este es el mismo valor que el uso de un segmento MxN por período en primer lugar, lo que significa que el período es M veces más largo.

Dado que el tramado produce el mismo peor caso, y para eso es que debe diseñar los filtros y el resto del sistema, rara vez se usa en lugar de simplemente alargar el período PWM. Las pocas veces que he usado PWM difuso han sido para solucionar las limitaciones de hardware donde no había suficientes fuentes de reloj independientes y el PWM tenía que ejecutarse a una frecuencia más alta porque algo más necesitaba esa frecuencia. El tramado también es más complejo porque debe poder ajustar el ciclo de trabajo en cada período, incluso para valores de salida fijos.

Incluso con una acumulación de errores de precisión infinita, la amplitud de las frecuencias disminuye a medida que las frecuencias disminuyen. Por debajo de alguna frecuencia, la amplitud está por debajo del piso de ruido, lo que de otra manera le importa, o el período es tan largo que de todos modos va a estar ajustando el valor de salida. Usé un sistema como este para controlar una gran cantidad de calentadores resistivos desde un solo micro una vez. El tiempo de corte fue de 250 ms, un tiempo muy "largo" para el micro. En cada segmento, el micro actualizó todos los acumuladores de error, y el resultado decidió para cada calentador si estaría encendido o apagado durante el siguiente segmento de 250 ms. La constante de tiempo de primer orden de los calentadores fue de 10 segundos, y se encontraban dentro de un bucle de retroalimentación que también corría en cada corte, por lo que la pequeña amplitud de baja frecuencia quedó oculta en el ruido en el momento en que llegó a ser lo suficientemente baja como para importar. >     

respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas