You are on page 1of 14

8 de Julio de 2002

Universidad Nacional de Quilmes


Ing. Automatizacin y control Industrial.

TRABAJO PRACTICO FINAL
Datos Personales
Universidad Nacional De Quilmes
!Ing. en Automatizacin " #ontrol Industrial$
Sistemas Digitales
Martn Alberto Castillo
Legajo 3947
In%orme
BREVE DESCRIPCION: El trabajo realizado conite en controlar !n "roceo a tra#$ de !n
%icrocontrolador motorola mc68hc11& Pode%o 'ablar entonce de do "arte (!ncionale)
PLANTA * CONTROLADOR&
Dic'o "roceo conite en controlar +re,!lar- el ni#el de !n tan.!e a tra#$ de !n control PID
i%"le%entado en dic'o %icrocontrolador&
Ete controlador PID tendr/ co%o e0ale de entrada de ca%"o !n SP +Set Point 123V- * !n PV
+Valor de "roceo 123V- * !na e0al de alida "ara el act!ador +#/l#!la 4251 %A-&
6 Decri"ci7n de la ditinta "arte (!ncionale:
Descri&cin de la &lanta
'a &lanta es un tan(ue de agua al cual se le tratara de controlar su nivel a un determinado set
&oint deseado )&otencimetro de 0 a * volts+ . ,l elemento sensor ser- un medidor de &resin
di%erencial el cual nos .rindara in%ormacin del nivel del tan(ue en %orma de variaciones de
tensin desde un rango de 0 /olts &ara el nivel m0nimo y * /olts &ara el nivel m-1imo.
2am.i3n contamos con un elemento %inal de control (ue ser- el encargado de suministrar o
restringir la cantidad de agua necesaria &ara lograr el nivel deseado. Dic4o elemento de
control es una v-lvula neum-tica cuya entrada es de 5ma )v-lvula cerrada+ a 20 mA)v-lvula
a.ierta al 6007+ )ver %igura 6+
'a in%ormacin del sensor es enviada al microcontrolador a trav3s de un &uerto del 8it de
motorola donde se encuentra im&lementado el lazo de control )PID+ 9 al &rocesar dic4a
in%ormacin o.tenemos una variacin en la se:al de control a %in de o.tener el nivel deseado.
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

AI ,ntradas de set &oint y de nivel
A; <alidas de control 5=20 mA.
Fi,!ra 6 > Diagrama de la &lanta
Descri&cin del microcontrolador
#ontamos con un 8it %ormado &or un microcontrolador motorola ?#@8A#66=B6 de 8 .its9
con 6 8.ytes de memoria CA?9 *62 .ytes de memoria ,,PC;? y una memoria C;? donde
se encuentra el Dootstra& )&rograma de arran(ue+
#uenta con E &uertos )A9 D9#9 D9 ,9 B9 F+ Algunos son con%igura.les como entrada o salida.
Posee un <PI !sincrnico$ )inter%ase serie de &eri%3ricos+ y un <#I (ue es asincrnico )C<2G2
2H=CH+
Posee 8 timer internos9 conversores AID )8 canales de 8 .its+9 6@ vectores de interru&ciones.
)mas detallados en la im&lementacin+. )/er %igura 2+.
Pagina 6*
II; AI A;
<,N<;C
NI/,'
D;?DA
<P
/-lvula de
control
neum-tica
neumatica
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

