Post on 08-Jan-2016
description
transcript
IdentificacinycontroldeunaclulaPeltier
AdrinCaleroSevillaJavierMeleroSnchez
1
ndiceIdentificacindelproceso...2ClculodelcontroladorPID...6ConstruccindeunPID.vi...8ControlPeltier.vi.10Conclusiones.16
2
IdentificacindelprocesoPara controlar un proceso primero debemos conocerlo. Es por ello que el primer paso esrealizarunexperimentoparatomarlosdatosdelcomportamientodelaclulaPeltierencadaunadelaszonasdetrabajo,queennuestrocasosona+5Cy5C.Paralaadquisicindelosdatos del experimento usamos el programa LabVIEW, utilizando como base la aplicacinidentplantilla.viyajustandolasexpresionesdecambiodemagnitudelresultadoqueda:
Traslarealizacindeambosexperimentosguardamoslosdatosobtenidosenformato.txtyloscargamosenelprogramaMatLab.Antesderepresentarlosdatos,restamoslatemperaturadeequilibrioparacentrarlosdatosa0Cyprepararlosaspararealizarlaidentificacin.
3
+5C
5C
Ahora ya nos encontramos en condiciones de abrir la herramienta ident deMatlab, dondecargamos los resultados tratados. Para la identificacin no utilizamos todo el ancho de los
4
datos sinoquehemos seleccionadodosescalonespara cada caso,unode subida yotrodebajada.Losresultadosquenosofreceestaherramientason:Teq=+5Cescalnpositivo
Teq=+5Cescalnnegativo
Teq=5Cescalnpositivo
5
Teq=5Cescalnnegativo
Conestosresultadosnoscalculamostres funcionesdetransferencia:unaglobal,unapara lazonade+5Cyotraparalazonade5C.
Gpglobal= ..Gp+5C=..Gp5C=
..
Estasfuncionessehancalculadousandominutoscomounidaddetiempo.
6
ClculodelcontroladorPIDUna vez tenemos la funcin de transferencia ya estamos en disposicin de calcular losparmetrosdelcontroladorPIDparacumplirconlassiguientesespecificaciones: Errornuloanteseguimientodeentradasescaln. Tiempodeestablecimientomenorquelamitaddeltiempodebucleabierto. Sinsobreoscilacin. Quelaaccindecontrolnosesatureanteuncambiodedosgradosenlareferenciade30%.ParaestepuntosnosvalemosdelaherramientarltooldeMatLab,alacualleintroducimosunafuncindetransferenciaynosmuestraellugardelasracesdedichafuncin.Ademsconesamisma herramienta podemos indicar nuestras restricciones y calcular fcilmente losparmetros del controlador PID. En nuestro caso, utilizando el mtodo de cancelacin,obtenemosparalafuncindetransferenciaglobal:
7
DandocomoresultadoelcontrolPI
PIglobal=.
8
ConstruccindeunPID.viParalaconstruccindenuestropropiocontroladorPID,elaboramosnuestrapropiafuncinenLabVIEW,loqueequivaleaun.vi.Estoesposiblegraciasalaprimeratomadecontactoenelseminario de Identificacin y control que nos ensea las herramientas necesarias.EstableciendoelcontrolmanualyelautomticoconunbucleconprogramacinenC:
Losparmetrosdefinidosenelcdigoson losrecogidosdirectamenteen lasdiapositivasdelseminario:
Apartirdeah solohayque introducirenelbucle lasentradasde lasvariables con lasqueprogramamos, incluyendo losrangosdenuestroSetpoint(SP)y laVariableManipulada(VM);teniendotambinespecialcuidadoen,trasfinalizarelbucle,pasarlasvariablesdenuevoalaentradapararedisponerdeellas.
9
Finalmenteeldiagramadebloquesquedaraas:
Sinpreocuparnosdelaspectodelpanelfrontal(podramosfijarunosparmetrospordefecto,ydehecho, los fijamos),yaquenoseravisibleparaelusuariounavez implementadoenelcontroldelaPeltier.UnavezconfiguradoslosterminarestendremosnuestroPID.vi:
10
ControlPeltier.viPartimosdeunaplantillaparaelcontroldelaPeltier,donde,parasimplificar,sustituiremoselbucledeMATLABpornuestroPID.vi,creadoanteriormente.
Quedandoas:
Deesemodoapartirdeah,yapodemosaadirfacilidadesparanuestrocontrolador.DesdelaToolboxdePIDsde LabVIEWencontramosel SetpointProfile,paraajustar la referenciade
11
formaautomtica,yloaadimosparasuconfiguracinsegnlanecesidaddelosusuariosenel panel frontal. Adems aadimos un interruptor para su activacin (un booleano), y asutilizarloconvenientemente.Ademsnotamosquehayquepermitirquesereinicieelperfilsiporcualquiermotivoesdesactivadoyreactivadoantesdequevuelvaaempezar.
Paramayorprecisin implementamos la interpolacinde losparmetros,ajustablesegn losmenesteresdelusuarioyhacemosquenuestroPID.vitomelosvaloresdeah:
Encuantoaseguridad,definimosgruposyusuariosparatrashacerelloginpodersepararlainformacinyhacerlaaccesibleenbasealgradoocupadoenlajerarqua:
12
Esto en el diagrama de bloques lo implementamos con algunas funciones de seguridad,incluidasenbuclesapartedelbucleprincipal:
Respectoaesto,enelpanelfrontalinclumosunbooleanoquemuestracuandosehahechoellogin correctamente, y donde lo encuadrado en rojo quedar oculto durante sufuncionamiento.
13
Hemos implementado tambin en el cdigo, variables compartidas, para hacer posbiblemandarorecibir lareferenciaa/deotroordenador,para loqueaadiremosotro interruptorenelpanelfrontalparadeterminaruso.
Finamente,hablaremosdelautotunningunafuncinfundamentalen loqueadeterminacindeparmetrosserefiere.Hemostenidoquequerealizar la impantacindeunaversinmsantigua, seguidaporunaposterior,para finalmente inclusoeliminarnuestroPID.vi inicialalobservarconplacercomoyaelPIDautotunningonlinecontemplabaestafuncin.Porunlado,elantiguoPIDAutotunningVI,consurespectivobotnparapermitirsuactivacinymodificarlareferencia:
14
Pero,debidoasuusolimitado,lohemossustituidoporelPIDAdvancedAutotunnig,quedandoas:
Quequedaraasenelpanelfrontal:
15
Enelpanelfrontal,lodisponemostododeunamaneraadecuadayatractiva,conpestaasenunTabContentparamayorcomodidad.Yconesopodramosdarporconcluidoeltrabajo.
16
Conclusiones La diferencia entre losmodelos del proceso en las zonas de trabajo escogidas son
apreciables, por tanto es conveniente trabajar con un modelo para cada zona yadaptarposteriormenteelcontrolporplanificacindeganancia.
Sinembargo,noessignificativaladiferenciaentreelprocesodecalentadoyenfriadodentrodeunamismazonadetrabajo,conlocualnoesnecesarioparaestaaplicacinrealizartaldistincin.
Para la implementacindel controlador, teniendoen cuenta las restriccionesdadas,unaestructuraPIessuficienteparaasegurarunbuenfuncionamiento.
PuestoqueLabVIEWesunprogramaconocidoyextendidoen la industria, tenerunsistema de seguridad de usuarios es necesario no solo para prevenir un mal usointernosinotambinparaevitaramenazasexternas.