Está en la página 1de 27

Rectificación de onda completa monofásica controlada con STM

Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

1. Objetivo General:
Realizar un circuito rectificador de onda completa controlado por PWM para manipular el
Angulo de disparo de dos SRC (tiristores)

1.1 Objetivo Específico:

 Corroborar que al disminuir o aumentar el ángulo de disparo de un SCR la


potencia en la carga puede variar de la misma forma.
 Analizar e implementar correctamente el PWM, para de ese modo conocer el
funcionamiento de su parte como control de disparo

2. Marco teórico:
 PWM
La modulación de ancho de pulso (PWM, por sus siglas en inglés) de una señal es una
técnica que logra producir el efecto de una señal analógica sobre una carga, a partir de la
variación de la frecuencia y ciclo de trabajo de una señal digital. El ciclo de trabajo describe
la cantidad de tiempo que la señal está en un estado lógico alto, como un porcentaje del
tiempo total que esta toma para completar un ciclo completo. La frecuencia determina que
tan rápido se completa un ciclo (por ejemplo: 1000 Hz corresponde a 1000 ciclos en un
segundo), y por consiguiente que tan rápido se cambia entre los estados lógicos alto y bajo.
Al cambiar una señal del estado alto a bajo a una tasa lo suficientemente rápida y con un
cierto ciclo de trabajo, la salida parecerá comportarse como una señal analógica constante
cuanto esta está siendo aplicada a algún dispositivo.
La construcción típica de un circuito PWM se lleva a cabo mediante un comparador con dos
entradas y una salida. Una de las entradas se conecta a un oscilador de onda dientes de
sierra, mientras que la otra queda disponible para la señal moduladora. En la salida la
frecuencia es generalmente igual a la de la señal dientes de sierra y el ciclo de trabajo está
en función de la portadora.

Figura 1, Ciclo Útil variable en un PWM


Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

RECTIFICADOR CONTROLADO DE ONDA COMPLETA

Un Rectificador de onda completa es un circuito empleado para convertir una señal de


corriente alterna de entrada (Vi) en corriente continua de salida (Vo) pulsante. A diferencia
del rectificador de media onda, en este caso, la parte negativa de la señal se convierte en
positiva o bien la parte positiva de la señal se convertirá en negativa, según se necesite una
señal positiva o negativa de corriente continua. Existen dos alternativas, bien empleando
dos diodos o empleando cuatro (puente de Graetz).
RECTIFICADORES CONTROLADOS DE ONDA COMPLETA
Un método flexible para controlar la salida de un rectificado de onda completa es sustituir
los diodos por conmutadores controlados, como los SCR. La salida se controla ajustado el
ángulo de disparo de cada SCR, obteniéndose una tensión de salida ajustable en un rango
limitado.
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

Figura 1, (a) rectificador controlado de onda completa en puente, (b) Rectificador


controlado en onda completa con un transformador de Tap Central, (c)Salida para una
carga resistiva.

En la figura 1 podemos observar 2 rectificadores controlados de onda completa. En el


rectificador en puente, los SCR S1 y S2 se polarizan en directa cuando la señal del
generador es positiva, pero no conducirán gasta que se apliquen las señales de puerta. De
la misma manera S3 y S4 se polarizan en directa cuando la señal del generado se haga
negativa, pero no conducirán hasta que no reciban señales de puerta. En el rectificador
transformador con toma central, S1 esta polarizado en directa cuando Vs es positiva y S2
esta polarizado en directa cuando Vs es negativa, peri no conducirán hasta que no reciban
una señal de puerta .El ángulo de disparo α es el intervalo angular entre la polarización
directa del SCR y la aplicación de la señal de puerta. Si el ángulo de disparo es cero, los
rectificadores se comportan exactamente como rectificadores no controlados con diodos.

• ANALISIS CUALITATIVO
El modulador por ancho de pulso consta de 3 partes fundamentales las cuales se pueden
implementar de diferentes formas y empleando diferentes métodos, la primera etapa
rectifica la señal que se va enviar al microcontrolador, en la siguiente por medio un circuito
se detecta el cruce por cero y se envía esta señal a un microcontrolador que la procesara,
esta parte es muy importante ya que sincroniza la red con el modulador, esta se digitalizarla
y de acuerdo a los cruces por cero, se genera la señal modulada que saldrá por uno de los
periféricos de salida del micro y este se podrá ingresar a la etapa posterior de potencia

