Está en la página 1de 5

UNAC. Huamán Manuel, Suclupe Jeffrey. Generador de ondas SPWM con Arduino.

UNIVERSIDAD NACIONAL DEL


CALLAO
FACULTAD DE INGENIERÍA ELECTRÓNICA

APELLIDOS Y NOMBRES CÓDIGO

 Huamán Trujillo Manuel Fernando 1513220062

 Suclupe Carhuatocto Jeffrey 1513210027

CURSO TEMA

ELECTRONICA DE POTENCIA II GENERADOR DE ONDAS SPWM CON


ARDUINO

INFORME FECHAS NOTA

Final REALIZACION ENTREGA

NUMERO
9/4/18 16/4/18

GRUPO PROFESOR

90G ING. CÓRDOVA RUIZ, RUSSELL

Informe Final de práctica de laboratorio de Electrónica de Potencia II. Profesor del curso: MSc. Ing. Rusell Córdova Ruiz
UNAC. Huamán Manuel, Suclupe Jeffrey. Generador de ondas SPWM con Arduino.

Generador de ondas SPWM con Arduino


Huamán Trujillo, Manuel Fernando y Suclupe Carhuatocto, Jeffrey.
Manuel_1215_1997@hotmail.com, jeffrey9838@hotmail.com
Facultad de Ingeniería Eléctrica y Electrónica – UNAC
Escuela Profesional de Ingeniería Electrónica. Electrónica de Potencia II

Resumen: Se identificó y se comprobó el


funcionamiento del Arduino UNO. Se usó el
software Proteus, el cual nos permitió observar
las señales de onda generadas por el circuito,
también para obtener el circuito en PCB y listo
para imprimir. Se usó también el software de
Arduino para realizar la respectiva
programación.

Índice de términos: Arduino UNO, modulación


SPWM, Atmega328P.

Fig.1 Modulación PWM.


I. INTRODUCCIÓN MODULACION SPWM:
En la siguiente experiencia de laboratorio, En vez de mantener igual el ancho de todos
se quiere lograr un controlador de velocidad los pulsos, el ancho de cada pulso varía en
para motores de corriente alterna basado en proporción con la amplitud de una onda
hardware y software libre. Podremos luego senoidal evaluada en el centro del mismo
generar ondas SPWM con distintos pulso. El factor de distorsión y las
controladores. Y todo esto se logrará por armónicas de menor orden se reducen en
medio de un código de programación en forma significativa.
Arduino UNO.
Un ejemplo consiste en comparar una señal
Modulación PWM: de referencia (senoidal) con una señal
Es una técnica en la que se modifica el ciclo portadora (triangular). La comparación
de trabajo (D) de una señal periódica (una genera un tren de pulsos con ancho de pulso
sinusoidal o cuadrada), ya sea para variables.
transmitir información a través de un canal
de comunicaciones o para controlar la
cantidad de energía que se envía a una
carga.
El ciclo de trabajo de una señal periódica es
el ancho relativo de su parte positiva en
relación con el período.

Fig. 2 Ejemplo de señal SPWM.

Informe Final de práctica de laboratorio de Electrónica de Potencia II. Profesor del curso: MSc. Ing. Rusell Córdova Ruiz
UNAC. Huamán Manuel, Suclupe Jeffrey. Generador de ondas SPWM con Arduino.

II. MATERIALES Y MÉTODOS lookUp[i] = (int)


(temp+0.5); // Round to
A. Equipos, materiales y herramientas integer.
utilizados
}
Se utilizan los siguientes componentes:
// Register initilisation, see
• Osciloscopio datasheet for more detail.

• Arduino UNO TCCR1A = theTCCR1A; // 0b10000010;

/*10 clear on match, set at


• 1 OPAM TL081
BOTTOM for compA.
• 4 Resistencias de 10k 00 compB disconected
initially, toggled later to clear on
• 2 Fuentes regulables (0 - 30v)
match, set at BOTTOM.
• Cable coaxial 00
También utilizamos los software Proteus y 10 WGM1 1:0 for waveform
Arduino UNO. 15.

B. Procedimiento */

Procedemos a hacer una programación en TCCR1B = 0b00011001;


Arduino. /*000
#include <avr/io.h> 11 WGM1 3:2 for waveform
#include <avr/interrupt.h> 15.

#define SinDivisions (200)// Sub 001 no prescale on the


divisions of sisusoidal wave. counter.

static int microMHz = 16; // Micro */


clock frequency TIMSK1 = 0b00000001;
static int freq = 50; // /*0000000
Sinusoidal frequency
1 TOV1 Flag interrupt
static long int period; // Period enable.
of PWM in clock cycles.
*/
static unsigned int
lookUp[SinDivisions]; ICR1 = period; /* Period for
16MHz crystal, for a switching
static char theTCCR1A = frequency of 100KHz for 200
0b10000010; //varible for TCCR1A subdivisions per 50Hz sin wave cycle.
void setup(){ */

