Sistemas de controle com Python

Page 1

SISTEMAS DE CONTROLE COM PYTHON

Resposta em frequência

MAGNO
ENRIQUE MENDOZA MEZA
MagnoEnriqueMendozaMeza
SISTEMASDECONTROLE COMPYTHON RespostaemFrequência
Conte´udo 1Introdu¸c˜ao 13 1.1Modelagemmatem´aticadesistemasmecˆanicos ........ 16 1.2Modelagemmatem´aticadesistemasel´etricos 30 1.3Revis˜aodosn´umeroscomplexos ................ 37 2TransformadadeLaplace 53 2.1Defini¸c˜oes ............................ 53 2.2PropriedadeseteoremasdatransformadadeLaplace .... 58 2.3TransformadainversadeLaplace 62 2.4Diagramadeblocos ....................... 63 3Respostaemfrequˆencia 71 3.1Fun¸c˜aodetransferˆencia ..................... 71 3.2Fun¸c˜aodetransferˆenciacomretardodetransporte ...... 73 3.3Respostaemfrequˆencia ..................... 75 3.4Diagramapolar ......................... 80 3.5DiagramadeBode 92 3.5.1Fatorganho ....................... 94 3.5.2Fatordiferencial ..................... 94 3.5.3Fatorintegral 95 3.5.4Fatorzeroreal ..................... 95 3.5.5Fatorpoloreal ..................... 97 9
10Sistemasdecontrolecompython:respostaemfrequˆencia 3.5.6Fatorzeroscomplexos ................. 98 3.5.7Fatorpoloscomplexos ................. 100 3.6Aproxima¸c˜aoassint´oticaemp´ıricadefun¸c˜oesdetransferˆencia 114 3.6.1Sistematipo0 115 3.6.2Sistematipo1 117 3.6.3Sistematipo2 ...................... 120 3.7Procedimentoparaestimarempiricamentefun¸c˜oesdetransferˆencia 123 3.8CartadeNichols ........................ 131 3.9Margensdeestabilidade .................... 134 3.10Rela¸c˜aoentrearespostaemfrequˆenciaearespostatransit´oriaaodegraudeumsistemapadr˜aodesegundaordem ... 137 3.11Crit´eriodeestabilidadedeNyquist .............. 144 3.12An´alisedeestabilidadenodom´ıniodafrequˆencia ....... 149 3.12.1An´alisedeestabilidadedeG(s)sempolosouzerosno eixoimagin´ario ..................... 149 3.12.2An´alisedeestabilidadede G(s)compolosouzerosno eixoimagin´ario ..................... 170 4Projetonarespostaemfrequˆencia 187 4.1Compensadordeganho ..................... 190 4.2Compensadorporavan¸codefase ............... 198 4.2.1Procedimentodeprojetocompensadorporavan¸co: m´etodotentativa-e-erro ................. 209 4.2.2Procedimentodeprojetocompensadorporavan¸co: m´etodoanal´ıtico .................... 247 4.3Compensadorporatrasodefase ................ 278 4.3.1Procedimentodeprojetocompensadorporatraso:m´etodotentativa-e-erro .................. 281
Conte´udo11 4.3.2Procedimentodeprojetocompensadorporatrasode fase:m´etodoanal´ıtico 319 4.4Compensadorporatraso-avan¸codefase ............ 347 4.4.1Procedimentodeprojetocompensadorporatraso-avan¸co defase:m´etodotentativa-e-erro ............ 348 4.4.2Procedimentodeprojetocompensadorporatraso-avan¸co defase:m´etodoanal´ıtico 379 4.4.3Procedimentodeprojetocompensadorporatraso-avan¸co defase:m´etodoOgata ................. 408 4.5Compensadoresdafam´ıliaPID:m´etodoanal´ıtico 433 4.5.1Controladorproporcional ................ 434 4.5.2Controladorproporcional-integral 434 4.5.3Controladorproporcional-integral-diferencial ..... 441 AEntendendoosc´odigosemPythonutilizados 457 Referˆencias 471 Listadefiguras 473 Listadetabelas 487 ´ Indiceremissivo 490

Cap´ıtulo1

Introdu¸c˜ao

Amodelagemmatem´aticapodeserentendidacomoaatividadededescrevermatematicamentesistemasreaisemdiferentes´areasdoconhecimento, comof´ısica,qu´ımica,bilogia,ecologia,microbiologia,economia,ciˆenciassociais,engenhariasetc.

Essadescri¸c˜aomatem´aticadeumsistemapodeserviaautˆomatoscelularesouviaequa¸c˜oesdiferenciaisordin´ariasouparciais.Asequa¸c˜oes diferenciaisordin´ariass˜aoasmaisutilizadasparamodelarsistemasreais.

Umconjuntodeequa¸c˜oesquerepresentaalgumacaracter´ısticadeum sistema´edenominadomodelomatem´atico.

Otipodeprocedimentodemodelagempodeserclassificadocomo:

1. Caixapreta,Identifica¸c˜ao,Modelagememp´ırica:quandon˜aoh´aconhecimentosobreosistema.

2. CaixabrancaouModelagempeloconhecimentoouModelagemfenomenol´ogicaouconceitual:quandoh´aconhecimentosobreosistema ous˜aoutilizadasleisf´ısicasconhecidas.

Osmodelosmatem´aticos(vejaFigura 1.1)podemserclassificadosde acordocomotipodeequa¸c˜aoutilizadonasuaformula¸c˜ao:

1. Est´aticoouDinˆamico.

13

14Sistemasdecontrolecompython:respostaemfrequˆencia

(a) Est´atico:omodeloutilizado´eumsistemadeequa¸c˜oesalg´ebricas.

