projeto2 controle

8
Controle de velocidade de motor DC Controlador PWM para motor Phillippe Caminha Engenharia da Computação CESB / IESB Brasília, Brasil [email protected] Isaac Canan Engenharia da Computação CESB / IESB Brasília, Brasil [email protected] Felipe Jacomé Engenharia Elétrica CESB / IESB Brasília, Brasil [email protected] Resumo—Este, artigo tem como objetivo apresentar um sistema de controle PID tradicional não linear variante no tempo de motores DC através do PWM, também com controladores PI e com sistemas em malha aberta, além de realizar a comparação destes modelos simulados com a resposta de um modelo em malha aberta e um modelo com o controlador PID implementado (real). Para as simulações será utilizado o software Simulink e para a comunicação, medição e controle do motor DC será utilizado o Matlab. Palavras-chave—Motor; DC; controle; simulink; matlab; PI; PID; malha aberta; I. INTRODUÇÃO Os Motores de corrente continua sem escovas (BLDC ou Brushless) tem sido amplamente utilizados por oferecerem algumas vantagens em relação aos com escovas, como maior confiabilidade , redução de ruídos e a vida útil mais longa por não possuir o desgaste das escovas. A defasagem de eficiência desses motores é uma de suas desvantagens, mas para resolvermos tal problema introduziremos um controlador PID (Proporcional-Integral-Derivativo). O controlador PID tenta corrigir o erro entre a variável medida durante o processo e a variável desejada através de cálculo e da produção de uma ação corretiva que possa deixar o sistema em conformidade com o esperado. Assim, através da integração do controlador PID ao motor de corrente contínua somo capazes de corrigir o erro do motor e controlar a velocidade do motor até o ponto desejado. II. MATERIAIS A. Arduino Arduino ATMega 1280: Este é o microcontrolador que utilizaremos para processar os pulsos do nosso sistema querba-feixe infravermelho, es pulsos nos dirão quando o motor se movimentar. O Arduino utilizará esses pulsos junto com um timer para calcular a velocidade atual do nosso motor; a Interface do Arduino será a responsável por implementar o controlador PID , e gerar o cálculo da velocidade do motor , imprimindo a penas o resultado na porta analógica 9, que o Matlab lerá através da serial. B. MATLAB e SIMULINK MATLAB é uma linguagem de alta performance para computação técnica, integrando computação, visualização e programação em um ambiente intuitivo onde problemas e soluções são expressos em notações matemáticas padronizadas. O nome MATLAB vem de Matrix Laboratory e é atualmente a ferramenta padrão para cursos básicos e avançados de matemática, engenharia, controle e ciências em

Upload: luciano-franklin

Post on 06-Dec-2014

146 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Projeto2 Controle

Controle de velocidade de motor DCControlador PWM para motor

Phillippe CaminhaEngenharia da Computação

CESB / IESB Brasília, Brasil

[email protected]

Isaac CananEngenharia da Computação

CESB / IESB Brasília, Brasil

[email protected]

Felipe JacoméEngenharia Elétrica

CESB / IESB Brasília, Brasil

[email protected]

Resumo—Este, artigo tem como objetivo apresentar um sistema de controle PID tradicional não linear variante no tempo de motores DC através do PWM, também com controladores PI e com sistemas em malha aberta, além de realizar a comparação destes modelos simulados com a resposta de um modelo em malha aberta e um modelo com o controlador PID implementado (real). Para as simulações será utilizado o software Simulink e para a comunicação, medição e controle do motor DC será utilizado o Matlab.

Palavras-chave—Motor; DC; controle; simulink; matlab; PI; PID; malha aberta;

I. INTRODUÇÃO

Os Motores de corrente continua sem escovas (BLDC ou Brushless) tem sido amplamente utilizados por oferecerem algumas vantagens em relação aos com escovas, como maior confiabilidade , redução de ruídos e a vida útil mais longa por não possuir o desgaste das escovas. A defasagem de eficiência desses motores é uma de suas desvantagens, mas para resolvermos tal problema introduziremos um controlador PID (Proporcional-Integral-Derivativo). O controlador PID tenta corrigir o erro entre a variável medida durante o processo e a variável desejada através de cálculo e da produção de uma ação corretiva que possa deixar o sistema em conformidade com o esperado. Assim, através da integração do controlador PID ao motor de corrente contínua somo capazes de corrigir o erro do motor e controlar a velocidade do motor até o ponto desejado.

