proyecto control final

19
INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERÍA Y TECNOLOGÍAS AVANZADAS CONTROL DE VELOCIDAD DE UN MOTOR C.D. CONTROL 1 PROFESOR: EL FILIALI BRAHIM BARRERA RIVERA CITLALLI MARTÍNEZ PONCE ROBERTO ABRAHAM

Upload: cibari

Post on 20-Jun-2015

791 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Proyecto Control Final

INSTITUTO POLITÉCNICO NACIONALUNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERÍA Y

TECNOLOGÍAS AVANZADAS

CONTROL DE VELOCIDAD DE UN MOTOR C.D.

CONTROL 1

PROFESOR: EL FILIALI BRAHIM

BARRERA RIVERA CITLALLIMARTÍNEZ PONCE ROBERTO ABRAHAM

XICOTÉNCATL CORDERO GONZALO4BM3

MAYO 2010

Page 2: Proyecto Control Final

15

OBJETIVO:

• Reconocimiento y Análisis del sistema.

• Establecer el modelo matemático del sistema.

• Simular el sistema modelado diseñando el controlador digital para una respuesta específica.

• Implementación del sistema.

DESCRIPCIÓN:

Uno de los objetivos para el proyecto que se quiere realizar es lograr posicionar con precisión el motor D.C, para que así, el error de estado estacionario de la posición del motor sea cero; además se desea que el error de estado estacionario debido a una perturbación también sea nulo.

Otro requerimiento es que el motor alcance muy rápidamente su posición final. En este caso, se desea disminuir el tiempo de establecimiento para que sea mínimo y tenga un sobrepaso considerable. Para lograr esto, dispondremos de un microcontrolador PIC que incorpora todas las funciones necesarias para realizar el diseño y control.

La eficiencia del sistema va ligada a los parámetros de la planta, debido a que nuestro sistema es retroalimentado, es necesario diseñar un controlador digital de tal forma que el sistema se estabilice en la posición deseada y en el menor tiempo posible.

La retroalimentación se hará por medio de un encoder acoplado al eje del motor, el cual enviará constantemente códigos digitales al microcontrolador indicándole su posición.

MODELO MATEMÁTICO DE LA PLANTA

Considerando que nuestro motor tiene un eje rígido, por medio de sus ecuaciones eléctricas y mecánicas, al relacionarlas, podemos obtener el modelo del motor en el cuál la entrada es la tensión aplicada y la salida es la velocidad rotacional del eje, para esto es necesario conocer los diferentes parámetros de los que se encuentra compuesto:

• Momento de inercia del rotor J.

• Coeficiente de amortiguamiento del sistema mecánico (b).

• Constante de fuerza electromotriz K=Ke=Kt.

• Resistencia eléctrica (R).

Page 3: Proyecto Control Final

15

• Inductancia eléctrica (L).

• Entrada (V): Fuente de Tensión.

• Salida (W): velocidad rotacional del eje.

INTRODUCCIÓN:

El control automático es el mantenimiento de un valor deseado dentro de una cantidad o condición midiendo el valor existente, comparándolo con el valor deseado, utilizando la diferencia para proceder a reducirla. En consecuencia, el control automático exige un lazo cerrado de acción y reacción que funcione sin intervención humana.

MODULACIÓN POR ANCHO DE PULSOS

La modulación por ancho de pulsos (MAP o PWM, siglas del inglés Pulse-Width Modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una sinusoidal o una cuadrada, por ejemplo), ya sea para 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.

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.

La principal desventaja que presentan los circuitos PWM es la posibilidad de que haya interferencias generadas por radiofrecuencia. Éstas pueden minimizarse ubicando el controlador cerca de la carga y realizando un filtrado de la fuente de alimentación.

Algunos parámetros importantes de un PWM son:

La relación de amplitudes entre la señal portadora y la moduladora, siendo recomendable que la última no supere el valor pico de la portadora y esté centrada en el valor medio de ésta.

La relación de frecuencias, donde en general se recomienda que la relación entre la frecuencia de la portadora y la de señal sea de 10 a 1.

Sin embargo cuando se utilizan servomotores hay que tener cuidado en las marcas comerciales ya que hay ocasiones en que los valores varían entre 1ms y 2ms y estos valores propician errores.

