Cómo generar ondas sinusoidales duales basadas en PWM

Por Krupa Bhavsar Ingeniero de aplicaciones, Dialog Semiconductor

Las ondas sinusoidales son ondas continuas que describen una oscilación periódica suave. Estas ondas se utilizan generalmente en el procesamiento de señales y en los campos de la ingeniería.

En este artículo, se generan ondas sinusoidales dobles con polaridad opuesta, como se muestra en la figura 1, sin “pasos” de PWM gruesos. Para generar ondas sinusoidales se utiliza una macrocélula PWM. La macrocélula PWM tiene una tabla preprogramada con valores de Ciclo de Trabajo PWM para cada “paso” de la onda sinusoidal.

Figura 1. Ondas sinusoidales con polaridad opuesta

Este proyecto se divide en tres secciones. La sección Generación de frecuencia de reloj describe cálculos para generar una nueva frecuencia de onda sinusoidal deseada. En la sección HV PAK, se muestra y explica el diseño del circuito. Finalmente, la sección Configuración de prueba y expansión futura proporciona detalles adicionales sobre las condiciones de prueba y otras posibilidades que tiene este proyecto.

Generación de frecuencia

La generación de la onda sinusoidal se divide en 2 partes. Los valores de Duty Cycle preprogramados de una parte de la onda se almacenan en el archivo Reg de la macrocélula PWM y aumentan después de la llegada de cada reloj. Cuando el número de relojes es igual al número de bits en el archivo Reg, la entrada Arriba/Abajo del estado de la macrocelda PWM cambia y el archivo Reg comienza a sincronizarse en la dirección opuesta.

La frecuencia del reloj de nueva generación depende de la frecuencia de la onda sinusoidal. El número de períodos PWM necesarios para una frecuencia de onda sinusoidal. Ecuación 1

Donde, – frecuencia de onda sinusoidal deseada, – número de bits preprogramados, por defecto es 16.

Proyecto HVPAK

En este proyecto, utilizamos el circuito GreenPAK. ™ para ilustrar cómo se puede construir el generador de onda sinusoidal, específicamente SLG47105 GreenPAK de alto voltaje (HVPAK). El archivo de diseño de circuito completo creado en el software GreenPAK Designer (disponible de forma gratuita) se puede encontrar aquí.

La figura 2 muestra el proyecto. Este diseño requiere solo una entrada externa, es decir, entrada EN. En este proyecto, la macrocélula PWM0 está configurada como un generador controlado por frecuencia que genera una señal PWM para cada parte de una onda sinusoidal. Las salidas de la macrocélula PWM0 se conectan al HV OUT CTRL0 que luego se conecta a los filtros externos para obtener ondas sinusoidales dobles con polaridad inversa.

En este proyecto, el proyecto HVPAK está configurado para generar una onda sinusoidal de 1 kHz.

CNT0/DLY0/FSM0 está configurado como contador de reinicio. El período de salida CNT0/DLY0/FSM0 determina un período de cada paso del archivo Reg y la frecuencia de la onda sinusoidal de salida (1).

Según (1) para generar una frecuencia de onda sinusoidal de salida de aproximadamente 1 kHz, la frecuencia de salida CNT0/DLY0/FSM0 debe ser igual a 31,25 kHz o el período de salida 32us.

La dirección PWM cambia cada período de reloj de 16 segundos. CNT1/DLY1 cuenta 16 períodos de reloj de la señal de entrada. El DFF6 está configurado como un flip-flop de palanca que cambia la dirección de la macrocélula PWM.

La macrocélula HV OUT CTRL0 se configura en configuración de control en modo Medio Puente. El PWM0 OUT+ está conectado a IN0 y la salida OUT- está conectada a IN1. Las entradas OE0 y OE1 están conectadas a POR. Las entradas de suspensión se utilizan para desactivar HV OUT CTRL0 cuando la señal EN está en estado Bajo.

Se requiere un par de filtros RC externos para suavizar las señales PWM y recibir ondas sinusoidales sin ruido.

El flip-flop DFF3 y el LUT1 de 2 bits se utilizan para omitir la primera mitad del período después de que se inicia el generador. La onda sinusoidal del primer canal comienza al 100% del ciclo de trabajo mientras el filtro RC de salida está descargado. En este caso, la mitad del primer período de la onda sinusoidal del canal 1 está completamente distorsionada.

Por lo tanto, para generar una onda sinusoidal de una frecuencia deseada utilizando una frecuencia de entrada deseada, el diseñador primero calcula los parámetros necesarios para modificar las macroceldas como se describe en la sección Generación de frecuencia de reloj, y luego modifica la configuración de las macroceldas PWM y CNT como se describe anteriormente.

Configuración de prueba y futura expansión.

Este proyecto se prueba utilizando filtros RC externos y un botón. El pulsador está conectado a la entrada EN y cada filtro RC está conectado a las salidas HV de la macrocelda HV OUT CTRL0, como se muestra en la Figura 3. Como se muestra en la Figura 4, se generan aproximaciones de onda sinusoidal doble con polaridad opuesta cuando el EN la entrada es ALTA.

Figura 3. Configuración de prueba

Canal 1 (línea amarilla/arriba) – Pin #2 (EN)

Canal 2 (cian/segunda línea): salida de onda sinusoidal en el pin n.º 7 (TP1)

Canal 3 (magenta/3.ª línea): salida de onda sinusoidal en el pin n.º 8 (TP2)

Figura 4. Salidas de onda sinusoidal

Las posibilidades futuras de este proyecto se pueden ampliar para generar ondas sinusoidales a través de una MCU habilitada para I2C en lugar de un botón, cambiar la frecuencia de la onda sinusoidal y también incluir funciones de protección como límite de corriente/corriente constante usando el comparador de detección de corriente y bloqueo de subtensión (UVLO). . Este proyecto también se puede ampliar para generar ondas sinusoidales duales adicionales utilizando la macrocélula HV OUT CTRL 1.

Conclusión

El diseño HVPAK descrito en este artículo genera dos aproximaciones de onda sinusoidal de 1 kHz. El diseño es fácil de usar, minimiza costos, ahorra espacio en la placa y cantidad de componentes.

Además, el circuito que utilizamos es muy flexible, fácil de probar y puede adaptarse a cambios de diseño de último momento. Una vez modificado el diseño, se puede programar un nuevo archivo de diseño en el chip y soldarlo nuevamente a la placa. También proporciona seguridad al proyecto al bloquear el archivo del proyecto para limitar la visibilidad. Al utilizar este diseño, el usuario puede generar ondas sinusoidales con la frecuencia deseada utilizando macrocélulas PWM y una sola entrada.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.