Академический Документы
Профессиональный Документы
Культура Документы
Ana Lcia Hernandes Nawate, Felipe Sachi Patricio, Kaio Alexandre Passos
Maia, Lucas Gabriel Melo Nunes, Paloma Vieira dos Santos e Rafael Masayuki
Mizumura
Universidade Federal do ABC
Av. dos Estados, 5001 - Bang, Santo Andr - SP, 09210-580
Abstract
Currently, automated control systems are widely found in all industry sectors,
assuming a progressively important role in the development of modern civili-
zation and technology. Concerning the advancement of technologies and kno-
wledge related to automatic control, the problem of the inverted pendulum is
one of the most difficult problem to work with, which is an absolutely unsta-
ble mechanical process and has have only one degree of freedom. The main
objective of this article is the use of a LEGO Mindstorms kit for the creation
of a robot that balances an inverted pendulum. The car was developed using
the four bigger tires, two motors and reinforcing the axles of the bottom part.
The NXT was centrally positioned and horizontally aligned. The car movement
was restricted in just one direction, according to the pendulum movement. The
weight and height of the pendulum were defined to guarantee that the move-
ment occurs in just one direction and the angles variation does not drastically
change, respectively. The communication between the MPUs gyroscope and
NXT was made directly, giving the pendulum inclination value without needing
the Arduino computer. In this system, the input is the pendulum inclination
given by the gyroscope, upon that the PD controller is applied changing the pro-
portional and derivative values until the system gets the maximum pendulums
stability. The proportional and derivative values have being reduced to control
Resumo
2
clinao e tambm foram feitas algumas adaptaes no cdigo para evitar que
a referncia zero com a vertical fosse alterada durante a execuo do programa.
O melhor cenrio de equilbrio atingido pelo pndulo ocorreu para os valores
de angle speed0 = 21, KP = 2.1 e KD = 1.6. Este trabalho no obteve
sucesso na tentativa de manter o pndulo estvel na vertical, mas foi possvel
mant-lo por poucos segundos equilibrado, pois logo em seguida o sistema se
desequilibrava de maneira irrecupervel precisando de um auxlio manual para
que o controle tornasse a tentar equilibr-lo novamente.
Keywords: Controle Pndulo Invertido Kit LEGO MPU NXT
1. Introduo
3
2. Reviso Bibliogrfica
2.1. Controlador PD
4
E(t) a partir do clculo da diferena entre um ponto de referncia R(t) , determi-
nado pelo programa utilizado, e o valor real medido Y(t) . Esta posio de sada
Y(t) , medida pelo codificador interno, retorna como entrada no controlador para
50 o clculo do erro, caracterizando assim um sistema de malha fechada [4] [5].
O controlador PD tende a ser muito sensvel a rudos no erro de entrada.
Se uma oscilao causada por rudo causar uma derivada muito elevada, esta
oscilao pode tornar o sistema instvel. Os valores das constantes do controla-
dor podem ser calculados utilizando vrios mtodos e podem ser escritos como
55 indicado na Equao 1:
dE(t)
U(t) = Kp E(t)) (1)
dx
2.3. MPU
MPU-6050 um sensor que contm em um nico chip um acelermetro e
um giroscpio tipo MEMS, como mostrado na Figura 2. So 3 eixos para o
70 acelermetro e 3 eixos para o giroscpio, sendo ao todo 6 graus de liberdade
(6DOF). ideal para projetos em que precisa saber com exatido o ngulo
de inclinao do sensor nos 3 eixos. Possui alta preciso devido ao conversor
analgico digital de 16-bits para cada canal. Portanto, o sensor capta os canais
X, Y e Z ao mesmo tempo [7].
5
Figura 1: Representao do kit LEGO Mindstorms.
75 3. Objetivos
6
de controle e na aplicao de diversas reas da engenharia.
80 4. Metodologia
7
suficiente para compensar. Assim, definiu-se um comprimento na faixa de 30 a
40 cm como ideal, sendo este compatvel com a estrutura do carrinho.
110 Uma vez montada a estrutura, o prximo passo foi estabelecer comunica-
o entre o giroscpio do MPU e o NXT, de modo que ele pudesse receber um
estmulo externo e responder a ele de maneira autnoma. Neste caso, espe-
cificamente, a inclinao do pndulo seria o referido estmulo, ou varivel de
controle.
115 Considerando-se que a placa MPU 6050 possui os sensores acelermetro e
giroscpio e que ela projetada para comunicar-se com o arduino (placa mi-
crocontroladora), optou-se por fazer algumas modificaes nesta placa de modo
que ela se comunicasse diretamente ao NXT, fornecendo os valores de inclina-
o do pndulo sem necessitar do arduino. Em consonncia a isto, o seguinte
120 procedimento foi realizado:
i. arrancou-se os dois resistores de 2 k do MPU;
ii. utilizando-se a placa Pcb, colocou-se os dois resistores de 33 k em srie
com o diodo;
iii. utilizou-se fios para conexo da placa s vias VCC, SDA, SCL e GND
125 do MPU;
iv. adaptou-se um cabo de rede RJ45 com 8 vias para um de seis vias,
cortando-o para deix-lo com cerca de 50 cm de comprimento e, em seguida,
crimpando-o em uma das extremidades com conector igual ao de um cabo RJ12;
v. o conector do cabo foi lixado e adaptado de modo que fosse possvel
130 encaix-lo na entrada de sensor 2 do NXT;
vi. o NXT foi conectado a placa atravs do cabo de seis vias adaptado;
vii. verificou-se com o multmetro se o circuito estava fechado, desde as vias
do giroscpio at as vias do conector do cabo adaptado e,
viii. soldou-se os componentes e as vias dos cabos de conexo na placa Pcb.
135 A Figura 3, a seguir, ilustra a adaptao externa e as conexes estabelecidas
entre NXT, Placa Pcb e MPU.
Aps serem realizadas as adaptaes para estabelecer a comunicao, prendeu-
se o MPU na parte superior e a placa Pcb a meia altura do brao do pndulo.
8
Figura 3: Adaptao do MPU.
9
145 NumOut para print-lo na tela do NXT. Sobre esta varivel foi aplicado o con-
trole PD, alterando-se os valores dos ganhos proporcional e derivativo at que
se obtivesse mxima estabilidade do pndulo na direo vertical. Inicialmente
testou-se o programa com valores altos: KP=10 e KD=10, alm disso, utilizou-
se a deriva do giroscpio como -18 (angle speed0 = 18), porm observou-se que
150 o carrinho ficava instvel, balanando, desviando da posio inicial estabelecida
para o equilbrio da haste (ngulo zero em relao vertical). Esta posio de
referncia variava, ou seja, o controle j no sabia qual era a posio vertical
fazendo com que o carrinho permanecesse em movimento tentando equilibrar a
haste numa direo errnea. Foi-se diminuindo os valores dos ganhos propor-
155 cional e derivativo para controle da inclinao e tambm foram feitas algumas
adaptaes no cdigo para evitar que a referncia zero com a vertical fosse alte-
rada durante a execuo do programa. A ao de controle PD executada pode
ser representada de maneira simplificada pelo diagrama a seguir, conforme a
Figura 5.
160 O melhor cenrio de equilbrio atingido pelo pndulo ocorreu para os valores
de angle speed0 = 21, KP = 2.1 e KD = 1.6. A seguir nas Figuras 6, 7 e 8
apresentado o programa final implementado para equilibrar o pndulo, cujas
explicaes mais relevantes para seu entendimento esto inseridas no prprio
cdigo.
10
Figura 6: Cdigo utilizado para o controle.
11
Figura 7: Cdigo utilizado para o controle.
12
Figura 8: Cdigo utilizado para o controle.
165 5. Concluso
13
vii. Na confeco do circuito, encontrou-se dificuldades quanto a soldagem
dos componentes, o que foi solucionado com o aperfeioamento da tcnica;
190 viii. A comunicao entre os elementos e componentes do carrinho foi muito
trabalhada e testada, pois a comunicao direta entre MPU e o NXT no foi,
no incio, facilmente compreendida e controlada;
ix. Um ltimo desafio enfrentado, foi a utilizao da linguagem LaTeX para a
preparao deste artigo, o que demandou tempo dos integrantes para aprend-la
195 e domin-la.
Referncias
14
[2] A. Muralikrishna, Implementao de um controlador pid para aplicao no
modelo do pndulo invertido em uma base mvel.
URL http://www.netsoft.inf.br/aulas/7_EAC_Sistemas_
220 Realimentados/PID_pendulo_invertido.pdf
15