control de velocidad de un motor cd y su funcion de transferencia por matlab

13
INSTITUTO TECNOLÓGICO DE TOLUCA Ingeniería Mecatrónica Proyecto: “control de velocidad de motor con sensor de temperatura para controlar ventilador” Alumnos: Padilla Corpus Omar Alejandro. García Molina Arturo. Maestro: Camarena Vudoyra Fidel Alejandro. Materia: Control discreto

description

obtencion de la funcion de transferencia por medio de matlab

Transcript of control de velocidad de un motor cd y su funcion de transferencia por matlab

Page 1: control de velocidad de un motor cd y su funcion de transferencia por matlab

INSTITUTO TECNOLÓGICO DE TOLUCA

Ingeniería Mecatrónica

Proyecto:

“control de velocidad de motor con sensor de temperatura para controlar ventilador”

Alumnos:

Padilla Corpus Omar Alejandro.

García Molina Arturo.

Maestro:

Camarena Vudoyra Fidel Alejandro.

Materia: Control discreto

Introducción.

Page 2: control de velocidad de un motor cd y su funcion de transferencia por matlab

A continuación se mostrara como realizar un control discreto a un ventilador para controlar la temperatura de algún equipo electrónico como puede ser una computadora, una consola, etc. aplicando los conocimientos obtenidos en la materia de control discreto.

Objetivo

Se realizara el control analítico de un ventilador para reducir o aumentar la su velocidad por medio de un sensor de temperatura para evitar calentamientos en el en equipos electrónicos

Delimitación.

Se realizara un prototipo que reduzca un grado cada 10 segundos por medio del análisis de un controlador analítico.

Hipótesis.

Realización de un control de velocidades para un ventilador por medio de un sensor de temperatura.

Antecedentes.

Accionar un motor DC es muy simple y solo es necesario aplicar la tensión de alimentación entre sus bornes. Para invertir el sentido de giro basta con invertir la alimentación y el motor comenzará a girar en sentido opuesto.

A diferencia de los motores paso a paso y los servomecanismos, los motores DC no pueden ser posicionados y/o enclavados en una posición específica. Estos simplemente giran a la máxima velocidad y en el sentido que la alimentación aplicada se los permite.

El motor de corriente continua está compuesto de 2 piezas fundamentales:

• Rotor.• Estator.

Materiales

Los materiales a utilizar fueron los siguientes.

Microcontrolador PIC 16F877a Tablilla protoboard, pantalla LCD de 16x2 Dos ventiladores de 12volts Resistencias, capacitores, multímetro, osciloscopio, generador de

funciones.

Page 3: control de velocidad de un motor cd y su funcion de transferencia por matlab

Sensor de temperatura lm35

Calculo de la función de transferencia del ventilador.

Se acoplan 2 ventiladores iguales para así poder excitarlos mediante un escalón para obtener la información necesaria para el cálculo de la función de transferencia (imagen 1.1).

Los datos fueron recolectados y medidos en un osciloscopio agilent (imagen1.2).

Imagen 1.1 imagen 1.2

Page 4: control de velocidad de un motor cd y su funcion de transferencia por matlab

Imagen 1.3.- datos obtenidos del osciloscopio

Los datos usados fueron los valores de voltaje del canal uno (escalon) y del canal dos (curva del motor).

Estos datos se trataron con el programa matlab.

Imagen 1.4.- herramienta usada llamada IDENT de matlab

La herramienta usada fue el ident. La cual te ayuda a generara la función de transferencia del motor por medio de los datos obtenidos del osciloscopio.

También con la ayuda de esta herramienta se observa el comportamiento de la función del ventilador.

Page 5: control de velocidad de un motor cd y su funcion de transferencia por matlab

Imagen 1.5.- obtención de función de transferencia

La función de transferencia obtenida fue.

G(s)= 4.0007s (s+41.349)

Calculo del controlador.

a=41.349 , k=4.0007 ,t=10 s , at=413.49 , e−at=0

G(z )= 412.49z (z−1)

Page 6: control de velocidad de un motor cd y su funcion de transferencia por matlab

Simulación en proteus.

Imagen 1.6.- simulación

Imagen 1.7 simulación en proteus

Page 7: control de velocidad de un motor cd y su funcion de transferencia por matlab

Programa en c++

# include <16F877a.h>

# device *=16

# device adc=10

# use delay(clock=4M)

# include <lcd.c>

# fuses xt

float temperatura;

void main()

{

//*******************************

setup_adc_ports(RA0_ANALOG);//entrada del LM35

setup_adc(ADC_CLOCK_INTERNAL);

setup_COUNTERS(RTCC_internal.rtcc_div_1);//marca de divicion

set_adc_channel(0);

//*******************************

lcd_init();

lcd_gotoxy(5,1);

printf(lcd_putc,"Temperatura");

delay_ms(350);

lcd_init();

Page 8: control de velocidad de un motor cd y su funcion de transferencia por matlab

while(true)

{

temperatura=(float)read_adc()/2;

//********grados centigrados

lcd_gotoxy(5,1);

printf(lcd_putc,"%f",temperatura);

lcd_gotoxy(14,1);

printf(lcd_putc,"°C");

delay_ms(200);

//***********si la temperatura es mayor que 25

if(temperatura<=400&&temperatura>=30)

{

output_high(pin_a1);

output_high(pin_a2);

output_low(pin_a3);

lcd_gotoxy(5,2);

printf(lcd_putc "enfriando");

delay_ms(200);

}

//****************si la temperatura es correcta o menor que 25

Page 9: control de velocidad de un motor cd y su funcion de transferencia por matlab

else

{

output_low(pin_a1);

output_low(pin_a2);

output_high(pin_a3);

lcd_gotoxy(5,2);

printf(lcd_putc," enfriado");

delay_ms(200);

}

}

}

Imagen 1.8.- Programa en c++

Page 10: control de velocidad de un motor cd y su funcion de transferencia por matlab

Pruebas:

Las pruebas las hicimos para en control de temperatura de un liquido calentamos un vaso con agua y para ese hicimos el control de velocidad (imagen 1.9 y 1.10)

Imagen 1.9

Imagen 1.10

Page 11: control de velocidad de un motor cd y su funcion de transferencia por matlab

Conclusiones

Al principio tuvimos problemas al obtener la función de transferencia del motor en el acoplar los motores como utilizamos dos ventiladores ya fabricados no pudimos sacar los motores y tuvimos que acoplar los dos ventiladores pero esto causaba mucho ruido pero solucionamos este problema y obtuvimos la función de transferencia y también tuvimos una seria de errores en el pic por que se nos quemo y no nos habíamos dado cuenta de eso pero lo solucionamos.

También el problema que tuvimos fue que a falta de tiempo no metimos la función de transferencia en nuestro microcontrolador e hicimos un control “if” todo o nada.

Bibliografía

ww1.microchip.com/downloads/en/devicedoc/39582b.pdf

https://www.national.com/ds/LM/LM35.pdf