Page 4: Proyecto Control Final

15

En la actualidad existen muchos circuitos integrados en los que se implementa la modulación PWM, además de otros muy particulares para lograr circuitos funcionales que puedan controlar fuentes conmutadas, controles de motores, controles de elementos termoeléctricos, choppers para sensores en ambientes ruidosos y algunas otras aplicaciones. Se distinguen por fabricar este tipo de integrados compañías como Texas Instruments, National Semiconductor, Maxim, y algunas otras más.

En los motores: La modulación por ancho de pulsos es una técnica utilizada para regular la velocidad de giro de los motores eléctricos de inducción o asíncronos. Mantiene el par motor constante y no supone un desaprovechamiento de la energía eléctrica. Se utiliza tanto en corriente continua como en alterna, como su nombre lo indica, al controlar: un momento alto (encendido o alimentado) y un momento bajo (apagado o desconectado), controlado normalmente por relevadores (baja frecuencia) o MOSFET o tiristores (alta frecuencia).

Otros sistemas para regular la velocidad modifican la tensión eléctrica, con lo que disminuye el par motor; o interponen una resistencia eléctrica, con lo que se pierde energía en forma de calor en esta resistencia.

Otra forma de regular el giro del motor es variando el tiempo entre pulsos de duración constante, lo que se llama modulación por frecuencia de pulsos.

En los motores de corriente alterna también se puede utilizar la variación de frecuencia.

La modulación por ancho de pulsos también se usa para controlar servomotores, los cuales modifican su posición de acuerdo al ancho del pulso enviado cada un cierto período que depende de cada servo motor. Esta información puede ser enviada utilizando un microprocesador como el Z80, o un microcontrolador (por ejemplo, un PIC 16F877A de la empresa Microchip).

ELEMENTOS UTILIZADOS EN ESTE PROYECTO

PIC16F887

Page 5: Proyecto Control Final

15

PID

Un PID (Proporcional Integral Derivativo) es un mecanismo de control por realimentación que se utiliza en sistemas de control industriales. Un controlador PID corrige el error entre un valor medido y el valor que se quiere obtener calculándolo y luego sacando una acción correctora que puede ajustar al proceso acorde. El algoritmo de cálculo del control PID se da en tres parámetros distintos: el proporcional, el

integral, y el derivativo. El valor Proporcional determina la reacción del error actual. El Integral genera una corrección proporcional a la integral del error, esto nos asegura que aplicando un esfuerzo de control suficiente, el error de seguimiento se reduce a cero. El Derivativo determina la reacción del tiempo en el que el error se produce. La suma de estas tres acciones es usada para ajustar al proceso vía un elemento de control como la posición de una válvula de control o la energía suministrada a un calentador, por ejemplo. Ajustando estas tres constantes en el algoritmo de control del PID, el controlador puede proveer un control diseñado para lo que requiera el proceso a realizar. La respuesta del controlador puede ser descrita en términos de respuesta del control ante un error, el grado el cual el controlador llega al "set point", y el grado de oscilación del sistema. Nótese que el uso del PID para control no garantiza control óptimo del sistema o la estabilidad del mismo. Algunas aplicaciones pueden solo requerir de uno o dos modos de los que provee este sistema de control. Un controlador PID puede ser llamado también PI, PD,

Page 6: Proyecto Control Final

15

P o I en la ausencia de las acciones de control respectivas. Los controladores PI son particularmente comunes, ya que la acción derivativa es muy sensible al ruido, y la ausencia del proceso integral puede evitar que se alcance al valor deseado debido a la acción de control.

ENCODER

Un encoder es un codificador rotatorio, también llamado codificador del eje, suele ser un dispositivo electromecánico usado para convertir la posición angular de un eje a un código digital, lo que lo convierte en una clase de transductor.

DESARROLLO:

Para el desarrollo de este proyecto se realizo el circuito mostrado en la siguiente figura:

Una vista rápida del proyecto a diagrama a bloques:

Page 7: Proyecto Control Final

15

Se realizo la programación del PIC:

PROGRAMA

