UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA E MECÂNICA
CURSO SUPERIOR DE TECNOLOGIA EM MECATRÔNICA INDUSTRIAL
CAIO CESAR DE SOUZA PEDROSO EDUARDO LA PASTINA MODESTO
SISTEMA DE CONTROLE DE PÊNDULO INVERTIDO
TRABALHO DE CONCLUSÃO DE CURSO
CURITIBA 2017
CAIO CESAR DE SOUZA PEDROSO EDUARDO LA PASTINA MODESTO
SISTEMA DE CONTROLE DE PÊNDULO INVERTIDO Trabalho de Conclusão de Curso de Graduação, apresentado ao Curso Superior de Tecnologia em Mecatrônica Industrial, dos Departamentos Acadêmicos de Eletrônica e Mecânica, da Universidade Tecnológica Federal do Paraná – UTFPR, como requisito parcial para obtenção do título de Tecnólogo. Orientador: Prof. M.Sc. Joel Gonçalves Pereira
CURITIBA 2017
TERMO DE APROVAÇÃO
CAIO CESAR DE SOUZA PEDROSO EDUARDO LA PASTINA MODESTO
SISTEMA DE CONTROLE DE PÊNDULO INVERTIDO
Este trabalho de conclusão de curso foi apresentado no dia 06 de dezembro de 2017, como requisito parcial para obtenção do título de Tecnólogo em Mecatrônica Industrial, outorgado pela Universidade Tecnológica Federal do Paraná. O aluno foi arguido pela Banca Examinadora composta pelos professores abaixo assinados. Após deliberação, a Banca Examinadora considerou o trabalho aprovado.
______________________________ Prof. Dr. Milton Luiz Polli
Coordenador de Curso Departamento Acadêmico de Mecânica
______________________________ Prof. M.Sc. Sérgio Moribe
Responsável pela Atividade de Trabalho de Conclusão de Curso Departamento Acadêmico de Eletrônica
BANCA EXAMINADORA
_____________________________ _______________________________ Prof. Ubiradir Mendes Pinto Prof. M.Sc. Anderson Levati Amoroso UTFPR UTFPR ______________________________
Prof. M.Sc. Joel Gonçalves Pereira Orientador - UTFPR
RESUMO PEDROSO, Caio C. de Souza; MODESTO, Eduardo La Pastina. Sistema de controle de pêndulo invertido. 2017. 54 f. Trabalho de Conclusão de Curso (Curso Superior de Tecnologia em Mecatrônica Industrial) Departamentos Acadêmicos de Eletrônica e Mecânica, Universidade Tecnológica Federal do Paraná. Curitiba, 2017.
O pêndulo invertido é um modelo de controle de processo com inúmeras aplicações, seja industrial, bélica, aeroespacial, entretenimento, entre outras. Conhecimentos de mecânica, elétrica, eletrônica, programação e controle de processos são utilizados para a elaboração deste sistema. O objetivo do sistema de controle de pêndulo invertido é manter o equilíbrio da estrutura do pêndulo sobre duas rodas dispostas no mesmo eixo. Como o centro de gravidade está posicionado na estrutura acima do eixo do par de rodas, o sistema de pêndulo invertido é um sistema instável, dado que o mesmo tende a afastar-se da posição de equilíbrio. Para que o sistema não venha a “cair” para um lado ou para o outro, faz-se necessária a aplicação de uma força, no caso torque sobre as rodas do pêndulo. O sistema deve possuir condição de analisar para qual lado o distúrbio está ocorrendo, calcular a aceleração deste movimento de giro e acionar os motores para correção deste desequilíbrio, além de ser capaz de corrigir os distúrbios do sistema. Por tratar-se de um sistema de equilíbrio de uma massa sobre seu eixo de giro, este sistema é suscetível à instabilidade. Este trabalho de conclusão de curso tem o intuito de utilizar os conhecimentos adquiridos com as disciplinas do Curso Superior de Tecnologia em Mecatrônica Industrial, como ferramentas para elaboração e construção de um protótipo de pêndulo invertido. Palavras-chave: Pêndulo invertido. Sistemas de controle. Sistemas instáveis.
ABSTRACT PEDROSO, Caio C. de Souza; MODESTO, Eduardo La Pastina. Inverted Pendulum Control System: 2017. 54 f. Trabalho de Conclusão de Curso (Curso Superior de Tecnologia em Mecatrônica Industrial) Departamentos Acadêmicos de Eletrônica e Mecânica, Universidade Tecnológica Federal do Paraná. Curitiba, 2017. The inverted pendulum is a process control model with numerous applications, whether industrial, military, aerospace or for fun. Which knowledge of mechanics, electrical, electronics and process control are crucial for the elaboration of this system. The purpose of the inverted pendulum control system is to maintain the balance of the pendulum structure on two concentrically arranged wheels, as the center of gravity is positioned in the structure and is located above the axis of the wheel pair, the inverted pendulum system is an unstable system because it tends to move away from the equilibrium position very easily. So that the system does not fall nor to one side neither the other, it becomes necessary to apply a force, in the case of torque on the wheels of the pendulum. The system have to be able to detect to which side the disturbance is occurring, to calculate the acceleration of this turning movement and to perform the drive of the motors to correct its unbalance, besides being able to correct the disturbances of the system. Since this is a balance of a mass on its axis of rotation, the system is very susceptible to instability. This work aims to use the knowledge acquired with the subjects of the mechatronics technology course and intends to serve as a tool for the elaboration and construction of an inverted pendulum prototype. Keywords: Inverted pendulum. Control systems. Unstable systems.
LISTA DE FIGURAS
Figura 1 - Diagrama de corpo livre de um pêndulo invertido. ................................................. 15
Figura 2 - Resposta de um sistema de controle PID a um sinal degrau. .................................. 18
Figura 3 - “Balancing Robot” ................................................................................................... 21
Figura 4 - “Balanbot” .............................................................................................................. 23
Figura 5 - "Joe" ......................................................................................................................... 24
Figura 6 - Esboço do sistema de pêndulo invertido.................................................................. 26
Figura 7 - Protótipo virtual do pêndulo invertido proposto ...................................................... 27
Figura 8 - Arduino Mega .......................................................................................................... 29
Figura 9 - Plataforma de programação do Arduino .................................................................. 30
Figura 10 - Ponte H L298H. ..................................................................................................... 31
Figura 11 - Giroscópio e acelerômetro MPU6050. .................................................................. 32
Figura 12 - Detalhe da forma construtiva da bateria de 9 VCC ............................................... 33
Figura 13 - Bateria LIPO .......................................................................................................... 34
Figura 14 - Motor 12 VCC com caixa de redução ................................................................... 35
Figura 15 - Diagrama elétrico do pêndulo invertido ................................................................ 37
Figura 16 - Sub-rotina para a leitura do sensor. ........................................................................ 38
Figura 17 - Função para calcular os valores de inclinação aos eixos de coordenadas ............. 39
Figura 18 - Sub-rotina para cálculo do ângulo de inclinação do pêndulo invertido ................. 40
Figura 19 - Gráfico comparativo sinal sem utilização de filtro versus sinal com utilização de filtro complementar .................................................................................................................. 41
Figura 20 - Diagrama de blocos de um controlador PID .......................................................... 41
Figura 21 - Função do controlador PID .................................................................................... 43
Figura 22 - Protótipo pêndulo invertido ................................................................................... 44
Figura 23 – Gráfico resposta do pêndulo.................................................................................. 46
LISTA DE QUADROS
Quadro 1 - Lista de Hardware para Balancing Robot .............................................................. 22
Quadro 2 - Lista de materiais do Balanbot ............................................................................... 23
Quadro 3 - Características do Arduino Mega ........................................................................... 29
Quadro 4 - Características da ponte H L298H ......................................................................... 32
Quadro 5 - Características do motor 12 Vcc com caixa de redução ......................................... 35
LISTA DE SIGLAS
CAD Desenho Assistido por Computador CC Corrente Contínua I²C Circuito Inter Integrado IFF Instituto Federal Fluminense LAI Laboratório de Automação Inteligente LIPO Polímero de Lítio PI Proporcional Integral PID Proporcional Integral Derivativo PWM Modulação por Largura de Pulso USB Barramento Série Universal VCC Voltagem em Corrente Contínua
SUMÁRIO
1 INTRODUÇÃO ..................................................................................................................... 9
1.1 SISTEMA DE PÊNDULO INVERTIDO ............................................................................. 9
1.2 MOTIVAÇÃO E JUSTIFICATIVA .................................................................................... 10
1.3 OBJETIVO GERAL ........................................................................................................... 10
1.4 OBJETIVOS ESPECÍFICOS ............................................................................................. 10
1.5 ESTRUTURA DO TRABALHO ....................................................................................... 11
2 REFERENCIAL TEÓRICO .............................................................................................. 13
2.1 SISTEMAS MECÂNICOS ................................................................................................ 13
2.2 PÊNDULO INVERTIDO ................................................................................................... 14
2.3 MODELO MATEMÁTICO PÊNDULO INVERTIDO ..................................................... 16
2.4 TEORIA DE CONTROLE ................................................................................................. 17
3 REVISÃO BIBLIOGRÁFICA ........................................................................................... 20
4 ESTADO DA ARTE ............................................................................................................. 21
5 DESENVOLVIMENTO ...................................................................................................... 25
5.1 CONSIDERAÇÕES DE PROJETO E SELEÇÃO DOS COMPONENTES ..................... 27
5.2 DESCRIÇÃO DOS COMPONENTES .............................................................................. 29
5.2.1 Arduino MEGA 2560 ...................................................................................................... 29
5.2.2 Ponte H L298N ................................................................................................................ 31
5.2.3 Giroscópio e acelerômetro MPU6050 ............................................................................. 32
5.2.4 Bateria alimentação controlador e sensores..................................................................... 33
5.2.5 Bateria LIPO 12 VCC alimentação circuito de potência motores CC ............................ 33
5.2.6 Motor com caixa de redução 12 VCC ............................................................................. 34
5.4 CIRCUITO ELETRÔNICO ............................................................................................... 36
5.5 PROGRAMAÇÃO ............................................................................................................. 37
6 RESULTADOS ..................................................................................................................... 44
7 CONCLUSÃO ...................................................................................................................... 47
REFERÊNCIAS ..................................................................................................................... 49
ANEXO A – Desenho Motor 12 VDC. .................................................................................. 51
ANEXO B – Diagrama Arduino Mega 2560 ........................................................................ 52
ANEXO C – Datasheet Arduino Mega 2560. ....................................................................... 53
ANEXO D – Data Sheet Ponte H – L298H. .......................................................................... 54
9
1 INTRODUÇÃO
Para o sistema de pêndulo invertido, a disciplina Controle de Processos Contínuos é a
ferramenta principal para execução deste sistema, aplicada em diversas áreas da engenharia.
Quando bem aplicados, os sistemas de controle propiciam a otimização dos processos
industriais e eficácia dos processos. Diminuindo o consumo e aumentando a produtividade,
contribuem para a economia dos recursos nos processos, aumentando os lucros das
corporações.
Dentre os diversos modelos de processos contínuos, temos os mecanismos de pêndulo
invertido, que são sistemas instáveis, uma vez que a posição do centro de gravidade fica
situada acima do ponto de sustentação, ocasionando o deslocamento do pêndulo para qualquer
um dos lados, exceto se for aplicada uma força no pêndulo. Forçando o mesmo a voltar para
posição de equilíbrio, posição que pode ser de difícil obtenção devido à grande instabilidade
do sistema.
1.1 SISTEMA DE PÊNDULO INVERTIDO
O mecanismo de pêndulo invertido é estudado nas disciplinas de controle de processos
contínuos, devido ao fato de sua instabilidade. Podem-se citar como exemplos de pêndulo
invertidos o sistema de controle de atitude de foguetes (o controle de atitude foguetes tem por
finalidade manter o foguete na posição vertical), cadeiras de rodas motorizadas, robôs, meio
de transporte individual e até em tecnologias contra abalos sísmicos em edifícios. Nosso
organismo pode ser considerado também um exemplo de mecanismo de pêndulo invertido,
onde o sistema vestibular executa a manutenção do equilíbrio dos vertebrados. Este foi um
grande passo para a evolução da espécie humana FATTINI (2000).
Segundo Sant'ana (2017), o conceito de pêndulo invertido está sendo largamente
explorado comercialmente, pelo fato de ser um sistema compacto e com um número menor de
partes em relação aos sistemas convencionais. Devido a isto o conceito de pêndulo invertido
tem sido amplamente utilizado para fins de locomoção humana e para o lazer. Produtos
inovadores como veículos, brinquedos e robôs que utilizam o conceito de pêndulo invertido,
podem ser facilmente encontrados no mercado.
10
1.2 MOTIVAÇÃO E JUSTIFICATIVA
O estudo do sistema de pêndulo invertido é de grande importância para a graduação do
tecnólogo, uma vez que diversos sistemas e máquinas utilizam este conceito, podem ser
citados, por exemplo, o sistema de guiamento de mísseis, meios de transporte alternativos em
duas rodas nos quais se utilizam do balanço para o seu funcionamento. O conceito de pêndulo
invertido também é aplicado na área de robótica, no desenvolvimento de robôs. Além de ser
um sistema que para sua elaboração envolve diversas áreas das ciências exatas, tais como
mecânica (acionamentos e estrutura do sistema), eletrônica (sensores, circuitos de controle
dos motores de corrente contínua), programação (algoritmo para funcionamento do Arduino)
e controle de processos (ajuste dos parâmetros de controle do sistema).
Por tratar de um tema multidisciplinar, o sistema de pêndulo invertido é uma
oportunidade de demonstração física de um controle de um sistema que tende à instabilidade,
e isso motivou o desenvolvimento de um protótipo de pêndulo invertido para aplicar todas as
áreas do conhecimento citadas acima.
Este trabalho aborda todos os conceitos envolvidos neste sistema, também apresenta
sistemas de pêndulo invertido existentes, listando seus componentes e apresentando seus
princípios de funcionamento.
1.3 OBJETIVO GERAL
Realizar o estudo detalhado dos sistemas de pêndulo invertido e construir um protótipo
que simule um pêndulo invertido, buscando como resultado a obtenção do equilíbrio
dinâmico do sistema, utilizando um controlador PID.
1.4 OBJETIVOS ESPECÍFICOS
a) Apresentação dos conceitos envolvidos para realização do sistema de pêndulo
invertido;
b) Estudar os sistemas de pêndulo invertido existentes atualmente;
11
c) Demonstrar as diversas técnicas de controle para sistemas mecânicos;
d) Desenvolver o programa na placa Arduino utilizando seus recursos de processamento;
e) Obter os parâmetros ótimos para o PID do pêndulo;
f) Obter componentes comerciais para confecção do protótipo;
g) Realizar adequações dos componentes para atendimento das respostas aos impulsos do
controle do sistema;
h) Fabricação de um protótipo de pêndulo invertido, que além de manter o equilíbrio,
deva ser capaz de absorver distúrbios.
1.5 ESTRUTURA DO TRABALHO
Este trabalho está organizado da seguinte forma:
Capítulo 1 - Introdução
Apresenta o tema deste trabalho, apresenta a motivação e a justificativa de sua
realização. Também apresenta o objetivo geral e os objetivos específicos. Na introdução foi
inserido esta estrutura do trabalho, para demonstração sucinta de todos os capítulos que o
compõem.
Capítulo 2 – Referencial teórico
Neste capítulo apresenta-se os conceitos teóricos dos principais componentes para
elaboração e confecção de um sistema de pêndulo invertido. O capítulo salienta a importância
de conhecer a teoria dos sistemas de pêndulo invertido, para desenvolvimento do controlador
e posteriormente a sua aplicação no protótipo.
Capítulo 3 – Revisão bibliográfica
Pretende demonstrar os sistemas de pêndulo invertido que foram desenvolvidos
anteriormente à realização deste trabalho. Serve de ferramenta para a elaboração da melhor
concepção para o sistema que será confeccionado.
Capítulo 4 – Estado da arte
Este capítulo mostra trabalhos realizados para o sistema de pêndulo invertido,
apresentando os trabalhos que possuem a concepção de montagem semelhante à concepção
do protótipo que pretende-se construir.
Capítulo 5 – Desenvolvimento
Apresenta como o trabalho foi realizado, relaciona os componentes selecionados e
12
utilizados para a confecção do protótipo, apresentando os desafios, as adequações necessárias
e o planejamento da malha de controle do sistema.
Capítulo 6 - Resultados
Neste capítulo são apresentados os resultados obtidos do sistema pêndulo invertido
proposto. Após o embasamento teórico e o aprendizado empírico com o protótipo, observou-
se que a resposta ao impulso unitário estava muito lenta, sendo necessária a alteração do
sistema mecânico para obtenção do equilíbrio. Outro ponto críticos deste sistema é a
programação, para chegar ao melhor PID para o sistema instável e sem o modelo matemático
do sistema, utilizou-se a resposta ao impulso do sistema.
O resultado esperado com a elaboração deste trabalho é apresentar um protótipo
funcional e que o sistema funcione de forma otimizada.
Capítulo 7 - Conclusão
Capítulo com as conclusões do sistema, com base nos resultados obtidos.
Apresentação de algumas sugestões para futuros trabalhos a serem realizados sobre a
plataforma do sistema.
13
2 REFERENCIAL TEÓRICO
Neste capítulo são apresentados os conceitos teóricos dos principais componentes para
elaboração e confecção de um sistema de pêndulo invertido.
2.1 SISTEMAS MECÂNICOS
Segundo Ogata (2000), qualquer sistema mecânico é basicamente regido pela segunda
lei de Newton. Ela pode ser aplicada a quaisquer sistemas mecânicos.
A massa de um corpo é a quantidade de matéria nele existente e que se supõe ser
constante. Do ponto de vista físico, massa é a propriedade que associa ao corpo sua inércia,
isto é, a oposição à partida e à parada de movimento do corpo. Todo corpo é atraído pela
Terra e a magnitude da força que a Terra exerce sobre o corpo é dita o seu peso.
Em situações práticas, sabe-se o peso w de um corpo, mas não sua massa m. Calcula-
se a massa de um corpo a partir da expressão:
� = �
� (1)
Sendo g a constante de aceleração gravitacional. O valor de g varia ligeiramente de um
ponto a outro da superfície da Terra. Em decorrência desse fato, o peso de um corpo varia
ligeiramente de um ponto a outro, mas sua massa permanece constante. Para fins de
engenharia, o valor de g é 9,81 �/��.
Numa posição do espaço afastada da Terra, os corpos se tornam sem peso. Sua massa,
contudo, permanece a mesma e, por conseguinte, os corpos continuam possuindo inércia.
A força é uma grandeza física que pode ser definida como a causa que tende a
modificar o movimento de um corpo sobre o qual ela age.
Para se movimentar um corpo é necessário aplicar-lhe uma força. Dois tipos de força
são capazes de agir sobre um corpo: forças de contato e forças de campo. Forças de contato
são aquelas que entram diretamente em contato com o corpo, enquanto as forças de campo,
tais como a força gravitacional e a força magnética, agem sobre os corpos sem entrar em
contato com estes OGATA (2000).
14
�
= + ��� �
2.2 PÊNDULO INVERTIDO
O modelo clássico de pêndulo invertido consiste em uma haste fixada em uma base
móvel, essa haste é fixada em apenas um ponto, portanto este é um sistema instável em
termos de equilíbrio.
A posição vertical de um mecanismo de pêndulo invertido é instável devido ao centro
de gravidade estar situado acima do ponto de articulação, com isso, a haste tende a girar para
uma das direções, exceto se for aplicada uma força na base móvel que sustenta a haste
OGATA (2000).
A velocidade do motor da base móvel deve ser suficiente para equilibrar a haste,
porém não é possível manter o equilíbrio da haste sem aplicar uma força na base móvel,
mesmo que a haste esteja na posição vertical. Portanto é necessário construir um controlador
PID que regule a força aplicada na base do pêndulo invertido.
Para isso, deve ser feita uma modelagem matemática do sistema, nesse caso são
usados os princípios de mecânica geral para levantar as equações que descrevem a dinâmica
desse sistema.
Para este trabalho, o protótipo foi construído de forma diferente do modelo clássico
citado acima, porém as estratégias de controle são semelhantes. Neste caso, as velocidades
dos motores são controladas a fim de se obter a estabilidade do pêndulo. Pela complexidade
do sistema, o modelo matemático é de difícil obtenção, sejam pelas dificuldades de
geometrias e diferentes centros de massas dos componentes, ou pelos distúrbios, como
escorregamento dos motores, folgas das transmissões de engrenagens, ruídos dos sinais dos
sensores, etc.
A Figura 1 mostra o diagrama de corpo livre do pêndulo invertido, onde estão
representadas as forças atuantes no sistema, incluindo a força u aplicada a base móvel para
equilibrar a haste.
Supondo que o centro de gravidade da haste situa-se em seu centro geométrico, é
possível deduzir a equação que descreve o movimento da haste. Considerando que o ângulo
da haste seja Ɵ, a posição do centro de gravidade (xg,yg) dentro do plano xy é:
(2)
(3)
�� = l cos �
Figura 1 - Diagrama de corpo livre de um pêndulo invertido
Fonte: Ogata (2000).
Para calcular a velocidade angu
considerado o diagrama de corpo livre acima, portanto:
Onde I corresponde ao momento de inércia da haste em relação ao seu centro de
gravidade.
O movimento horizontal do centro de gravidade da haste é d
O movimento vertical do centro de gravidade da haste é dado pela equação:
O movimento do suporte móvel pode ser expresso por:
Diagrama de corpo livre de um pêndulo invertido.
Para calcular a velocidade angular em relação ao seu centro de gravidade, é
considerado o diagrama de corpo livre acima, portanto:
corresponde ao momento de inércia da haste em relação ao seu centro de
O movimento horizontal do centro de gravidade da haste é dado pela equação:
O movimento vertical do centro de gravidade da haste é dado pela equação:
���
���������� = � � ��
O movimento do suporte móvel pode ser expresso por:
����
���= � � �
I Ɵ’ = V l senƟ – H l cosƟ
���
� �� � � �� �� = �
15
lar em relação ao seu centro de gravidade, é
(4)
corresponde ao momento de inércia da haste em relação ao seu centro de
ado pela equação:
(5)
O movimento vertical do centro de gravidade da haste é dado pela equação:
(6)
(7)
16
Admitindo-se que o ângulo Ɵ seja muito pequeno, as equações (3) a (6) podem ser
linearizadas:
Ɵ” = ��Ɵ– �� (8)
��” + �Ɵ”� = � (9)
0 = �– �� (10)
�” = �– � (11)
Das equações (8) e (10) obtém-se:
� = �” + �
� = �” + ��” + �Ɵ”�
� = �� + ��” + ��Ɵ” (12)
E das equações (7) e (9) obtém-se:
Ɵ” = ���Ɵ– ��
Usando a equação (8):
Ɵ” = ���Ɵ– ���” + �Ɵ”�
���Ɵ = Ɵ” + ��” + ��2Ɵ”
���Ɵ = Ɵ”� + ��2� + ��” (13)
Portanto, as equações (11) e (12) determinam o movimento do conjunto do pêndulo
invertido.
2.3 MODELO MATEMÁTICO PÊNDULO INVERTIDO
Para aproximação do modelo matemático do sistema do pêndulo invertido, utilizamos
a função delta ou impulso unitário, segundo Ogata (2000), a função impulso unitário consiste
17
em aplicar um pulso no sistema com magnitude muito grande e tempo de duração muito
pequena. Este conceito é bastante útil na derivação de funções descontínuas. A função
impulso unitário pode ser considerada a derivada da função degrau unitário no ponto de
descontinuidade. Com o conceito de função impulso torna-se possível derivar uma função
contendo descontinuidades, obtendo-se impulsos cujas magnitudes são iguais à amplitude de
cada uma das descontinuidades correspondentes. Portanto conhecendo-se a resposta ao
impulso unitário do sistema, tem-se condição de calcular a resposta do sistema a qualquer
impulso de entrada.
2.4 TEORIA DE CONTROLE
O controle automático tem desempenhado um papel vital no avanço da
engenharia e ciência. Além de sua extrema importância para os veículos espaciais,
para os sistemas de guiamento de mísseis, sistemas robóticos e similares, o controle
automático tornou-se uma parte importante e integrante dos processos industriais e
de manufatura modernos. Por exemplo, o controle automático é essencial no
comando numérico de máquinas-ferramentas das indústrias manufatureiras, no
projeto de sistemas de pilotagem automática da indústria aeroespacial e no projeto
de automóveis e caminhões da indústria automobilística. É ainda essencial nas
operações industriais tais como: controle de pressão, temperatura, umidade,
viscosidade e vazão nas indústrias de processo . (Ogata 2000)
Ogata (2000) apresenta algumas definições sobre alguns componentes de um sistema
de controle:
•••• A variável controlada é a grandeza ou a condição que é medida e controlada.
•••• A variável manipulada é a grandeza ou a condição variada pelo controlador de modo
a afetar o valor da variável controlada.
•••• Um sistema a controlar ou planta, é uma parte de um equipamento, eventualmente
um conjunto de itens de uma máquina que funcionam juntos e cuja finalidade é
desempenhar uma determinada operação.
•••• Um distúrbio ou perturbação é caracterizado por um sinal que tende a afetar de modo
adverso o valor da variável de saída de um sistema. Se um distúrbio for gerado
internamente no sistema, ele é dito um distúrbio interno; ao passo que um distúrbio
18
externo é produzido fora do sistema e se comporta como um sinal de entrada no
sistema.
Segundo o artigo da National Instruments (2016), dentro de um sistema de controle em
malha fechada, a variável de processo é o parâmetro do processo que deve ser controlado.
Para que seja possível o controle, a variável de processo deve ser medida por um sensor que
por sua vez envia o sinal para o controlador. A diferença entre o valor medido pelo sensor e o
setpoint é usado pelo controlador para calcular o valor de saída, que será enviada a um
atuador, onde controlará o valor da variável de processo. Um sistema de controle deve ser
projetado também para minimizar os efeitos de distúrbios, sejam eles externos ou internos.
Dentro de um projeto de um controlador, existem parâmetros de desempenho, os quais
devem ser levados em consideração durante o projeto de um controlador.
Na Figura 2 é exibida a resposta da variável de processo a um sinal de uma função tipo
degrau:
Figura 2 - Resposta de um sistema de controle PID a um sinal degrau.
Fonte: National Instruments (2016).
O tempo de subida (Rise Time) é o tempo em que a variável de processo leva para ir de 10%
a 90% do valor do setpoint. O valor de overshoot é a porcentagem em que a variável de
processo ultrapassa o setpoint. O setting time é o tempo em que o valor da variável de
processo estabiliza próximo ao valor do setpoint (normalmente 95% do valor do setpoint),
19
dentro da teoria de controle é utilizado o termo regime estacionário o momento em que a
variável de processo estabiliza. O erro de regime estacionário é a diferença entre o valor da
variável de processo e setpoint após a estabilização da variável de processo.
O algoritmo PID é o mais utilizado dentro dos sistemas de controle industriais devido a
sua robustez e confiabilidade. O valor de saída do sistema é dado através das ações
proporcional, integral e derivativa, que em conjunto mantém a variável de processo
controlada. A componente proporcional depende apenas da diferença entre a variável de
processo e o setpoint, ou seja, o erro. A taxa de saída do controlador é proporcional ao sinal de
erro, um aumento no coeficiente proporcional ($% ) gera uma resposta mais rápida do
controlador, porém um valor muito alto de $% torna o sistema instável (oscilatório). A
componente integral soma o erro ao longo do tempo, com isso a ação integral aumenta com o
tempo a menos que o erro seja zero, tendendo a eliminar o erro de regime estacionário. Algo
importante a ser notado é a saturação do controlador com o efeito integral, caso o erro não vá
a zero em determinado tempo.
A ação derivativa como o nome já diz, deriva o erro ao longo do tempo. Ela é
proporcional à taxa de variação de erro do sistema, respondendo a variações bruscas na
variável de processo. Um aumento no coeficiente derivativo ($�) significa um aumento na
velocidade global de resposta do sistema, porém, se $� for muito alto, fará com que o
controlador fique instável devido a ruídos e distúrbios.
Existem várias maneiras de ajustar os parâmetros de um controlador PID, pode ser na
tentativa e erro ou calculando as equações que regem o sistema a controlar.
Na maioria das vezes é possível determinar os coeficientes do controlador com o método
de tentativa e erro, quando se sabe os efeitos de cada ação de controle. Uma maneira de se
conseguir o ajuste adequado é primeiramente, deixa-se os coeficientes integral e derivativo
em 0, depois o coeficiente proporcional é aumentado até que o sistema fique oscilatório, em
seguida, aumenta-se o coeficiente integral até que o erro de regime estacionário seja
eliminado. Pode-se utilizar o ganho derivativo para tornar a resposta do controlador mais
rápida. Um ajuste fino pode ser feito após a sintonização para se alcançar os requisitos de
desempenho do controlador, como overshoot, tempo de subida, por exemplo.
20
3 REVISÃO BIBLIOGRÁFICA
Vários trabalhos de sistemas de pêndulo invertido foram realizados, seguem alguns
comentários dos autores de alguns trabalhos.
Projeto de controlador fuzzy para o experimento de pêndulo invertido. GRILLO (2017)
Os autores desenvolveram um controlador fuzzy para aplicação no kit didático
Feedback® 33-005 que se encontra no Laboratório de Automação Inteligente (LAI) do
Instituto Federal Fluminense (IFF). Esta plataforma consiste de um carro- pêndulo que optou
pela lógica fuzzy, pelo motivo da mesma trabalhar com sistemas não lineares e instáveis e não
precisar de um modelo da planta, facilitando a sintonia do controlador.
O trabalho acima serve de ferramenta para a etapa de programação do sistema
proposto. Uma vez que o trabalho citado encontrou diversas dificuldades semelhantes às
encontradas no sistema, e também apresenta diversas soluções que podem ser aplicadas a este.
Pêndulo Invertido Autocontrolado SANT’ANA (2017).
Neste trabalho o autor descreve o processo de desenvolvimento de um protótipo de
pêndulo invertido autocontrolado. Neste trabalho o autor utiliza acelerômetro e giroscópio
para sensoriamento da inclinação do sistema. Para o controle o autor utilizou um processador
ARM LPC2148, dotado de diversos periféricos, um deles para controle PWM dos motores
corrente contínua que o autor utilizou para o sistema.
A concepção apresentada deste trabalho, ficou muito semelhante à concepção adotada
para o protótipo. Foram utilizados os mesmos princípios de sensoriamento e controle do
sistema, porém o processador utilizado foi o Arduino.
21
4 ESTADO DA ARTE
Neste capítulo são apresentados os pêndulos invertidos fabricados por acadêmicos e
entusiastas da área de mecatrônica. Mediante as diversas concepções de sistemas de pêndulo
invertido existentes, pode-se selecionar a melhor concepção para o sistema proposto.
“Balancing Robot “ (Arduino) de David Ingraham e Barrett Anderies, BARRETT,
DAVID (2017)
O artigo de Barrett Anderies e David Ingraham descreve a construção de um robô de
equilíbrio, Figura 3. Esta parte dos mesmos princípios que o popular sistema de transporte de
duas rodas Segway. Ou seja, acelera e desacelera as rodas para manter todo o sistema na
posição vertical. Neste protótipo os autores utilizaram uma estrutura impressa em 3D. O
código incorpora um controlador PID e um filtro Kalman. O código do controlador PID usado
era da Biblioteca PID Arduino e o filtro Kalman se utilizava nesse projeto. O objetivo
principal deste projeto conforme os autores é aprender a escrever e usar um filtro de Kalman.
Figura 3 - “Balancing Robot”
Fonte: Barrett's Projects (2017)
22
A Quadro 1 apresenta a lista de hardware para este sistema.
Qtde Descrição 1 Arduino Mega 2560
1 Proteção do host USB 1 Dongle Bluetooth 2 Servos contínuos 1 Placa de sensor de acelerador e acelerador de uso duplo (consiste em um
acelerômetro ADXL345 de 3 eixos e um giroscópio analógico ADW2207) Transceptor Bluetooth (para telemetria)
1 2S (2 células) bateria de polímero de lítio 1 Alarme de baixa tensão da bateria LIPO 3 Potenciômetros (para sintonizar o controlador PID), 1 Quadro de sua escolha 1 Variedade de fecho de correr 1 Variedade de fios e jumpers 2 Rodas que devem possuir um diâmetro de aproximadamente 7 polegadas
Quadro 1 - Lista de Hardware para Balancing Robot
Fonte: Barrett's Projects (2017)
“Balanbot” de Steve Chang, Ryan Qin e Bruce Chen. CHANG (2017).
O Balanbot, mostrado na Figura 4, é, segundo Chang, Qin e Chen, um kit de robô auto
equilibrado baseado em Arduino. Os autores pretenderam facilitar o trabalho de quem deseja
construir um robô de equilíbrio, fazendo um kit com peças para a construção do hardware do
sistema e fornecendo o software do robô. Este kit é disponível para venda, demonstrando o
potencial comercial dos sistemas de pêndulos invertidos. Como o programa do arduino é
aberto e o hardware é fácil de montar, esse kit é específico para crianças e entusiastas. Mas
serve de parâmetro para o desenvolvimento do sistema deste trabalho. Por utilizar estruturas
acrílicas fortes, o robô é mantido equilibrado usando seu centro de gravidade. Para alcançar o
alto desempenho, os autores testaram vários motores de torque-engrenagem para garantir que
o robô mantenha o equilíbrio e se mova com flexibilidade mesmo que seja empurrado de
repente.
O hardware deste sistema, consiste em dois motores de engrenagem de alto torque e
alta velocidade, rodas, estruturas acrílicas, suporte de bateria 18650, Balance Shield e placa
compatível com Arduino UNO, uma placa acrílica de 5 mm e duas de 3 mm de espessura e
outros acessórios para sua estrutura principal.
23
O Quadro 2 mostra a lista de hardwares para este sistema.
Quantidade Componente
1 Arduino Uno
1 Dongle Bluetooth
2 Acionamento com motores 12 VDC
1 Balance Shield
1 Transceptor Bluetooth (para telemetria)
1 Bateria 18650 12VDC
Quadro 2 - Lista de materiais do Balanbot
Fonte: Chang(2017)
“JOE: A Mobile, Inverted Pendulum” de Grasser, F. GRASSER (2017)
O projeto Joe, mostrado na Figura 5, é um exemplo de implementação de um sistema
de controle para pêndulo invertido de alta precisão e desempenho. O sistema é baseado em
dois controladores de espaço de estado, um responsável pelo controle da estabilidade e
deslocamento para frente e para trás, e outro responsável pelo controle de movimentação
sobre o próprio eixo. Testes com alguns tipos de sensores mostraram que o sensor de
inclinação tem um tempo de resposta muito lento para esta aplicação. Acelerômetros são
muito suscetíveis a ruídos, gerando erros nas leituras e o giroscópio é eficaz na rejeição de
ruídos em aplicação desta natureza, porém seu erro de medição residual pode levar as
medições incorretas ao longo do tempo. Por isso o ideal é a utilização do giroscópio em
associação com acelerômetros, resultando em medidas sem ruído e sem erros acumulativos ao
Figura 4 - “Balanbot”
Fonte: Chang(2017)
24
longo do tempo. Segundo os autores, a implementação de um sistema de controle adaptativo,
usando lógica Fuzzy, por exemplo, traria uma melhora significativa para o desempenho do
protótipo.
Figura 5: "Joe"
Fonte: Grasser (2017)
Figura 5 - "Joe"
Fonte: Grasser (2017)
25
5 DESENVOLVIMENTO
Nesse trabalho, foram utilizadas as técnicas de controle de processos contínuos que
foram estudadas durante as disciplinas de teoria de controle do curso de tecnologia em
mecatrônica industrial com o objetivo de obter a estabilidade de um mecanismo de pêndulo
invertido.
O protótipo do pêndulo invertido foi montado sobre duas rodas paralelas, acima delas
estão todos os componentes do protótipo, como o processador, o acelerômetro e o circuito de
alimentação dos motores. Essa disposição de montagem se configura como um sistema de
pêndulo invertido.
Foram revisados conceitos de mecânica geral, com o principal foco em dinâmica e
teoria de controle, com ênfase no estudo das respostas em regime estacionário nos
controladores.
O desenvolvimento do projeto foram divididos em etapas, seguindo a seguinte ordem:
a) Elaborar os desenhos do sistema de pêndulo invertido em CAD;
b) Esboçar o diagrama de corpo livre a fim de calcular as forças resultantes do sistema e
assim determinar o equilíbrio dinâmico do pêndulo;
c) Testar os sensores e motores do projeto;
d) Desenvolver programa do pêndulo invertido, incluindo a sub-rotina do controlador
PID;
e) Realizar a análise matemática do sistema, calculando os coeficientes do PID para este
sistema;
f) Obter os coeficientes do controlador PID para obter o equilíbrio do pêndulo,
utilizando o método de sintonização Ziegler-Nichols;
g) Fazer a sintonia fina do controlador PID;
A Figura 6 mostra um esboço do sistema que foi montado em cima de uma base com
roda, onde abaixo é situado o controlador PID, que foi programado no Arduino, o
acelerômetro fica montado na parte inferior do protótipo próximo ao eixo. Na parte superior
foram montadas as baterias, uma de 9 VCC para a alimentação do Arduino e uma de 12 VCC
para a alimentação dos motores, e o acelerômetro.
Para o desenvolvimento do esboço e levantamento da posição
protótipo utilizou-se da ferramenta INVENTOR,
apresenta uma imagem tridimensional do protótipo virtual, pode
de massa do protótipo, ponto com os vetores
Figura 7 -
Fonte: Autoria própria
5.1 CONSIDERAÇÕES DE
Para a fabricação de um protótipo de pêndulo invertido o maior problema é a seleção
dos componentes para compor o sistema físico do pêndulo. Devido ao
disponível somente componentes comerciais para a execução do protót
funcionasse perfeitamente, alguns elementos
para que fosse obtida a otimização do sistema.
O sistema mecânico do pêndulo, é relativamente simples, consta de um par
de motores 12 VCC, um par de reduções
Para o desenvolvimento do esboço e levantamento da posição do centro de massa do
se da ferramenta INVENTOR, software de modelagem virtual, a F
a uma imagem tridimensional do protótipo virtual, pode-se notar a posição do centro
de massa do protótipo, ponto com os vetores x, y e z.
Protótipo virtual do pêndulo invertido proposto
Autoria própria
S DE PROJETO E SELEÇÃO DOS COMPONENTES
Para a fabricação de um protótipo de pêndulo invertido o maior problema é a seleção
compor o sistema físico do pêndulo. Devido ao
componentes comerciais para a execução do protótipo, para que o pêndulo
perfeitamente, alguns elementos tiveram suas características originais alteradas
a otimização do sistema.
a mecânico do pêndulo, é relativamente simples, consta de um par
, um par de reduções de engrenagens e uma estrutura para fixação dos
27
do centro de massa do
de modelagem virtual, a Figura 7
se notar a posição do centro
PROJETO E SELEÇÃO DOS COMPONENTES
Para a fabricação de um protótipo de pêndulo invertido o maior problema é a seleção
compor o sistema físico do pêndulo. Devido ao fato de se ter
ipo, para que o pêndulo
suas características originais alteradas,
a mecânico do pêndulo, é relativamente simples, consta de um par de rodas, um par
de engrenagens e uma estrutura para fixação dos
28
componentes eletrônicos e das baterias do sistema.
Encontrar a melhor relação entre a potência do motor, a redução de engrenagens e o
diâmetro das rodas foi crucial para o perfeito funcionamento do sistema. Para o sistema em
questão no qual é necessário um torque elevado e aceleração do sistema também elevado,
foram feitas algumas considerações para que se chegasse ao conjunto mecânico que tivesse
seus componentes padronizados e que atendesse da melhor forma as considerações abaixo
citadas.
Para as rodas, foi considerado que rodas com diâmetro maior fornecem maior torque,
isso porque o momento de inércia é maior. Outro ponto é a aceleração radial do sistema que
também deve ser alta, com rodas de maior diâmetro também conseguimos maior aceleração,
devido ao perímetro da roda ser maior, com menos rotação do motor temos maior percurso de
correção do pêndulo.
Para a redução, foi considerada uma redução menor, para ter maior aceleração das
rodas do pêndulo, com redução menor perde-se torque, mas consegue-se maior aceleração, o
que é bom quando temos menor ângulo de inclinação onde o torque é menor, para inclinações
maiores necessita-se de maior torque. Como a intenção é manter o equilíbrio e obter resposta
a pequenos distúrbios, a redução menor traz um melhor resultado.
Para o motor, consideramos motores de 12 VCC, devido a facilidade de obtenção e
altas velocidades.
Para a estrutura, foi considerado que a massa deve estar a mais alta possível para que a
ação de controle seja a ação principal para a condição de equilíbrio do sistema, por este
motivo posicionar as baterias no ponto mais alto é melhor para a condição de instabilidade.
O sistema eletrônico é mais complexo para dimensionamento. Atualmente existe uma
grande variedade de recursos eletrônicos que podem ser utilizados.
Para o processamento dos sinais dos sensores e comando dos motores foi escolhido o
microcontrolador ATmega 2560, montado sobre uma placa Arduino Mega 2560. A placa
Arduino se mostrou como a melhor opção por possuir 54 pinos de entradas e saídas digitais,
16 pinos de entradas analógicas, oscilador de cristal de 16 MHz, conexão USB, botão de reset,
oscilador PWM, interface I2C para a comunicação com o acelerômetro e giroscópio além de
outros recursos que deixam compacta a montagem do sistema eletrônico.
29
5.2 DESCRIÇÃO DOS COMPONENTES
5.2.1 Arduino MEGA 2560 O Arduino Mega 2560 Figura 8, é um hardware de linguagem aberta, que possui um
microcontrolador ATmega 2560. Pode-se alimentá-lo pela conexão USB ou com uma fonte
externa. Este Arduino possui 54 pinos de entradas ou saídas digitais de no máximo 40mA, ele
possui também 16 pinos de entradas analógicas, com 10 bits de resolução, faixa de 0 a 5 volts.
Mais informações sobre o arduino seguem no anexo III (catálogo arduino Mega). No quadro 3,
seguem as especificações técnicas do Arduino:
Microcontrolador ATmega2560
Tensão de alimentação 5V
Tensão de entrada (recomendada) 7-12V
Tensão de entrada (limites) 6-20V
Pinos digitais I/O 54 (dos quais 14 podem ser saídas
PWM) Pinos de entrada analógica 16
SRAM 8 KB
EEPROM 4 KB
Velocidade de Clock 16 MHz
Quadro 3 - Características do Arduino Mega
Fonte: Arduino (2017)
Figura 8 - Arduino Mega
Fonte: Arduino (2017)
30
O Arduino Mega2560 pode ser programado com o software do Arduino, software
disponível gratuitamente pelo fabricante. A Figura 9 mostra a imagem da interface do
software. A linguagem de programação utilizada no Arduino é derivada da linguagem C, este
programa compila o programa gerado na linguagem em C, o compilamento é a tradução do
software para a linguagem de máquina, linguagem que o processador Atmega2560 consegue
processar.
Figura 9 - Plataforma de programação do Arduino
Fonte: Autoria própria
31
5.2.2 Ponte H L298N
A Ponte H L298N, na Figura 10, é um drive de potência para motores de corrente contínua.
Controla a velocidade de dois motores corrente de contínua (CC), utilizando os pinos PWM
do Arduino. THOMSEN (2013)
Sua função é de interface entre os pinos de saída PWM do Arduino e os motores 12 VCC,
está interface é um drive de ponte cheia dupla de alta tensão projetada para controlar cargas
indutivas, como motores CC, quando ligado aos pinos de saída PWM do Arduino, controla a
rotação dos motores. Pelo motivo das correntes dos motores ser de 430 mA muito maior que o
limite de corrente das saídas do Arduino que é de 40 mA, para a interligação entre esses dois
componentes faz-se necessária esta interface. STMICROELETRONICS (2000)
Figura 10 - Ponte H L298H.
Fonte: Thomsen (2013).
32
No Quadro 4, estão contidas as especificações técnicas desse circuito de ponte H L298N.
Descrição Característica
Tensão de Operação 5-35 Vdc
Chip ST L298N
Saída 2 motores DC ou 1 motor de passo
Corrente de Operação máxima 2A
Tensão lógica 5 Vdc
Corrente lógica 0-36 mA
Limites de Temperatura -20 à +135º C
Potência máxima 25 W
Dimensões 43 x 43 x 27mm
Peso 30 g
Quadro 4 - Características da ponte H L298H
Fonte: STMicroeletronics (2000)
5.2.3 Giroscópio e acelerômetro MPU6050
A Figura 11 mostra a placa do giroscópio e acelerômetro MPU6050.
Figura 11 - Giroscópio e acelerômetro MPU6050.
Fonte: Thomsen (2013).
33
5.2.4 Bateria alimentação controlador e sensores
Na Figura 12, pode- se observar a bateria alcalina de 9 VCC, utilizada para alimentação
do Arduino Mega e do Giroscópio. Esta bateria é um arranjo em série de 6 pilhas de 1,5 VCC
cada SANTOS (2013)
As pilhas alcalinas, utilizadas nas baterias de 9 VCC, diferem das pilhas de
zinco/dióxido de manganês pelo motivo da substância química obtida da reação ser alcalina o
que facilita a transferência de elétrons. Aumentando a capacidade de corrente e a vida útil das
pilhas OFICINA (2019)
Figura 12 - Detalhe da forma construtiva da bateria de 9 VCC
Fonte: Santos(2013)
5.2.5 Bateria LIPO 12 VCC alimentação circuito de potência motores CC
LIPO, abreviação de Lithium Polymer (polímero de lítio) é uma bateria que possui
eletrólitos de sais de lítio retidos em um polímero sólido como o óxido de polietileno e o
poliacrilonitrilo ao invés de solvente, o que possibilita sua adaptação a diferentes formatos
além de altas taxas de descarga FRENCH (2015)
As baterias LIPO, Figura 13, oferecem uma ótima relação peso x armazenamento de energia,
mas existem alguns pontos negativos que precisam ser levados em consideração:
• Baterias LIPO possuem um tempo de vida curta, durando entre 300 e 500 ciclos de
carga e descarga ou menos dependendo do cuidado do usuário;
34
• Esse tipo de bateria pode pegar fogo ou explodir, se for mal utilizada pelo usuário.
Portanto, não podem ser furadas, amassadas, sofrerem curto-circuito ou sobrecargas;
• Requerem cuidado especial para armazenamento;
• A carga, a descarga ou a maneira como é armazenada afeta diretamente o tempo útil
de vida da bateria;
• Esse tipo de bateria não pode ser completamente descarregada;
• Precisa de carregador especial, próprio para baterias LIPO MOLINA( 2015)
Figura 13 - Bateria LIPO
Fonte: French (2015)
5.2.6 Motor com caixa de redução 12 VCC
Os motores de corrente contínua (CC) transformam as forças de atração e repulsão dos
eletroímãs e imãs permanentes, em movimento de rotação. Os motores utilizados no protótipo
possuem a característica de possuir baixas rotações e alto torque de saída, o qual é dotado de
uma caixa de redução. Caixa com uma redução de transmissão feita por engrenagens de
dentes retos, redução que diminui a velocidade e aumenta o torque de saída da conjunto motor
e redução. Os motores CC possuem maior facilidade de controle, melhor linearidade de
rotação CHAPMAN( 2013).
Na Figura 14, temos a imagens de um conjunto motor e caixa de redução.
35
No Quadro 5, estão as características técnicas do conjunto motor e caixa de redução utilizado
no protótipo.
Descrição Característica
Torque 11,10 Kgf.cm
Rotação 83 RPM
Tensão Nominal 12 Vdc
Potência 5 W
Corrente 430 mA
Tensão de operação 6-24 Vdc
Peso 300 g
Quadro 5 - Características do motor 12 Vcc com caixa de redução
Fonte: Henrique (2013)
5.3 MONTAGEM DO PROTÓTIPO
Para a montagem da estrutura do protótipo, foram utilizadas placas de acrílico e barras
roscadas, os componentes do pêndulo foram dispostos através dessas placas. O giroscópio e
acelerômetro foram fixados na parte inferior do protótipo, o mais próximo possível do eixo de
rotação dos motores, para que não fosse necessário fazer compensações na leitura do ângulo
do pêndulo.
A placa de Arduino foi fixada na placa inferior do protótipo, o circuito de potência foi
fixado na placa superior e as baterias na parte inferior da última placa.
Figura 14 - Motor 12 VCC com caixa de redução
Fonte: Henrique (2013)
36
Foram utilizados cabos do tipo flat para melhorar a organização do circuito. O protótipo
possui duas baterias, uma de 9 VCC para a alimentação do Arduino e outra de 12V para a
alimentação do circuito de potência.
Foram utilizadas duas rodas de diâmetro de 120 milímetros encontradas em carrinhos de
compras, eles são relativamente leves e possui um perímetro que facilita o controle do
equilíbrio do pêndulo. Elas foram montadas paralelamente e diretamente fixadas nos motores
de corrente contínua.
5.4 CIRCUITO ELETRÔNICO
O circuito do pêndulo invertido foi dividido basicamente em duas partes, sendo eles o
circuito de potência e o circuito de comando, composto pelo Arduino, sensores e a bateria de
9V, o diagrama da Figura 15 apresenta com maiores detalhes o circuito completo do protótipo.
No circuito de potência, os motores foram ligados a saída do circuito da ponte H,
sendo ela comandada pelas saídas PWM do Arduino, a alimentação desse circuito é feito pela
bateria LIPO.
No circuito de comando, o giroscópio e acelerômetro MPU-6050 foram conectados
nos pinos de interface I2C do Arduino Mega. A alimentação do MPU-6050 é feita pelo pino
de alimentação 3,3VCC disponível no Arduino e os sinais dos eixos X, Y e Z foram
conectados nas entradas analógicas do Arduino. A bateria de 9 VCC fornece a alimentação ao
circuito.
O funcionamento do circuito consiste em adquirir os valores da inclinação do pêndulo
invertido e enviar os sinais ao Arduino, onde o mesmo faz a conversão dos valores lidos em
graus, o controle do equilíbrio do pêndulo usando o controlador PID e aciona as saídas PWM
do Arduino para controlar a velocidade dos motores.
37
Figura 15 - Diagrama elétrico do pêndulo invertido
Fonte: Autoria própria
5.5 PROGRAMAÇÃO
O controlador utilizado para realizar o controle do equilíbrio do pêndulo foi o Arduino.
Essa plataforma utiliza uma linguagem de programação própria, derivada da linguagem C.
Inicialmente, o programa foi dividido em partes, de maneira semelhante ao que foi feito no
circuito, para facilitar o seu desenvolvimento.
Foram criadas sub-rotinas para testar os componentes do protótipo, como o
38
acelerômetro e os motores com o objetivo de integrar essas funções dentro do programa
posteriormente.
Para o acionamento dos motores, foram utilizadas as saídas PWM do Arduino, essas
saídas estão com o símbolo ~ ao lado da numeração do pino correspondente. Essas saídas
PWM são digitais e, portanto, são utilizadas variáveis inteiras para realizar o controle de
velocidade dos motores de corrente contínua.
Para controlar a velocidade dos motores, não foi necessário criar uma sub-rotina para
cálculo de Duty-Cicle do PWM, pois o Arduino faz isso automaticamente, basta escrever um
valor inteiro para as saídas PWM do Arduino.
Para a leitura dos sinais dos sensores, foram utilizados pinos de interface I2C e a biblioteca
Wire.h para a comunicação com o MPU-6050. Além disso foi utilizada outra biblioteca, que é
específica para a comunicação Arduino com o Giroscópio MPU-6050. Foram criadas algumas
variáveis de teste para a leitura dos valores das coordenadas.
O acelerômetro e giroscópio MPU-6050 realiza a leitura dos valores de posição e
aceleração dos eixos X, Y e Z e armazena em endereços de memória. Para acessá-los foi
utilizada a sub-rotina readSensor(), essa sub-rotina não retorna nenhum valor para o programa,
apenas lê os valores que estão na memória do MPU-6050 utilizando o comando Wire.read()
da biblioteca Wire.h e escreve nas variáveis inteiras criadas para as posições e acelerações em
cada eixo, além dos valores dos eixos é possível até ler a temperatura medida pelo MPU-6050
no endereço 0x41. Para cada valor, são reservados 16 bits dentro da memória do acelerômetro,
conforme observa-se na Figura 16.
Figura 16 - Sub-rotina para a leitura do sensor.
Fonte: Autoria própria
39
As variáveis AcX, AcY e AcZ armazenam os valores de ângulo lidos pelo sensor e GyX,
GyY e GyZ armazenam os valores de aceleração em relação a cada eixo.
Foi utilizada a sub-rotina updateSensor() para calcular os valores de inclinação em relação
em cada eixo de coordenadas usando a média de dez medições, como é possível observar na
Figura 17.
Figura 17 - Função para calcular os valores de inclinação aos eixos de coordenadas
Fonte: Autoria própria
Após armazenados os valores das leituras feitas pelo sensor, é possível usá-los para
calcular o ângulo de inclinação, porém, existem alguns problemas característicos na utilização
do MPU-6050, não só nesse, mas também em quaisquer acelerômetros e giroscópios, que são
os ruídos e as imprecisões de medição do giroscópio e do acelerômetro. Para garantir a
precisão das medições feitas pelos sensores, é necessária a utilização de filtros. Existem várias
maneiras de filtrar os sinais do sensor, no caso deste trabalho foi escolhido utilizar o filtro
complementar pela sua relativa facilidade de utilização e sua eficiência.
No filtro complementar, é feita a combinação das leituras do acelerômetro e do giroscópio
utilizando o cálculo integral, a ação do filtro está descrita pela fórmula abaixo:
 ���� = 0,98 ∗ ��()�*+,��(*���ó.(� + 0,02 ∗ ��()�*+,�+����*ô��)*�
É importante notar que o valor da leitura do giroscópio foi convertido em um valor de
ângulo primeiramente para depois ser utilizado no cálculo do filtro, como é possível observar
na Figura 18.
40
O filtro complementar foi implementado através da função calculateAngle(), na qual
utiliza os valores de ângulo e velocidade angular para o cálculo da inclinação do pêndulo.
No final da sub-rotina, o resultado é armazenado na variável AnglePID, a qual é utilizada no
controlador PID do projeto.
Figura 18 - Sub-rotina para cálculo do ângulo de inclinação do pêndulo invertido
Fonte: Autoria própria
Após a aplicação do filtro complementar é possível constatar a diferença entre o sinal não
filtrado e o sinal filtrado, no gráfico da Figura 19. O sinal sem o filtro possui muitos ruídos,
acarretando na instabilidade do sistema, por consequência, a utilização do filtro complementar
foi crucial para a obtenção do equilíbrio do pêndulo.
O valor armazenado em AnglePID é utilizado no controlador PID como entrada do mesmo,
o valor do setpoint é comparado com aquele e então a diferença entre os dois, o erro, é
controlado pelo PID até que se chegue na estabilidade do sistema, abaixo, na Figura 20 é
mostrado o diagrama de blocos que representa o controlador PID desenvolvido para este
projeto.
Existem várias maneiras de calcular os coeficientes de um PID para a estabilidade, pode
ser calculando os pólos da função de transferência, tentativa e erro, etc.
No caso do projeto proposto, foi utilizado o método de Ziegler-Nichols para obter os
41
valores dos coeficientes do controlador PID.
Figura 19 - Gráfico comparativo sinal sem utilização de filtro versus sinal com utilização de filtro complementar
Fonte: Autoria própria
Figura 20 - Diagrama de blocos de um controlador PID
Fonte: Autoria própria
Este método consiste em estimar os coeficientes utilizando os tempos de resposta do
sistema, primeiramente são obtidos os valores do tempo de resposta a um impulso, depois, são
utilizadas as fórmulas para calcular os coeficientes, conforme a Tabela 1.
+-
PID PlantaSetpoint Erro
Saída do controlador
Feedbackdo sistema
42
Tabela 1 - Método de Ziegler-Nichols para malha fechada
Tipo de Controlador Kp Ti Td P 0,5Kcr ∞ 0
PI 0,45Kcr 0�*
1,2
0
PID 0,6Kcr 0,5Pcr 0,125 Pcr
Fonte: Autor (2017)
Nesse caso, foi utilizado o método para malha fechada, onde primeiramente são
encontrados o ganho e o tempo crítico do sistema, para isso, os tempos integral e derivativo
são colocados em 0 e em seguida, o ganho proporcional é aumentado gradativamente até que
se chegue em uma resposta oscilatória, obtendo assim o ganho crítico, após chegar no ganho
crítico ���, obtém-se os outros ganhos através da tabela, de acordo com o tipo de controlador
utilizado, para este projeto, foi utilizado o controlador do tipo PI. Logicamente com esses
parâmetros não se obtém o melhor desempenho do pêndulo, porém, chega-se a valores nos
quais se obtém parâmetros satisfatórios de overshoot e rise time.
Após o uso do método, foram obtidos os seguintes valores para o controlador:
Os coeficientes obtidos pela aplicação do método Ziegler-Nichols foram adicionados à
função PIDControl(float setpoint, float kp, float ki, float kd), como é possível observar na
Figura 21.
$2 = 8,5 $3 = 0,4
43
Figura 21 - Função do controlador PID
Fonte: Autoria própria
A função calcula o valor de saída do controlador PID de acordo com valor medido pelo
acelerômetro, essa saída é escrita para os pinos PWM do Arduino para então controlar o
pêndulo.
O valor de saída dessa função é um inteiro entre -255 e 255, como a saída PWM do
Arduino é de 8 bits, o valor de saída da função deve ser limitado entre esses valores, caso
contrário, ações inesperadas podem ocorrer com o pêndulo.
No loop principal foi utilizado uma base de tempo de 10 ms, essa base de tempo serve de
referência para todas as funções do programa, como a leitura da posição do pêndulo pelo
acelerômetro e a função do controlador PID.
44
6 RESULTADOS
Na Figura 22, está o protótipo do pêndulo invertido, tema deste trabalho. Com a
disposição dos componentes acima das placas de acrílico conforme projetado no protótipo
virtual:
Figura 22 - Protótipo pêndulo invertido
Fonte: Autoria Própria
O protótipo montado apresentou um resultado satisfatório. Permaneceu em equilíbrio
mesmo sujeito a distúrbios produzidos por agentes externos (movimentação manual, vento e
outros). Antes de chegar ao resultado esperado, foram encontrados alguns problemas relativos
a escolha dos componentes e na programação, que não foram observados anteriormente no
momento da elaboração do projeto, alterações nas características originais dos componentes
foram necessárias para o sucesso do trabalho, além da correção nas falhas de programação
que foram encontradas durante a implementação do controlador PID.
45
A alteração da relação de engrenagens obteve um resultado significativo para o
sucesso do sistema. Com a redução original onde conseguia-se 83 RPM, o sistema não
possuía condições de responder aos distúrbios, por causa do grande tempo de resposta para
esta condição. Após a alteração da redução, onde foi obtido uma rotação de 186 RPM nas
rodas, o tempo de resposta foi reduzido, conseguindo o sistema dessa forma, manter o
equilíbrio e ter resposta a distúrbios.
Outro problema encontrado durante o desenvolvimento do projeto, foi a instabilidade
do sistema durante a implantação do controlador PID no programa. O sistema tornava-se
instável de maneira repentina quando o PID agia e a inclinação do pêndulo passava de cerca
de 15°, com isso, os motores giravam de maneira aleatória e era impossível levantar
estimativas para fazer a correção dos coeficientes do controlador PID. Após a análise do
programa, foi percebido um erro de programação na sub-rotina que escreve o valor de saída
do PID para os pinos de saída do Arduino, a sub-rotina retornava um valor inteiro (16 bits)
para os pinos PWM do Arduino, sendo que os mesmos podem receber apenas uma variável de
8 bits, como consequência, para valores acima de 255, os 8 bits mais significativos eram
perdidos e então apenas os bits menos significativos eram escritos nos pinos, acarretando em
movimentos “aleatórios” do pêndulo. Para corrigir essa falha, foi utilizado a função
constrain(int1,int2), essa função limita os valores de uma variável para os valores dos
argumentos da função quando essa variável ultrapassar os valores do intervalo definido por
eles.
Como pode ser observado na Figura 23, temos o gráfico da resposta do pêndulo a
aplicação de um distúrbio, no caso rotação da estrutura sobre o eixo dos acionamentos.
47
7 CONCLUSÃO
Com a finalização da pesquisa teórica, a construção do protótipo e a programação do
software de controle, pode-se concluir quais foram os principais desafios para a execução
desse sistema, os pontos onde se pode melhorar e a capacidade comercial que o sistema de
pêndulo invertido possui.
O grande número de artigos e sistemas pertinentes ao tema que estão disponíveis,
facilitou a pesquisa teórica.
A seleção e aquisição dos componentes que compõem o hardware trouxeram alguns
desafios, isto devido ao fato que os itens comerciais disponíveis no mercado não atendiam as
especificações do sistema.
Um dos problemas que dificultaram a elaboração da ação de controle, foram as folgas
das engrenagens dos sistemas de transmissão utilizados, também soma-se a estas folgas os
escorregamentos dos motores de indução. Estes são os exemplos dos problemas mecânicos
encontrados. Acrescenta-se a estes os ruídos dos sinais dos sensores e o atraso das respostas
aos distúrbios do sistema, tendo assim um sistema instável. Somente após a utilização da
resposta ao impulso, e da inclusão de filtros no programa, o sistema adquire estabilidade.
Além disso, foi difícil conseguir componentes que atendessem as demandas do projeto
e realizar a interface entre os componentes dentro do programa. Para a resolução desses
problemas, foi necessária a alteração das características originais dos motores, conforme já foi
comentado anteriormente e as alterações nos programas com relação as falhas cometidas.
Como o protótipo manteve-se em equilíbrio, a resposta do sistema não convergiu para
a instabilidade e conhecimentos das disciplinas cursadas no curso superior de Tecnologia em
Mecatrônica Industrial foram utilizadas, pode-se dizer que os objetivos propostos para
execução deste trabalho foram alcançados.
48
7.1 SUGESTÕES PARA TRABALHOS FUTUROS Considerando que o sistema apresentou resultado satisfatório referente à condição de
manter o equilíbrio, o próximo passo é o desenvolvimento de um sistema para controle do
movimento do pêndulo de forma remota. Sistema que permita controlar o pêndulo, fazendo-o
movimentar para frente e para trás, realizar curvas e posteriormente ser capaz de subir e
descer superfícies inclinadas.
49
REFERÊNCIAS
Balanbot. “Balanbot best Arduino Self Balancing Robot.” Indiegogo. Disponível em: <https://www.indiegogo.com/projects/balanbot-best-arduino-self-balancing-robot-ever#/>. Acesso em: 23 jun 2017. Barrett's Projects. “Balancing Robot Arduino.” Barrett Projects. Disponível em: <https://barrettsprojects.wordpress.com/2014/03/11/balancing-robot-arduino/ > . Acesso em: 23 jun 2017. Chapman, Stephen J. Fundamentos de Máquinas Elétricas. Porto Alegre - RS: AHGH, 2013. Fattini, Dangelo e. Anatomia Basíca dos Sistemas Orgânicos. São Paulo: Novo Atheneu, 2000. French, Sally. “Bateria LIPO, O que você precisa saber.” Doctor Drone. Disponível em:< http://doctordrone.com.br/bateria-lipo-o-que-voce-precisa-saber/ >.Acesso em: 12 out 2017. Grasser, Felix. “JOE: A Mobile, Inverter Pendulum.” Citeseerx. Disponível em:. <http://citeseerx.ist.psu.edu/viewdoc/download>. Acesso em: 14 jun 2017. Grillo, Farlen. “Controlador FUZZY para pêndulo invertido.” Bd.Centro. IFF. Disponível em: <http://bd.centro.iff.edu.br/bitstream>. Acesso em: 14 jun 2017. Henrique, Rafael. “Micromotor DC com caixa de redução.” Neomotion. Disponível em: < http://www.neomotion.com.br/micromotor-dc/micromotor-dc-c-caixa-de-reducao/>. Acesso em: 15 out 2017). Molina, Marcelo. “Aprenda mais sobre as baterias Lipo.” Molrc. Disponível em: <http://www.molrc.com/?p=104 >. Acesso em: 10 nov. 2017. National Instruments. “Explicando a Teoria PID.” NI. Disponível em: <http://www.ni.com/white-paper/3782/pt/>. Acesso em: 14 nov 2016. Oficina, Pontociência. “Ponto ciência.” Conhecendo o interior da bateria 9 V. Disponível em: <http://pontociencia.org.br/experimentos/visualizar/conhecendo-o-interior-da-bateria-de-9v/372> . Acesso em: 15 nov. 2017.
50
Ogata, K. Engenharia de controle moderno. Rio de Janeiro: Prentice-Hal, 2000. Sant'ana, Pedro Henrique. “Pêndulo invertido autocontrolado.” Unifieo. Disponível em: <https:// www.unifieo.br/files/0805egcpr.pdf/ > . Acesso em: 02 nov. 2017. Santos, Josué. “Você sabe a diferença entre pilhas e baterias.” Tecwhite. Disponível em:. <http://www.tecwhite.net/2013/05/voce-sabe-diferenca-entre-pilhas-e-bateria.html>. Acesso em: 15 nov. 2017. STMicroeletronics. “Datasheets: Robotics. L298_H_Bridge.” Sparkfun. Disponível em: <https://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf>. Acesso em: 15 agos, 2017. Thomsen, Adilson. Motor DC com Driver ponte H L298N. Disponível em: <https://www.filipeflop.com/blog/motor-dc-arduino-ponte-h-l298n/>. Acesso em: 15 nov. 2017.
Top Related