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*