Fi,!ra 5 > Diagrama del JI2 ?#@8A#66
Descri&cin de otros 4ardKare utilizado
,n el &royecto tam.i3n se utilizan un Dis&lay &ara visualizar la varia.le !error$ del &roceso y
un %iltro &ara entregar 5=20 mA a la v-lvula de control ya (ue dic4o microcontrolador no
&osee un conversor DIA &or lo (ue se im&lemento la salida de control con un PL?.

DI<P'A" BI'2C;
Pagina 6*
Port ,
AID
Port B
dis&lay
Port D
Port D
Port F
Port A
PL?
Port #
dis&lay
C<2G2
Alimentacin
Ree
t
54Volt
Salida
12518A
Entrada
P98
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

#IC#UI2; ,',#2CMNI#; D,' BI'2C;.
2. I%"le%entaci7n del Control PID +o(t:are-
'a com.inacin de una accin de control &ro&orcional9 una accin de control integral y una
accin de control derivativa se denomina PID. ,sta accin com.inada tiene las ventaNas de
cada una de las tres acciones de control individuales.
El control PID %ejora el tranitorio +di%in!*e el obre"ico- * etablece en %ejor tie%"o
el #alor de "roceo
Para realizar la im&lementacin del control9 se utiliz la discretizacion de un PID.
2.2 Discretizacin
'a mayor0a de los controladores comerciales est-n .asados en micro&ro cesadores u
otros elementos de c-lculo digital. Por lo tanto la %orma (ue toma el regulador PID es la de su
re&resentacin discreta.
<i utilizamos9 &or eNem&lo la a&ro1imacin &or o&erador derivada9 siendo T el &er0odo
de muestreo resulta

Para mas informacin se pe!e recrrir al sigiente lin"#
$ttp%&&'c(t)**#n+#e!#ar&Materias&Cont#Digital&Apntes&ApntePagina&,-)P.D#p!f
<iendo este el control PID im&lementado.
,ste control re(uiere el almacenamiento de 2 valores de error de &eriodos anteriores )e8=6+)e8=2+ y
el valor de la actuacin anterior)u8=6+9 con lo (ue se re(uiere dis&oner de memoria &ara almacenar
dic4os valores.
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

2.G E;"licaci7n ,eneral del "ro,ra%a

,l &roceso de control PID cuenta con dos se:ales de entrada )Nivel deseado llamado set &oint 9
Nivel actual llamado valor de &roceso+ y una se:al de saluda (ue es la actuacin (ue ocurrir- en la
v-lvula neum-tica.
A trav3s del conversor AID del Jit de motorola se ingresan los valores de entrada9 cuyos rangos
son de 0 a * volt9 los cuales al &asar &or el conversor AID son almacenados en la memoria del
micro con valores de 0 a 2**.
,stos valores son los (ue se utilizan &ara el calculo de la actuacin (ue (ueremos tener a la salida
a trav3s de un PID )control &ro&orcional9 derivativo e integrador+.
,l algoritmo PID im&lementado re(uiere el almacenamiento de valores de scan
6
anteriores9 los
cuales tam.i3n son almacenados en memoria.
,l resultado del calculo PID tam.i3n es guardado en la memoria y se utiliza como dato de entrada
&ara el PL? de.ido a (ue no contamos con un DIA &ara la salida (ue me entregara la se:al
el3ctrica de salida &ara alimentar la v-lvula.
#omo la v-lvula de control necesita una se:al (ue va de los 5 mA )v-lvula cerrada+ a los 20
mA)/-lvula a.ierta + y el PL? im&lementado entrega una se:al a un circuito e1terno (ue %iltra
los &ulsos &ara entregar la se:al en corriente de 0 a 20 mA se realizo un escalamiento en el calculo
PID &ara (ue el 0 de actuacin sea 5 mA..
6 <can ,l so%Kare im&lementado %unciona c0clicamente9 &or lo (ue a cada re&eticin del &rograma &ara el calculo
del PID se lo llama scan9 cuyo &eriodo )lo (ue tarda en &rocesar cada ciclo+ se llama &eriodo de scan9 el cual de&ende de la
velocidad del microcontrolador.

2.5 Ti"o de #ariable ele,ida&
Para almacenar datos en memoria se utilizaron varia.les9 las cuales de&endiendo de la a&licacin
a la (ue &ertenecen se de%inieron de la siguiente manera9 &ara tratar de o&timizar la memoria9 ya
(ue de&endiendo del ti&o elegida9 esta ocu&a mayor o menor lugar en memoria.
Para las constantes del PID sean JP9 JI9 JD se utilizaron varia.les del ti&o int9 &ero
de&endiendo del &roceso )si es lento o no+ muc4as veces alcanza con utilizar varia.les c4ar las
cuales &ueden almacenar de 0 a 2**.
Para las varia.les de entrada del &roceso (ue vienen del AID se utilizo volatile unsigned c4ar9
&ues como diNimos antes el conversor entrega valores de 0 a 2**9 y de.ido a (ue estos valores
cam.ian en cada ciclo de scan se eligen del ti&o vol-til &or (ue el com&ilador &uede o&timizar
las varia.les sin (ue nosotros (ueramos y &ensar (ue &oseen siem&re el mismo valor.
Para las varia.les de actuacin tam.i3n se utilizo del ti&o vol-til &ero estas son signed int ya
(ue el calculo del PID &uede dar valores negativos.
Para las varia.les de error se utilizo signed int de.ido a los mismo (ue &ara el calculo &id
)&odemos tener error negativo o &ositivo+
Variable !tilizada "or el al,orit%o PID i%"le%entado
volatile unsigned c4ar nivelO II/ACIAD', D;ND, <, A'?A#,NA ,' <,N<AD; D, NI/,'
volatile signed int actuacionOII/ACIAD', D, A#2UA#I;N
volatile signed int actuacion6OII/ACIAD', D;ND, <, A'?A#,NA 'A A#2UA#I;N D,' P,CI;D;
AN2,CI;C
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

volatile unsigned int actuaO II/ACIAD', D, <A'IDA D, A#2UA#I;N
volatile unsigned c4ar set&oitO II/ACIAD', D;ND, <, A'?A#,NA ,' <P D,<,AD;
signed int errorO II,CC;C A#2UA'
signed int error6O II,CC;C D, P,CI;D; AN2,CI;C
signed int error2O II,CC;C D, 2 P,CI;D;< AN2,CI;C,<
III#;N<2AN2,< D, <IN2;NIPA#I;N D,' PID
int 8&O IIvaria.le de constante &ro&orcional
int 8iO IIvaria.le de constante integral
int 8dO IIvaria.le de constante derivativa
2.* So(t:are de control i%"le%entado en len,!aje C "ara 8C<=>C66
)!#;?,N2AD;$+.
Qinclude Rio%6.4S
IIP;C2# " P;C2B U2I'IPAD;< PACA ?AN,J; D, DI<P'A"II
IIDatos
const c4ar #;?AND;<TUVW01G8901G8901G890108901069010@9010B9016590106XO
Qde%ine #'C 0106
Qde%ine IN#? 0150
Qde%ine DU<<" 0180
IIP;C2B
Qde%ine C< 0106
Qde%ine CL 0102
Qde%ine ,n 0105

e1tern void #loc8)void+O
e1tern void ,scri.eDato)unsigned c4ar Dato+O
e1tern void ,scri.e#omando)unsigned c4ar #omando+O
e1tern void Delay)void+O
e1tern void ,scri.ir)unsigned c4ar Yent+O
unsigned c4ar iO
IID,BINI#I;N D, /ACIAD',< D,' PC;FCA?A D, #;N2C;' PID
volatile unsigned c4ar nivelO II/ACIAD', D;ND, <, A'?A#,NA ,' <,N<AD; D, NI/,'
volatile signed int actuacionOII/ACIAD', D, A#2UA#I;N
volatile signed int actuacion6OII/ACIAD', D;ND, <, A'?A#,NA 'A A#2UA#I;N D,'
P,CI;D; AN2,CI;C
volatile unsigned int actuaO II/ACIAD', D, <A'IDA D, A#2UA#I;N
volatile unsigned c4ar set&oitO II/ACIAD', D;ND, <, A'?A#,NA ,' <P D,<,AD;
signed int errorO II,CC;C A#2UA'
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

signed int error6O II,CC;C D, P,CI;D; AN2,CI;C
signed int error2O II,CC;C D, 2 P,CI;D;< AN2,CI;C,<
III#;N<2AN2,< D, <IN2;NIPA#I;N D,' PID
int 8&O IIvaria.le de constante &ro&orcional
int 8iO IIvaria.le de constante integral
int 8dO IIvaria.le de constante derivativa
void main)void+
W
DDC#V01%%O
DDCAV01%%O
IICU2INA D, INI#IA'IPA#I;N D,' DI<P'A"
%or)iV0OiRGOiZZ+
,scri.e#omando)#;?AND;<TiU+O
%or)OiR[OiZZ+
W
#4ec8)+O
,scri.e#omando)#;?AND;<TiU+O
X
II/A';C,< D, JP9 JI " JD

8&VE0O
8iV6O
8dV0O
\asm)]#'I]+O IY4a.ilita interu&ciones glo.alesYI
2?<J6V01#0O IIAa.ilita interr 2;#6 y toc 2
2?<J2V0180OIIAa.ilita interr 2;B
;P2I;NV0180O
K4ile))<#<C^0150+VV0+O IY%lag linea trans li.reYI
AD#2'V01G0O IYsetea el conversor aId YI
,scri.ir)],rror]+OII,<#CID, UN <2CINF ,N ,' DI<P'A"
%or)OO+ II'AP; D, #;N2C;'
W
\asm)]sei]+O IID,<AADI'I2; IN2,CCUP#I;N,<

errorV)signed int+set&oit=)signed int+nivelOII#A'#U'; D, ,CC;C
ltoa)error+OII,<#CID, ,' /A';C D,' ,CC;C ,N ,' DI<P'A"
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