Figura 2. Señales en cada una de las etapas del PWM

Como se puede observar la señal de entrada esta sincronizada con la cuadrada generada
en el PWM, esta sincronización se puede hacer de muchas formas, unas más complejas
que otras y de esta misma manera unas consumirán más potencia, y la señal final va a
tener una amplitud igual a la fuente con la que se esté alimentando el amplificador
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

comparador y un ancho de pulso variable dependiendo de la resistencia variable o voltaje


variable ingresado, pero siempre tendrá un mismo periodo igual al de la señal de entrada.

 CIRCUITOS DE DISPARO DE TIRISTORES PARA RECTIFICADORES


CONTROLADOS.
El circuito de disparo o excitación de compuerta de los tiristores, es una parte integral del
convertidor de potencia. La salida de un convertidor, que depende de la forma en que el
circuito de disparo excita a los dispositivos de conmutación (tiristores), es una función
directa del proceso de cómo se desarrolla la conmutación. Podemos decir entonces que los
circuitos de disparo, son elementos claves para obtener la salida deseada y cumplir con los
objetivos del “sistema de control”, de cualquier convertidor de energía eléctrica. El diseño
de un circuito excitador, requiere el conocimiento de las características eléctricas de
compuerta del tiristor específico, que se va a utilizar en el circuito principal de conmutación.
Para convertidores, donde los requisitos del control no son exigentes, puede resultar
conveniente diseñarlo con circuitos discretos. En aquellos convertidores donde se necesita
la activación de compuerta con control de avance, alta velocidad, alta eficiencia y que
además sean compactos, los circuitos integrados para activación de compuerta que se
disponen comercialmente, son más conveniente. Las partes componentes de un circuito de
disparo para tiristores usados en los rectificadores controlados por fase, a frecuencia
industrial, son los siguientes: El circuito sincronizador, el circuito base de tiempo para
retrasar el disparo, el circuito conformador del pulso, el circuito amplificador del pulso, el
circuito aislador y finalmente el circuito de protección de la compuerta del tiristor.
Circuito sincronizador:
Este circuito, se encarga de iniciar la base de tiempo en sincronismo con la frecuencia de
red, de manera tal de retrasar el mismo ángulo (respecto al cruce por cero de la tensión de
red), el pulso de disparo, en todos los semiciclos.

Entrada señal de control:


Esta señal es la que determina el retraso del ángulo de disparo, señal generada en forma
manual o a través de un sistema realimentado. Para este último caso, la señal se genera
por la interacción de la señal de referencia, la señal realimentada y el algoritmo de control.

Circuito base de tiempo:


En los circuitos analógicos, la base de tiempo se genera por medio de un circuito tipo RC,
o sea a través de la carga de un condensador, con una constante de tiempo τ = CR., hasta
una tensión que genera un pulso de disparo. En los sistemas programables, la base de
tiempo se genera por programación o por medio de un temporizador interno que se carga
también por programación.

Generación de los pulsos de disparo:


Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

Para la generación de los pulsos, se disponen de muchas variantes de circuitos, con


aplicación de transistores bipolares o mediante semiconductores específicos, que generan,
cortos pulsos de disparo.

Circuito de aislamiento entre el generador de pulsos y el circuito convertidor:


Fundamentalmente se utilizan dos técnicas. Una es la de utilizar un transformador aislador
de pulsos y la otra un dispositivo semiconductor foto controlado de silicio, también llamado
opto acoplador. Otra técnica utilizada es a través de las fibras ópticas con emisor en el
circuito de disparo y receptor en el circuito de compuerta.
Protección de la compuerta:
Se utilizan circuitos de protección contra disparos por tensiones espurias. Más adelante,
desarrollaremos con más amplitud, estos elementos que componen el circuito de disparo.

Kit de descubrimiento con STM32F407VG


