Está en la página 1de 27

Rectificacin de onda completa monofsica controlada con STM

Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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 Especfico:

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 terico:
PWM
La modulacin de ancho de pulso (PWM, por sus siglas en ingls) de una seal es una
tcnica que logra producir el efecto de una seal analgica sobre una carga, a partir de la
variacin de la frecuencia y ciclo de trabajo de una seal digital. El ciclo de trabajo describe
la cantidad de tiempo que la seal est en un estado lgico alto, como un porcentaje del
tiempo total que esta toma para completar un ciclo completo. La frecuencia determina que
tan rpido se completa un ciclo (por ejemplo: 1000 Hz corresponde a 1000 ciclos en un
segundo), y por consiguiente que tan rpido se cambia entre los estados lgicos alto y bajo.
Al cambiar una seal del estado alto a bajo a una tasa lo suficientemente rpida y con un
cierto ciclo de trabajo, la salida parecer comportarse como una seal analgica constante
cuanto esta est siendo aplicada a algn dispositivo.
La construccin tpica 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 seal moduladora. En la salida la
frecuencia es generalmente igual a la de la seal dientes de sierra y el ciclo de trabajo est
en funcin de la portadora.

Figura 1, Ciclo til variable en un PWM


Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

RECTIFICADOR CONTROLADO DE ONDA COMPLETA

Un Rectificador de onda completa es un circuito empleado para convertir una seal 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 seal se convierte en
positiva o bien la parte positiva de la seal se convertir en negativa, segn se necesite una
seal 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 mtodo 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, obtenindose una tensin de salida ajustable en un rango
limitado.
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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 seal del
generador es positiva, pero no conducirn gasta que se apliquen las seales de puerta. De
la misma manera S3 y S4 se polarizan en directa cuando la seal del generado se haga
negativa, pero no conducirn hasta que no reciban seales 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 conducirn hasta que no reciban
una seal de puerta .El ngulo de disparo es el intervalo angular entre la polarizacin
directa del SCR y la aplicacin de la seal 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 mtodos, la primera etapa
rectifica la seal que se va enviar al microcontrolador, en la siguiente por medio un circuito
se detecta el cruce por cero y se enva esta seal 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 seal modulada que saldr por uno de los
perifricos de salida del micro y este se podr ingresar a la etapa posterior de potencia

Figura 2. Seales en cada una de las etapas del PWM

Como se puede observar la seal de entrada esta sincronizada con la cuadrada generada
en el PWM, esta sincronizacin se puede hacer de muchas formas, unas ms complejas
que otras y de esta misma manera unas consumirn ms potencia, y la seal final va a
tener una amplitud igual a la fuente con la que se est alimentando el amplificador
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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 seal de entrada.

CIRCUITOS DE DISPARO DE TIRISTORES PARA RECTIFICADORES


CONTROLADOS.
El circuito de disparo o excitacin 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 conmutacin (tiristores), es una funcin
directa del proceso de cmo se desarrolla la conmutacin. 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 energa elctrica. El diseo
de un circuito excitador, requiere el conocimiento de las caractersticas elctricas de
compuerta del tiristor especfico, que se va a utilizar en el circuito principal de conmutacin.
Para convertidores, donde los requisitos del control no son exigentes, puede resultar
conveniente disearlo con circuitos discretos. En aquellos convertidores donde se necesita
la activacin de compuerta con control de avance, alta velocidad, alta eficiencia y que
adems sean compactos, los circuitos integrados para activacin de compuerta que se
disponen comercialmente, son ms 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 proteccin 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 tensin de
red), el pulso de disparo, en todos los semiciclos.

Entrada seal de control:


Esta seal es la que determina el retraso del ngulo de disparo, seal generada en forma
manual o a travs de un sistema realimentado. Para este ltimo caso, la seal se genera
por la interaccin de la seal de referencia, la seal realimentada y el algoritmo de control.

Circuito base de tiempo:


En los circuitos analgicos, la base de tiempo se genera por medio de un circuito tipo RC,
o sea a travs de la carga de un condensador, con una constante de tiempo = CR., hasta
una tensin que genera un pulso de disparo. En los sistemas programables, la base de
tiempo se genera por programacin o por medio de un temporizador interno que se carga
tambin por programacin.