IIA'F;CI2?; D,' PID DI<#C,2;II
actuacionV)8&Y)))6Z8iZ8d+Yerror+=))6Z2Y8d+Yerror6+Z)8dYerror2+++Zactuacion6O
error2Verror6O
error6VerrorO
II,<#A'A?I,N2; D, 'A A#2UA#I;NII
i% )actuacionR0+
W
actuacion6V0O
2;#6V60000O II ,<#A'A?I,N2; PACA ;D2,N,C 5mA PACA A#2UA#I;N
?INI?A
X
else
W
actuacion6VactuacionO
actuaV)unsigned int+actuacionO
2;#6VactuaZ60000O
X
\asm)]cli]+O IIAADI'I2; IN2,CCUP#I;N,<
X

X
IIIN2,CCUP#I;N D, #;N/,C<I;N,< AID
_interru&t void t2)void+
W
2B'F6V0150O
2;#2V2;#2ZE000O
i% ))AD#2'^0180+`V0+ IYse %iNa el %lag de la conversionYI
W
nivelVADC5O II AID D, 'A ,N2CADA D, NI/,' !&in *$
set&oitVADC6O II AID D, 'A ,N2CADA D, <P )P;2,N#I;?,2C;+ !&in 6$
AD#2'V01G0O IID;CCAD; D, B'AF<
X
X
IIIN2,CCUP#I;N,< PACA ,' PL?
_interru&t void u&)void+
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