II. MATERIAIS

A. ArduinoArduino ATMega 1280: Este é o microcontrolador que utilizaremos para processar os pulsos do nosso sistema querba-feixe infravermelho, es pulsos nos dirão quando o motor se movimentar. O Arduino utilizará esses pulsos junto com um timer para calcular a velocidade atual do nosso motor; a Interface do Arduino será a responsável por implementar o controlador PID , e gerar o cálculo da velocidade do motor , imprimindo a penas o resultado na porta analógica 9, que o Matlab lerá através da serial.

B. MATLAB e SIMULINKMATLAB é uma linguagem de alta performance para

computação técnica, integrando computação, visualização e programação em um ambiente intuitivo onde problemas e soluções são expressos em notações matemáticas padronizadas.

O nome MATLAB vem de Matrix Laboratory e é atualmente a ferramenta padrão para cursos básicos e avançados de matemática, engenharia, controle e ciências em ambientes universitários. Na indústria, o MATLAB é a ferramenta de escolha para alta produtividade de pesquisa, desenvolvimento e análise. Na indústria, o MATLAB é a ferramenta de escolha para alta produtividade de pesquisa, desenvolvimento e análise.

Neste artigo o MATLAB será utilizado para construir uma GUI (interface gráfica) (Figura – 1) que realize o controle da velocidade do nosso motor DC e que receba as interrupções geradas pelo sensores infravermelhos, permitindo assim, mensurar a velocidade do nosso motor e plotar um gráfico para acompanhamento.

Figura 1 - GUI gerada no Matlab

SIMULINK é um software para modelagem, simulação e análise de sistemas dinâmicos. Ele permite ao usuário modelar um sistema e jogar diversas entradas para saber qual será o comportamento do sistema e sua saída, tornando-o um software

Page 2: Projeto2 Controle

que pode ser amplamente explorado em disciplinas como Controle e Processamento Digital de Sinais.

No SIMULINK Ferramentas de análises de modelos incluem linearização e sistemas de corte, que podem ser acessados através das linhas de comando do MATLAB, além de várias ferramentas do MATLAB podem ser acessadas pelo SIMULINK, isso graças a integração completa, a tal ponto que para a execução deste último é necessária a inicializaçãoo do MATLAB.

A utilização do SIMULINK é fundamental para o desenvolvimento do artigo pois com ela iremos modelar o sistema definir quais as melhores variáveis Kp;Ki e Kd para o controlador e comparar os resultados práticos com os resultados teóricos possibilitando a análise de conclusão do artigo.

C. Sensores InfravermelhosPara mensurar a velocidade de rotação (RPM) do motor DC

utilizado no projeto serão utilizados sensores infravermelhos (Figura – 2) . Os sensores são compostos por um Emissor e um Coletor, o feixe infravermelho emitido pelo emissor mantem a tensão de saída do coletor em alta pois sua resistência será baixa, quando ocorre a quebra do feixe infravermelho essa resistência é alterada, assim como a tensão na saída.

Figura 2 - Emissor e Coletor Infravermelho

A cada vez que uma das hélices do motor quebrar o feixe, será gerada uma interrupção (Figura – 3), e a partir da contagem destas interrupções podemos calcular a velocidade de rotação do motor.

Figura 3 - Quebra do feixe infravermelho pelo motor

D. Motor DCUm atuador comum em sistemas de controle é o motor de

corrente contínua. O circuito eléctrico da armadura e do diagrama de corpo livre do rotor são mostrados na figura a seguir: (Figura – 4)

Figura 4 - Armadura e diagrama do motor DC

A partir da figura acima, podemos escrever as seguintes equações com base na lei de Newton combinada com lei de Kirchhoff:

Utilizando transformada de Laplace, as equações modeladas acima pode ser expressas em termos de s. Já eliminando I(s) onde Ø é a velocidade de saída e V é a tensão de entrada.

O modelo matemático do motor quando transportado para o Simulink (Figura – 5) assume uma aparência mais complexa por isso cria-se um componente responsável pelo agrupamento onde depois pderemos utilizar apenas como Motor DC.

Figura 5 - Modelo matemático motor DC (SIMULINK)

Page 3: Projeto2 Controle

