diff --git a/Documentation/PID diagram.vsdx b/Documentation/PID diagram.vsdx new file mode 100644 index 0000000..5eb4d4b Binary files /dev/null and b/Documentation/PID diagram.vsdx differ diff --git a/Documentation/Robot PID diagram.vsdx b/Documentation/Robot PID diagram.vsdx new file mode 100644 index 0000000..13e09fa Binary files /dev/null and b/Documentation/Robot PID diagram.vsdx differ diff --git a/Documentation/abntex2ime/img/DiagramaControladorPID-crop.pdf b/Documentation/abntex2ime/img/DiagramaControladorPID-crop.pdf new file mode 100644 index 0000000..20abd62 Binary files /dev/null and b/Documentation/abntex2ime/img/DiagramaControladorPID-crop.pdf differ diff --git a/Documentation/abntex2ime/img/DiagramaPIDRobo-crop.pdf b/Documentation/abntex2ime/img/DiagramaPIDRobo-crop.pdf new file mode 100644 index 0000000..11b6739 Binary files /dev/null and b/Documentation/abntex2ime/img/DiagramaPIDRobo-crop.pdf differ diff --git a/Documentation/abntex2ime/teoria.tex b/Documentation/abntex2ime/teoria.tex index 4ac0f29..5c731bb 100644 --- a/Documentation/abntex2ime/teoria.tex +++ b/Documentation/abntex2ime/teoria.tex @@ -64,3 +64,33 @@ T_{p1} = \frac{RJ}{bR + K_tK_e} \end{equation} \par As constantes $K_p$ e $T_{p1}$ podem tanto ser calculadas matematicamente pelas equações acima quanto determinadas experimentalmente com o auxílio de uma bancada de testes e ferramentas computacionais. +\par Diante disso, percebe-se que o motor DC é aproximadamente um sistema linear invariante no tempo (LTI) de primeira ordem e, portanto, é atendido por toda a teoria de controle desenvolvida para esse tipo de sistema. + +\section{Controle PID} + +\par O controle proporcional integral derivativo (PID) é um dos mais utilizados na robótica devido à sua versatilidade e capacidade de controlar com precisão sistemas com as mais variadas características. É um tipo de controle que se encaixa muito bem com sistemas LTI de primeira ordem, como o motor DC. A malha de controle de um sistema controlado por PID pode ser vista na figura \ref{fig:diagramaControladorPID}. + +\begin{figure}[!ht] + \centering + \includegraphics[width=\textwidth]{img/DiagramaControladorPID-crop.pdf} + \caption{Diagrama de blocos de um sistema controlado por PID} + \label{fig:diagramaControladorPID} +\end{figure} + +\par Em um sistema contínuo a tempo contínuo ideal, a função de transferência do controlador PID será a da equação \ref{eqn:ftPIDIdeal} + +\begin{equation} +\frac{DutyCycle}{Erro} = kp + \frac{ki}{s} + kd \cdot s +\label{eqn:ftPIDIdeal} +\end{equation} + +\par Onde $kp$, $ki$ e $kd$ são constantes chamadas respectivamente de proporcional, integral e derivativa. Influenciam diretamente no comportamento do controlador PID e, portanto, do sistema de controle do robô de forma geral. Encontrar os melhores valores para estas constantes torna-se então um trabalho de otimização que pode ser auxiliado por métodos como os de Ziegler-Nichols \cite{Franklin2019-dx}. +\par Contudo, esta função de transferência representa um controlador não-causal e, portanto, não pode ser aplicada diretamente a sistemas reais. Sendo assim, é necessário realizar adaptações ao implementar nos robôs. +\par No robô de desenvolvimento, a planta pode ser entendida como sendo o conjunto que engloba a ponte H e o motor, enquanto as forças externas aplicadas ao motor serão vistas como perturbações $W(t)$ no sistema. Além disso, existem ainda perturbações $V(t)$ causadas por imprecisões dos sensores utilizados. O controlador PID e os cálculos dos sinais de referência e de erro serão implementados no firmware do microcontrolador, o que faz com que o robô precise ser um sistema discreto a tempo discreto. Dessa forma, o diagrama de blocos do sistema de controle do robô de desenvolvimento será o da figura \ref{fig:diagramaPIDRobo}. + +\begin{figure}[!ht] + \centering + \includegraphics[width=\textwidth]{img/DiagramaPIDRobo-crop.pdf} + \caption{Diagrama de blocos do controle do robô de desenvolvimento} + \label{fig:diagramaPIDRobo} +\end{figure}