Вы находитесь на странице: 1из 11

1.

ADQUISICION DE DATOS DEL CIRCUITO RC


En nuestra experiencia de adquisicion de datos de un sistema electrico denominado
circuito serie RC que se muestra en la figura

R=2.2K a 1/4W

C=47uF

SIM1

AREF

13
ARDUINO

RESET 12
~11
5V ~10
~9
SIMULINO
POWER

GND 8
ATMEGA328P

DIGITAL (PWM~)

7
~6
ATMEL
ANALOG IN

A0 ~5
A1 4 R1
A2 ~3
A3 2
2.2k
A4 TX > 1
A5 RX < 0
www.arduino.cc
blogembarcado.blogspot.com
SIMULINO UNO

C1

47u

Conexión arduino y circuito RC

 La primera parte trata de adquirir los datos utilizando entradas analogicas desde
el ADC y como salida el PWM.
 La segunda parte DAC de 12 bits como salida analoga
CODIGO EN MATLAB
delete(instrfind({'Port'},{'COM2'}));
a=arduino('COM2');
ref=zeros(1,1);
val=zeros(1,1);
LED=5;
T=1/50;
tfin=5;
N=tfin/T; display('NSamples'), disp(N)
amp=1;
for i=0:N
if (i>=0 && i<=50)
u=0;
elseif (i>50 && i<=150)
u=amp;
else
u=0;
end

analogWrite(a,LED,u);
sensorValue=analogRead(a,0);

if i==N
break;
end
ref(i+1)=u;
val(i+1)=sensorValue;
hold on
plot(i,sensorValue)
plot(i,u,'r')
end
dlmwrite('data_rcinp.dat',ref,'delimiter','\n','precision','%.2f')
dlmwrite('data_rcout.dat',val,'delimiter','\n','precision','%.2f')
av=analogRead(a,5);
av=(av/1023)*254;
analogWrite(a,5,round(av))
2. LECTURA DE DATOS

La señal de respuesta debido al estimulo es mostrada en la Figura siguiente

Respuesta del sistema frente a la señal cuadrada

Codigo en matlab
load data_rcout.dat
load data_rcinp.dat
y=data_rcout(:,1);
u=data_rcinp(:,1);
subplot(211), plot(y),axis([0 200 0 10])
subplot(212), plot(u

3. MODELAMIENTO DE LA SALIDA
Codigo en matlab
clear;close all;clc;
load data_rcinp.dat
load data_rcout.dat
u=data_rcinp(:,1);
y=data_rcout(:,1);
fs=20; T=1/fs;
data=iddata(y,u,T);
plot(data)
th=arx(data,[1,1,1]); % identificacion
Gd=tf(th.b,th.a,T);
Gc=d2c(Gd); % modelo estimado
% modleo exacto
tau=0.1034; % dato real : tau =R*C
Gp=tf(1,[tau 1 ]); % modelo exacto
step(Gc,'r')
hold
t=0:0.01:1;
A=6;
sp=A*ones(size(t));
y=lsim(Gp,sp,t);
plot(t,y,'k')
4. DETERMINACIÓN DE LOS VALORES DE TAU, TD, K DE
NUESTRO CONTROLADOR
% calculo de k tau Td para la generacion de la tabla
syms s t
Gp=321/ (s^2 +37.85*s+323.4);
u=1/s;
y=u*Gp;
y=simplify(ilaplace(y));
dy=diff(y,t); % 1 derivada
ddy=diff(dy,t); % 2 derivada
t1=solve(ddy);
t1=vpa(t1,4);
t1=vpa(t1,4);
t1=t1(2);
m=subs(dy,t1);
m=m(1);
% calculo del Td tiempo de retardo
y1=subs(y,t1); % para t=t1
y1=y1(1);
Ta=(m*t1-y1)/m;
% calculo de la bmax
Bmax=limit(y,inf);
% calculo de k
r=1; % escalon unitario
K=Bmax/r;
% calculo de la constate del timpo tau
tau=Bmax/r;
% calculo de la constante del tiempo tau
tau=Bmax/m;
disp('tau='), disp(eval(tau))

disp('Td='), disp(eval(Ta))

disp('K='), disp(eval(K))
5. SISTEMA DE RESPUESTA DEL PID

tau= 0.1564;

Td= 0.0153;

K=0.9926;
R=K/tau;
Kc=1.2/(R*Td);
Ti=2*Td;
Td=0.5*Td;
Gpid=tf([Kc*Ti*Td Kc*Ti Kc],[Ti 0]);
S=series(Gc,Gpid);
F=S/(S+1);
step(F)
6. Diseño de un Controlador difuso

La incorporación de lógica difusa a los sistemas de control da lugar a lo que


llamaremos sistemas de control difuso. Dentro de los sistemas de control se
encuentran dos grandes áreas, el modelado o identificación y el control propiamente
dicho o control directo. Nos enfocaremos en el control de procesos suponiendo
conocido el modelo de este. La idea es muy simple, se trata de determinar de manera
lógica que se debe hacer para lograr los objetivos de control de mejor manera posible
a partir de una base de conocimiento proporcionada por un operador humano, sin esta
base no es posible desarrollar una aplicación y que esta funcione de manera correcta.
Se utiliza el conocimiento y experiencia de un operador humano para construir un
controlador que emule el comportamiento de tal persona. Comparado con el control
tradicional, el control difuso tiene dos ventajas practicas, una es que el modelo
matemático del proceso a controlar no es requerido y otra es que se obtiene un
controlador no lineal desarrollado empíricamente sin complicaciones matemáticas,
en realidad los desarrollos matemáticos de este tema todavía están en su infancia.
Funcion de transferencia de nuestro proceso de segundo orden
𝑺+𝟏
FT=
𝑺𝟐 +𝟑𝒙𝟏𝟎−𝟓 𝒔+𝟐𝒙𝟏𝟎−𝟏𝟎

REGLAS DE CONTROL
ERROR VOLTAJE

ENG VNG

ENP VNP

EC VC

EPP VPP

EPG VPG

V:voltaje G:grande

C: cero E: error

P:pequeño N: negativo
CURVA DE CONTROL ERROR VS VOLTAJE

REGLAS DE CONTROL METODO DE INFERENCIA DE MANDANI


SALIDA DEL PROCESO CON EL CONTROLADOR DIFUSO

Вам также может понравиться