SPEED CONTROL OF A DC MOTOR USING ARDUINO.
REGISTRO DOI: 10.5281/zenodo.11152734
Luiz Otavio Pacheco Barreto1
Orientador: Prof. Esp. Roger Santos Koga2
Erika Cristina Nogueira Marques Pinheiro3
RESUMO
Este artigo aborda o desenvolvimento de um sistema de controle de malha fechada para motores de corrente contínua (CC), visando melhorar a eficiência energética e reduzir custos operacionais. Diante da importância dos motores de CC em diversas aplicações, a otimização de seu desempenho é essencial, especialmente no que tange ao controle de velocidade e à economia de energia. Propõe-se um sistema que não só aprimora a precisão no controle de velocidade, mas também ajusta automaticamente a velocidade do motor em resposta a cargas variáveis, assegurando operação otimizada. O uso de controle PID, um acelerômetro para medição de rotação, e um controlador de modulação de largura de pulso (PWM) são elementos-chave nesse desenvolvimento. Este estudo promete não apenas melhorias na performance e eficiência energética de motores de CC, mas também uma solução de baixo custo e adaptável a uma ampla gama de aplicações industriais e comerciais, representando um avanço significativo no campo do controle de motores.
Palavras-chave: controle de malha fechada, motores de corrente contínua (cc), eficiência energética, controle de velocidade, sistema de controle pid.
ABSTRACT
This article addresses the development of a closed-loop control system for direct current (DC) motors, aiming to enhance energy efficiency and reduce operational costs. Given the significance of DC motors in a variety of applications, optimizing their performance is crucial, particularly regarding speed control and energy savings. A system is proposed that not only improves speed control precision but also automatically adjusts the motor’s speed in response to varying loads, ensuring optimized operation. The use of PID control, an accelerometer for rotation measurement, and a pulse-width modulation (PWM) controller are key components in this development. This work promises not only improvements in the performance and energy efficiency of DC motors but also a low-cost and adaptable solution for a broad range of industrial and commercial applications, representing a significant advancement in the field of motor control.
Keywords: closed-loop control, direct current (dc) motors, energy efficiency, speed control, pid control system.
1. INTRODUÇÃO
A evolução tecnológica e a busca contínua por eficiência energética e redução de custos têm impulsionado o desenvolvimento de sistemas de controle mais sofisticados e acessíveis. Enfaticamente, em particular, os motores de corrente contínua (CC) desempenham um papel crucial em uma vasta gama de aplicações industriais e de consumo, devido à sua simplicidade, facilidade de controle e eficiência. Este artigo visa abordar essa necessidade através do desenvolvimento de um sistema de controle de malha fechada para motores de CC, oferecendo uma solução de baixo custo e alta confiabilidade que pode ser adaptada para controlar cargas em uma variedade de equipamentos.
Para alcançar um controle adaptativo que corrige a rotação conforme a carga, será necessário implementar um controlador PID. De acordo com Ogata (2014, p. 521), “A utilidade dos controles PID está na sua aplicabilidade geral à maioria dos sistemas de controle. Em particular, quando o modelo matemático da planta não é conhecido e, portanto, métodos de projeto analítico não podem ser utilizados, controles PID se mostram os mais úteis. Na área dos sistemas de controle de processos, sabe-se que os esquemas básicos de controle PID e os controles PID modificados provaram sua utilidade conferindo um controle satisfatório, embora em muitas situações eles possam não proporcionar um controle ótimo”.
Dessa forma podemos desenvolver um sistema satisfatório utilizando-se de sensor acelerómetro que capaz de medir rotação nos três eixos, formulações matemáticas para converter o sinal de entrada em valores de engenharia, um sistema de controle para receber esse sinal de entrada e realizar as correções necessárias na saída e um controlador de Modulação de largura de pulso, pretende-se estabilizar uma barra móvel no ângulo desejado, com um motor CC na sua extremidade variando sua rotação conforme o ângulo desejado e carga aplicada.
Portanto, o estudo gerador deste artigo, oferece uma contribuição significativa para o campo do controle de motores, combinando inovação técnica com viabilidade econômica. Através de uma abordagem detalhada e metodológica, o desenvolvimento deste sistema de controle de malha fechada promete não apenas melhorar a performance e a eficiência energética de motores de CC, mas também proporcionar uma solução adaptável e de baixo custo para uma ampla gama de aplicações industriais e comerciais.
Os objetivos deste estudo consistem em desenvolver um sistema de controle de malha fechada para motores de corrente contínua, visando proporcionar um equipamento confiável e de baixo custo capaz de controlar cargas em diversos equipamentos que utilizam esse tipo de motor. Além de promover o controle de velocidade, o sistema visa também a economia de energia. Para alcançar esse propósito, necessita-se esquematizar um sistema de controle que atenda às demandas identificadas, prototipar um elemento de geração e carga para variar a velocidade e demonstrar o controle de velocidade para cargas variadas, destacando a eficiência do modelo proposto.
A motivação para este artigo reside no estudo de uma crescente necessidade de desenvolvimento de sistemas de controle mais eficientes e acessíveis para motores de corrente contínua (CC), dada sua ampla aplicação em diversas áreas industriais e comerciais. Atualmente, há uma demanda por soluções que não apenas otimizem o desempenho desses motores em termos de controle de velocidade e economia de energia, mas também sejam customizáveis e de baixo custo.
A implementação de um sistema de controle de malha fechada utilizando tecnologias como controle PID, modulação de largura de pulso (PWM) e sensores acelerômetros apresenta-se como uma abordagem promissora no intuito de acolher essa demanda. Essas tecnologias permitem um controle mais preciso e adaptável, garantindo uma resposta dinâmica às variações de carga e proporcionando uma operação otimizada em diferentes cenários.
Além disso, a utilização de componentes de baixo custo e a modularidade do sistema proposto tornam-no acessível para uma ampla gama de aplicações industriais e comerciais, contribuindo assim para a disseminação de tecnologias de controle avançadas em ambientes onde a eficiência energética e a redução de custos são prioridades.
2. Metodologia
A pesquisa conduzida para desenvolver o sistema de controle de malha fechada para motores de corrente contínua classifica-se como aplicada, experimental e descritiva. A abordagem aplicada permitiu a aplicação prática dos conhecimentos teóricos em um contexto específico, visando solucionar problemas práticos relacionados ao controle de motores. A natureza experimental da pesquisa envolveu a realização de testes e experimentos para avaliar o desempenho do sistema proposto em diferentes condições e cenários operacionais, proporcionando dados empíricos para análise e validação. Além disso, é uma pesquisa descritiva, uma vez que buscou descrever e explicar os procedimentos e métodos adotados para desenvolver o sistema de controle, fornecendo uma compreensão detalhada do processo de pesquisa e desenvolvimento.
O desenvolvimento do sistema de controle seguiu uma metodologia sistemática e sequencial, iniciando-se com uma revisão da literatura para compreender os princípios teóricos e as melhores práticas no controle de motores de corrente contínua. Em seguida, foram realizadas análises comparativas de inversores de baixa potência disponíveis no mercado e pesquisas de materiais e componentes elétricos e eletrônicos para identificar os recursos mais adequados para o sistema proposto. Com base nessas análises, elaborou-se um plano de desenvolvimento detalhado, que incluiu a aquisição dos materiais necessários, a construção do protótipo do sistema de controle e a realização de testes de desempenho para avaliar sua eficácia e funcionalidade.
Os testes de desempenho foram conduzidos em diferentes cenários e condições operacionais para avaliar a capacidade do sistema de controle de adaptar-se às variações de carga e garantir um controle preciso e eficiente da velocidade do motor. Os resultados obtidos foram analisados e interpretados de forma sistemática, proporcionando insights valiosos para refinamento e melhoria contínua do sistema.
3. Resultados
3.1. Revisão da literatura
3.1.1. Escolha do Motor
Com o avanço tecnológico, o motor elétrico tornou-se uma peça fundamental na conversão de energia elétrica em energia mecânica, impulsionando uma variedade de equipamentos, incluindo indústrias, eletrodomésticos e veículos elétricos. Nesse contexto, os motores CC sem escovas, conhecidos na literatura inglesa como Brushless DC (BLDC), emergem como uma solução altamente adequada devido à sua capacidade de controle e eficiência.
Figura 1: Motor BLDC
Fonte: https://www.unmannedsystemstechnology.com/feature/inrunner-bldc-motors-for-uav-applications/
Os motores BLDC oferecem diversas vantagens em comparação aos motores tradicionais com escovas, incluindo maior durabilidade, menor manutenção e eficiência energética aprimorada. Além disso, seu design sem escovas elimina o desgaste mecânico associado às escovas, o que resulta em uma operação mais suave e silenciosa.
A capacidade de controle dos motores BLDC é especialmente vantajosa em aplicações que exigem precisão e resposta rápida, como sistemas de automação industrial e controle de velocidade em veículos elétricos. Graças à sua eletrônica de controle avançada, os motores BLDC podem ser facilmente integrados a sistemas de automação e podem ser ajustados para atender a uma ampla gama de requisitos de desempenho.
O motor BLDC modelo A2212/13T, fabricado pela Olimex, apresenta características técnicas importantes, como o número de células suportadas, a eficiência máxima, a corrente de eficiência máxima, entre outros. Esses dados são essenciais para entender o comportamento do motor em diferentes condições de operação, o que é fundamental para o projeto do sistema de controle. Características da tabela a seguir:
Tabela 1: Dados técnico motor
Fonte: https://www.unmannedsystemstechnology.com/feature/inrunner-bldc-motors-for-uav-applications/
3.1.2. Escolha do elemento sensor
A escolha do sensor MPU-6050 para detectar a velocidade angular do motor é justificada pela sua capacidade de medir com precisão os movimentos e a orientação em três eixos, fornecendo os dados necessários para o controle da velocidade do motor. A instalação do sensor em um pêndulo junto com o motor é uma abordagem interessante para simular condições reais de operação e obter dados mais representativos.
O Arduíno é utilizado para receber, processar e gerar o sinal de controle de velocidade do BLDC é uma escolha comum e eficaz, dada a sua facilidade de programação e ampla disponibilidade de recursos. Esse dispositivo desempenha um papel central no sistema de controle proposto, integrando os dados do sensor e gerando os comandos necessários para controlar a velocidade do motor de forma precisa e eficiente.
Figura 2: Esquemático adotado
Fonte: https://robotics.stackexchange.com/questions/10853/driving-sensorless-three-phase-bldc-motor-with-arduino-and-imu
Para o controle da velocidade do motor BLDC se dá pela utilização de sinal PWM (Modulação por Largura de Pulso) visto que é uma técnica eficiente que permite ajustes finos na operação do motor. Ao modulá-lo com base na posição desejada, o sistema pode realizar um controle preciso sobre a velocidade do motor, melhorando não só a eficiência energética, mas também a resposta do motor a diferentes cargas e condições operacionais.
Utilizando um ESC (Controlador Eletrônico de Velocidade) para receber o sinal PWM processado pelo Arduíno e convertê-lo em uma velocidade controlada, podemos alcançar a variação desejada na velocidade do motor. O ESC desempenha um papel crucial ao traduzir o sinal de controle enviado pelo Arduíno em uma potência específica aplicada ao motor, permitindo ajustes precisos na velocidade de rotação. Essa integração entre o Arduíno, responsável pelo processamento do sinal de controle, e o ESC, responsável pela atuação efetiva na velocidade do motor, constitui uma estratégia eficaz para alcançar uma ampla gama de velocidades de operação de forma controlada e precisa.
Figura 3: Dados técnico do ESC
Fonte: https://uelectronics.com/producto/esc-30a-driver-motor-brushless/
3.1.3. Elemento de carga variável
Prototipado um braço oscilante como mecanismo para gerar carga variável, proporcionando um método eficaz e intuitivo para avaliar o desempenho do sistema de controle proposto. Através desta configuração, é possível quantificar com precisão o impacto de variações de carga sobre a eficiência energética e a precisão do controle de velocidade, elementos críticos para a otimização de sistemas movidos por motores BLDC.
Figura 4: Protótipo de braço oscilante.
Além disso, a utilização da força da gravidade como meio para gerar resistência oferece uma solução simples, porém efetiva, para criar condições de teste replicáveis e controláveis. Isso facilita a realização de experimentos consistentes e a coleta de dados confiáveis, essenciais para a validação das capacidades do sistema de controle desenvolvido.
A inclusão de um braço oscilante alimentado por um motor BLDC, que utiliza a força gravitacional e forças externas (adições momentâneas de carga) para introduzir variações de carga, não somente desafia o sistema de controle a adaptar-se a condições variáveis de forma eficiente, mas também destaca a versatilidade e robustez do design proposto.
3.1.4. Modelagem Matemática
Um diagrama de Representação do Modelo Paralelo de um Controlador PID foi utilizado como parte do processo de desenvolvimento e compreensão do sistema de controle proposto. Este diagrama oferece uma representação visual das relações entre os diferentes componentes do controlador proporcional-integral-derivativo (PID), incluindo as contribuições proporcionais, integrais e derivativas para a saída do sistema. Ao utilizar este diagrama, foi possível visualizar de forma clara e intuitiva como as variações nos parâmetros do PID afetam o desempenho do sistema de controle, facilitando assim o processo de ajuste e otimização do controlador para atender às especificações de velocidade e estabilidade desejadas.
Figura 5: Diagrama de blocos da função adotada (modelo paralelo)
Fonte: Nise (2009)
O diagrama de Representação do Modelo Paralelo de um Controlador PID é uma forma de representar matematicamente as contribuições proporcionais, integrais e derivativas para a saída do sistema. Aqui está uma formulação matemática geral para esse tipo de diagrama:
Seja e(t) o erro no tempo t, definido como a diferença entre a referência desejada r(t) e a saída do sistema y(t):
A saída do controlador PID é dada pela soma ponderada das contribuições proporcional, integral e derivativa:
Onde:
- Kp é o ganho proporcional, que amplifica o erro atual para gerar a contribuição proporcional.
- Ki é o ganho integral, que acumula os erros passados ao longo do tempo para gerar a contribuição integral.
- Kd é o ganho derivado, que considera a taxa de variação do erro para gerar a contribuição derivativa.
O controlador PID utiliza informações sobre o erro atual, os erros passados e a taxa de variação do erro para gerar o sinal de controle u(t) que é aplicado ao sistema para minimizar o erro e alcançar o objetivo de controle
3.1.5. Definição do controlador digital
O Arduíno Uno foi utilizado como processador de sinal para receber as entradas, tratar os dados e gerar a saída necessária. Um código específico foi desenvolvido para esta aplicação, o qual se encontra a seguir:
Figura 6: Arduíno UNO
Fonte: https://www.arduino.cc/en/hardware
Figura 7: Código Desenvolvido
3.2. Materiais Utilizados:
A tabela abaixo apresenta os principais materiais utilizados no projeto, incluindo componentes eletrônicos, hardware e software.
Tabela 2: Lista de componentes utilizados
3.3. Métodos:
Os componentes eletrônicos foram montados conforme as especificações do circuito de controle, com atenção especial à conexão correta dos fios e componentes.
Conforme informado anteriormente foi desenvolvido um código específico para o Arduíno Uno, utilizando a linguagem de programação C/C++, para processar os dados do sensor MPU-6050 e gerar o sinal PWM para o motor BLDC. O código incluiu as rotinas necessárias para leitura dos sensores, cálculo do erro, implementação do algoritmo PID e geração do sinal de controle para o motor.
3.4. TESTE DO PROTOTIPO PROPOSTO
Neste tópico, descrevemos os testes realizados no braço oscilante para validar o funcionamento do protótipo proposto. Durante os testes, foram calibradas as constantes proporcionais, derivativas e integrativas do controlador PID para otimizar o desempenho do sistema.
3.5. Procedimento de Teste:
3.5.1. Preparação do Ambiente:
O braço oscilante foi montado conforme a figura 07, em uma estrutura adequada, garantindo sua estabilidade e liberdade de movimento. O motor BLDC foi conectado ao braço oscilante, e o sensor MPU-6050 foi posicionado para medir a velocidade angular do movimento.
Figura 8: Braço oscilante montando
3.5.2. Configuração do Sistema:
O Arduíno Uno foi programado com o código desenvolvido, incluindo as constantes proporcionais, derivativas e integrativas iniciais do controlador PID. O controlador ESC foi configurado para receber o sinal PWM gerado pelo Arduíno e controlar a velocidade do motor BLDC.
Figura 9: Arduíno Instalado
3.5.3. Execução dos Testes:
O sistema foi ligado e submetido a uma série de testes, nos quais foram aplicadas diferentes cargas ao braço oscilante para simular condições de operação realistas. Durante os testes, foram registrados dados de velocidade angular do motor, erro de controle e resposta do sistema.
Figura 10: Arduíno, MPU6050 e Esc.
3.5.4. Calibração das Constantes PID:
Com base nos resultados dos testes, as constantes proporcionais, derivativas e integrativas do controlador PID foram ajustadas manualmente para otimizar o desempenho do sistema em termos de resposta rápida, estabilidade e precisão de controle.
3.5.5. Avaliação do Desempenho:
Após a calibração das constantes PID, o sistema foi submetido a novos testes para avaliar seu desempenho em condições operacionais variadas. Foram realizadas análises gráficas comparativas entre os resultados obtidos antes e depois da calibração das constantes PID.
3.6. Conclusão
Os testes realizados demonstraram que o protótipo proposto é capaz de controlar efetivamente a velocidade do motor BLDC em resposta a diferentes cargas aplicadas ao braço oscilante. Após a calibração das constantes PID, observou-se uma melhoria significativa no desempenho do sistema, com uma resposta mais rápida e estável às variações de carga.
Em suma, este artigo apresenta o desenvolvimento e a implementação bem-sucedidos de um sistema de controle de malha fechada para motores de corrente contínua, utilizando um controlador PID e um Arduino Uno como elementos centrais. Através da integração de um sensor MPU-6050 para detecção de velocidade angular e do uso de um ESC para controlar a velocidade do motor, demonstramos a capacidade do sistema de ajustar dinamicamente a velocidade do motor em resposta a diferentes cargas e condições operacionais.
O sistema desenvolvido mostrou-se eficaz na regulação da velocidade do motor BLDC, permitindo uma resposta rápida e precisa às variações de carga e uma operação estável e confiável em diferentes cenários. Além disso, a implementação do controle PID proporcionou um desempenho robusto e adaptável, garantindo um controle preciso e eficiente da velocidade do motor em diversas situações.
Ao longo do processo de desenvolvimento, enfrentamos desafios técnicos e de implementação, que foram superados através de uma abordagem metodológica e iterativa. A integração de componentes eletrônicos e a programação do Arduino foram essenciais para o sucesso do projeto, destacando a importância da colaboração interdisciplinar e da aplicação prática de conceitos teóricos.
Em conclusão ou em análise final, este trabalho contribui para o avanço do campo de controle de motores, fornecendo uma solução prática e acessível para o controle de motores de corrente contínua. Esperamos que este estudo inspire futuras pesquisas e aplicações práticas no desenvolvimento de sistemas de controle mais eficientes e adaptáveis para uma variedade de aplicações industriais e comerciais.
REFERÊNCIAS
Greg Welch e Gary Bishop, An Introduction to the Kalman Filter, Department of Computer Science University of North Carolina at Chapel Hill 2006.
Nise, Norman. Engenharia de Sistemas de Controle, sexta edição 2009
Mendonça, Yuri. Otimização do driver para motor Brushless, Faculdade de Tecnologia de Santo André, Santo André – SP 2018.
https://www.unmannedsystemstechnology.com/feature/inrunner-bldc-motors-for-uav-applications
https://www.unmannedsystemstechnology.com/feature/inrunner-bldc-motors-for-uav-applications
https://www.arduino.cc/en/hardware
1Graduando em Engenharia Elétrica Instituição: Universidade Nilton Lins. Endereço: Av. Prof. Nilton Lins, 3259, Flores, Manaus – AM E-mail: lusotviop1@gmail.com – Professor
2Instituição: Universidade Nilton Lins. Endereço: Av. Prof. Nilton Lins, 3259, Flores, Manaus – AM
3Professor – Instituição: Universidade Nilton Lins. Endereço: Av. Prof. Nilton Lins, 3259, Flores, Manaus – AM E-mail: erikamarquespinheiro@gmail.com