PID control. (proportional, integral, derivative)



Documentos relacionados
UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

Controle II. Estudo e sintonia de controladores industriais

Processos industriais INSTRUMENTAÇÃO E CONTROLE. Pirâmide da automação 29/1/2012. Controle automático de processo

Curso de Instrumentista de Sistemas. Fundamentos de Controle. Prof. Msc. Jean Carlos

Controlo de servomotores com o microcontrolador BX-24

Engenharia de Software

UNIVERSIDADE GAMA FILHO PROCET DEPARTAMENTO DE ENGENHARIA ELÉTRICA. Disciplina de Controle II Prof. MC. Leonardo Gonsioroski da Silva

Me todos de Ajuste de Controladores

Tipos de controladores e funcionamento

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Tipos de malha de Controle

Sistemas de Apoio à Decisão

ESCOLA NAVAL DIRETORIA DE ENSINO DA MARINHA DEPARTAMENTO DE ENGENHARIA CONTROLE E AUTOMAÇÃO. Professor Leonardo Gonsioroski

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

Controladores Lógicos Programáveis

MEDIÇÃO EM QUÍMICA ERROS E ALGARISMOS SIGNIFICATIVOS

Notas de Cálculo Numérico

Administração da Produção I

Capítulo 5: Aplicações da Derivada

Escola Superior de Tecnologia de Setúbal. Modelação e Identificação de Sistemas. Controlo. Ângelo Carmo Luis Santos

MICROCONTROLADOR WISE T

Fontes de Alimentação

4. Tangentes e normais; orientabilidade

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

5. Diagramas de blocos

... Altamente eficiente. Fatiadora totalmente automática A 510 da Bizerba com balança integrada

UNIVERSIDADE CEUMA CAMPUS RENASCENÇA CURSO DE ENGENHARIA DE PRODUÇÃO. Professor Leonardo Gonsioroski

Reduzindo o lead time no desenvolvimento de produtos através da padronização

Análise de Regressão Linear Simples e Múltipla

INSPECÇÃO-GERAL DA EDUCAÇÃO PROGRAMA AFERIÇÃO

Paralelismo a Nível de Instrução

C5. Formação e evolução estelar

SISTEMA DE CLIMATIZAÇÃO

CUSTOS. Custo = sacrifício de recursos com vista a atingir determinados objectivos (representa utilização de recursos).

Agrupamento de Escolas Anselmo de Andrade Avaliação Sumativa - Ciências Físico - Químicas 11.º Ano - Ano Lectivo 09/10

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

Detector de intrusão Série Professional Sabe quando activar o alarme. Sabe quando não o fazer.

Modelos, em escala reduzida, de pontes e barragens. Simuladores de voo (ou de condução), com os quais se treinam pilotos (ou condutores).

Gestão da Qualidade NP EN ISO 9001:2008

PHC Factoring. A solução para a gestão dos contratos de Factoring, respectivas cessões, adiantamentos e recibos das entidades aderentes.

FERRAMENTAS DA QUALIDADE

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Especificação Operacional.

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

ARQUITETURA DE COMPUTADORES

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA

Algoritmo. Iniciação do Sistema e Estimativa do consumo. Perfil do utilizador. Recolha de dados

CONTROLE DE NÍVEL UTILIZANDO ALGORITMO PID IMPLEMENTADO NO CLP

Medição tridimensional

REGULAMENTO PARA A GESTÃO DE CARREIRAS DO PESSOAL NÃO DOCENTE CONTRATADO NO ÂMBITO DO CÓDIGO DO TRABALHO DA UNIVERSIDADE DO. Capítulo I.

Administração da Produção I

1 Introdução. 2 Exemplo de aplicação

CONTROLO DE SISTEMAS

A EVOLUÇÃO DOS PRODUTOS NA INDÚSTRIA TRANSFORMADORA

Sensor de Nível por Medida de Pressão Diferencial com Sensor SMART

Contabilidade Gerencial PROFESSOR: Salomão Soares VPL E TIR

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo.

Sistemas Embarcados. Controladores PI, PD e PID

Eficiência e qualidade: mitos e contradições

Condições de Garantia Iluminação pública e viária Luminárias LED do Schréder Group a partir de 20 de Junho de 2013

Planeamento Serviços Saúde

Modelos de Filas de Espera

Um sistema bem dimensionado permite poupar, em média, 70% a 80% da energia necessária para o aquecimento de água que usamos em casa.

Survey de Satisfação de Clientes 2009

Solius 61 Manual de Instruções

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

6 Conclusões e sugestões para trabalhos futuros

Cópia de Segurança e Recuperação Manual do utilizador

COMO PROGRAMAR SEU TIME

Válvulas controladoras de vazão

Ingersoll Rand. Sistema de Automação Série-X

Implicações da alteração da Taxa de Juro nas Provisões Matemáticas do Seguro de Vida