El kit STM32F4DISCOVERY aprovecha las capacidades de los microcontroladores de alto
rendimiento STM32F407, para permitir a los usuarios desarrollar fácilmente aplicaciones
que ofrecen audio.
Incluye una herramienta ST-LINK incrustado depuración, un acelerómetro digital de ST-
MEMS, un micrófono digital, un DAC de audio con controlador integrado de altavoces de
clase D, LEDs, pulsadores y un conector micro-USB OTG AB.
Para ampliar la funcionalidad del kit STM32F4DISCOVERY con conectividad Ethernet,
pantalla LCD y más información, visite la página web www.st.com/stm32f4dis-expansion.
Con la última mejora bordo, el nuevo código de pedido STM32F407G-DISC1 ha sustituido
a la antigua STM32F4DISCOVERY referencia.
Características principales
Microcontrolador STM32F407VGT6 con ARM de 32 bits ® corteza ® -M4 con núcleo de
FPU, 1 Mbyte de memoria flash, memoria RAM de 192 Kbytes en un paquete LQFP100
A bordo ST-LINK / V2 en STM32F4DISCOVERY (Referencia de edad) o ST-LINK / V2-A
en STM32F407G-DISC1 (nuevo código de pedido)
ST-LINK USB con capacidad de re-enumeración y tres interfaces diferentes:
puerto de depuración
puerto COM virtual (con nuevo código de encargo)
almacenamiento masivo (con nuevo código de encargo)
alimentación de la tarjeta: a través del bus USB o desde una tensión externa de
alimentación de 5 V
aplicación externa de energía de suministro: 3 V y 5 V
LIS302DL o LIS3DSH ST MEMS acelerómetro de 3 ejes
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

MP45DT02 ST-MEMS sensor de audio de micrófono digital omnidireccional


DAC de audio con CS43L22 integrado de clase D controlador del altavoz
Ocho LEDs:
LD1 (rojo / verde) para la comunicación USB
LD2 (rojo) de 3,3 V de encendido
Cuatro LED de usuario, LD3 (naranja), LD4 (verde), LD5 (rojo) y LD6 (azul)
2 USB OTG LED LD7 (verde) VBUS y LD8 (rojo) sobrecorriente
Dos pulsadores (usuario y reset)
FS USB OTG con micro-AB conector
cabecera de extensión para todos LQFP100 E / S para la conexión rápida de placa de
prototipo y fácil de sondeo
software libre integral que incluye una variedad de ejemplos, parte del paquete
STM32CubeF4 o STSW-STM32068 utilizar las bibliotecas estándar de legado.

3. DIAGRAMA EN BLOQUES:

Detector de cruce
Alimentación de red Transformador
por cero
AC (120 V – 60 Hz)

PWM Circuito Comparador Circuito integrador

4. Análisis de resultados

4.1 Cálculos del rectificador de media onda controlado:


4.1.1 Valores teóricos:
Saturación BJT
 BJT No 1
𝑉𝑎
𝐼𝐶 =
𝑅
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

15 − 0.7
𝐼𝐵𝑎𝑠𝑒 =
10𝐾Ω
𝐼𝐵𝑎𝑠𝑒 = 1.43 𝑚𝐴
𝑉𝑎 − 𝑉𝐸
𝑅𝑆𝑎𝑡𝑢𝑟𝑎 =
𝐼𝐵𝑎𝑠𝑒
15 − 0.7
𝑅𝑆𝑎𝑡𝑢𝑟𝑎 =
𝐼𝐵𝑎𝑠𝑒

𝑹𝑺𝒂𝒕𝒖𝒓𝒂 = 𝟏𝟎𝑲 𝛀
Para 20 grados:
𝜋 = 8.3 𝑚𝑆
𝑡1 = 20° = 922𝜇𝑆
𝜋
20° ( ) = 0.349𝑟𝑎𝑑
180°
Para 160 grados:
𝜋 = 8.3 𝑚𝑆
𝑡2 = 160° = 7.3 𝑚𝑆
𝜋
160° ( ) = 2.79 𝑟𝑎𝑑
180°

Valor de tensión DC mínimo