O motor de corrente contínua utilizado no trabalho será um cooler de HD que opera a 12 volts produzindo um máximo de 4000 RPMs , para dispensar o uso de ponte H ou de outros artifícios mais complexos tal motor será operado a 5V (tensão de saída do próprio Arduino) limitando a velocidade do motor a 1800 RPMs. Os resultados apresentados por tais alterações serão suficientes para análise da situação. Isso permitirá o controle do motor diretamente de uma porta do Arduino.

Para construirmos modelo do para simulação e permitir a definição dos parâmetros mais adequados do controlador PID é necessário, antes, conhecer a função de transferência do motor utilizado. Felizmente esta pode ser encontrada na internet, disponibilizada pela fabricante.

Momento de inércia do rotor (J) = 0.01 kg.m^2/s^2Relação de amortecimento do sistema mecânico (b) = 0.1 NmsFEM (K=Ke=Kt) = 0.01 Nm/AmpResistência (R) = 1 ohm Indutância (L) = 0.5 HTensão de entrada (V): 12V

III. DESENVOLVIMENTO DO CONTROLADOR

A. Histórico dos Sistemas de Controle

No decorrer dos anos vários trabalhos contribuíram para consolidação da teoria de controle na atualidade. Segundo Ogata (2003) o primeiro trabalho significativo de controle automático foi o regulador centrífugo construído por James Watt para o controle de velocidade de uma máquina a vapor, no século XVIII.

Alguns termos importantes surgiram no decorrer do desenvolvimento do controle automático, como, por exemplo, o próprio termo “automático” que implica no controle efetuado sem a intervenção humana e o termo “realimentado” que foi utilizado pela primeira vez nos Estados Unidos em 1920 quando do desenvolvimento de sistemas telefônicos e amplificadores eletrônicos de realimentação por Bode, Nyquist e Black na Bell Telephone Laboratories (DORF; BISHOP, 2005).

Durante a década de 1940, por exemplo, os métodos de resposta de freqüência tornaram possível aos engenheiros projetar sistemas de controle em malha fechada satisfazendo os requisitos de desempenho. Nesta mesma década, Walter R. Evans trabalhando na indústria aeronáutica desenvolveu uma técnica gráfica para traçar as raízes de uma equação característica de um sistema com retroação cujos parâmetros mudam de valor sobre uma faixa particular de valores, tal método denominado lugar das raízes foi o principal método para projetos de sistemas de controle neste período (OGATA, 2003).

Tendo em vista que os sistemas modernos, dotados de muitas entradas e muitas saídas, se tornam cada vez mais complexos, a descrição de um sistema de controle envolve um grande número de equações. A teoria de controle clássica, que trata somente de sistemas com uma única entrada e uma única

saída, tornou-se insuficiente para lidar com sistemas de entradas e saídas múltiplas. A partir de 1960, a disponibilidade dos computadores digitais tornou possível a análise, no domínio do tempo, de sistemas complexos, ensejando o desenvolvimento da moderna teoria de controle baseada nas técnicas de análise e síntese por meio de variáveis de estado. Esta teoria foi desenvolvida com o objetivo de tratar a complexidade crescente dos sistemas modernos e atender às rigorosas exigências quanto ao peso, exatidão e custos de projetos relativos às aplicações militares, espaciais e industriais.

Durante o período de 1960 a 1980, foram investigados os controles ótimos de sistemas determinísticos e estocásticos bem como o controle adaptativo e o controle com aprendizado. De 1980 aos dias de hoje, os desenvolvimentos na moderna teoria de controle têm se concentrado no controle robusto.

B. Controle em malha fechadaO controle de sistemas em malha fechada utiliza um sinal

de medição atual da saída do sistema para comparar com um sinal de referência previamente estabelecido. O sinal de saída medido é chamado de sinal de realimentação ou feedback. Na (Figura – 6) mostra-se o diagrama de blocos e o fluxo de informações de um sistema de controle em malha fechada SISO (Single Input Single Output).

Figura 6 - Diagrama de blocos de um sistema em malha fechada

Onde R(S) é o sinal de entrada; Y(S) o sinal de saída da planta e E(S ) o sinal de erro atuante (diferença entre R(S) e Y(S)). Em geral, indica-se a função de transferência (modelo matemático) de malha fechada por T(S), a função de transferência no caminho da alimentação direta e representada por G(S) e a função de transferência no caminho da realimentação por H(S). Tem-se, portanto, que a função de transferência em malha fechada para o diagrama apresentado é