Nome:...N o...turma:... Data: / / ESTUDO DOS GASES E TERMODINÂMICA

Da Película Para o Papel

Rugosidade. O supervisor de uma empresa verificou que. Um problema. Rugosidade das superfícies

Estes sensores são constituídos por um reservatório, onde num dos lados está localizada uma fonte de raios gama (emissor) e do lado oposto um

Altimetria. Ao nível do mar, com uma temperatura de 15ºC a pressão é de hpa ou Hg. (segundo a ISA iremos ver mais à frente)

Organização interna da empresa

Implementadas por Computador

COBERTURAS AUTOMÁTICAS PARA PISCINAS

Plataforma móvel de trabalho em altura Manual de Instruções

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Qualidades. Atributos de Qualidade. Atributos de Qualidade. Categorias de Qualidades. Arquitecturas de Software

CONHECIMENTO ESPECÍFICO

Gerência de Memória. Paginação

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

EXAME NACIONAL DO ENSINO SECUNDÁRIO

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

Os motores de CA podem ser monofásicos ou polifásicos. Nesta unidade, estudaremos os motores monofásicos alimentados por uma única fase de CA.

Marketing e Publicidade 2ºANO 1º SEMESTRE

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

Sociedade União 1º.Dezembro. Das teorias generalistas. à ESPECIFICIDADE do treino em Futebol. Programação e. Periodização do.

PROJETO DE REDES

Transcrição:

PID control (proportional, integral, derivative) Esta é uma matéria vasta e complexa, que envolve conceitos de matemática avançada (cálculo de integrais), para além do domínio de todas as variáveis onde o sistema vai operar e seu controlo, e ainda quando se pretende desenvolver um programa informático para um microcontrolador, cujo objectivo é exactamente garantir o automatismo e precisão de funcionamento desse sistema. É uma técnica que se utiliza para atingir um eficaz controlo de funcionamento de sistemas aplicados em máquinas, automóveis, robots, mísseis, etc.. O conceito de base é bastante antigo e existiu ao longo dos tempos como um sistema simplesmente mecânico, hidráulico ou electrónico. Mais recentemente o PID digital, com a utilização de microcontroladores e respectiva programação, atingiu níveis de velocidade de resposta, precisão e segurança extraordinários com um custo muito mais reduzido. PID são as iniciais de Proporcional, Integral e Derivativo sendo cada uma destas três funções as responsáveis pelo cálculo cujos resultados em conjunto garantem o efectivo funcionamento de um sistema. Basicamente o PID aceita um Input e, considerando o valor que se pretende ( Setpoint), trata essa informação e produz o Output com os valores ajustados para actuar no mecanismo que se pretende controlar. Consegue-se assim um output capaz de induzir um input igual ao setpoint. Isto pressupõe que o processo funcione em modo repetitivo (em ciclo). Carlos Chambel Santos 1/7 10 Outubro 2013 V1.0

Por exemplo, num silo de cereais em que a temperatura deve ser mantida constante e automaticamente. Ignorando, por simplicidade, a complexidade de respostas a tratar, factores externos ao sistema, tipo de cereal, camadas intermédias, etc., as partes imediatamente a estudar serão: 1-O silo (designa-se por "plant") 2-Sensor para medir a temperatura (feedback) 3-Fornecedor de calor/frio (por ex. um aquecedor, ventilador, etc.) Assim, será necessário desenhar um sistema que receba os inputs dos sensores, trate essa informação e de seguida gere os outputs (parâmetros) para o aquecedor/ventilador fornecer a quantidade de calor/frio estritamente necessária para se atingir com precisão e sem flutuações o nível de temperatura desejado. Este é, em termos muitos simples, o conceito que se aplica a um dispositivo de controlo de velocidade do automóvel, a um robot para se manter na vertical ou seguir um traçado, um helicóptero para se manter no ar, ou para um míssil manter a sua trajectória e atingir o alvo. Suponhamos que, no modelo acima de exemplo, se pretende que a temperatura deve ser rigorosamente sempre igual a 23º. A este valor de 23º, que é o valor desejado, chama-se Setpoint. A diferença entre o Setpoint e o valor medido (Input) é o erro, e este valor é muito importante no processo de cálculo do PID. O princípio de funcionamento de um PID é exactamente fazer com que as variações dos erros se mantenham o mais possível na vizinhança do Setpoint e esse erro tenda (no verdadeiro sentido matemático) para zero. Carlos Chambel Santos 2/7 10 Outubro 2013 V1.0