1 𝜋
𝑉𝑑𝑐 = ∫ 𝑉𝑚𝑎𝑥𝑠𝑒𝑛(𝑤𝑡)𝑑𝑤
𝜋 0.349
1 𝜋
𝑉𝑑𝑐 = ∫ 179𝑉 𝑠𝑒𝑛(𝑤𝑡 )𝑑𝑤
𝜋 0.349
179𝑉 𝜋
𝑉𝑑𝑐 = − [cos(𝑤𝑡)]
𝜋 0.349
179𝑉
𝑉𝑑𝑐 = − [cos 𝜋 − cos 0.349]
𝜋
179 𝑉
𝑉𝑑𝑐 = − [cos 𝜋 − cos 0.349]
𝜋
𝑉𝑑𝑐 = 110.52𝑉
𝑉𝑑𝑐 2 110.522
𝑃𝑚𝑎𝑥 = = = 21.20𝑊
𝑅 576Ω
Valor de tensión DC máximo
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

1 𝜋
𝑉𝑑𝑐 = ∫ 𝑉𝑚𝑎𝑥𝑠𝑒𝑛(𝑤𝑡)𝑑𝑤
𝜋 2.79
1 𝜋
𝑉𝑑𝑐 = ∫ 179𝑉 𝑠𝑒𝑛(𝑤𝑡 )𝑑𝑤
𝜋 2.79
179𝑉 𝜋
𝑉𝑑𝑐 = − [cos(𝑤𝑡)]
𝜋 2.79
179𝑉
𝑉𝑑𝑐 = − [cos 𝜋 − cos 2.79]
𝜋
179 𝑉
𝑉𝑑𝑐 = − [cos 𝜋 − cos 2.79]
𝜋
𝑉𝑑𝑐 = 3.48 𝑉
𝑉𝑑𝑐 2 3.482
𝑃𝑚𝑖𝑛 = = = 0.0210𝑊
𝑅 576Ω

4.2 Tablas de resultados

Parámetro Valor Calculado Valor Simulado Valor Medido


Valor de tensión DC 110.52𝑉 110.52𝑉
mínima
Valor de tensión DC 3.48 𝑉 3.48 𝑉
máximo
Potencia mínima 0.0210𝑊 0.0210𝑊
sobre la carga
Potencia máxima 21.20𝑊 0.0210𝑊
sobre la carga
Angulo mínimo y 0.349𝑟𝑎𝑑 0.349𝑟𝑎𝑑 0.349𝑟𝑎𝑑
disparo del SCR
Ángulo máximo de 2.79 𝑟𝑎𝑑 2.79 𝑟𝑎𝑑 2.79 𝑟𝑎𝑑
disparo del SCR

4.3 Analisis:
MODIFICACION: Por cuestiones de estabilidad se envia un solo PWM
la doble de la frecuencia
La interrupcion periodica se realiza a una frecuencia de 120Hz ,el
PWM tiene una frecuencia de 60Hz ,por medio de una funcion de lectura
se determina el estado de un pin para sincronizar el PWM con la red
,en la interrupcion se varia el ciclo de trabajo de cada PWM (angulo de
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

disparo) por medio del ADC que captura el nivel de voltaje y lo cuantifica
de 0 a 4096 ya que el la resolucion del conversor es de 12bits.

4.4 Diagrama de flujo


Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

FORMAS DE ONDA:
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

MAIN.C

#include "stm32f4xx_hal.h"
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Private variables ---------------------------------------------------------*/

ADC_HandleTypeDef hadc1;

ADC_HandleTypeDef hadc2;

TIM_HandleTypeDef htim2;

TIM_HandleTypeDef htim3;

TIM_HandleTypeDef htim4;

/* USER CODE BEGIN PV */

/* Private variables ---------------------------------------------------------*/

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/

void SystemClock_Config(void);

void Error_Handler(void);

static void MX_GPIO_Init(void);

static void MX_ADC1_Init(void);

static void MX_ADC2_Init(void);

static void MX_TIM2_Init(void);

static void MX_TIM3_Init(void);

static void MX_TIM4_Init(void);

int valor;

int valor2;

static char band=1;

void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);


Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

/* USER CODE BEGIN PFP */

/* Private function prototypes -----------------------------------------------*/

/* USER CODE END PFP */

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

int main(void)

int Duty;

int ton,toff,toff2;

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/* MCU Configuration----------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */

HAL_Init();

/* Configure the system clock */

SystemClock_Config();

/* Initialize all configured peripherals */

MX_GPIO_Init();
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

MX_ADC1_Init();

MX_ADC2_Init();

MX_TIM2_Init();

MX_TIM3_Init();

MX_TIM4_Init();

/* USER CODE BEGIN 2 */