W
2B'F2V0180O
P;C2AV01BBO

X
_interru&t void doKn)void+
W
2B'F6V0180O
P;C2AV0100O
X
IIIIBUN#I;N,< D,' DI<P'A"
void #loc8)void+
W
P;C2B aV ,nO
P;C2B ^V b,nO
X
void ,scri.eDato)unsigned c4ar Dato+
W
#4ec8)+O
P;C2B aV C<O
P;C2B ^V bCLO
P;C2# V DatoO
#loc8)+O
X
void ,scri.e#omando)unsigned c4ar #omando+
W
P;C2B ^V bC<O
P;C2B ^V bCLO
P;C2# V #omandoO
#loc8)+O
X
void #4ec8)void+
W
DDC#V0100O
P;C2B ^V bC<O
P;C2B aV CLO
P;C2B aV ,nO
K4ile)P;C2# ^ DU<<"+ P;C2DcV0150O
P;C2B ^V bCLO
DDC# V 01BBO
X
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

void ,scri.ir)unsigned c4ar Yent+
W
unsigned c4ar ieO
ieV0O
#4ec8)+O
,scri.e#omando)#'C+O
#4ec8)+O
K4ile)entTieU`Vde0d+
W
i%)ieVV8+
W
#4ec8)+O
,scri.e#omando)0180aIN#?+O
X
,scri.eDato)entTieU+O
ieZZO
X
X
IIBUN#I;N D, ,<#CI2UCA D, DI<P'A"II
void ltoa)signed int numero+
W
unsigned int divO
unsigned c4ar au1iO
#4ec8)+O
,scri.e#omando)0180a)IN#?ZG++O
divV6000O
i%)numero ^ 018000+
W
,scri.eDato)5*+O
numeroVnumero=6O
numerocV01BBBBO
X
else ,scri.eDato)5G+O
%or)iV0OiR5OiZZ+
W
au1iV)unsigned c4ar+)numeroIdiv+O
,scri.eDato)au1iZ58+O
numeroVnumero=au1iYdivO
divVdivI60O
X
X
Pagina 6*
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

2.@ R!tina de interr!"cione.
,s este &rograma se utilizan G rutinas de interru&ciones de timer9 dos de ellas se usan &ara el PL?
y una &ara el conversor AID.
Vectore de interr!"cion
1de% \main
1de% \t2
1de% \u&
1de% \doKn
No%bre la interr!"cion
2;ID Nm& \u&
2;#2ID Nm& \t2
2;#6ID Nm& \doKn
INTERR?PCION DE CONVERSIONES A@D
#uando se cum&le t2 realiza la conversin9 variando el valor del 2;# &odemos elegir cada cuanto
tiem&o (ueremos (ue realice una conversin.
_interru&t void t2)void+
W
2B'F6V0150O
2;#2V2;#2ZE000O
i% ))AD#2'^0180+`V0+ IYse %iNa el %lag de la conversinI
W
nivelVADC5O II AID D, 'A ,N2CADA D, NI/,'
set&oitVADC6O II AID D, 'A ,N2CADA D, <P )P;2,N#I;?,2C;+
AD#2'V01G0O IID;CCAD; D, B'AF<
X
X
INTERR?PCIONES PARA EL P98
#uando entra una interru&cion de timer over %loK coloca 01BB en el P;C2A
_interru&t void u&)void+
W
2B'F2V0180O
P;C2AV01BBO
X
Pagina 6*
PL?
2imer utilizado &or el AID
2;#s Utilizado
?o de tacABC<B %ainDt5 +interr!"-