(b) Dinˆamico:omodeloutilizado´eumsistemadeequa¸c˜oesdiferenciaisoudiferen¸cas.

2. LinearouN˜aolinear.

(a) Linear:omodelosatisfazoprinc´ıpiodasuperposi¸c˜ao.

(b) N˜aolinear:n˜ao´eposs´ıveldeverificaroprinc´ıpiodesuperposi¸c˜ao.

3. Umaentrada-umasa´ıdaouM´ultiplasentradas-m´ultiplassa´ıdas (SISO-MIMO).

(a) Umaentrada-umasa´ıda(SISO):omodeloapresentaumavari´aveldeentradaeumavari´aveldesa´ıda.

(b) M´ultiplasentradas-m´ultiplassa´ıdas(MIMO):omodeloapresentadoisoumaissinaisdeentradae/oudoisoumaissinaisde sa´ıda.

4. InvariantenotempoouVariantenotempo.

(a) Invariantenotempo:osparˆametrosdoscomponentesdosistema n˜aovariamcomotempo.

(b) Variantenotempo:osparˆametrosdoscomponentesdosistema variamcomotempo.

5. Tempocont´ınuoouTempodiscreto.

(a) Tempocont´ınuo:ossinaisdeentradaedesa´ıdas˜aofun¸c˜oesreais davari´aveltempo.

(b) Tempodiscreto:ossinaisdeentradaedesa´ıdas˜aodefinidosem instantesdeterminadosdetempo.

6. Determin´ısticoouEstoc´astico.

(a) Determin´ıstico:arepeti¸c˜aodaentradacausar´asempreamesma sa´ıdanomodelosobasmesmascondi¸c˜oes.

(b) Estoc´astico:asa´ıdan˜ao´ecertanomodelosobumadadaentrada edeveserexpressaemtermosprobabil´ısticos.

7. ParˆametrosconcentradosouParˆametrosdistribu´ıdos.

(a) Parˆametrosconcentrados:osparˆametrosdoscomponentesindependemdaposi¸c˜aonoespa¸co.

(b) Parˆametrosdistribu´ıdos:osparˆametrosdepelomenosumdos componentesdependemdaposi¸c˜aonoespa¸co.

Introdu¸c˜ao15
Nestelivro,estudaremosossistemasconformeobservadonaFigura 1.2.
Figura1.1: Classifica¸c˜aodamodelagemedosmodelos.

1.1Modelagemmatem´aticadesistemasmecˆanicos

Ossistemasmecˆanicospodemsermodeladosapartirdeelementosmecˆanicossimples,comomostraaTabela 1.1.

Ossistemasmecˆanicosrotacionaispodemsermodeladosapartirdeelementosmecˆanicosrotacionaissimples,comopodeserobservadonaTabela 1.2.

Parasistemasmecˆanicos,s˜aoutilizadosasegundaleideNewton,para obteromodelo,eoconceitodeLagrange.AsegundaleideNewtonpode serescritacomo:

Exemplo 1.1. Considereosistemamassa-molaconformemostradonaFigura 1.3.Realizeamodelagemmatem´aticadosistemaqueest´aemmovimentolivre.

16Sistemasdecontrolecompython:respostaemfrequˆencia
Figura1.2: Classifica¸c˜aodamodelagemedosmodelosestudadosnestelivro.
m i=1 ⃗ Fi = m⃗a, emque m ´eamassa, ⃗a ´eaacelera¸c˜aodamassa m e ⃗ Fi s˜aoasfor¸casatuantes
sobreamassa m

Tabela1.1:Sistemasmecˆanicosdetransla¸c˜ao.

Massatranslacional

Armazenamento indutivo

Equa¸c˜ao F = mx F = mv1

Energia T = 1 2 mv2 1

Molatranslacional

Armazenamento indutivo

Equa¸c˜ao F = kx12 v12 = 1 k dF dt

Energia V = 1 2 kx2 12 = 1 2 F 2 k

Amortecedortranslacional

Dissipador deenergia

Equa¸c˜ao F = bv12

Energia D = b 2 v2 12

Solu¸c˜ao 1.1. NaFigura 1.3,considerequeaprimeiramolalivretemum comprimento l en˜aopossuipeso;sobessascondi¸c˜oes,n˜aoh´afor¸casagindo namola.Naimagememqueamassa m foicolocadanoextremodamola, afor¸carestaurativadamolaentraemequil´ıbriocomopesodamassa m; essa´eaposi¸c˜aodeequil´ıbrio.Istoquedizerque:

ks = mg.

Introdu¸c˜ao17

18Sistemasdecontrolecompython:respostaemfrequˆencia

Tabela1.2:Sistemasmecˆanicosderota¸c˜ao.

Massarotacional

Armazenamento capacitivo

Equa¸c˜ao τ = J dω1 dt

Energia T = 1 2 Jω2 1

Molarotacional

Equa¸c˜ao

Armazenamento

indutivo

τ = kθ12 dτ dt = kω12

Energia T = 1 2 kθ2 12 = 1 2 τ 2 k

Amortecedorrotacional

Dissipador deenergia

Equa¸c˜ao τ = bω12

Energia D = b 2 ω2 12

Naimagem,Figura 1.3,naqualamassafoideslocada y unidadesdesdeo pontodeequil´ıbrioelogoamassa´eliberada,ent˜aoteremosummovimento harmˆonico.ConformeaFigura 1.3,considera-seodeslocamentodamassa m nosentidopositivoparaabaixo.UtilizandoasegundaleideNewton, obtemos:

m ¨ y = m i=1 ⃗ Fi