/* USER CODE END 2 */

/* Infinite loop */

/* USER CODE BEGIN WHILE */

while (1)

HAL_TIM_Base_Start_IT(&htim2);

/* USER CODE END WHILE */

if (band==0)

if(HAL_GPIO_ReadPin(GPIOD,GPIO_PIN_0)==1)

toff=100-valor;

HAL_GPIO_WritePin(GPIOD,GPIO_PIN_1,0);

HAL_Delay(valor);

HAL_GPIO_WritePin(GPIOD,GPIO_PIN_1,1);

HAL_Delay(toff);

band=1;
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

if(HAL_GPIO_ReadPin(GPIOD,GPIO_PIN_2)==1 ||
HAL_GPIO_ReadPin(GPIOD,GPIO_PIN_0)==1)

band=0;

/* USER CODE BEGIN 3 */

/** System Clock Configuration

*/

void SystemClock_Config(void)

RCC_OscInitTypeDef RCC_OscInitStruct;

RCC_ClkInitTypeDef RCC_ClkInitStruct;

__HAL_RCC_PWR_CLK_ENABLE();
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

RCC_OscInitStruct.HSEState = RCC_HSE_ON;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;

RCC_OscInitStruct.PLL.PLLM = 8;

RCC_OscInitStruct.PLL.PLLN = 336;

RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;

RCC_OscInitStruct.PLL.PLLQ = 4;

if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)

Error_Handler();

RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;

RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;

RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;

RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;

RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;

if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)

Error_Handler();

HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/12000);

HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

/* SysTick_IRQn interrupt configuration */

HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);

/* ADC1 init function */

static void MX_ADC1_Init(void)

ADC_ChannelConfTypeDef sConfig;

/**Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of
conversion)

*/

hadc1.Instance = ADC1;

hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;

hadc1.Init.Resolution = ADC_RESOLUTION_12B;

hadc1.Init.ScanConvMode = DISABLE;

hadc1.Init.ContinuousConvMode = DISABLE;

hadc1.Init.DiscontinuousConvMode = DISABLE;

hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;

hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;

hadc1.Init.NbrOfConversion = 1;

hadc1.Init.DMAContinuousRequests = DISABLE;

hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;

if (HAL_ADC_Init(&hadc1) != HAL_OK)

Error_Handler();

}
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

/**Configure for the selected ADC regular channel its corresponding rank in the sequencer
and its sample time.

*/

sConfig.Channel = ADC_CHANNEL_1;

sConfig.Rank = 1;

sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;

if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)

Error_Handler();

/* ADC2 init function */

static void MX_ADC2_Init(void)

ADC_ChannelConfTypeDef sConfig;

/**Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of
conversion)

*/

hadc2.Instance = ADC2;

hadc2.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;

hadc2.Init.Resolution = ADC_RESOLUTION_12B;

hadc2.Init.ScanConvMode = DISABLE;

hadc2.Init.ContinuousConvMode = DISABLE;

hadc2.Init.DiscontinuousConvMode = DISABLE;

hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;

hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

hadc2.Init.NbrOfConversion = 1;

hadc2.Init.DMAContinuousRequests = DISABLE;

hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV;

if (HAL_ADC_Init(&hadc2) != HAL_OK)

Error_Handler();

/**Configure for the selected ADC regular channel its corresponding rank in the sequencer
and its sample time.

*/

sConfig.Channel = ADC_CHANNEL_2;

sConfig.Rank = 1;

sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;

if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)

Error_Handler();

/* TIM2 init function */

static void MX_TIM2_Init(void)

TIM_ClockConfigTypeDef sClockSourceConfig;

TIM_MasterConfigTypeDef sMasterConfig;

htim2.Instance = TIM2;

htim2.Init.Prescaler = 256;
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

htim2.Init.CounterMode = TIM_COUNTERMODE_UP;

htim2.Init.Period = 8;

htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

if (HAL_TIM_Base_Init(&htim2) != HAL_OK)

Error_Handler();

sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;

if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)

Error_Handler();

sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)

Error_Handler();

/* TIM3 init function */

static void MX_TIM3_Init(void)

TIM_MasterConfigTypeDef sMasterConfig;

TIM_OC_InitTypeDef sConfigOC;
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