Um sistema de controle em malha fechada utiliza-se de uma função que relaciona o sinal de saída com o sinal de entrada. Geralmente a diferença entre o sinal de saída e o sinal de entrada (sinal de erro do sistema) de um processo sob controle é amplificada e utilizada no controle do processo, fazendo com que a diferença entre estes sinais seja reduzida. O controle de um sistema por meio de uma malha fechada

Page 4: Projeto2 Controle

oferece inúmeras vantagens. O uso da realimentação faz com que a resposta do sistema seja relativamente insensível a distúrbios e variações internas dos parâmetros do sistema (OGATA, 2003).

C. Controlador PIDO controlador PID (proporcional, integral e derivativo) é de

longe o algoritmo de controle mais utilizado. A maior parte dos sistemas em malha fechada são controlados pelo PID ou por esse algoritmo com pequenas variações. Esse tipo de controlador tem sua saída da seguinte forma:

Onde u(t) é o sinal de controle; kp é o ganho proporcional do controlador; e(t)é o sinal de erro do processo; Ti é denominado tempo integral do controlador e Td é o Tempo derivativo do controlador.

O ajuste de um controlador PID, que é denominado sintonia do controlador, é feito variando os valores de kp , Ti e Td . Na Tabela – 1 apresenta-se um resumo da influênciadas ações proporcional, integral e derivativa no controlador PID.

Tabela 1 - Efeitos no sistema das alterações P , I e D (Fonte: LOURENÇO, 1997)

O processo de selecionar parâmetros do controlador que garantam uma dada especificação de desempenho foi bastante estudado por Ziegler-Nichols. Ele sugeriu regras para a sintonia de controladores PID baseadas na resposta experimental ao degrau ou no valor de Kp que resulta em uma estabilidade marginal, quando somente uma ação proporcional é utilizada. As regras sugerem um conjunto de valores kp , Ti , Td . que vão proporcionar uma operação estável ao sistema.

Contudo, o sistema resultante pode exibir um máximo sobre-sinal grande devido à resposta ao degrau, o que e inaceitável. Nesse caso, e necessário fazer uma série de sintonias finas até que um resultado aceitável seja obtido. (OGATA, 2003).

Ação Proporcional

No controle puramente proporcional a ação de controle é proporcional ao sinal de erro atuante e sua equação é descrita da seguinte forma:

Onde Gc(t) é a saída do controlador; Kp é o ganho proporcional e E(t) é o erro atuante no processo.

Para que o sinal de erro atuante seja nulo, é necessário que o valor da variável manipulada seja igual ao valor de referência (setpoint). Quando a condição desejada, ou seja, valor da variável manipulada é igual ao setpoint, nenhuma energia é entregue ao processo, o que faz com que volte a surgir um sinal de erro. Por causa disto, um controle puramente proporcional nunca consegue atingir a condição desejada.

Ação Integral

A ação integral atua de sistema gerando uma resposta na saída do controlador que é proporcional a amplitude e duração do sinal de erro atuante. A ação integral tem o efeito de eliminar o erro característico de um controle puramente proporcional. A ação integral funciona da seguinte maneira: em intervalos regulares, a ação integral corrige o valor da variável manipulada, somando a esta o valor do erro atuante. Este intervalo de tempo é o tempo integral (Ti). A seguir descreve-se matematicamente uma ação de controle integral.

Se, por um lado, como já referimos anteriormente, a ação integral elimina o erro estacionário, por outro, ela aumenta o tempo de estabelecimento e piora a estabilidade relativa, o que usualmente é indesejável (LOURENÇO, 1997).

Ação Derivativa

A função da ação derivativa é melhorar a estabilidade em malha fechada do sistema. Assim como o controle integral, o controle derivativo não é, isoladamente, uma técnica de controle, pois não é empregado sem o acompanhamento de uma ação de controle proporcional. A ação de controle derivativa consiste em uma resposta na saída do controlador que é proporcional a velocidade de variação do erro atuante, conforme se descreve na equação a seguir:

A ação derivativa tem o efeito de reduzir a velocidade das variações do valor da variável controlada, evitando que ela se eleve ou reduza muito rapidamente.

Page 5: Projeto2 Controle

