Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 DESENVOLVIMENTO DE UM MÓDULO DE CONTROLE DE NÍVEL UTILIZANDO O KIT ARDUINO UNO Carla M. M. dos Santos∗, Bruno L. G. Costa∗, Rodrigo A. Silva∗, Paulo R. Scalassara∗ ∗ Universidade Tecnológica Federal do Paraná (UTFPR) - Campus Cornélio Procópio Av. Alberto Carazzai, 1640 - Cornélio Procópio, Paraná, Brasil Emails: [email protected], [email protected], [email protected], [email protected] Abstract— This paper describes the construction of a didactical platform with water reservoirs for application of level control strategies, as well as the project of PI control using the Matlab software and the Arduino Uno development kit. The goal is develop a supervisor that sends and receives command data from the plant, through serial communication, allowing the display through a graphical interface. In addition, we seek to develop an educational kit low cost that helps students in their learning and academic development. Keywords— Level Control, PI Control, Arduino Uno. Resumo— Este artigo descreve a construção de uma plataforma didática com reservatórios de água para aplicação de estratégias de controle de nı́vel, bem como o projeto de um controle PI a partir do software Matlab e do kit de desenvolvimento Arduino Uno. O objetivo é desenvolver um supervisório que envie e receba dados de comando da planta, através de comunicação serial, permitindo a visualização por meio de uma interface gráfica. Além disso, busca-se desenvolver um kit didático de baixo custo que auxilie os alunos em seu aprendizado e desenvolvimento acadêmico. Palavras-chave— 1 Controle de Nı́vel, Controle PI, Arduino Uno. Introdução (UTFPR-CP), a fim de se criar kits didáticos que possibilitem o projeto e o ensaio de diferentes estratégias de controle e linguagem de programação. Como exemplo de outro trabalho desenvolvido na linha de controle e que auxilia o ensino de alunos do curso de graduação em Engenharia Elétrica, tem-se o proposto por Bertachi et al. (2012) e Almeida et al. (2012) que se refere ao desenvolvimento de um módulo didático de controle de servomecanismo. O crescimento industrial e o avanço da engenharia de controle podem ser justificados pela possibilidade de se aplicar sistemas de controle a plantas industriais e necessidade de se sofisticar os processos industriais (Ogata, 2005). De acordo com Ogata (2005), na área industrial o controle eficiente e robusto de variáveis como temperatura, pressão, nı́vel, umidade e vazão, por exemplo, garante o bom desempenho de um processo automatizado já que essas variáveis influenciam diretamente na qualidade dos produtos produzidos. Diante disso, devido ao avanço em tecnologia computacional e de dispositivos eletrônicos aliados à eficiência na elaboração de códigos de controle, o controle digital pode ser considerado a forma mais empregada no desenvolvimento de projetos de sistemas de controle em geral (Kuo, 1992). Este artigo tem por objetivo implementar em hardware/software um sistema de controle de nı́vel aplicado a uma estrutura formada por dois tanques em acrı́lico, a partir do desenvolvimento de um controlador PI embarcado no software Matlab. Esse software também será utilizado como interface usuário-planta por meio do desenvolvimento de um supervisório. Além disso, espera-se demonstrar o baixo custo do projeto em relação à outros existentes no mercado, já que os materiais utilizados apresentam baixo custo. Importante ressaltar que em paralelo a este projeto, outros sistemas de controle foram e estão sendo desenvolvidos na Universidade Tecnológica Federal do Paraná - Câmpus Cornélio Procópio 2 Controle PID Controladores PID, atualmente, são uma das metodologias de controle mais empregadas no meio acadêmico e industrial. Seu sucesso de aplicabilidade deve-se à suas caracterı́sticas exclusivas como simplicidade estrutural e facilidade de sintonia. Pesquisas estimam que mais de 90% das malhas de controle industriais empregam o controle PID (Knospe, 2006). Com isso muitas pesquisas foram e são desenvolvidas visando extrair o máximo de desempenho possı́vel desta metodologia. Os principais temas de pesquisa estão atrelados com a busca por novas metodologias de identificação de sistemas e aprimoramento de regras de sintonia (Li et al., 2006). A Figura 1 ilustra a topologia de controle PID em paralelo, que é usualmente a mais considerada. Todos os termos de controle, nessa estrutura, encontram-se combinados em ramos desacoplados, de modo que cada coeficiente possa atuar de maneira independente. As Equações (1) e (2) descrevem, respectivamente, a ação de controle 4091 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 para esta topologia e sua função de transferência no domı́nio de Laplace. P r (t ) + - e(t ) K p e(t ) I Ki 0 e( )d t D + + uc (t ) + A identificação de um sistema, como o da Equação (3), envolve a determinação de três parâmetros básicos: K (ganho em regime estacionário), L (atraso de transporte do sistema) e T (constante de tempo). Dentre alguns métodos que foram desenvolvidos para a identificação de um processo de primeira ordem estão: o de Ziegler-Nichols (Z-N ), o de Smith e o de Sundaresan e Krishnaswamy, que são baseados na resposta do processo ao degrau unitário (Coelho and Coelho, 2004). Após a identificação e modelagem matemática do processo, os métodos de sintonia podem ser empregados para projetar um controlador PID para o sistema. Uma das técnicas é a tentativa e erro (do original trial-and-error ), baseada em chutes empı́ricos para os parâmetros do controlador, até a obtenção de um conjunto de parâmetros que contribuam para um desempenho satisfatório do sistema. No entanto esta técnica apresenta problemas, como necessidade de inúmeros testes, às vezes muito exaustivos, com gastos de tempo desnecessários. Visando resolver este problema, regras de sintonia foram desenvolvidas, visando uma melhor determinação de parâmetros. Dentre as principais regras de sintonia descritas na literatura pesquisada, destacam-se as de Ziegler-Nichols (Z-N), de Chien-Hrones-Reswick (CHR) e de Cohen-Coon (Astrom and HÄgglund, 1995), geralmente aplicados caso a curva de resposta do sistema apresente um formato em “S”. Neste trabalho, resultados da aplicação de um controlador PI no sistema considerado, serão ilustrados. Sendo assim, uma técnica de sintonia foi abordada: o método de Ziegler e Nichols, detalhado a seguir. y(t ) PLANTA de(t ) Kd dt Figura 1: Estrutura PID em paralelo. Z t uc (t) = Kp e(t) + Ki e(τ )dτ + Kd 0 C(s) = Kp + Ki + Kd s s de(t) dt (1) (2) onde os termos Kp , Ki = Kp /Ti e Kd = Kp Td representam, respectivamente, os ganhos proporcional, integrativo e derivativo. Ti é a constante de tempo integrativo e Td a constante de tempo derivativo. O erro atuante do sistema e(t) é definido como e(t) = r(t) − y(t), onde r(t) e y(t) são, respectivamente, os sinais de referência e de saı́da do sistema. Basicamente, o termo proporcional, como o próprio nome sugere, atua proporcionalmente ao erro atuante no processo (ou seja, quanto maior o erro, maior a compensação gerada por este termo). Sua principal caracterı́stica é acelerar a resposta transitória do sistema, mas possui a desvantagem de não eliminar o erro em regime estacionário. Por sua vez o termo integrativo é proporcional à integral da área do erro atuante de controle. Devido à presença de um polo na origem do plano complexo, essa ação de controle tende a reduzir os erros estacionários do sistema (Johnson and Moradi, 2005). Já o termo derivativo, conhecido também como ação antecipatória, antecipa sua atuação em virtude de uma tendência incorreta do erro de controle. No entanto, este termo possui algumas questões crı́ticas que tornam-o não aplicável em casos práticos, como por exemplo, com relação a estabilidade, pois pode amplificar ruı́dos do sistema (Li et al., 2006). 2.1 2.1.1 Ziegler and Nichols (1942) propuseram dois métodos para a sintonia de controladores PID, que ainda hoje são muito utilizados. Ambos os métodos são baseados nas caracterı́sticas da resposta transitória de um processo, e pretendem obter um valor máximo de ultrapassagem de 25% na resposta ao degrau (Ogata, 2005). O considerado aqui, primeiro método, leva em consideração a resposta do sistema em malha aberta para um sinal de teste em degrau unitário (Figura 2), caracterizado pela determinação de dois parâmetros. A Figura 3 mostra um exemplo de uma curva obtida de um sistema, submetido à um degrau. Os pontos que devem ser identificados no gráfico são: t1 , que é o ponto onde a linha tangente (traçada a partir do ponto de inflexão da curva) toca o eixo das abcissas (eixo do tempo) e t2 , o ponto onde a linha tangente cruza com a linha contı́nua do ganho K. T é dado pela distância t2 − t1 e L = t1 . Identificação de Sistemas e Regras de Sintonia Alguns processos industriais são caracterizados por funções de transferência, geralmente, de primeira ou de segunda ordem. Uma função de transferência de primeira ordem, como a do processo considerado neste trabalho, pode ser representada como na Equação (3): G(s) = Ke−Ls Ts + 1 Método de Ziegler e Nichols (Z-N) (3) 4092 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 baseados em equações diferencias aplicados os sistemas de controle analógico. No entanto, para serem implementados em um hardware digital, devese utilizar métodos numéricos aplicados à solução de equações diferenciais que possibilitem, então, a aproximação do sistema a uma equação de diferenças. A partir dessa equação de diferenças, que depende da taxa de amostragem da conversão, se define o comportamento do controle digital, permitindo o embarque de modelos de controladores em dispositivos digitais. Um dos métodos mais eficientes de aproximações por métodos numéricos de equações diferenciais é o Método de Euler Trapezoidal. Nesse método, os pontos amostrados durante o perı́odo Ts analisado são conectados por uma reta inclinada, formando um trapézio entre estes dois pontos. Tal método de discretização pode ser representado pela Equação (4). Figura 2: Resposta de um processo para uma sinal de teste degrau unitário. Figura 3: Curva de resposta de um sistema em malha aberta para uma entrada degrau. ZKT u(τ )dτ ≈ Uma vez que os parâmetros K, T e L foram obtidos, utiliza-se a Tabela 1 para a obtenção dos parâmetros do controlador, de acordo com a opção do projetista. (4) (K−1)T 3 3.1 Tabela 1: Sintonia PID pelo Método 1 de ZieglerNichols (Z-N 1) Controlador Kp Ti Td T P ∞ 0 KL 0,9T L PI 0 KL 0,3 1,2T P ID 2L 0, 5L KL 2.2 Ts [u(k) + u(k − 1)] 2 Módulo de Controle de Nı́vel Arduino Uno Como já exposto, o presente artigo utiliza a plataforma de desenvolvimento Arduino Uno, ilustrado na Figura 5, para implementação do controlador de nı́vel. Sistemas de controle de tempo discreto Diferentemente do controle em tempo contı́nuo, o controle digital trabalha com sinais de tempo discreto obtidos do processo de amostragem (Kuo, 1992). A estrutura básica de um sistema de controle de tempo discreto em malha fechada é detalhada na Figura 4. Figura 5: Kit Arduino Uno. O kit Arduino Uno é composto por microcontroladores do modelo ATmega328 de 8 bits, tendo sua linguagem de programação facilitada já que essa é muita próxima da linguagem C. Desta forma, o kit pode ser programado de forma intuitiva, com as configurações de portas feitas de forma rápida. Suas principais especificações estão descritas na Tabela 2. A estrutura básica de programação do kit envolve quatro etapas fundamentais: inclusão de bibliotecas, declaração de variáveis, laço void se- Figura 4: Estrutura tı́pica de sistemas de controle de tempo discreto. 2.3 Método de Discretização Para o desenvolvimento de sistemas de controle são utilizados os mesmos modelos matemáticos 4093 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 Com o objetivo de melhorar a planta já existente, fez-se algumas melhorias, tal como o aumento do volume de água admissı́vel por cada reservatório e confecção dos mesmos por materiais com baixo custo. Como atuador do sistema fez-se uso de uma bomba CC de 12 V e 2 A que, devido a essas caracterı́sticas, necessitou de um circuito de acionamento a parte para alimentá-la, bem como para isolar eletricamente os circuitos por onde circulam as altas correntes do circuito de comando. Para o circuito de acionamento da bomba utilizou-se uma placa de acionamento, conforme a Figura 7, composta pelo CI L298N, do fabricante ST Eletronics, composto por dois circuitos ponte H independentes e comandados externamente por seus respectivos pinos (Microeletronics, 2014). Tabela 2: Especificações do Arduino Uno Tensão de operação Tensão de entrada Entradas e saı́das digitais Entradas analógicas Corrente CC por pino de entrada e saı́da Saı́das de tensão Memória flash SRAM EEPROM Velocidade de Clock Conexão com PC 5 V cc 7 à 12 V cc (limitados entre 6 e 20 V cc) 14 pinos (incluindo 6 pinos PWM) 6 pinos (A0 ao A5) 40 mA 3,3 V cc e 5 V cc 32 kB (0,5 kB dedicados ao bootloader) 2 kB 1 kB 16 MHz Via USB tup() para determinação das condições de operação das portas digitais e analógicas e laço void loop() para implementação da rotina principal do código. O ambiente de programação é disponibilizado pela fabricante Arduino, possuindo uma IDE (Integrated Development Environment) executável que se destina à elaboração e compilação dos programas no kit. 3.2 Figura 7: Placa de acionamento da bomba CC composta pelo CI L298N. Estrutura Fı́sica do Sistema de Nı́vel Circuitos em ponte H se caracterizam por inverterem a rotação de motores de corrente contı́nua, desta forma, para o circuito utilizado no projeto, foi necessário apenas uma das pontes H existentes já que se fez uso de apenas um motor. A construção dos reservatórios de água para implementação do controle de nı́vel foi baseada em reservatórios já existentes na UTFPR-CP, conforme a Figura 6. Como pode-se observar, a planta é composta por dois tanques dispostos um sobre o outro, sendo que o controle de nı́vel é aplicado exclusivamente no tanque de cima, de forma que o outro tanque é utilizado apenas como reservatório de água. 3.3 Sensor de nı́vel Para obter-se as medidas de nı́vel do reservatório utilizado, optou-se por um sensor medidor de distância por ultrassom HC-SR04. O sensor escolhido, Figura 8, possui uma resolução de 3 mm e realiza medidas de distância entre 2.5 cm à 4.3 cm, tendo os pinos ECHO e TRIGGER como responsáveis por sua operação. Figura 8: Sensor de nı́vel ultrassônico HC-SR04. O pino TRIGGER recebe um pulso TTL de 10 us enviado pelo microcontrolador. Em seguida, o transmissor do sensor envia um sequência de oito Figura 6: Sistema de nı́vel de lı́quido do laboratório da UTFPR. 4094 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 pulsos ultrassônicos que, ao chegarem até o objeto à sua frente, são refletidos e captados pelo receptor sensor. Após isso, o HC-SR04 calcula o tempo através da média dos tempos que cada um dos oito pulsos leva para ir e voltar até o sensor. Com esse valor médio, o pino ECHO é levado à condição de nı́vel alto pelo mesmo tempo médio calculado. Por fim, este pulso é enviado para uma porta digital do microcontrolador que converte o tempo para uma medida de nı́vel de água em centı́metros, através da Equação (5). D = Htan que − 3.4 Tmdio 58 3.5 Funcionamento da planta de nı́vel O funcionamento geral do sistema de controle de nı́vel pode ser representado pela Figura 10. Como se observa, todos os elementos atuadores e sensores do sistema estão diretamente acoplados ao Arduino Uno que desempenha a função de aquisição de dados e comando do atuador. Desta maneira, o Arduino Uno recebe os sinais do código do Matlab e envia sinais de nı́vel, recebidos do sensor, de volta para esse software, por meio de uma comunicação serial. Desta forma toda planta é comandada pelo supervisório montado. (5) Sistema supervisório da planta de nı́vel Como dito, o trabalho envolve também a elaboração de uma interface usuário-planta, que foi elaborada a partir do software Matlab, mais precisamente em sua ferramenta especı́fica para desenvolvimento de interfaces chamada Guide. A tela do supervisório é a interface entre o usuários e os comandos da planta, sendo que o supervisório também comanda toda a rotina de códigos para ensaios em malha aberta ou malha fechada. Na tela do supervisório existem comandos que devem ser adicionados diretamente pelo usuário. Assim, o usuário deve selecionar o tipo de ensaio que deseja realizar (malha aberta ou malha fechada), inserindo após isso os valores de degrau a serem aplicados na planta e o número de amostras que deseja. Por fim, basta pressionar o botão INICIAR/PARAR ENSAIO. Caso o usuário escolha a opção de ensaio em malha fechada, deverá indicar os valores de ganhos Kp, Ki e Kd para o controlador, o número de amostras e o valor de setpoint, devendo, por fim, pressionar o botão INICIAR/PARAR ENSAIO. Na Figura 9 tem-se a tela do supervisório, sendo que o gráfico ao lado da tela mostra, em tempo real, a resposta de nı́vel do sistema seja em malha aberta ou malha fechada. Figura 10: Diagrama de funcionamento do sistema de controle de nı́vel 4 4.1 Metodologia Identificação da planta A identificação da planta foi feita pelo software Matlab, por meio da função ident do toolbox de controle, que é dedicada a identificação de sistemas em geral. Para iniciar a identificação, primeiramente realiza-se o ensaio em malha aberta e obtém-se a curva de reação da mesma quando submetida a um degrau de entrada. Diante disso, fez-se um ensaio em malha aberta com um degrau de entrada a uma tensão constante de 7 V aplicada na bomba e 700 amostras, resultando em um nı́vel estável de aproximadamente 3 cm. Por fim, obteve-se a Figura 11 que mostra a curva do ensaio. Figura 11: Curva de resposta ao degrau do sistema de nı́vel em malha aberta Figura 9: Tela do supervisório Com os dados obtidos no ensaio em malha aberta, pode-se determinar a função de transfe- 4095 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 rência G(s) por meio da função ident, como se observa na Figura 12. Figura 14: Tela de importação de dados. Figura 12: Tela inicial da função IDENT do Toolbox de controle do Matlab. Por fim, após todos os dados serem carregados, faz-se a modelagem do sistema por meio do ı́cone process model, de acordo com a Figura 13. Figura 15: Tela de importação de dados. 4.3 Com os dados obtidos na fase de sintonia do controle PI, pode-se aplicá-los na rotina de controle por meio do supervisório da planta. Após isso, realizaram-se ensaios em malha fechada com set point para valores de nı́vel de 5, 10 e 15 centı́metros. Também foi inserido em cada ensaio uma perturbação ao sistema causado pelo fechamento e abertura da válvula de drenagem do tanque superior da planta. Figura 13: Determinação do modelo da planta. A função G(s) gerada pela função ident é uma função de primeira ordem sendo descrita pela Equação (6). 0.4357 (6) 6.436s + 1 Levando em consideração o pequeno atraso de transporte presente na resposta em malha aberta, adotou-se para a Equação 6 um valor de L = 0.4, que levou à Equação (7) que representa a G(s) que mais se aproxima do comportamento real da planta. 0.4357e−0.4s G(s) = (7) 6.436s + 1 Por fim, a Figura 14 compara a resposta real do sistema obtida pelo ensaio em malha aberta e a resposta G(s) identificada, ambas com o mesmo valor de degrau de entrada. G(s) = 4.2 Aplicação do controle PI 5 Resultados As Figuras 16, 17 e 18 fornecem os resultados dos ensaios em malha fechada para os valores de set point de 5, 10 e 15 centı́metros. Como se observa em cada um dos ensaios em malha fechada teve-se uma perturbação causada pelo fechamento e abertura da válvula de drenagem do tanque superior da planta. A análise das figuras acima demonstra que a planta conseguiu reagir bem ao controle, tendo resultados satisfatórios, que demonstram a eficiência do controle PI projetado. Como proposto, outro objetivo do projeto era a construção de uma planta de baixo custo que pudesse ficar à disposição dos alunos da UTFPR-CP. Isso pode ser comprovado pela Tabela 3 que relaciona cada componente utilizado na construção da Sintonia do controle PI Após a identificação satisfatória da planta, podese realizar a sintonia do controle PI. Para esse projeto utilizou-se o método de sintonia de Ziegler e Nichols, obtendo-se como resultado: T = 0.636, K = 0.4357, L = 0.4, que, por sua vez, resultaram em Kp = 15 e Ki = 11. 4096 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 Tabela 3: Custos do Projeto Descrição do componenete Tanque superior em acrı́lico Tanque inferior em acrı́lico Duas válvulas globo niqueladas Dois metros de mangueira 1 metro de cano tigre 1,5 mm Três adaptadores de bronze 1/4” Régua em acrı́lico Bomba DC 12 V Kit Arduino UNO Shield L298N Sensor ultrassônico HC-SR04 Total Figura 16: Resposta em malha fechada para set point de 5 centı́metros. 6 Valor R$ 75,00 R$ 75,00 R$ 20,00 R$ 2,00 R$ 6,70 R$ 13,50 R$ 2,00 R$ 12,00 R$ 69,00 R$ 25,00 R$ 16,00 R$ 316,20 Conclusão A análise do projeto proposto mostra que os objetivos foram atingidos e a construção fı́sica da planta de nı́vel juntamente com sua automação, resultou em um módulo didático eficaz de controle de nı́vel. Os resultados obtidos com o controlador PI demonstraram-se satisfatórios, desde o processo de identificação do sistema até a aplicação do controle, o que permitiu um controle eficiente da planta com um erro em regime permanente praticamente nulo. Frente às perturbações, o sistema também mostrou-se robusto já que se recuperava após a aplicação de uma perturbação, retornando ao valor de set point desejado. Portanto, o funcionamento da planta didática ficou comprovado por meio dos resultados obtidos que validaram a eficiência do kit como um todo, permitindo que esse possa ser usado para trabalhos futuros já que fica a disposição da UTFPRCP. Figura 17: Resposta em malha fechada para set point de 10 centı́metros. Referências Almeida, J. P. L. S. d., Angélico, B. A., Endo, W. and Vallim, M. B. R. (2012). Atualização tecnológica, identificação e sintonia da malha de vazão de uma planta didática industrial, XIX Congresso Brasileiro de Automática (CBA), Campina Grande. Figura 18: Resposta em malha fechada para set point de 15 centı́metros. Astrom, K. J. and HÄgglund, T. (1995). PID controllers, 2 edn, Instrument Society of America, Research Triangle Park. planta bem como seus preços. Observa-se que o gasto total foi de 316,20 reais, valor considerado pequeno perto dos kits de controle de nı́vel disponı́veis no mercado. Neste ponto cabe ressaltar que o preço da licença do Matlab não está incluso pelo fato de a Universidade fornecê-la e o kit se destinar totalmente ao uso acadêmico. Além disso, o alcance desse objetivo deve-se ao fato da utilização do Arduino Uno, que é um kit de baixo custo e grande eficiência, além do baixo custo do sensor ultrassônico adotado e placa de acionamento composta pelo CI L298N. Bertachi, A. H., Angélico, B. A. and Neto, A. F. (2012). Desenvolvimento de módulo didático de controle de servomecanismo, XIX Congresso Brasileiro de Automática (CBA), Campina Grande. Coelho, A. A. R. and Coelho, L. d. S. (2004). Identificação de sistemas dinâmicos lineares, UFSC, Florianópolis. 4097 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 Johnson, M. A. and Moradi, M. H. (2005). PID Control, Springer, Londres. Knospe, C. (2006). Pid control, IEEE Control Systems 26(1): 30–31. Kuo, B. C. (1992). Digital Control Systems, Oxford University Press. Li, Y., Ang, K. H. and Chong, G. C. Y. (2006). Pid control system analysis and design, IEEE Control Systems 26(1): 32–41. Microeletronics, S. (2014). L298n dual full-bridge driver datasheet. Ogata, K. (2005). Engenharia de controle moderno, 3 edn, Pearson Prentice-Hall, Rio de Janeiro. Ziegler, J. G. and Nichols, N. B. (1942). Optimum settings for automatic controllers, Transactions of the ASME (64): 759–768. 4098