8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

#uando entra la interru&cin de 2;#6 coloca0100 en el P;C2 A
_interru&t void doKn)void+
W
2B'F6V0180O
P;C2AV0100O
X
Salida entre,ada "or el P98 al PORTA
2.E 8a"a de %e%oria
StacA !a,e:
EC'ecA 5 +5-
EClocA 5 +5-
EEcribeCo%ando = +<-
EEcribeDato = +<-
EEcribir 63 +F-
Edo:n G H +H-
Eltoa 6H +66-
E%ain G 5F +=-
Et5 G H +H-
E!" G H +H-
A continuacin se encuentra los sectores de memoria asignados &ara el &rograma9 los datos9
las constantes y las interru&ciones.
De, &te;t 2b 1;11 2n &te;t I "ro,ra% tart addre
crt&o
De, &te;t 2b 1;611 2n &te;t I "ro,ra% %ain addre
De, &cont 2a &te;t I contant (ollo: code
De, &data 2b 1;6= I data tart addre
%ain&o I %ain&c
Pagina 6*
t
2;#6
2;B
*v
0v
#odigo inicio
0100
010@
01c5
01600
G@
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

De, &te;t 2b 1;C4 2n &te;t I interr!"tion
#ector(6&o

Pagina 6*
Datos
Interru&ciones
#odigo
<tac8
8 de Julio de 2002
Universidad Nacional de Quilmes
Ing. Automatizacin y control Industrial.

C&1 Concl!ione:
El control t!#o !n dee%"e0o ace"tableJ e "!ede lle,ar a %ejorar la "er(or%ance del
%i%o aj!tando !n "oco la contante de control ecalando el al,orit%o i%"le%entado
"ara tener !na %ejor reol!ci7n de Ai * AdJ in neceidad de !ar #ariable con "!nto
(lotanteJ *a .!e eta de%andarKan %a !o de %e%oriaJ la c!al re!lto j!ta "ara el
al,orit%o i%"le%entado&
Ta%bi$n #e%o .!e el control !tilizando olo la "arte "ro"orcional * la inte,ral e
co%"orto %ejor .!e con !n PID&
"ode%o a,re,ar .!e la ober#ar la "lanta re,!lando con el control PI la acci7n del
act!ador era %a !a#eJ * al a,re,arle el deri#ador e #ol#i7 %!c'o %a Lner#iooM el
act!ador * en al,!no cao e at!rabaJ eto "!ede er %!c'a #ece !n co%"ro%io a
la 'ora de i%"le%entar ete controlJ *a .!e "or eje%"lo en n!etro cao !n "e.!e0o
r!ido en el enado de ni#el debido a la t!rb!lencia del a,!a de la bo%ba centrK(!,a
"ro#oca ,rande #ariacione en la e0al de act!aci7nJ lo .!e de%anda "or eje%"lo en
#/l#!la ne!%/tica %a*or de,ate * %a*or con!%o de aire co%"ri%ido&
INDICE
6& Decri"ci7n de la ditinta "arte (!ncionale Pa,ina 6
5& I%"le%entaci7n del control PID Pa,ina 4
5&5 Dicretizacion PID Pa,ina 4
5&C E;"licaci7n Nral& del "ro,ra%a Pa,ina 3
5&4 Ti"o de Variable Pa,ina 3
5&3 So(t:are de control i%"le%entado en len,!aje C Pa,ina <
5&< R!tina de Interr!"cione Pa,ina 66
5&F 8a"a de 8e%oria Pa,ina 65
5&= Dia,ra%a de (l!jo Pa,ina 64
C& Concl!ione Pa,ina 63
Pagina 6*

You might also like