O termo derivativo só atua quando há variação no erro. Se o processo esta estável, seu efeito é nulo. Durante perturbações ou na partida do processo, quando o erro está variando, o derivativo sempre atua no sentido de atenuar as variações, sendo, portanto, a sua principal função melhorar o desempenho do processo em regime transitório.

Embora o controle derivativo não afete diretamente o erro estacionário, ele aumenta o amortecimento do sistema, permitindo, assim, a utilização de um valor mais levado do ganho K , o que vai resultar em maior precisão de regime permanente (OGATA, 2003).

D. Desenvolvimento Controlador PI no projetoRealizando as adaptações necessárias e, uma vez que conhecemos a função de transferência do motor DC podemos , com auxilio do Simulink gerar uma saída utilizando parâmetros de Kp = 150 e Ki = 250 , enquanto nosso Kd = 1 (Figura – 7).

Figura 7 - Gráfico controlador PI no Simulink

No sistema real o gráfico gerado pelo Matlab foi

E. Desenvolvimento Controlador PID no projeto

Após a implementação do controlador PI aumentaremos o valor a variável Kd afim de diminuir o sobrepasso do sistema , gerando assim o controlador PID o diagrama de blocos (Figura – 8) e a simulação no Simulink (Figura – 9)

Figura 8- Diagrama de blocos do sistema

Na implementação real nosso Valor de Referência e Conversor A/D são representados por um bloco de “Computador” composto do Matlab e da porta Serial que realiza a comunicação do sistema com o Matlab.

Figura 9 - Gráfico controlador PID ideal

A resposta ao Matlab utilizando o Controlador PID (Figura – 10) embutido no arduino foi satisfatória pois consguimos eliminar os picos gerados em malha aberta. Diminuímos , também , o tempo de subida , retardo e estabilidade utilizando o controlador, eliminando o sobrepasso gerado anteriormente.

Figura 10 - Controlador PID no circuito real

F. Propriedades dos Logaritmos

CONCLUSÕES E IMPLICAÇÕES

Alguns picos apresentados no sistema real dão-se pelo fato de estarmos operando o motor em uma voltagem já abaixa da usual, e quando tentamos abaixar ainda mais sua velocidade de rotação ele não possuí força suficiente para mantê-la e acaba por injetar corrente em excesso, gerando picos e valas indesejáveis. Com a implementação de um controlador PID tais picos foram amenizados mas não completamente eliminados, comprovando novamente que a implementação de tais controladores em sistemas de malha fechada apresentam ganhos consideráveis, justificando-os

Ao escrever este artigo eu aprendi muitas coisas sobre estas ajudas do cálculo. Mas talvez o mais importante, eu percebi que descobrir operações matemáticas e truques certamente tem quantidades significativas de esforço, tempo e dedicação. Hoje, muitas vezes é complexo ver/compreender explicações desses símbolos, mesmo que estando bem compilados em livros didáticos de matemática e ciências. É fácil esquecer que toda equação encerra uma história: a frustração, o fascínio de

Page 6: Projeto2 Controle

trabalho árduo, colaborações amigáveis, decepção, e o acaso ocasional. A matemática não é apenas sobre números, mas é também sobre as pessoas cujo trabalho nos dá o luxo e o prazer do entendimento.

REFERÊNCIAS

[1] ASTROM, K. J.; HAGGLUND, T. Automatic Tuning of PID Controllers. 1o Edição. United States of America: Instrument Society of America, 1988.

[2] DORF, R. C.; BISHOP, R. H. Modern Control Systems. 10o Edição. United States of America: Pearson Prentice Hall, 2005.

[3] LOURENÇO, J. Sintonia de Controladores PID. Rio de Janeiro: 1997.

[4] OGATA, K. Engenharia de Controle Moderno. 4o Edição. São Paulo: Prentice Hall, 2003.

[5] PID Control with MATLAB and Simulink Acessado em 19/11/2012 às 23:45, http://www.mathworks.com/discovery/pid-control.html

[6] Wikipédia - Motor de corrente contínua sem escovas, Acessado em 24/11/2012 às 02:40, http://pt.wikipedia.org/wiki/Motor_de_corrente_cont%C3%ADnua_sem_escovas

[7] Encyclopedia Britannica, “PID”, Acessado em 22/11/2012 às 23:45, http://www.britannica.com/EBchecked/topic/346146/PID

[8] DC Motor Speed System Modeling , Acessado em 19/10/2012 às 23:45, http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed&section=SystemModeling