.Comoosistemaseencontravaemequil´ıbrioentreafor¸capesodamassa m eafor¸carestauradoradamola k logo,a´unicafor¸caagindonamassa m

Cap´ıtulo2

TransformadadeLaplace

AtransformadadeLaplacetemessenomeemhomenagemaomatem´atico,astrˆonomoef´ısicofrancˆesPierre-SimonLaplace(1746-1827),que utilizouumatransformadasemelhanteemsuapesquisasobreateoriada probabilidade.Nofinaldos´eculoXIXein´ıciodos´eculoXX,atransformadadeLaplacecome¸couasermaisdesenvolvidae,somenteap´osaSegundaGuerraMundial,foimaisdifundidanaengenharia.

OssistemasdinˆamicoslinearesinvariantesnotempodeparˆametrosconcentradospodemserresolvidosdemaneiramaissimplesutilizandoatransformadadeLaplace.

2.1Defini¸c˜oes

AtransformadadeLaplaceapartirdeumafun¸c˜aodevari´avel t (tempo) geraumafun¸c˜aodevari´avel s (frequˆencia).AtransformadadeLaplace forneceumadescri¸c˜aoquediminuiacomplexidadedoprocessodean´alise es´ıntesedeumsistema,isto´e,converteumaequa¸c˜aodiferencialemuma equa¸c˜aoalg´ebricaeumaconvolu¸c˜aoemumamultiplica¸c˜ao.

53

54Sistemasdecontrolecompython:respostaemfrequˆencia

Vari´aveiscomplexass˜aodefinidascomo:

s = σ + jω

Naqual σ ´eapartereale ω ´eaparteimagin´aria.

Umafun¸c˜aocomplexa´edefinidacomo:

G(s)= R + jI

Naqual R e I s˜aoquantidadesreaise |G(s)| ´eom´odulodefinido

como:

|G(s)|= √R2 + I 2

Adefasagemde G(s)´e:

G(s) = θ =arctan I R

Naqualoˆangulo θ ´epositivonosentidoanti-hor´arioapartirdosemieixorealpositivo.

Pontossingulares

Ospontossingularesemque G(s)´eindefinidas˜aodenominadosde polos.Ospontossingularesemque G(s)´enulas˜aodenominadosde zeros.

Asrela¸c˜oesdeEulerpodemserdefinidascomo:

ejθ =cos(θ)+ j sen(θ)

e jθ =cos(θ) j sen(θ)

cos(θ)= 1 2 ejθ + e jθ

sen(θ)= 1 2j ejθ e jθ

AformabilateraldatransformadadeLaplace´edefinidacomo:

Naqual f (t)´eumafun¸c˜aodotempoe s ´eumavari´avelcomplexa.

FoiconvencionadoqueatransformadadeLaplacerefere-se`aforma unilateralemquequalquerargumento´ecausaloum´ultiplodafun¸c˜ao Heaviside.

Assim,define-seatransformadadeLaplacedafun¸c˜ao f (t)como:

onde f (t)´eumafun¸c˜aocausalnotempo, s ´eavari´avelcomplexa, L ´eos´ımbolodooperadordatransformadadeLaplace, L{·} significaa transformadadeLaplacee F (s)´eatransformadadeLaplacede f (t). Ooperadortransformaafun¸c˜ao f (t)definidanodom´ıniodotempo emumafun¸c˜ao F (s)definidanodom´ıniodafrequˆencia.

TransformadadeLaplace55
−∞
B{f (t)}def = ∞
f (t)e stdt
= ∞ 0
L{f (t)} = F (s)def
f (t)e stdt

56Sistemasdecontrolecompython:respostaemfrequˆencia

AtransformadainversadeLaplace´edefinidacomo: L

ondeaabscissadeconvergˆencia c ´eumaconstanterealescolhidacomo valorsuperior`aparterealdetodosospontossingularesde F (s).

Afun¸c˜aodeHeaviside,cujonome´eumahomenagemaomatem´atico inglˆeseengenheiroeletricistaOliverHeaviside,´eumafun¸c˜aosingulare descont´ınua,que´enulaseoargumentofornegativoeunit´ariaseoargumentoforpositivo,definidacomo:

onde x ´eoargumentoouvari´avelindependente.Afun¸c˜aodeHeavisidecom descontinuidadeem x = a ´edefinidacomo:

Afun¸c˜aodegrauunit´aria´edefinidacomo:

Onde x comumente´eotempo.Assim,afun¸c˜aodegrauunit´arianotempo ´edenotadapor u(t).

1 {F (s)} = f (t)= 1 2πj c+j∞ c j∞ F (s)e stds,t> 0
u(x)=        0,x< 0 1 2,x =0 1,x> 0
u(x a)=        0,x<a 1 2,x = a 1,x>a
u(x)= 0,x< 0 1,x ≥ 0

Afun¸c˜aoimpulso´edefinidacomo: f (t)=    lim t0→0 A t0 , 0 <t<t0, 0,t< 0,t0 <t

EsuatransformadadeLaplace´e:

L{f (t)} = A.

Afun¸c˜aoimpulsounit´ariaoufun¸c˜aodeltadeDirac,queocorreem t = t0, ´edenotadapor δ(t t0)edefinidacomo:

δ(t t0)= ∞,t = t0, 0,t< 0,t = t0 e ∞ −∞

δ(t t0)dt =1

Assim,podeserconsideradaaderivadadafun¸c˜aodegrauunit´aria u(t t0) em t t0 como:

δ(t t0)= d dt u(t t0)

TransformadadeLaplace57

2.2Propriedadeseteoremasdatransformadade

Laplace

Linearidade

Asfun¸c˜oes f (t)e g(t),cujastransformadasdeLaplaces˜ao,respectivamente, F (s)e G(s)podemserdescritascomo:

L{αf (t)+ βg(t)} = αL{f (t)} + βL{g(t)} = αF (s)+ βG(s)

Fun¸c˜aotransladadaoumudan¸cadetempo

Sejaumafun¸c˜aonotempo f (t)u(t)cujatransformadadeLaplace´e F (s) esejadefinidaafun¸c˜ao f (t α)u(t α)onde α ≥ 0ecujatransformada deLaplacecorrespondente´e:

L{f (t α)u(t α)} = e αsF (s)para α ≥ 0

Multiplica¸c˜aode f (t) por e αt oumudan¸cadefrequˆencia

Sejafun¸c˜ao f (t)esuatransformadadeLaplace F (s),ent˜aoa:

L e αtf (t) = F (s + α)

Mudan¸cadeescaladetempoouescalamentodetempo

Se t forsubstitu´ıdapor t/α,naqual α ´eumaconstantepositiva,ent˜ao afun¸c˜ao f (t)ser´amudadapara f (t/α).Sejaafun¸c˜ao f (t)esuarespectiva transformadadeLaplace F (s):

L f t α = ∞ 0 f t α e stdt = αF (αs)

58Sistemasdecontrolecompython:respostaemfrequˆencia

Cap´ıtulo3 Respostaemfrequˆencia

3.1Fun¸c˜aodetransferˆencia

NoPython,´eposs´ıveldefinirumafun¸c˜aodetransferˆenciadev´arias formas.UmadelaspodeserobservadanaListagem 3.1,naqualdefinem-se oscoeficientesdonumeradoredodenominadordafun¸c˜aodetransferˆencia.

Listagem3.1:C´odigoexemploPython.

from control import * import numpy as np import matplotlib . pyplot as plt # Para plotar

"""

Diferentes formas de definir uma funcao de ... trasferencia no Python

"""

n = np . array ([10])

d = np . array ([1/100,1/20,1])

H = tf ( n , d )

print ( ' H ( s ) = ' , H )

71

72Sistemasdecontrolecompython:respostaemfrequˆencia

Outraforma´emostradanaListagem 3.2,naqualdefine-seavari´avel ‘s’comoumafun¸c˜aodetransferˆencia.Apartirdessavari´avel,´edefinidaa estruturadafun¸c˜aodetransferˆenciadesejada.

Listagem3.2:C´odigoexemploPython.

from control import *

import numpy as np

import matplotlib . pyplot as plt # Para plotar

"""

Diferentes formas de definir uma funcao de ... trasferencia no Python

"""

s = tf ( ' s ' )

G =10*( s +1)/( s **2+ s +1) print ( ' G ( s ) = ' , G )

Outraforma´emostradanaListagem 3.3,naqualdefine-seavari´avel‘s’ comoumafun¸c˜aodetransferˆenciautilizandoocomando‘TransferFunction.s’.Comessavari´avel,´edefinidaaestruturadafun¸c˜aodetransferˆencia desejada.

Listagem3.3:C´odigoexemploPython.

from control import *

from control matlab import *

import numpy as np

import matplotlib . pyplot as plt # Para plotar """

Diferentes formas de definir uma funcao de ... trasferencia no Python

