\( \DeclareMathOperator{\abs}{abs} \newcommand{\ensuremath}[1]{\mbox{$#1$}} \)
(%i1) kill(all)$load("coma")$
\[\mbox{}\\coma\,v.1.73,\,(Wilhelm\,Haager,\,2015-01-09)\]

Função de transferência em cadeia fechada

Figure 1: /Users/flips/MEGA/dscp/exemplos/maxima/closed.png
Diagram
(%i2) eqs:[C=x1+x2,
x1=GL*L,
x2=GP*M,
M=GV*P,
P=GC*E,
E=Km*SP-B,
B=Gm*C];
\[\tag{eqs}\label{eqs}[C=\mathit{x2}+\mathit{x1},\mathit{x1}=\mathit{GL}L,\mathit{x2}=\mathit{GP}M,M=\mathit{GV}P,P=E\,\mathit{GC},E=\mathit{Km}\,\mathit{SP}-B,B=C\,\mathit{Gm}]\]
(%i3) FT:transfer_function(eqs,[x1,x2,M,P,E,B,C],[L,SP],C);
\[\tag{FT}\label{FT}\begin{pmatrix}\frac{\mathit{GL}}{\mathit{GC}\,\mathit{GP}\,\mathit{GV}\,\mathit{Gm}+1} & \frac{\mathit{GC}\,\mathit{GP}\,\mathit{GV}\,\mathit{Km}}{\mathit{GC}\,\mathit{GP}\,\mathit{GV}\,\mathit{Gm}+1}\end{pmatrix}\]

Resposta a um degrau unitário

(%i12) Km:1$
GP:1/(1+s)$
GL:1/(1+0.1*s)$
Kc:[9.5/2,10/2]$         τi:0.2475*3$          τd:0.4/3$           GC:Kc*(1+1/(τi*s)+τd*s)$    /*  Controlador */
GV:1$
Gm:1*time_delay(0.2,2)$                                                                                                  /* Sensor com atraso */;
(%i14) step_response(ev(FT[1,2]),title="Reset",xrange=[0,5]);
step_response(ev(FT[1,1]),title="Degrau na carga",xrange=[0,2])$
 (Graphics)
 (Graphics)

Como se pode ver, são admissíveis, pequenos erros nos parâmetros do controlador


Created with wxMaxima.