PrácticasdeAutómatasySistemasdeControl,sesión20 1
SISTEMASDECONTROL
PRÁCTICASDESISTEMASDECONTROL
CONTROLADORESDECANCELACIÓNI–Controladoresdetiempomínimo
1. OBJETIVOS
Losobjetivosdeestaprácticason:
• Diseñaryestudiarelfuncionamientodeloscontroladoresdetiempomínimo
• Observarlasventajasydesventajasdeestetipodecontroladores
2. INTRODUCCIÓN.CONTROLADORESDETIEMPOMÍNIMO
Enestaprácticavamosaestudiarloscontroladoresdetiempomínimo,quesecaracterizanporeliminarelerrorentrelasalidadelsistemaylaseñaldereferenciaenelmenortiempoposible.Estos controladores son un tipo particular de controladores de cancelación, es decir,controladoresquecancelanladinámicadelsistema𝐺 𝑧#$ acontrolar,conelobjetivodequeelsistemaenbuclecerradosecomportesegúnunafuncióndetransferenciadeseada𝑀 𝑧#$ .Dadaslasfuncionesdetransferenciaenbuclecerrado𝑀 𝑧#$ yenbucleabierto𝐺 𝑧#$ ,unregulador𝑅 𝑧#$ decancelaciónsecalculasegúnlasiguienteexpresión:
𝑅 𝑧#$ =𝑀 𝑧#$
1 − 𝑀 𝑧#$·
1𝐺 𝑧#$
(1)
Enelcasoparticulardeuncontroladordetiempomínimo,segúnhemosvistoenlassesionesdeteoría,lafuncióndetransferencia𝑀 𝑧#$ enbuclecerradodebesatisfacerlassiguientesdosrestricciones:
𝑀 𝑧#$ = 𝑧#+ · 𝐵# 𝑧#$ · 𝑀$ 𝑧#$
1 − 𝑀 𝑧#$ = 1 − 𝑧#$ -./ $01,13 · 𝐴# 𝑧#$ · 𝑀5 𝑧#$
donde:
• 𝑑eselretardodelaplanta𝐺 𝑧#$ • 𝑣eselordendelaentrada(𝑣=0paraunescalón,𝑣=1paraunarampa,etc.)• 𝑣'eselnúmerodepolosquetiene𝐺 𝑧#$ en𝑧=1• 𝐵# 𝑧#$ esunpolinomiocontodosloscerosde𝐺 𝑧#$ fueradelcírculounidad,enel
formato:𝐵# 𝑧#$ = 1 − 𝑐$𝑧#$ 1 − 𝑐5𝑧#$ ··· 1 − 𝑐9𝑧#$ ,donde𝑤 eselnúmerodecerosde𝐺fueradelcírculounidad
• 𝐴# 𝑧#$ esunpolinomiocontodoslospolosde𝐺 𝑧#$ fueradelcírculounidad,enelformato:𝐴# 𝑧#$ = 1 − 𝑝$𝑧#$ 1 − 𝑝5𝑧#$ ··· 1 − 𝑝<𝑧#$ , donde𝑞 es el númerodepolosde𝐺fueradelcírculounidad
• Elgradodelpolinomio𝑀 𝑧#$ es:𝑑 + 𝑤 + 𝑞 + 𝑚𝑎𝑥 1 + 𝑣, 𝑣B − 1• 𝑀$ 𝑧#$ y𝑀5 𝑧#$ sondospolinomiosen𝑧#$,conelgradoapropiado
PrácticasdeAutómatasySistemasdeControl,sesión20 2
El cálculo del regulador de tiempo mínimo se reduce a calcular los polinomios𝑀$ 𝑧#$ y𝑀5 𝑧#$ paraobtener𝑀 𝑧#$ y,finalmente,calcularelregulador𝑅 𝑧#$ usandolaecuación(1)anterior.
Enestaprácticavamosadiseñaryanalizarcontroladoresdetiempomínimoparaelservo,tantoen velocidad como en posición. En primer lugar es necesario identificar la función detransferenciadelservo,comohemosrealizadoenprácticasanteriores.
3. IDENTIFICACIÓNDELSERVOENVELOCIDADYPOSICIÓN(RECORDATORIO)
Para identificar los servomotores en posición y velocidad emplearemos, como entrada, unescalónde4voltiosdeamplitud.Enprimer lugar identificaremos losservosenvelocidad.Lafuncióndetransferenciadelosservosenbucleabierto,envelocidad,eslasiguiente:
𝐺CDEFGHIJI 𝑠 =𝑘
1 + 𝜏𝑠
Esta función relaciona la entrada (un voltaje) con la salida (otro voltaje, proporcional a lavelocidadderotacióndelejedelmotor).Losparámetrosaidentificarson:
• laganancia𝑘,quepuedeobtenersecomoelcociente
𝑘 = valordelasalidaenrégimenpermanente
amplituddelescalónaplicado
• laconstantedetiempo𝜏,quepuedeobtenersecomoeltiempotranscurridodesdeeliniciodelescalónhastaquelasalidaalcanzael63%delvalorfinal
LaidentificaciónlarealizaremosconlatarjetaNIUSB-6008,talycomosehizoenlapráctica2.Paralaidentificacióndelservoenvelocidadyposiciónrealizaremoslassiguientesconexiones:
Nota:lasconexionesdebenrealizarseconlafuentedealimentacióndesconectada,repasandolasmismasantesde conectarla.Además, siemprequeno seestéejecutandounprogramasobreelmotor,lafuentedealimentacióndebepermanecerdesconectada.
La identificación la realizaremos con el servomotor sin freno (palanca hacia arriba).Una vezrealizadas las conexiones anteriores, dibujaremos el esquema Simulink que se muestra acontinuaciónparaleerlosdatosnecesarios:
PrácticasdeAutómatasySistemasdeControl,sesión20 3
Recordemoslosparámetrosdeconfiguracióndelosbloquesdeesteesquema:
• Elprimerescalón(Step)secorrespondeconelvoltajeaplicadoalosbornesdelmotor.Introduciremosunescalónde4V(parámetroFinal value=4),dejandountiempode2 segundosparapermitirquese inicialiceel servo (parámetroStep time =2).Tambiénpuedeindicarseelperiododemuestreode0.01senelcampoSample time.
• El segundo escalón sirve para detener el servo al final de la simulación. Para ello,suponiendounaduracióndelasimulaciónde10s,podemosdetenerloenelinstantet=8s (parámetroStep time=8).EnelparámetroFinal value indicaremosunescalóndesignoopuestoalanterior(-4ennuestrocaso).Tambiénpodemosindicarelperiododemuestreo0.01senelparámetroSample time.
• ElbloqueMatlab FcnqueapareceacontinuacióndelosescalonessirvepararealizarlatransformaciónentrelosvaloresdesalidacalculadosporelcontroladorenSimulink(queestánenelrango[-10,10]voltios)ylastensionesqueseadmiteelbloque‘Analog Output (Single Sample)’ desalidahacialatarjeta(queestánenelrango[0,5]voltios).Enestebloquedeberáintroducirselaexpresión(u/4)+2.5enelparámetro’MATLAB function‘ (ver la figura siguiente). Recuérdese que este bloque seencuentraenlalibrería“User-DefinedFunctions”desimulink.
PrácticasdeAutómatasySistemasdeControl,sesión20 4
• Bloquedesalida(Analog Output (Single Sample)).Estebloqueseencuentraenla librería ‘Data Acquisition Toolbox’, y los parámetros a introducir aparecen en laventanasiguiente:
Recuérdeseque,aunqueenestebloqueelrangodelasalidaes[0,5]voltios,lastarjetasestánmontadas sobreunaplaca conelectrónica adicional para transformar la salidamonopolardisponibleenlatarjetaNIUSB-6008alasalidabipolarenelrango[-10,10]voltios.
• Bloquedeentrada(Analog Input (Single Sample)).Tambiénseencuentraenlalibrería‘DataAcquisitionToolbox’,ylosparámetrosaintroduciraparecenenlaventanasiguiente:
Este bloque dispone de dos salidas: la primera se corresponde con una tensiónproporcionalalaposiciónangulardelejedelmotor.Lasegundaproporcionaunatensión
PrácticasdeAutómatasySistemasdeControl,sesión20 5
proporcionalalavelocidadangularderotacióndelmotor.AmbasseñalessevisualizanensendosbloquesScope.
En las dos ventanas anteriores el identificador de la tarjeta puede ser distinto almostrado aquí, dependiendo de la tarjeta concreta que se esté usando. EsteidentificadorlodetectaautomáticamenteMatlab(parámetro‘Device’enlasventanasanteriores).
• Paraasegurarnosuncorrectofuncionamientodelesquemaesconvenientemodificarlos siguientes parámetros de simulación (puede accederse a la ventana deconfiguracióndesdelaopcióndemenú‘Simulation->ConfigurationParameters’):
o SolverOptions->Typeseconfigurarácomo‘FixedStep’.o FixedStepsize:sefijaráa0.01s(quecoincideconelperiododemuestreo.
Enlafigurasiguientesemuestralaventanadeconfiguración.
Para identificar el servo en posición y velocidad, es necesario realizar la identificación envelocidad primero. Para ello introduciremos el escalón de 4V según el esquema anterior, ymediremoslaevolucióndelavelocidadenelsegundobloqueScope.Apartirdedichaevoluciónpodremosobtenerlaganancia𝑘delafuncióndetransferencia,asícomolaconstantedetiempo𝜏.Unavezhayamos identificado la funciónde transferenciaen velocidad,podemosobtener lafuncióndetransferenciaenposición.CabedestacarquelafuncióndetransferenciaenposiciónNOseobtieneenestecasoañadiendounintegradoralafuncióndetransferenciaenvelocidad.Estosedebeaquelaseñaldevelocidadquemedimosenelservoreal(enrealidad,unatensiónproporcional a la velocidad) y la señal de posición (en realidad, un voltaje proporcional a laposición)provienendesensoresquetienendistintaganancia(laconstantedeproporcionalidaddeambossensoresNOes lamisma),yademásdichossensoresestáncolocadosendistintospuntosde lamaquetadelservomotor.Realmente,el tacogeneradorempeladoparamedir la
PrácticasdeAutómatasySistemasdeControl,sesión20 6
velocidadseencuentraconectadodirectamentealmotor(yproporcionalatensiónatravésdelpin35delaborneradelservo),mientrasqueelpotenciómetroqueproporcionaunatensiónproporcional a la posición angular del eje del motor (a través del pin 12 de la bornera) seencuentraconectadodespuésdeunareductora,porlotantoelejeunidoalpotenciómetrogira32vecesmásdespacioqueelejeunidoaltacogenerador.Portanto,eldiagramadebloquesrealeselsiguiente:
Elfactor1/32representalareduccióndelareductora,mientrasquelaganancia𝑘aeslarelaciónentre las ganancias del potenciómetro y del tacogenerador. Por tanto, la función detransferenciaenvelocidadserálasiguiente:
𝐺bFcHGHód 𝑠 =𝑘 · 𝑘a/321 + 𝜏𝑠 𝑠
Donde𝑘y𝜏sonlasquehemoscalculadoalidentificarelsistemaenvelocidad.Paracalcular𝑘adebemosprocedercomosigue:
- Medimos la pendiente de la salida del siguiente esquema simulado, introduciendocomoentradaunescalónde4voltios:
- Medimoslapendientedelaseñaldeposicióndelservoreal,quemedimosatravésdelatarjetadeadquisicióndedatos.Dichaposiciónesunaseñalendientesdesierra,comosemuestraacontinuación:
Tensiónproporcionalalavelocidad(pin35)
Tensiónproporcionalalaposición(pin12)
Tensióndeentradaalmotor(pin33)
PrácticasdeAutómatasySistemasdeControl,sesión20 7
- Obtenemos𝑘adividiendolapendienterealentrelapendientesimulada.
Tras obtener las funciones de transferencia en posición y velocidad, procedemos a diseñarreguladoresdetiempomínimoparaambas.
4.DISEÑODELOSCONTROLADORESDETIEMPOMÍNIMOENVELOCIDADYPOSICIÓN
Unavezhemosidentificadolasfuncionesdetransferenciadelservoenvelocidadyenposición,procedemos a diseñar controladores de tiempomínimo para ambos sistemas. Para diseñardichoscontroladoreshayquediscretizarlasfuncionesdetransferenciaobtenidas,yexpresarlasfuncionesdiscretizadasenpotenciasnegativasdelavariable𝑧.EstopuedehacerseenMatlabcomosigue:
>> [numd, dend] = c2dm(num,den,0.01,’zoh’)
>> Gz = zpk(filt(numd,dend,0.01))
Enloscomandosanteriores,numydensonloscoeficientesdelnumeradorydeldenominadorde la función de transferencia continua, c2dm obtiene el numerador y denominador de lafuncióndiscretizada,filtcreaunafuncióndetransferenciadiscretaenpotenciasnegativasde𝑧,yzpkcrealafuncióndetransferenciaenformatozero-pole-gain,queeselsiguiente:
𝐺 𝑧#$ =𝑈 · 𝑧#+ · (1 − 𝑐j𝑧#$)
(1 − 𝑝l𝑧#$)
Deestaformaobtenemos𝐺enunformatoútilparadiseñarelcontroladordetiempomínimo,yaqueaparecendeformaexplícitaelretardo𝑑,laganancia𝑈,losfactoresdelospolos(1 −𝑝l𝑧#$) y los factoresde los ceros(1 − 𝑐j𝑧#$).Unavez tenemos la funciónde transferenciadiscretizadayenelanteriorformato,deberánplantearseyresolverselasecuacionesdediseñodelreguladordetiempomínimo,vistasalprincipiodeesteguion.
PrácticasdeAutómatasySistemasdeControl,sesión20 8
5.SIMULACIÓNDELOSCONTROLADORESDETIEMPOMÍNIMO
Unavezdiseñadoelcontroladordetiempomínimoparaelservoenvelocidadyenposición,sedebe comprobar su funcionamiento en simulación. Para ello, se debe simular el siguienteesquemadecontrolenSimulink:
Laentradaesunescalónde4unidades.ElbloqueReselreguladordetiempomínimocalculado,mientrasqueelbloqueGseslafuncióndetransferenciacontinuadelsistemaacontrolar,sindiscretizar (sistema en velocidad o en posición, según corresponda). La acción de controlcalculadaporelreguladorseenvíaalsistemacontinuoatravésdeunbloqueadordeordencero,disponible en la librería ‘Discrete’ de Simulink. La salida del sistema continuo Gs puedemuestrearsemedianteunafuncióndetransferenciadiscretaunitaria,comosemuestraen laanteriorfigura.Debeconfigurarseelperiododemuestreodetodoslosbloquesa0.01segundos.Además,sedeberáconfigurarlasimulacióncomosigue:
Simulaelanterioresquemadecontrolenvelocidadyrespondealassiguientespreguntas.
- Visualizalasalidamuestreada,enelbloqueScope(Título:Salidamedida(muestreada))situadomásaladerechadelaimagenanterior.¿Alcanzalasalidaelvalordereferencia,oexisteerrorenrégimenpermanente?
- ¿Cuál es el tipodel conjuntoplanta + regulador? (para ver esto, considera la plantadiscretizada).¿Justificaestoelerrorobservadoenlapreguntaanterior?
- ¿Encuántasmuestrasalcanzalasalidaelvalorfinal?- ¿Cómoeslaaccióndecontrol?¿Estáenconsonanciaconelcomportamientodinámico
exigidoalaplanta?- ¿Cómo es la función de transferencia del sistema en lazo cerrado? Interpreta dicha
funcióndetransferenciaycompáralaconlasalidadiscretaobtenida.
PrácticasdeAutómatasySistemasdeControl,sesión20 9
- Observa la salida continua,esdecir, la salidadelbloquede funciónde transferenciacontinuaGs(Título:LTISystem-1).¿Coincideconlasalidadiscretizada?
Acontinuación,simulaelesquemadecontrolenposiciónyrespondedenuevoalascuestionesanteriores.Únicamenteseránecesariocambiarlosbloquesdelaplantaydelreguladorporlosestimados/calculadospreviamente.
6.IMPLEMENTACIÓNENLAMAQUETAREAL
Implementa los reguladores diseñados en el servo real y comprueba su funcionamiento.¿Funcionancorrectamente?Encasonegativo,¿aquépuedeserdebido?Interpretalosvaloresrequeridosdelaaccióndecontrol.