htim3.Instance = TIM3;

htim3.Init.Prescaler = 0;

htim3.Init.CounterMode = TIM_COUNTERMODE_UP;

htim3.Init.Period = 0;

htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)

Error_Handler();

sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)

Error_Handler();

sConfigOC.OCMode = TIM_OCMODE_PWM1;

sConfigOC.Pulse = 0;

sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)

Error_Handler();

HAL_TIM_MspPostInit(&htim3);

}
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

/* TIM4 init function */

static void MX_TIM4_Init(void)

TIM_MasterConfigTypeDef sMasterConfig;

TIM_OC_InitTypeDef sConfigOC;

htim4.Instance = TIM4;

htim4.Init.Prescaler = 0;

htim4.Init.CounterMode = TIM_COUNTERMODE_UP;

htim4.Init.Period = 0;

htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

if (HAL_TIM_PWM_Init(&htim4) != HAL_OK)

Error_Handler();

sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)

Error_Handler();

sConfigOC.OCMode = TIM_OCMODE_PWM1;

sConfigOC.Pulse = 0;

sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)

{
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

Error_Handler();

HAL_TIM_MspPostInit(&htim4);

/** Configure pins as

* Analog

* Input

* Output

* EVENT_OUT

* EXTI

*/

static void MX_GPIO_Init(void)

GPIO_InitTypeDef GPIO_InitStruct;

/* GPIO Ports Clock Enable */

__HAL_RCC_GPIOH_CLK_ENABLE();

__HAL_RCC_GPIOA_CLK_ENABLE();

__HAL_RCC_GPIOD_CLK_ENABLE();

/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(GPIOD, GPIO_PIN_15|GPIO_PIN_1|GPIO_PIN_3, GPIO_PIN_RESET);

/*Configure GPIO pins : PD15 PD1 PD3 */

GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_1|GPIO_PIN_3;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

GPIO_InitStruct.Pull = GPIO_NOPULL;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;

HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

/*Configure GPIO pins : PD0 PD2 */

GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2;

GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

GPIO_InitStruct.Pull = GPIO_NOPULL;

HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

LED.C

#include "stm32f4xx_hal.h" ///Incluyendo librerias

#include "leds.h"

int cont=0;

int b=1;

//////declaracion de variables

int cont2=0;

extern int valor;

extern int valor2;

extern ADC_HandleTypeDef hadc1;

extern ADC_HandleTypeDef hadc2;

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

HAL_ADC_Start(&hadc1);

HAL_ADC_PollForConversion(&hadc1,100);

valor = HAL_ADC_GetValue(&hadc1)/40.94;

HAL_ADC_Start(&hadc2);
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

HAL_ADC_PollForConversion(&hadc2,100);

valor2 = HAL_ADC_GetValue(&hadc2)/40.94;

cont++;

4. Conclusiones

· Al disparar el SCR en un ángulo de 20 grados se aprovecha alrededor de un 90% de la señal alterna


sobre la carga en cada semiciclo, y cuando se dispara el SCR en un ángulo de 160 grados se aprovecha
alrededor de un 10% de la señal alterna sobre la carga en cada semiciclo.

· El primer diodo de rectificación en el caso de PWM digital actúa como protección del diodo del
transistor.

· El primer flanco que define el Angulo de conducción de los SCR´S es el de subida de la señal
generada del PWM.

· El convertidor de fase controlado es un dispositivo que convierte el voltaje de corriente alterna en


magnitud y frecuencia controlada en un voltaje de corriente directa controlable

· El sincronismo entre la señal de la red y el PWM es de vital importancia para su funcionamiento.

· El rectificador de onda completa es un circuito empleado para convertir una señal de corriente alterna
de entrada (vi) en corriente continua de salida (vo) pulsante

-Para una mejor estabilidad en la carga ,es recomendable usar solamente un PWM al doble de la
frecuencia de la red ( para un puente completo semi controlado) debido a que al se usar dos (uno
desfasado) hay que tener en cuenta que no debe haber variación en el voltaje ni el frecuencia en ninguno
de los dos ,de lo contrario habrá inestabilidad en la carga .
Rectificación de onda completa monofásica controlada con STM
Enrique Sanabria, Juan David Leguizamón, Jorge Eduardo Ramírez

También podría gustarte