Generacin de los pulsos de disparo:


Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

Para la generacin de los pulsos, se disponen de muchas variantes de circuitos, con


aplicacin de transistores bipolares o mediante semiconductores especficos, que generan,
cortos pulsos de disparo.

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


Fundamentalmente se utilizan dos tcnicas. Una es la de utilizar un transformador aislador
de pulsos y la otra un dispositivo semiconductor foto controlado de silicio, tambin llamado
opto acoplador. Otra tcnica utilizada es a travs de las fibras pticas con emisor en el
circuito de disparo y receptor en el circuito de compuerta.
Proteccin de la compuerta:
Se utilizan circuitos de proteccin contra disparos por tensiones espurias. Ms adelante,
desarrollaremos con ms 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 fcilmente aplicaciones
que ofrecen audio.
Incluye una herramienta ST-LINK incrustado depuracin, un acelermetro digital de ST-
MEMS, un micrfono 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 ms informacin, visite la pgina web www.st.com/stm32f4dis-expansion.
Con la ltima mejora bordo, el nuevo cdigo de pedido STM32F407G-DISC1 ha sustituido
a la antigua STM32F4DISCOVERY referencia.
Caractersticas principales
Microcontrolador STM32F407VGT6 con ARM de 32 bits corteza -M4 con ncleo 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 cdigo de pedido)
ST-LINK USB con capacidad de re-enumeracin y tres interfaces diferentes:
puerto de depuracin
puerto COM virtual (con nuevo cdigo de encargo)
almacenamiento masivo (con nuevo cdigo de encargo)
alimentacin de la tarjeta: a travs del bus USB o desde una tensin externa de
alimentacin de 5 V
aplicacin externa de energa de suministro: 3 V y 5 V
LIS302DL o LIS3DSH ST MEMS acelermetro de 3 ejes
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

MP45DT02 ST-MEMS sensor de audio de micrfono digital omnidireccional


DAC de audio con CS43L22 integrado de clase D controlador del altavoz
Ocho LEDs:
LD1 (rojo / verde) para la comunicacin 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 extensin para todos LQFP100 E / S para la conexin rpida de placa de
prototipo y fcil de sondeo
software libre integral que incluye una variedad de ejemplos, parte del paquete
STM32CubeF4 o STSW-STM32068 utilizar las bibliotecas estndar de legado.

3. DIAGRAMA EN BLOQUES:

Detector de cruce
Alimentacin de red Transformador
por cero
AC (120 V 60 Hz)

PWM Circuito Comparador Circuito integrador

4. Anlisis de resultados

4.1 Clculos del rectificador de media onda controlado:


4.1.1 Valores tericos:
Saturacin BJT
BJT No 1

=

Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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 tensin DC mnimo


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 tensin DC mximo
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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

Parmetro Valor Calculado Valor Simulado Valor Medido


Valor de tensin DC 110.52 110.52
mnima
Valor de tensin DC 3.48 3.48
mximo
Potencia mnima 0.0210 0.0210
sobre la carga
Potencia mxima 21.20 0.0210
sobre la carga
Angulo mnimo y 0.349 0.349 0.349
disparo del SCR
ngulo mximo 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
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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


Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

FORMAS DE ONDA:
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

MAIN.C

#include "stm32f4xx_hal.h"
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

/* 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);


Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

/* 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();
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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;
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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();
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

__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);
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

/* 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();

}
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

/**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;
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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;
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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;
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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);

}
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

/* 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)

{
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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;
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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);
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez

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 seal 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 seal alterna sobre la carga en cada semiciclo.

El primer diodo de rectificacin en el caso de PWM digital acta como proteccin del diodo del
transistor.

El primer flanco que define el Angulo de conduccin de los SCRS es el de subida de la seal
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 seal 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 seal 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 variacin en el voltaje ni el frecuencia en ninguno
de los dos ,de lo contrario habr inestabilidad en la carga .
Rectificacin de onda completa monofsica controlada con STM
Enrique Sanabria, Juan David Leguizamn, Jorge Eduardo Ramrez