#include "C:\Documents and Settings\MART. PONCE\Escritorio\p1\main.h"#include <LCD.C>

void encoder(void);void saludo(void);void main()int pot=0;float por=0; setup_adc_ports(sAN0|VSS_VDD); setup_adc(ADC_CLOCK_DIV_2); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DIV_BY_1,99,1); setup_ccp1(CCP_PWM); set_pwm1_duty(0); setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard lcd_init(); saludo(); set_adc_channel( 0 ); //Pin RA0 delay_us(30); pot = read_adc(); set_pwm1_duty (pot); por=pot*1.0; por=(por*100/255); lcd_gotoxy(5,2); printf(lcd_putc, "%3.1f ",por); lcd_gotoxy(10,2);

Page 8: Proyecto Control Final

15

lcd_putc("%"); delay_ms(200); void encoder(void);

//una vez leido el encoder sabiendo las revoluciones//nos damos a la tarea del PIDint16 revoluciones;int16 control; //valor pwmfloat a,b,c; //constantes de pidfloat temp_limit; //revoluciones a alcanzarfloat rt,et,it,dt,yt,ut,ito,eto,it_1,et_1; //variables de ecuacionesfloat mas,min;// limites maximo minimomin=0.0,max=1000.0;it_1=0.0;et_1=0.0;a=0.1243; // cons pidb=0.0062;c=0.6215;temp_limit=500.0; // temp a alcanzarTRISC=0;setup_timer_2(t2_div_by_4,249,1);//periodo a pwmsetup_ccp1(ccp_pwm); //modulo ccp a modo pwmsetup_adc_ports(all analog);setup_adc(adc_clock_internal);set_adc_channel(0);while(1)valor=read_adc(); //lectura potyt=valor*5000.0/1024; //conversion a revolucionestr=temp_limit;et=rt-yt; //calculo errorit=b*et+it0; //calculo termino integraldt=c*(et-et0); //calculo termino derivativout=it+a*et+dt //calculo salida pidif(ut>max)ut=max;elseif(ut<min)ut=min;control=ut;set_pwm1_duty(control);ito=it;eto=etdelay_ms(100);

Page 9: Proyecto Control Final

15

void saludo(void)lcd_gotoxy(1,1); lcd_putc ("Control"); delay_ms(100); lcd_gotoxy(1,2); lcd_putc("PWM"); delay_ms(100); lcd_gotoxy(13,1); lcd_putc("Revo"); delay_ms(100); void encoder(void)int16 TFB;float AP;int1 nuevopulso=0;int1 cambio=0;

#int_extvoid funcion_ext_int()if(cambio==0) set_timer1(0);ext_int_edge(0,H_TO_L);cambio=1;elseTFB=get_timer1();ext_int_edge(0,H_TO_L);cambio=0;if(nuevopulso==0) nuevopulso=1;

Una vez que obtenemos nuestra entrada del sistema, obtenemos el modelo realizando los cálculos correspondientes:

Page 10: Proyecto Control Final

15

CÁLCULOS:

ECUACIONES DE ELEMENTOS:

T J=Jdωdt

T B=Bω

V R=R iR

V L=Ld iLdt

i=iR=iL

ECUACIONES DE EQUILIBRIO:

v (t )=V R+V L+ fem

T=T J+T B

T=Ka i fem=K fω

SUSTITUYENDO LAS ECUACIONES DE ELEMENTOS EN LAS ECUACIONES DE EQUILIBRIO

v (t )=Ri+L didt

+ fem

T=J dωdt

+Bω

DESEAMOS OBTENER MI/O(ω)

Ka i=Jdωdt

+Bω

- CAMBIANDO AL DOMINIO DE LA PLACE:

Ka i=SJω+Bω

Page 11: Proyecto Control Final

15

i=SJω+BωKa

v (S )=SL( SJω+BωKa )+R( SJω+Bω

Ka )+K fω

v (S )= LK a

(S2 Jω+SBω )+ RKa

(SJω+Bω )+K fω

v (S )=LJωK a

S2+ LBωKa

S+RJωKa

S+RBωKa

+K fω

EN EL DOMINIO DEL TIEMPO ESTO ES:

v (t )= LJKa

d2ωd t2