Sendo s o valor que se pretende fixar (Setpoint), qualquer que seja o valor de e > 0, teriamos: V e (s) = ] s - e, s + e [ A expressão matemática do PID é: isto é, o valor de saída do controlador, em relação ao tempo, é igual à soma do produto dos erros por uma constante Kp, mais o produto do valor do integral dos erros por uma constante Ki, mais o produto do valor da derivada do erro pela constante Kd. em que: P = K p e (t ) é o termo Proporcional e representa o valor da saída proporcional ao erro vindo da realimentação. Esta é a parte mais fácil de tratar Carlos Chambel Santos 3/7 10 Outubro 2013 V1.0

e resume-se ao produto de uma constante pelo valor do erro: // exemplo de programação #define kp 2 double Setpoint, cha_roll; void setup() { Setpoint = 0; } void loop() { leiturasensor(); e = Setpoint - cha_roll; P = e * kp; } É o integral de e(t) no intervalo [0,t] multiplicado pela constante Ki. Resulta daqui a soma dos sucessivos erros multiplicados pelo tempo decorrido entre a leitura do corrente intput do sensor e a leitura do input imediatamente anterior. soma_erro += erro * (dt); if (soma_erro > i_maximo){ } soma_erro = i_maximo; else if(soma_erro < i_minimo){ Carlos Chambel Santos 4/7 10 Outubro 2013 V1.0

soma_erro = i_minimo { I = soma_erro * ki; é o termo derivativo e atrasa a taxa de variação de saída do controlador. Trata-se de calcular a derivada do erro tentando antecipar qual será o valor do próximo erro. D = (erro - erro_anterior) / (dt) * Kd; erro_anterior = erro; sendo: u(t) Kp Ki Kd e e = a saída do controlador em relação ao tempo = a constante proporcional = a constante integral = a constante derivativa = ao erro = Setpoint - Input dt = à diferença entre o tempo aquando da presente leitura e o da imediatamente anterior Os valores de Kp, Ki e Kd são os definidos no programa, podendo ao longo do seu funcionamento efectuar inputs para os alterar. Carlos Chambel Santos 5/7 10 Outubro 2013 V1.0

Uma fase importante de um projecto que integre esta técnica é a realização do tuning do PID. Existem diversos métodos científicos sobre esta matéria (por exemplo o de Ziegler Nichols), mas o tuning também se consegue realizar por tentativas, sem quaisquer necessidades de matemáticas complicadas e com os resultados aceitáveis. Usando esta via, a alteração dos valores sucessivos de Kp, Ki e Kd tem que ser efectuada por um processo qualquer que o permita, como por exemplo pela porta de comunicações serial, através de um interface que aceite os valores e os transfira para o microcontrolador via rádio, etc., etc.. Neste processo começa por se atribuir um valor baixo ao parâmetro Kp e ao Ki com o valor zero. Activar o sistema que tem o PID instalado, (por exemplo um quadcopter!) e verificar o desvio. Como P resulta proporcionalmente ao valor de Kp, variar o seu valor de 10% aumentará directamente numa substancial melhoria de desempenho, ou agravará na mesma proporção a situação! Neste caso reduzir o valor para menos 5% e por este processo conseguir a melhor aproximação possível do valor do Setpoint, mas sem criar quaisquer oscilações. De seguida abordamos o valor do Ki. I acumula e trata os valores da variável erro num determinado intervalo de tempo. Começa-se por atribuir o valor zero a Ki e um valor baixo a Kp. Depois aumentar em 10% o Kp e em função dos resultados, trabalhar com este método até se conseguir chegar à situação desejada. Trabalhar com Kd implica um maior cuidado, pois as alterações aqui efectuadas tornam o sistema mais sensível. Por exemplo se o erro está a diminuir continuamente, resulta menor acção de controlo e se o erro sobe rapidamente contribuirá para uma elevada acção de controlo. Carlos Chambel Santos 6/7 10 Outubro 2013 V1.0

Resultado quando se aumenta o valor dos parâmetros: Parâmetro Tempo de subida Overshoot Tempo de estabelecimento Erro Kp Diminui Aumenta Pequena variação Diminiu Ki Diminui Aumenta Aumenta Elimina Kd Pequena variação Diminui Diminui Pequena variação Este apontamente surge na sequência da necessidade de entender e implementar o algoritmo do PID no projecto em construção de um quadcopter (engenho de voar, drone, UAV-Unmanned aerial vehicle, etc.,) que vôa com base em quatro rotores controlados por um sistema computacional (microcontrolador Arduino Mega 2560). Um IMU (Inertial Measurement Unit) gera os ângulos (ângulos de Euler) dos eixos X, Y e Z, (φ, Ө, ψ) e estes serão os inputs para o PID, mapeados com valores mínimo e máximo, que gerará por sua vez valores para injectar nos controladores dos rotores, de modo a que o erro se aproxime constantemente do Setpoint, que neste caso concreto, é igual a zero, isto é os desvios dos eixos, horizontal, vertical e rotacional (roll, pitch e yaw), em vôo estabilizado, deve ser zero. Carlos Chambel Santos 7/7 10 Outubro 2013 V1.0