"""

s = TransferFunction . s

G =10*( s +1)/( s **2+ s +1) print ( ' G ( s ) = ' , G )

3.2Fun¸c˜aodetransferˆenciacomretardodetransporte

Sejadadaumafun¸c˜aodetransferˆenciadefinidacomo:

G(s)= 1 s +1

Quedescreveumafun¸c˜aodetransferˆenciasemretardodetransporte.Agora, sejadadaamesmafun¸c˜aodetransferˆenciacomretardodetransportecomo:

G

Naqual Td ´eaconstantederetardodetransportenotempoouatrasode tempo.Afun¸c˜aodetransferˆenciasenoidalcomatrasodetransporte´e:

G(jω)= e jωTd jω +1

Nela,podemosobservarqueoretardodetransportetemamplitudeunit´aria, isto´e:

e jωTd =cos( ωTd)+ j sen( ωTd)

Eamagnitude´e:

e jωTd =1

Respostaemfrequˆencia73
(s)= e sTd s +1

74Sistemasdecontrolecompython:respostaemfrequˆencia

Acontribui¸c˜aoangulardoretardodetransporte´e:

Quedependedovalordafrequˆencia ω ede Td.NoPython,oretardode transportepodeseraproximadopormeiodocomando pade()

Asaproxima¸c˜oespolinomiaistendemaoscila¸c˜oes;portanto,s˜aoutilizadasasaproxima¸c˜oesracionais.Asaproxima¸c˜oesdePad´es˜aoasmais popularesaproxima¸c˜oesracionaisparaoatrasodetransporte,quepodeser aproximadoporumafun¸c˜aodetransferˆenciaracionaldeordemarbitr´aria.

Paraumamelhorprecis˜aodeaproxima¸c˜ao,aordemdafun¸c˜aodeveser maior.Aaproxima¸c˜aodeumafun¸c˜aodetransferˆenciadoatrasodetempo utilizandos´eriesdeTaylor´e:

Outrom´etododeaproxima¸c˜aoracionalparaafun¸c˜aodetransferˆenciado atrasodetempo´epormeiodosaproximantesdePad´e:

Nosquais pi e qi s˜aoconstantes.F´ormulasparaoscoeficientesdospolinˆomiosdomesmograu,isto´e m = n,s˜ao:

e jωTd = ωTd
e Tds =1+ ( sTd) 1! + ( sTd)2 2! + ( sTd)3 3! + ··· + ( sTd)n n!
e Tds ≈ m+n i=0 ( 1)i (Tds)i i! = m i=0 pi(Tds)i n i=0 qi(Tds)i
p
=( 1)i (2n 1)! n! (2n)! i!(n i)! i =0, 1,...,n q
= (2n 1)! n! (2n)! i!(n i)! i =0, 1,...,n
i
i

Respostaemfrequˆencia75

Outraformadeaproxima¸c˜ao´e:

e Tds ≈ P (Tds) Q(Tds)

Naqualospolinˆomios P (Tds)e Q(Tds)s˜ao:

P (Tds)= n j=0 (n + j)! j!(n j)! ( Tds)n j

Q(Tds)= n j=0 (n + j)! j!(n j)! (Tds)n j

ATabela 3.1 mostraaproxima¸c˜oesdeprimeiro,segundoeterceirograu. Paramaisdetalhes,oleitorpodeconsultar HantaeProch´azka (2009).

Tabela3.1:Aproxima¸c˜oesdePad´eparaafun¸c˜aodetransferˆenciadoatraso detempo.

Graudeaproxima¸c˜aoFun¸c˜aoracionaldeaproxima¸c˜ao

3.3Respostaemfrequˆencia

Arespostaemfrequˆencia´eaan´alisedocomportamento(amplitudee fase)darespostapermanentedeumsistemaquandoafrequˆenciadeuma entradasenoidalvariaemdeterminadafaixadefrequˆencia.Osm´etodos darespostaemfrequˆenciaforamdesenvolvidasporHarryNyquist,Hendrik WadeBodeeNathanielB.Nichols,entreasd´ecadasde1930e1940.

Considereumsistemalinearinvariantenotempo(SLIT)cujafun¸c˜aode

eTds 1 2 Tds 2+ Tds 2 12 6Tds +(Tds)2 12+6Tds +(Tds)2 3 120 60Tds +12(Tds)2 (Tds)3 120+60Tds +12(Tds)2 +(Tds)3

76Sistemasdecontrolecompython:respostaemfrequˆencia

transferˆencia´edadapor G(s);sup˜oe-sequeosistema´eest´aveleque C(s) e R(s)s˜aoastransformadasdeLaplacedossinaisdesa´ıdaedeentrada, respectivamente.Arela¸c˜aoentrada-sa´ıda´emostradanaFigura 3.1.

Figura3.1: Rela¸c˜aoentrada-sa´ıdadeumsistemagen´erico.

Paraobservarmosainfluˆenciadosinaldeentradasenoidalnaresposta emregimepermanentedosistema,consideremosqueosistematem n polos comparterealnegativa,isto´e,todosospolosest˜aolocalizadosnosemiplano esquerdodoplano s.Assim,afun¸c˜aodetransferˆenciadosistema´e:

Eosinaldeentrada´e:

Noqual ω ´eafrequˆenciadosinalsenoidal, A ´eaamplitudedosinalconsideradoconstanteecujatransformadadeLaplace´e:

Assim,asa´ıdadosistematemaseguinteforma:

C

R(s) = G(s)= N (s) (s + p1)(s + p2) ··· (s + pn)
C(s)
r
sen(ωt)
(t)= A
R(s)= A ω s2 + ω2
= N
s
(s + p
)(s + p2) ··· (s + pn) A ω s2 + ω2
(s)= G(s)R(s)
(
)
1

Cap´ıtulo4

Projetonarespostaemfrequˆencia

Umacompensa¸c˜ao´eoajustedeummecanismoinclu´ıdonosistema, deformaqueocomportamentodosistemaatenda`asespecifica¸c˜oesdedesempenhorequeridas.Adefini¸c˜aodasespecifica¸c˜oesdedesempenhoda respostatransit´oria´edemaneiraindiretapelamargemdefase,margem deganho,amplitudedepicoderessonˆancia,frequˆenciadecruzamentode ganho,frequˆenciaderessonˆancia,bandapassanteeconstantesdeerroest´atico.

Estecap´ıtuloapresentaosprocedimentosparaoprojetodecompensadorespelom´etododerespostaemfrequˆencia.Ast´ecnicasdeprojetode compensadoresparasistemaslinearesinvariantesnotempos˜aoacompensa¸c˜aodeganho,compensa¸c˜aoporavan¸codefase,compensa¸c˜aoporatrasode faseecompensa¸c˜aoporatraso-avan¸codefase.Noprojetodoscompensadores,muitasvezestem-serequisitosconflitantes.Seforocaso,deve-sealterar dealgummodoaestruturadosistemaafimdesatisfazerosrequisitosde desempenhosolicitados.

Existemdiversostiposdecompensa¸c˜aoparaumsistemadecontrolecom realimenta¸c˜aounit´aria,comopodeserobservadoem DorfeBishop (2011), Nise (2012).Nestecap´ıtulo,utiliza-seaestruturamostradanaFigura 4.1, denominadacompensadoremcascataouems´eriecomosistema.

187

188Sistemasdecontrolecompython:respostaemfrequˆencia

Figura4.1: Estruturadecompensa¸c˜ao.

Oprojetodocompensador Gc(s)podeserdesenvolvidoemtermosda respostaemfrequˆenciaapresentadanodiagramadeBode,porsermais pr´aticodeobteredesenhar.Existemv´ariosprocedimentosdeprojetodos compensadores,comopodeserobservadoem Ogata (2008),quetemcomo m´etododeprojetoatentativaeerronalocaliza¸c˜aodozeroedopolodos compensadoresde PhillipseHarbor (1997),quetemcomom´etododeprojetoousododiagramadeNyquistnalocaliza¸c˜aoec´alculodozeroepolo doscompensadores.

Osparˆametrosdedesempenhodesejadosdedeterminadosistemadevem serfornecidosantesdoin´ıciodoprojeto,podendoser:oserrosemregime permanentepermiss´ıveis;sobressinalpermitidoparaasvaria¸c˜oesemdegrau naentrada;tempodeassentamento;larguradebanda,queforneceuma estimativadavelocidadedarespostatransit´oria;picoderessonˆancia,que forneceumaaproxima¸c˜aodoamortecimentodosistema;constantesdeerro est´atico,quefornecemaprecis˜aoemregimepermanente.

Considereumsistemadecontrole,comoomostradonaFigura 4.1,com realimenta¸c˜aounit´ariaecujafun¸c˜aodetransferˆenciaemmalhaaberta´e:

Onde Gc(s)´eafun¸c˜aodetransferˆenciadocompensadore G(s)´eafun¸c˜ao detransferˆenciadosistemaouplanta.Afun¸c˜aodetransferˆenciaemmalha fechada´e:

Arespostaaodegraudeumsistemacompolosdominantesdesegunda

c(s)G(s)
G
T (s)= Gc(s)G(s) 1+ Gc(s)G(s)

ordem´edadanaFigura 4.2.

Figura4.2: Respostaaodegraudeumsistemapadr˜aodesegundaordem.

Ascaracter´ısticasdestarespostaquedevemterimportˆanciaparaum sistemadecontroleparticulars˜ao:

1. Otempodesubida tr.

2. Otempodepico tp.

3. Osobressinalpercentual Mp.

4. Otempodeacomoda¸c˜ao ts.

Sequeremosreduziro ts,ospolosdafun¸c˜aodetransferˆenciaemmalhafechadadevemserdeslocados`aesquerdanoplano s,reduzindoasconstantes detempo.O Mp narespostatransit´oriaest´arelacionada`aressonˆanciado sistemaemmalhafechadaeaparececomoumpiconarespostaemfrequˆencia.

Aressonˆanciaocorreemsistemasemmalhafechadaseasmargensde estabilidaderelativasforempequenas.Parareduzirom´aximosobressinal darespostatransit´oria,´enecess´arioaumentarasmargensdeestabilidade relativadosistema.Om´aximosobressinal´emaissens´ıvel`amargemdefase.

Projetonarespostaemfrequˆencia189

190Sistemasdecontrolecompython:respostaemfrequˆencia

Paraumcomportamentoapropriadodarespostatransit´oria,´epreciso queasmargensdefaseedeganhosejamadequadasequeforne¸camuma boarobustezparaasimprecis˜oesdemodelagem.Parasistemasdecontrole commargensdeestabilidadesapropriadas,s˜aonecess´ariasumamargemde faseacimade45◦ eumamargemdeganhoacimade8dB.

OsistemamostradanaFigura 4.1 temaseguinteequa¸c˜aocaracter´ıstica:

Desejamosprojetar Gc(s)paraqueosistematenhacertascaracter´ısticasespecificadas.Osefeitosdacompensa¸c˜aonelass˜aoindicadospelalocaliza¸c˜ao dasra´ızesdaequa¸c˜aocaracter´ısticadaEqua¸c˜ao 4.1

4.1Compensadordeganho

Consideremosacompensa¸c˜aopormeiodavaria¸c˜aodoganho.Sejaum sistemacomoomostradonaFigura 4.1,noqualocompensador Gc(s)´eum ganho Kc.Este´eocontroladorproporcionaloucontroleP.NaFigura 4.3, ´emostradooefeitodeaumentaroganhocom K1 <K2 <K3.Oefeitoque oganho Kc temnodiagramapolar´eaumentaroureduzirodiagrama,seo ganhoforaumentadoouseoganhoforreduzido,respectivamente.

Gc(s)G(s)=0. (4.1)
1+

Apartirdoefeitoqueoganho Kc temnodiagramadeBode(Figura 4.4), observa-sequeamargemdefaseeoefeitodeadicionarumganhomenorque aunidade,aamplitude´edeslocadaparabaixo,acurvadefasepermanece inalterada,amargemdefase´eaumentada,afrequˆenciadecruzamentode ganho(ωcg)´ereduzidae,geralmente,alarguradefaixatamb´em´ereduzida. Assim,otempodesubidacresce,mas,comoamargemdefase´eaumenta (MFcom),o Mp darespostatransit´oriadevesermenor.

Projetonarespostaemfrequˆencia191
Figura4.3: Diagramapolardeumsistemaparatrˆesganhosdiferentes K1 <K2 <K3

Figura4.4: DiagramadeBodecomoacr´escimodeumganhomenorqueaunidade.

Exemplo 4.1. Considereaseguintefun¸c˜aodetransferˆenciaemmalhaaberta:

Deseja-sequeamargemdefaseseja 50◦.Projeteumcompensadordeganho.

Solu¸c˜ao 4.1. Comoprimeiropasso,desenhamosodiagramadeBodedo sistema,definindonoPythonafun¸c˜aodetransferˆenciaemmalhaabertado sistema(Listagem ).

OdiagramadeBodedosistema´emostradonaFigura 4.5a earespostaa umaentradadegrauunit´ario,naFigura 4.5b.DodiagramadeBode(Figura 4.5a),observamosqueaMG= 3, 52 dB, ωcf =1, 41 rad/s,MF= 11, 42◦ e ωcg =1, 14 rad/s.Darespostaaodegrau(Figura 4.5b),observamosque Mp =70, 01%e ts =37, 54 s.Assim,osistema´ebastanteoscilat´orioe verifica-sequeMGeMFtˆemvalorespequenos,isto´e,menoresque 45◦ e 8 dB,respectivamente.

Paraprojetarocompensadordeganho,sabemosqueoganhona ωcg ´e

192Sistemasdecontrolecompython:respostaemfrequˆencia
G(s)= 4 s(s +1)(s +2)

ApˆendiceA

Entendendoosc´odigosemPython utilizados

Oc´odigoemPythondasfun¸c˜oesauxiliarescriadas´emostradonaListagem .Afun¸c˜ao my_control_functions ´eumconjuntodefun¸c˜oes criadas:afun¸c˜ao info_st determinaalgunsparˆametrosdedesempenho, como tr, tp, Mp e ts;asfun¸c˜oes gera_tabela_latex, gera_tabela_excel e gera_tabela_html geramumatabeladedadosparaLATEX,ExceleHTML, respectivamente,deumafun¸c˜aodetransferˆenciasenoidal,sendoaprimeira colunadatabelareferente`afrequˆenciaemrad/s,asegundacoluna`aamplitudeabsoluta,aterceiracoluna`aamplitudeemdB,aquartacoluna`a fase,aquintacoluna`afasecomatrasodetempocomaproxima¸c˜aodePad´e easextacolunareferente`afasecomatrasodetemposemaproxima¸c˜ao; afun¸c˜ao onda_quadrada geradadosdeumaondaquadradadefinidospela amplitude,offseteper´ıodo;afun¸c˜ao onda_triangular geradadosdeuma ondatriangulardefinidospelaamplitude,offseteper´ıodo;afun¸c˜ao Mr_BW determinaaamplitudedepicoderessonˆancia,afrequˆenciaderessonˆancia ealarguradebandadeumafun¸c˜aodetransferˆenciaemmalhafechada; afun¸c˜ao plot_margins plotaodiagramadeBode,indicandograficamente asmargensdefaseedeganho,bemcomoosrespectivosvaloresnum´eri-

457

458Sistemasdecontrolecompython:respostaemfrequˆencia cos;afun¸c˜ao save_fig salvaafiguraativaemformatodesejadocomDPI desejado;afun¸c˜ao pid_control implementaocontrolePID,pois,apenas comoscomandosdalibraria control,n˜aoconseguecalcularesseesfor¸code controledocontroladorPID.

NaListagem A.1,´emostradaainicializa¸c˜aodosc´odigosemPythone s˜aoutilizadasaslibrarias; control e control.matlab servemparautilizar oscomandosdecontrole, numpy servepararealizarmanipula¸c˜oeseopera¸c˜oesmatriciais, matplotlib.pyplot e matplotlib.gridspec servempara plotardadosnum´ericosedefinircaracter´ısticasdoseixosdosgr´aficos, webbrowser forneceumainterfacedealton´ıvelparapermitiraexibi¸c˜aode documentosbaseadosnaWebparaosusu´ariose os forneceumamaneira port´atildeusarafuncionalidadedependentedosistemaoperacional.

ListagemA.1:Entendendoc´odigogen´ericoexemploPython. from control import *

from control . matlab import * import numpy as np

import matplotlib pyplot as plt # Para plotar from matplotlib . gridspec import GridSpec from pandas import DataFrame

import my_control_functions as mcf # Conjunto de fun¸c~oes ... de propria cria¸c~ao import webbrowser import os plt . close ( ' all ' )

NaListagem A.2,define-seafun¸c˜aodetransferˆenciaemmalhaaberta, aqual´eimpressanalinhadecomandos.Foramdefinidososexpoentes m´ınimoem´aximocorrespondentes`asfrequˆenciasm´ınimaem´axima,res-

pectivamente,paradefinirovetordefrequˆenciacriadocomumdistribui¸c˜ao logar´ıtmica.Outramaneiradedefinirovetordefrequˆencias´edemaneira linearcomocomando np.arange.Plota-seadiagramadeBodecomas respectivasmargensdefaseedeganho,eessafigura´esalvaemformato PNG.

ListagemA.2:Entendendoc´odigogen´ericoPython.

# Define - se a FT em MA

s = tf ( ' s ' )

G =(1)/( s *( s +8)*( s +30)) print ( ' G ( s ) = ' , G )

# Expoente para menor frequ^encia

emin =-1

# Expoente para maior frequ^encia

emax =2

# Vetor de valores das frequ^encias

w = np . logspace ( emin , emax ,10000)

# Frequ^encia m´ınima

wmin =10** emin

# Frequ^encia m´axima

wmax =10** emax

w1 = np logspace ( emin -2, emax ,10000)

# w = np . arange (1, 1000, 0.01)

# Plota - se o diagrama de Bode de G ( s )

mcf . plot_margins ( G , emin -2, emax )

# Exporta - se a Figura do diagrama de Bode para png

Entendendoosc´odigosemPythonutilizados459

460Sistemasdecontrolecompython:respostaemfrequˆencia

mcf . save_fig ( ' figura_exemplo_24c_bode_cap3 ' )

NaListagem A.3,foidefinidaafun¸c˜aodetransferˆenciaemmalhafechada paraobterarespostaaumaentradadegraue,consequentemente,alguns parˆametrosdedesempenho.Osditosparˆametrosdedesempenhoforam inclu´ıdosnafiguradarespostaaodegrau,aqual´esalvanoformatoPNG. ListagemA.3:Entendendoc´odigogen´ericoexemploPython.

# Determina - se a FT em MF

G_mf = feedback ( G ,1)

# Plota - se a resposta ao degrau unit´ario da FT em MF

plt . figure (2)

T , yout = step_response ( G_mf )

Mp , tp , ts , tr = mcf . info_st ( G_mf ,2)

plt . plot ( T , yout , ' k ' )

plt xlabel ( ' Tempo ( s ) ' )

plt . ylabel ( ' Amplitude ' )

plt . grid ( True , which = ' both ' )

plt . title ( " $M_p = $ %.2 f $t_p = $ %.2 f $t_s = $ %.2 f $t_r = $ %.2 f " % ( round ( Mp ,2), round ( tp ,2), round ( ts ,2), round ... ( tr ,2)))

# Exporta - se a Figura da resposta ao degrau para png mcf . save_fig ( ' figura_exemplo_6b_step_cap3 ' )

NaListagem A.4,foramdefinidosvetoresdetempoparapodergerara respostaaumaentradarampaesalvarafiguranoformatoPNG.Defineseoganhoajustadoquesatisfazorequerimentoemregimepermanente. Plota-seadiagramadeBodedosistemacomganhoajustadoeafigura´e salvaemformatoPNG.Plota-searespostaaodegraudosistemacomganho ajustadomasn˜aocompensadoeafigura´esalvaemformatoPNG.

ListagemA.4:Entendendoc´odigogen´ericoexemploPython.

# Vetor tempo a passos de 0.01

t = np . arange (0,20,0.01)

t1 = np arange (0,80,0.01)

plt . figure (3)

T1 , yout1 = forced_response ( G_mf , t1 , t1 ,0)

plt . plot ( T1 , T1 , ' k ' , label = ' Rampa ' )

plt . plot ( T1 , yout1 , ' k ' , label = ' Sa´ıda ' )

plt xlabel ( ' Tempo ( s ) ' )

plt . ylabel ( ' Amplitude ' )

plt . grid ( True , which = ' both ' )

plt . title ( ' Resposta `a rampa ' )

plt . legend ( loc = ' best ' )

# Exporta - se a Figura da resposta a rampa para png

mcf save_fig ( ' figura_exemplo_6b_ramp_cap3 ' )

# Ganho calculado e sistema com ganho ajustado mas n~ao ... compensado

K1 =1440

Gk1 = K1 * G

# Plota - se o diagrama de Bode de K1 * G ( s )

mcf . plot_margins ( Gk1 , emin , emax )

# Exporta - se a Figura do diagrama de Bode para png

mcf . save_fig ( ' figura_exemplo_6b_k1_bode_cap3 ' )

# Determina - se a FT em MF

Gk1_mf = feedback ( Gk1 ,1)

# Plota - se a resposta ao degrau unit´ario da FT em MF

plt . figure (5)

Entendendoosc´odigosemPythonutilizados461

T , yout = step_response ( Gk1_mf )

Mp , tp , ts , tr = mcf . info_st ( Gk1_mf ,2)

plt plot ( T , yout , ' k ' )

plt . xlabel ( ' Tempo ( s ) ' )

plt . ylabel ( ' Amplitude ' )

plt . grid ( True , which = ' both ' )

plt . title ( " $M_p = $ %.2 f $t_p = $ %.2 f $t_s = $ %.2 f $t_r = $ %.2 f " % ( round ( Mp ,2), round ( tp ,2), round ( ts ,2), round ... ( tr ,2)))

# Exporta - se a Figura da resposta ao degrau para png mcf . save_fig ( ' figura_exemplo_6b_k1_step_cap3 ' )

NaListagem A.5,est˜aodispon´ıveisosdadosdeentradaparaasfun¸c˜oes de gera_tabela_latex e gera_tabela_excel,masambasencontram-se comentadas.Seemambasasfun¸c˜oesoscoment´ariosforemeliminados,o c´odigogeraumatabeladedadosemLATEXeoutratabeladedadosemExcel, quepodemserutilizadaspararealizarasleiturasdedadosdeprojetodos compensadoresdesejados.Astabelass˜aosalvasemarquivosnoformatotex ouxlsx,respectivamente.

ListagemA.5:Entendendoc´odigogen´ericoexemploPython.

# # Dados para gerar tabela da resposta em freq . para o ...

LaTeX

# # G fun¸c~ao de transfer^encia do sistema # # w vetor de frequ^encias

# # Td =0 atraso de tempo

# # N =0 ordem de aproxima¸c~ao de Pad´e para o atraso Td # # a1 string com o nome do arquivo em latex

# # a2 string com a etiqueta do Exemplo q ser resolvido # # a3 string com a etiqueta da tabela para ser ... referenciada

462Sistemasdecontrolecompython:respostaemfrequˆencia

Nos últimos anos, o Python vem sendo utilizado, em vez do Matlab.

O Python e suas respectivas bibliotecas específicas estão crescendo e amadurecendo de maneira a serem uma alternativa chamativa ao Matlab. Neste livro, estarão disponíveis todos os códigos em Python de todos os exemplos desenvolvidos e de um conjunto de funções criadas para mostrar: dados de simulação como máximo sobressinal; tempo de acomodação, tempo de pico e tempo de subida; frequência de ressonância, amplitude de pico de ressonância e largura de banda; geração de uma onda quadrada e uma onda triangular; margens de fase e de ganho, as respectivas frequências de cruzamento de ganho e de cruzamento de fase; setas de direção de movimento dos diagramas polares; e também funções para criar as tabelas de dados da resposta em frequência, ditas tabelas em LaTeX, HTML e Excel.

O Python é uma linguagem de programação de alto nível, interpretada, open source e combina uma sintaxe concisa com recursos de biblioteca por módulos. Ele apresenta um módulo para sistemas de controle com comandos muito semelhantes ao Matlab. Na ampla literatura de controle, observam-se livros que utilizam o Matlab, Scilab e C nos idiomas inglês e português. Livros da área de sistemas de controle utilizando Python são poucos em ambas as linguagens e, principalmente, em português.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.