+[ LB+RJKa ] dωdt +[ RBK a

+K f ]ω

KaLJv (t )=d

2ωd t2

+[ LB+RJLJ ] dωdt +[ RB+K f K a

LJ ]ω

EN LAPLACE TENEMOS:

KaLJv (S )=S2ω+[ LB+RJ

LJ ]Sω+[ RB+K f KaLJ ]ω

NUESTRA ECUACIÓN DE TRANSFERENCIA QUEDA:

AS2+BS+C

=ω(S)v (S)

DONDE:

A=K a

LJ

B=[ LB+RJLJ ]

C=[ RB+K f KaLJ ]

PARA LAS CONDICIONES INICIALES DEL SISTEMA SE OBTUVIERON LAS SIGUIENTES CONSTANTES:

Page 12: Proyecto Control Final

15

Resistencia 50Corriente 0.1

Bobina 0.15Tensión 12Fricción 0.18

Velocidad 130.9Kf 0.053475936Ka 235.62

Momento 0.0000018

- Para el momento de inercia J

D=1,2 cm=0,012 m por lo que r=0,006 m; m=50 g=0,05 kg

J = mr2 = (0,05 kg)(0,006 m)2 = 1,8x10-6 [kgm2]

J=1,8x10-6 [kgm2]

- Para la fricción

Por la tabla obtuvimos que

B=0,18

- Para la resistencia y la corriente: Para la entrada máxima que es con una tensión de entrada de 12 V el fabricante garantiza 1250 rmp, donde podemos obtener los valores siguientes valores realizando las operaciones necesarias:

R=50 Ω

Page 13: Proyecto Control Final

15

Y de la corriente:

I=0,1 A

- Para la velocidad ω

Sabemos que 1 rpm=0.10471976 rads

= ω; 1250 rpm = 130,9rads

ω = 130,9rads

- Para Kf

Si v (t )=Ri+L didt

+ fem; fem=K f∗ω y Ldidt

=0

Tenemos v (t )=Ri+K f∗ω , donde K f=v (t )−Riω

Kf = 0.053475936

- Para el valor de Ka: se igualan ecuaciones

T=Ka∗i, T=J dωdt

+Bω donde resulta

Ka*i = J*dω/dt + B*ω ; donde J*dω/dt =0 y se reduce a Ka*i = B*ω y Ka=B*ω/i

Ka=235.62

- Para la bobina: por el fabricante sabemos que

L=0,00185 H

NUESTROS VALORES DE A, B Y C SON:

A 872666666.7B 100333.33333333300C 46666675.67

La función de transferencia queda:

Page 14: Proyecto Control Final

15

A

S2+BS+C= 872666666.7

S2+100333.3333S+46666675.67

Realizamos la simulación en MATLAB con SIMULINK:

Una vez simulado en MATLAB en la ventana de configuración de nuestra señal de entrada, ver ilustración 12, cabíamos el valor del porcentaje de señal que deseamos tener arriba (tiempo arriba) y obtenemos, para cada una de las combinaciones mostradas, la gráfica de entrada y de salida, también el valor máximo y mínimo de ambas señales.

Page 15: Proyecto Control Final

15

Para un 90% obtuvimos una grafica como la que se muestra:

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

20

40

60

80

100

120

140

Los valores obtenidos para la sintonización son:

Kp=0,1243

Ti=2

Td=0,5

Para medir las revoluciones que tiene el motor se utilizó un encoder, el cual nos envía una señal a pulsos el cual lee las vueltas que se generan, este encoder cuenta con 90 ranuras, por lo que al número de pulsos generados se les dividirá entre 90 para saber el número real.

Esta imagen es un ejemplo de la señal que nos envía el encoder:

Page 16: Proyecto Control Final

15

BIBLIOGRAFÍA:

- http://es.wikipedia.org/wiki/Revoluciones_por_minuto

- www.sapiensman.com/control_automatico

- http://es.wikipedia.org/wiki/Modulaci%C3%B3n_por_ancho_de_pulsos

- http://es.wikipedia.org/wiki/Proporcional_integral_derivativo

- www.engr.usask.ca/classes/EE/391/notes/PIC16F886.pdf