Control Motor Dc
andrexx913 de Noviembre de 2011
2.068 Palabras (9 Páginas)947 Visitas
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DIGITAL DE
POSICIÓN PARA UN MOTOR DC
OBJETIVO GENERAL
Diseñar e implementar un sistema de control digital de
posición para un motor DC, utilizando el microcontrolador
PIC16F877A.
OBJETIVOS ESPECÍFICOS
• 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 (escoger
overshoot y tiempo de asentamiento).
• Implementación del sistema.
DESCRIPCION
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
incremental acoplado al eje del motor, el cual enviará
constantemente códigos digitales al microcontrolador
indicándole su posición.
Ante estos códigos el microcontrolador tomará una desición
relacionando la posición actual con el Set Point o valor
deseado, enviando pulsos digitales a un integrado (L293B)
para hacer girar el motor en el sentido indicado.
MODELO MATEMATICO 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 el voltaje aplicado 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).
• inductancia eléctrica (L).
• entrada (V): Fuente de Tensión.
• salida (W): velocidad rotacional del eje.
Las ecuaciones eléctricas:
-V+RI+LdI+e=0
Dt
Ecuaciones mecánicas:
Jdw + bw=KI
dt
Relacionando ambas ecuaciones y expresándolas en el dominio
s:
Como e=Kw
-V+RI(s)+SLI(s)+Kw(s)=0
JSw(s)+bw(s)=KI(s)
Obtenemos la función de transferencia de la velocidad del
rotor respecto al voltaje aplicado:
W = ___________K____________
V (JS+b)(LS+R) + K^2
Como nos interesa es la relación del ángulo que se desplaza
el rotor con respecto al voltaje aplicado integramos a
ambos lados de la ecuación multiplicando por 1/s:
θ / V = K /( S * (( J * S + b ) * ( LS + R ) + K 2 ))
Obtenido el modelo matemático del motor podemos diseñar
nuestro controlador PID, pero para esto es necesario
conocer el valor de los parámetros J, K, b, R, L del
sistema los cuales desconocemos.
La solución que proponemos para la obtención de los
parámetros del sistema, consiste en acoplar los ejes de
dos motores con similares características. Uno actuaría
como motor y el otro como generador. Esto se realizaría con
el fin de obtener por medio de una tarjeta de adquisición
de datos (DAQ) y Matlab, dos señales que serían el voltaje
aplicado al motor uno y el voltaje generado por el motor
dos, y por medio de la toolbox de Matlab ident relacionar
estas dos señales para obtener un modelo aproximado al del
motor.
Adquisición de las señales de entrada y salida
Para la adquisición de los voltajes de excitación y
generado, se uso según el criterio de estabilidad de
Nyquist, una frecuencia de muestreo de 2000Hz debido a que
el sistema trabaja con frecuencias bajas. También se
definió un tiempo de adquisición de 10 segundos suficientes
para poder observar el comportamiento del sistema.
Durante el tiempo de adquisición voltaje de entrada o de
excitación del motor se varío de forma aleatoria en un
rango entre 0V y 10V. Debido a que los datos adquiridos
presentaban alteración por ruido con una frecuencia
aproximadamente de 30Hz, se implementó un filtro Butter
pasa bajos de orden 10 y frecuencia de corte de 60Hz con
el fin de eliminar este ruido y así poder apreciar las
señales originales.
Señal de salida con ruido Señal de salida filtrada
A continuación se puede observar el algoritmo empleado para
la adquisición de datos por Matlab:
clc
clear
close all
ai=analoginput('nidaq',1);
% Canal 1 voltaje de excitación
% Canal 2 voltaje generado
chans=addchannel(ai,1:2);
% Frecuencia de muestreo
fs=2000;
set(ai,'SampleRate',fs);
% Tiempo que dura la adquisición
duration=10;
set(ai,'SamplesPerTrigger',fs*duration);
% Rango de entrada adquisición 0-10V
set(chans,'InputRange',[0 10]);
disp('Pulse ENTER para dar inicio de adquisición')
pause
% Inicio adquisición
start(ai)
[d1,t1]=getdata(ai);
u=d1(:,1);
y=d1(:,2);
% Gráfica de acción de control
figure(1)
plot(t1,u)
xlabel('Tiempo(seg)');
title('voltaje de excitación');
grid
%Gráfica del voltaje generado
figure(2)
plot(t1,y)
xlabel('Tiempo(seg)');
title('voltaje generado');
grid
%filtro pasabajos
[B,A]=butter(10,0.03,'low');
%filtramos señal de entada
H1=filter(B,A,u);
figure(3)
plot(H1)
grid
%filtramos señal de salida
H2=filter(B,A,y);
figure(4)
plot(H2)
grid
Durante el proceso de adquisición, se tomaron cinco
muestras de entrada y salida del sistema con el fin de
implementarlas en la IDENT, obtener diferentes modelos y
así validarlos para obtener un modelo aproximado al real.
Entrada 1 Salida 1
Entrada 2 Salida 2
Entrada 3 Salida 3
Entrada 4 Salida 4
Entrada 5
Salida 5
Obtención y validación de los modelos mediante la IDENT:
Importamos las señales de entrada y salida filtradas en la
opción import data, ponemos sus nombres en los edits input
y output, así como el tiempo de muestreo que se empleo para
la adquisición (1/2000).
En la opción estimate seleccionamos process model el cual
hallará un modelo aproximado de la planta.
En nuestro caso tomamos un sistema con 2 polos reales Tp1,
Tp2 y una ganancia K, este sería un sistema de segundo
orden.
Luego de definir el tipo de sistema, seleccionamos la
opción estimate que hallará el modelo aproximado de éste.
Después se obtiene el valor de la ganancia y de los polos
ra poder validar el sistema, se obtuvieron los cinco
de forma que el sistema sea similar al real.
Pa
modelos de las diferentes señales adquiridas y se
compararon las salidas de los modelos con cada una de las
salidas reales adquiridas para observar el porcentaje de
exactitud de cada salida de los diferentes modelos con la
salida real.
Validación con la primera señal de salida adquirida
Validación con la segunda señal de salida adquirida
Validación con la tercera señal de salida adquirida
Validación con la cuarta señal de salida adquirida
Validación con la Quinta señal de salida adquirida
En la siguiente tabla se puede observar el porcentaje de
exactitud de la salida de cada modelo respecto a cada
salida real, además resaltamos los porcentajes más
satisfactorios.
SALIDA
MODELO 1
SALIDA
MODELO 2
SALIDA
MODELO 3
SALIDA
MODELO 4
SALIDA
MODELO 5
SALIDA
REAL 1 94.68% 92.37% 91.93% 90.16% 91.66%
SALIDA
REAL 2 88.45% 91.78% 91.66% 90.55% 91.44%
SALIDA
REAL 3 85.55% 90.72% 90.78% 90.18% 90.65%
SALIDA
REAL 4 78.49% 87.62% 88.05% 88.24% 88.17%
SALIDA
REAL 5 82.54% 90.99% 91.16% 90.34% 91.44%
Tabla comparativa de los diferentes modelos
En las gráficas anteriores así como en la tabla
comparativa, observamos que el modelo más aproximado al
real, es el segundo modelo, por lo tanto,
...