lab oratorio del motor con encoder implement ado
TRANSCRIPT
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
Facultad de Ingeniería Eléctrica y Electrónica
Escuela Profesional de Ingeniería Electrónica
CURSO: CONTROL DIGITAL
CONTROL DE UN MOTOR ENCODER POR PWM
ALUMNOS: CODIGO
CARDENAS ROQUE REYNALDO MARCO 062605D
BERNUY ORTIZ YOEL ROGER 062593F
SUYBATE SANCHEZ JOSE JULIO 062045I
KILL VALENTIN CRISTOPHER 070587A
PROFESOR:
ING. ASTOCONDOR VILLAR JACOB
BELLAVISTA – CALLAO
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
INTRODUCCION
Los motores con Encoders son sensores opticos que generan señales digitales en respuesta al movimiento. Están disponibles en dos tipos, uno que responde a la rotación, y el otro al movimiento lineal. Cuando son usados en conjunto con dispositivos mecánicos tales como engranes, ruedas de medición o flechas de motores, estos pueden ser utilizados para medir movimientos lineales, velocidad y posición.
Los encoders están disponibles con diferentes tipos de salidas, uno de ellos son los encoder incrementables, que generan pulsos mientras se mueven, se utilizan para medir la velocidad, o la trayectoria de posición. El otro tipo son los encoders absolutos que generan multi-bits digitales, que indican directamente su posición actual. Los encoders pueden ser utilizados en una gran variedad de aplicaciones. Actúan como transductores de retroalimentación para el control de la velocidad en motores, como sensores para medición, de corte y de posición. También como entrada para velocidad y controles de rango.
CONTROL DE UN MOTOR CON ENCODER POR PWM
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
OBJETIVOS
Obtener el sistema realimentado (motor – pic). Reconocimiento y Análisis del sistema. Realizar el proceso de conversión de frecuencia (pulsos) a voltaje con el
lm331. 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:
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
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). Inductancia eléctrica (L). Entrada (V): Fuente de Tensión. Salida (W): velocidad rotacional del eje.
MARCO TEORICO
ENCODER INCREMENTAL
Los encoders de incremento proveen un número específico de pulsos equitativamente espaciados por revolución (PPR) o por pulgada o milímetro de movimiento lineal. Se utiliza un solo canal de salida para aplicaciones donde el sentido de la dirección de movimiento no es importante (unidireccional). Donde se requiere el sentido de dirección, se utiliza la salida de cuadratura (bidireccional), con dos canales de 90 grados eléctricos fuera de la fase; el circuito determina la dirección de movimiento basado en la fase de relación entre ellos. Esto es útil para procesos que se pueden revertir, o para mantener la posición de red cuando se encuentra inmóvil u oscilando mecánicamente. Por ejemplo, la vibración de la maquina mientras este detenido podría ocasionar que un encoder unidireccional produzca una corriente de pulsos que serían contados erróneamente como movimiento. El controlador no sería engañado cuando se utilice la cuadratura de conteo ver figura 1.
Figura Nº1
PIC 16F877A
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales y del control y comunicación digital de diferentes dispositivos.
Los microcontroladores poseen principalmente una ALU (Unidad Lógico Aritmética), memoria del programa, memoria de registros, y pines I/O (entrada y/0 salida). La ALU es la encargada de procesar los datos dependiendo de las instrucciones que se ejecuten (ADD, OR, AND), mientras que los pines son los que se encargan de comunicar al microcontrolador con el medio externo; la función de los pines puede ser de transmisión de datos, alimentación de corriente para l funcionamiento de este o pines de control especifico. Algunas de estas características se muestran a continuación:
Soporta modo de comunicación serial, posee dos pines para ello.
Amplia memoria para datos y programa.
Memoria reprogramable: La memoria en este PIC es la que se denomina
FLASH; este tipo de memoria se puede borrar electrónicamente (esto
corresponde a la "F" en el modelo).
Set de instrucciones reducidas (tipo RISC), pero con las instrucciones necesarias
para facilitar su manejo.
Características
En siguiente tabla de pueden observar las características más relevantes del dispositivo:
CARACTERÍSTICAS 16F877
Frecuencia máxima DX-20MHz
Puertos E/S A,B,C,D,E
Interrupciones 14
Timers 3
Módulos CCP 2
Líneas de entrada de CAD de 10 bits 8
Canales PWM 2
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
Dispositivos periféricos:
Timer0:Temporizador-contador de 8 bits con preescaler de 8 bits Timer1:Temporizador-contador de 16 bits con preescaler que puede incrementarse
en modo sleep de forma externa por un cristal/clock. Timer2:Temporizador-contador de 8 bits con preescaler y postescaler. Dos módulos de Captura, Comparación, PWM (Modulación de Anchura de
Impulsos). Conversor A/D de 1 0 bits. Puerto Serie Síncrono Master (MSSP) con SPI e I2C (Master/Slave). USART/SCI (Universal Syncheronus Asynchronous Receiver Transmitter) con 9
bit. Puerta Paralela Esclava (PSP) solo en encapsulados con 40 pines
FIGURA Nº2
PWM
La Modulación por Ancho de Pulsos (MAP ó PWM) es una técnica frecuente que se utiliza para regular la velocidad de giro de motores eléctricos. 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, controla por un momento alto
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
(encendido) y por un momento bajo (apagado), la potencia en el devanado del motor, para el control se usan normalmente relevadores para operar en baja frecuencia ó con MOSFET`s para trabajar en alta frecuencia. Otros tipos de circuitos con modulaciónAnalógica que se usan para regular la velocidad, modifican la tensión, con lo que disminuye el par-motor; ó interponen una resistencia eléctrica, con lo que se pierde energía en forma de calor.
Otra forma de regular el giro del motor es variando el tiempo entre pulsos, modulación por frecuencia de pulsos de duración constante. En los motores de corriente alterna también se utiliza la variación de frecuencia. Ver figura 3.
FIGURA 3: MODULACIÓN DE ANCHURA DE PULSOS.
EL PUENTE H
Ahora realizaremos el diseño de los puentes H, basándonos en el siguiente circuito.
FIGURA Nº4: ESTE CIRCUITO NOS MUESTRA EL DISEÑO DE UN PUENTE H
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
CONVERTIDOR DE FRECUENCIA A VOLTAJE LM331
FIGURA 5. LM331
FIGURA 6. ENCODER- CONVERTIDOR
CIRCUITO DE IMPLEMENTACIÓN CON EL LM331
FIGURA 7. SIMULACION LM331
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
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, 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.
FIGURA 8. PID
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
CONSIDERACIONES E IMPLEMENTACIÓN DEL CIRCUITO
PLANTEAMIENTO DEL PROBLEMA
En los procesos industriales es necesario tener un registro y control eficiente sobre todas las variables que intervienen en el proceso, con el fin de conocer el comportamiento de la misma durante cada una de las fases del proceso, de manera tal que esta información realizar las acciones necesarias para un control seguro y eficiente. Basándonos en esto se desea diseñar un controlador de velocidad de motor usando la técnica de modulación por ancho de pulso (PWM), que básicamente consiste en dos etapas .la 1era es la obtención de un sistema de lazo abierta (pic-punte h-motor) y la 2da fase es el mismo sistema pero adicionándole un conversor de frecuencia a voltaje que se realimentara al pic generando asi una tensión de referencia.
PROGRAMA PARA EL MICROCONTROLADOR
#INCLUDE <16F877A.h>#DEVICE ADC=10#USE DELAY(CLOCK=4000000)#FUSES XT,NOWDT#USE STANDARD_IO(B)VOID MAIN()INT16 valor, control; //Variables para lectura de ADC y señal de Control a modulo CCPFLOAT a,b,c,m,n,p,q; //Constantes para parámetros de controlador PIDFLOAT VELOCIDAD_LIMITE; //Referencia de velocidadFLOAT rt,eT,iT,dT,yT,uT,iT0,eT0; //Variables de controlador PIDFLOAT max,min; //Variables para anti-windupmin=0.0;max=1400.0;iT0=0.0;eT0=0.0;
setup_timer_2(t2_div_by_4,249,1); //Configuracion de Timer 2 para establecer frec. PWM a 1kHzsetup_ccp1(ccp_pwm); //Configurar modulo CCP1 en modo PWMsetup_adc_ports(AN0_AN1_AN2_AN4_AN5_VSS_VREF); //Configurar ADCsetup_adc(adc_clock_internal);set_tris_B(0x00);while(true)
output_high(PIN_B0);delay_ms(500);output_low(PIN_B0);delay_ms(500);
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
set_adc_channel(0); //Seleccionar delay_us(30);valor=read_adc(); //Leer ADCset_adc_channel(1); //Acquisition canal 0, Ti. delay_us(30); m = read_adc(); a =m/1024.0; set_adc_channel(2); //Adquisicion canal 1, Td. delay_us(30); n = read_adc(); b =n/1024.0; set_adc_channel(3); //Adquisicion canal 2, K. delay_us(30); p = read_adc(); c =m/1024.0;set_adc_channel(4); //Adquisicion canal 3, SP. delay_us(30); q = read_adc(); VELOCIDAD_LIMITE = 50*q/1024.0;yT=30*valor/1024.0; //Escalizar señal de salida y(kT)rT=VELOCIDAD_LIMITE;eT=rT-yT; //Calcular senal de error e(kT)iT=b*eT+iT0; //Calcular termino integrativo i(kT)dT=c*(eT-eT0); //Calcular termino derivativo d(kT)uT=iT+a*eT+dT; //Calcular senal de control u(kT)if (uT>max) //Anti-windupuT=max;else if (uT<min)uT=min;control=uT;set_pwm1_duty(control); //Transferencia de senal de control al actuadoriT0=iT;eT0=eT;delay_ms(100); //Periodo de muestreo T=0.1s
PIC16F877A PUENTE H
MOTOR DC CON ENCODER
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
IMPLEMENTACIÓN DEL CONTROL DE VELOCIDAD DE UN MOTOR
EN LAZO ABIERTO EN DIAGRAMA DE BLOQUES.
SIMULACIÓN DEL SISTEMA EN LAZO ABIERTO
FIGURA 9. SIMULACION LAZO ABIERTO
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
SIMULACION DE CONTROL DE VELOCIDAD DEL MOTOR LAZO CERRADO
Para el desarrollo de este proyecto se realizo el circuito mostrado en la siguiente figura:
FIGURA 10. SIMULACION LAZO CERRADO
RA0/AN0
2RA1/AN1
3RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8RE1/AN6/WR
9RE2/AN7/CS
10
OSC1/CLKIN
13OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16RC2/CCP1
17RC3/SCK/SCL
18
RD0/PSP0
19RD1/PSP1
20
RB7/PGD
40RB6/PGC
39RB5
38RB4
37RB3/PGM
36RB2
35RB1
34RB0/INT
33
RD7/PSP7
30RD6/PSP6
29RD5/PSP5
28RD4/PSP4
27RD3/PSP3
22RD2/PSP2
21
RC7/RX/DT
26RC6/TX/CK
25RC5/SDO
24RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1 PIC16F877A
59%
RV1
10k
60%
RV2
10k
76%
RV3
20k
100%
RV4
10k
IN1
2OUT1
3OUT2
6
OUT3
11OUT4
14
IN2
7
IN3
10IN4
15
EN1
1
EN2
9
VS
8
VSS16
GND
GND
U2 L293D
1 0+88.8
CMIN
7
THR
6R-C
5
IOUT
1REFI
2FOUT
3
GND 4
VCC
8U3 LM331
R1 10k R2 50k
R3 100k
R4 12k
R9 6.8k C2 0.01uF
R6 10k
C3 3uF
B1 12V
+88.8 Volts
49%
RV10
5k
Ti Td K
VelocidR
ef
T
C4 4uF
R5 100k
U1(RA0/AN0)
RV1(2)
AMFM
+ -
U2(VS)
100%
RV5
1k+88.8 Volts
88%
RV6
100k
+88.8 Volts
C1 470pF
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
Una vista rápida del proyecto a diagrama a bloques:
FIGURA 11. DIAGRAMA DE BLOQUES
FIGURA 12. ESQUEMA DELCONTROL DEL GIRO
ECUACIONES DE ELEMENTOS:
T J=Jdωdt
T B=Bω
V R=R iR
V L=Ld iLdt
i=iR=iL
ECUACIONES DE EQUILIBRIO:
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
v (t )=V R+V L+ fem
T=T J+T B
T=Ka ifem=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=J dωdt
+Bω
- CAMBIANDO AL DOMINIO DE LAPLACE:
Ka i=SJω+Bω
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 ]ω
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
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:
Resistencia
50
Corriente 0.1Bobina 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=50g=0,05 kg
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
J = mr2 = (0,05 kg)(0,006 m)2 = 1,8x10-6 [kgm2]
J=1,8x10-6 [kgm2]
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 Ω
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∗ωyLdidt
=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:
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
A 872666666.7B 100333.33333333300C 46666675.67
La función de transferencia queda:
A
S2+BS+C= 872666666.7
S2+100333.3333S+46666675.67
Realizamos la simulación en MATLAB con SIMULINK:
FIGURA 13. SIMULACION EN 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.
Para un 90% obtuvimos una grafica como la que se muestra:
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
FIGURA 14. GRAFICA OBTENIDA
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:
FIGURA 15. SEÑAL QUE ENVIA EL ENCODER
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
20
40
60
80
100
120
140
2
CONTROL DIGITAL UNIVERSIDAD NACIONAL PROFESOR JACOB ASTOCONDOR DEL CALLAO
BIBLIOGRAFÍA
Páginas Web Revisadas
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