double temp; //Double varible for sei(); // Enable global


<math.h> functions. interrupts.

period = // Set outputs pins.


microMHz*1e6/freq/SinDivisions;// DDRB = 0b00000110; // Set PB1 and
Period of PWM in clock cycles PB2 as outputs.
for(int i = 0; i < SinDivisions/2; pinMode(13, OUTPUT);}
i++){ // Generating the look up
table. void loop(){;/*Do nothing . . .
forever*/}
temp =
sin(i*2*M_PI/SinDivisions)*period; ISR(TIMER1_OVF_vect){

Informe Final de práctica de laboratorio de Electrónica de Potencia II. Profesor del curso: MSc. Ing. Rusell Córdova Ruiz
UNAC. Huamán Manuel, Suclupe Jeffrey. Generador de ondas SPWM con Arduino.

static int num;

static int delay1;

static char trig;

if(delay1 == 1){/*delay by one


period because the high time loaded
into OCR1A:B values are buffered but
can be disconnected immediately by
TCCR1A. */

theTCCR1A ^= 0b10100000;// Figura 4: Señales obtenidas.


Toggle connect and disconnect of
compare output A and B.

TCCR1A = theTCCR1A;

delay1 = 0; //
Reset delay1

} else if(num >= SinDivisions/2){

num = 0; //
Reset num

delay1++;

trig ^=0b00000001; Figura 5: Simulación en Ares del circuito.

digitalWrite(13,trig);

// change duty-cycle every


period.

OCR1A = OCR1B = lookUp[num];


Figura 6: Simulación en PCB del circuito.
num++;

III. RESULTADOS
ARD1
A

B
R1 R2
C
10k 10k
AREF D
U1(V+)
13
PB5/SCK
PB4/MISO
12 U1
RESET 11
~PB3/MOSI/OC2A
7

10
~ PB2/SS/OC1B
9 3
~ PB1/OC1A
8 6
PB0/ICP1/CLKO
2
ATMEGA328P-PU
1121

DIGITAL (~PWM)

7
ANALOG IN

PD7/AIN1
6
A0 ~ PD6/AIN0
4
1
5

PC0/ADC0 5
A1 ~ PD5/T1 TL081
PC1/ADC1 4 U1(V-)
A2 PD4/T0/XCK
PC2/ADC2 3
A3
PC3/ADC3
~ PD3/INT1
A4
PC4/ADC4/SDA
PD2/INT0
2 R3 R4
1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD 10k 10k

ARDUINO UNO R3

Figura 3: Simulación del circuito en Proteus. Figura 8: Circuito a imprimir.

IV. ANÁLISIS DE RESULTADOS

• Los resultados nos indican que mediante


un algoritmo se puede conseguir una señal
PWM, y este mediante un circuito
diferenciador obtener ondas senoidales
SPWM.

Informe Final de práctica de laboratorio de Electrónica de Potencia II. Profesor del curso: MSc. Ing. Rusell Córdova Ruiz
UNAC. Huamán Manuel, Suclupe Jeffrey. Generador de ondas SPWM con Arduino.

• Se podría obtener una onda más limpia si


se aplicaran filtros al final de la etapa.
• Como podemos observar en la figura 5, en
el circuito en Ares, usamos un plano de
tierra, esto sirve para tener una referencia
“fuerte”, blinda el resto de las líneas,
mejorando la respuesta al ruido.
• Como podemos observar en la figura 6, en
la simulación en PCB, el Arduino UNO no
lo tenemos bien diseñado, en este caso no
se puede observar ya que el Proteus no
tiene las librerías necesarias para poder ver
ese componente.
V. CONCLUSIONES

• Como conclusión podemos decir que la


tarjeta de desarrollo “arduino UNO” ha sido
una solución muy sencilla y de bajo costo,
pero que logra resultados muy
aprovechadores para la aplicación en
diferentes ramas de la electrónica de
potencia.
VI. REFERENCIAS

• Aganza T. Alejandro, Pérez R. Javier y


Beristain J. José Antoni, “Inversor trifásico
SPWM para el control de velocidad de un motor
de inducción implementado en el
microcontrolador PIC18F2431”, RIEE&C,
Revista de Ingeniería Eléctrica, Electrónica Y
Computación, VOL. 2 NO. 1, 2006.


https://aprendiendoarduino.wordpress.com/2014
/11/21/tema-3-conceptos-basicos-de-
microcontroladores-y-electronica-3/

Informe Final de práctica de laboratorio de Electrónica de Potencia II. Profesor del curso: MSc. Ing. Rusell Córdova Ruiz

También podría gustarte