Professional Documents
Culture Documents
y control
de una clula Peltier
AdrinCaleroSevilla
JavierMeleroSnchez
ndice
Identificacindelproceso...2
ClculodelcontroladorPID...6
ConstruccindeunPID.vi...8
ControlPeltier.vi.10
Conclusiones.16
Identificacin del proceso
Para controlar un proceso primero debemos conocerlo. Es por ello que el primer paso es
realizarunexperimentoparatomarlosdatosdelcomportamientodelaclulaPeltierencada
unadelaszonasdetrabajo,queennuestrocasosona+5Cy5C.Paralaadquisicindelos
datos del experimento usamos el programa LabVIEW, utilizando como base la aplicacin
identplantilla.viyajustandolasexpresionesdecambiodemagnitudelresultadoqueda:
Traslarealizacindeambosexperimentosguardamoslosdatosobtenidosenformato.txtylos
cargamosenelprogramaMatLab.Antesderepresentarlosdatos,restamoslatemperaturade
equilibrioparacentrarlosdatosa0Cyprepararlosaspararealizarlaidentificacin.
+5C
5C
datos sino que hemos seleccionado dos escalones para cada caso, uno de subida y otro de
bajada.Losresultadosquenosofreceestaherramientason:
Teq=+5Cescalnpositivo
Teq=+5Cescalnnegativo
Teq=5Cescalnpositivo
Teq=5Cescalnnegativo
Gpglobal=
.
.
Gp+5C=
.
.
Gp5C=
.
.
Estasfuncionessehancalculadousandominutoscomounidaddetiempo.
Errornuloanteseguimientodeentradasescaln.
Tiempodeestablecimientomenorquelamitaddeltiempodebucleabierto.
Sinsobreoscilacin.
Quelaaccindecontrolnosesatureanteuncambiodedosgradosenlareferencia
de30%.
ParaestepuntosnosvalemosdelaherramientarltooldeMatLab,alacualleintroducimosuna
funcindetransferenciaynosmuestraellugardelasracesdedichafuncin.Ademsconesa
misma herramienta podemos indicar nuestras restricciones y calcular fcilmente los
parmetros del controlador PID. En nuestro caso, utilizando el mtodo de cancelacin,
obtenemosparalafuncindetransferenciaglobal:
DandocomoresultadoelcontrolPI
PIglobal=
Construccin de un PID.vi
ParalaconstruccindenuestropropiocontroladorPID,elaboramosnuestrapropiafuncinen
LabVIEW,loqueequivaleaun.vi.Estoesposiblegraciasalaprimeratomadecontactoenel
seminario de Identificacin y control que nos ensea las herramientas necesarias.
EstableciendoelcontrolmanualyelautomticoconunbucleconprogramacinenC:
Losparmetrosdefinidosenelcdigosonlosrecogidosdirectamenteenlasdiapositivasdel
seminario:
A partir de ah solo hay que introducir en el bucle las entradas de las variables con las que
programamos,incluyendolosrangosdenuestroSetpoint(SP)ylaVariableManipulada(VM);
teniendotambinespecialcuidadoen,trasfinalizarelbucle,pasarlasvariablesdenuevoala
entradapararedisponerdeellas.
Finalmenteeldiagramadebloquesquedaraas:
Sinpreocuparnosdelaspectodelpanelfrontal(podramosfijarunosparmetrospordefecto,
y de hecho, los fijamos), ya que no sera visible para el usuario una vez implementado en el
controldelaPeltier.
UnavezconfiguradoslosterminarestendremosnuestroPID.vi:
Control Peltier.vi
PartimosdeunaplantillaparaelcontroldelaPeltier,donde,parasimplificar,sustituiremosel
bucledeMATLABpornuestroPID.vi,creadoanteriormente.
Quedandoas:
Deesemodoapartirdeah,yapodemosaadirfacilidadesparanuestrocontrolador.Desdela
Toolbox de PIDs de LabVIEW encontramos el Setpoint Profile, para ajustar la referencia de
10
formaautomtica,yloaadimosparasuconfiguracinsegnlanecesidaddelosusuariosen
el panel frontal. Adems aadimos un interruptor para su activacin (un booleano), y as
utilizarloconvenientemente.Ademsnotamosquehayquepermitirquesereinicieelperfilsi
porcualquiermotivoesdesactivadoyreactivadoantesdequevuelvaaempezar.
Paramayorprecisinimplementamoslainterpolacindelosparmetros,ajustablesegnlos
menesteresdelusuarioyhacemosquenuestroPID.vitomelosvaloresdeah:
Encuantoaseguridad,definimosgruposyusuariosparatrashacerelloginpodersepararla
informacinyhacerlaaccesibleenbasealgradoocupadoenlajerarqua:
11
Esto en el diagrama de bloques lo implementamos con algunas funciones de seguridad,
incluidasenbuclesapartedelbucleprincipal:
Respectoaesto,enelpanelfrontalinclumosunbooleanoquemuestracuandosehahechoel
login correctamente, y donde lo encuadrado en rojo quedar oculto durante su
funcionamiento.
12
Hemos implementado tambin en el cdigo, variables compartidas, para hacer posbible
mandarorecibirlareferenciaa/deotroordenador,paraloqueaadiremosotrointerruptor
enelpanelfrontalparadeterminaruso.
Finamente,hablaremosdelautotunningunafuncinfundamentalenloqueadeterminacin
deparmetrosserefiere.Hemostenidoquequerealizarlaimpantacinde unaversinms
antigua, seguida por una posterior, para finalmente incluso eliminar nuestro PID.vi inicial al
observarconplacercomoyaelPIDautotunningonlinecontemplabaestafuncin.
Porunlado,elantiguoPIDAutotunningVI,consurespectivobotnparapermitirsuactivacin
ymodificarlareferencia:
13
Pero,debidoasuusolimitado,lohemossustituidoporelPIDAdvancedAutotunnig,quedando
as:
Quequedaraasenelpanelfrontal:
14
Enelpanelfrontal,lodisponemostododeunamaneraadecuadayatractiva,conpestaasen
unTabContentparamayorcomodidad.Yconesopodramosdarporconcluidoeltrabajo.
15
Conclusiones
La diferencia entre los modelos del proceso en las zonas de trabajo escogidas son
apreciables, por tanto es conveniente trabajar con un modelo para cada zona y
adaptarposteriormenteelcontrolporplanificacindeganancia.
Sinembargo,noessignificativaladiferenciaentreelprocesodecalentadoyenfriado
dentrodeunamismazonadetrabajo,conlocualnoesnecesarioparaestaaplicacin
realizartaldistincin.
Para la implementacin del controlador, teniendo en cuenta las restricciones dadas,
unaestructuraPIessuficienteparaasegurarunbuenfuncionamiento.
Puesto que LabVIEW es un programa conocido y extendido en la industria, tener un
sistema de seguridad de usuarios es necesario no solo para prevenir un mal uso
internosinotambinparaevitaramenazasexternas.
16