Professional Documents
Culture Documents
Vitoria da Conquista
Julho de 2011
IGOR FERREIRA DO PRADO
Orientador:
Dr. Jorge Ricardo de Araujo Kaschny
Vitoria da Conquista
Julho de 2011
i
Agradecimentos
A professora Dra. Jossana Maria de Souza Ferreira, pelo incentivo inicial ao desen-
volvimento de pesquisa.
Agradecer aos meus pais (Ceclia e Manoel) e minha irma (Danielle), por terem me
oferecido oportunidades de conhecimento e afeto. A minha companheira Barbara pela
compreensao por varios momentos dedicados ao desenvolvimento desse trabalho.
Aos meus amigos Adna Lute, Jean Pacheco, Nara Cunha, Raissa Oliveira, Thiago
Maciel e Vincius Dutra, pelo suporte, bem como nos comentarios de incentivo e interesse
pelo trabalho, e em especial a Angelo Cesar e Joao Gualberto que me estimularam a
terminar o projeto com empenho e energia.
ii
Resumo
Abstract
Sumario
Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. vi
Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. ix
1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 1
2 SISTEMAS PENDULARES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 3
3 MODELAGEM MATEMATICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 6
5 CARACTERIZACAO DO SISTEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
6 TEORIA DE CONTROLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28
7 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 43
8 CONCLUSAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 47
REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 48
APENDICE A -- DEMOSTRACAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50
Lista de Figuras
Figura 3 Deformacao padrao de uma estrutura (a) sem isolamento de base e (b) com
isolamento de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figura 11 Ponte H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figura 15 (a) Motor unipolar de meio passo, (b) Motor Unipolar de passo inteiro. . 19
Lista de Tabelas
1 INTRODUCAO
A maioria dos sistemas encontrados na pratica, quer sejam sistemas naturais quer
sejam de natureza tecnica, sao via de regra instaveis. O estudo e a implementacao de
tecnicas de controle sao utilizadas para otimizar o uso desses sistemas, tornando-os mais
confiaveis, robustos e eficientes.
Em linhas gerais, o sistema pendulo invertido consiste de uma haste vertical livre
para se movimentar em torno de um ponto em sua extremidade inferior. Este ponto e fixo
em uma plataforma que pode mover-se unidirecionalmente com o auxilio de um pequeno
motor. Uma vez posto na vertical, a haste tende a cair para um lado ou para o outro
caracterizando assim um sistema instavel. Entao dependendo do sentido de deslocamento
da plataforma e possvel exercer uma forca que tende a contrabalancar o movimento
de queda da haste. Aqui, a ideia principal e utilizar um controlador para fazer com
que a haste fique em equilbrio na posicao vertical, sendo a posicao angular da mesma
monitorada via um potenciometro.
1 INTRODUCAO 2
2 SISTEMAS PENDULARES
Fonte:http://pt.wikipedia.org/wiki/Ficheiro:Pendulo.png
Existem inumeros pendulos estudados por fsicos, alguns deles sao os pendulos fsicos,
de torcao, conicos, de Foucalt, de Karter e invertidos.
Como tema principal do trabalho em questao, o pendulo invertido, por ser intrinse-
camente instavel, desperta grande interesse de varios pesquisadores.
Figura 3: Deformacao padrao de uma estrutura (a) sem isolamento de base e (b) com
isolamento de base
Modelos biomecanicos do modo de caminhar dos seres humanos tem muitas aplicacoes
em areas como esportes, fabricacao de calcados, robotica e principalmente em proteses
de parte do corpo humano. Pesquisadores desenvolveram estudos relacionados a um
sistema minimizador de energia na caminhada propondo uma modelagem de um sistema
de pendulo invertido. Para a caminhada durante um ciclo de passada o centro de massa
perde velocidade ao ganhar altura e vice-versa. Em contraste, a corrida e caracterizada
como um sistema massa mola, a energia elastica e adicionada na troca entre as energias
cinetica e potencial (BALBINOT, 2009), como pode ser visto na Figura 4.
3 MODELAGEM MATEMATICA
Fonte: Propria
3.1 MODELAGEM FISICA PENDULO INVERTIDO 7
XG = x + l sin() (3.1)
XG = x + l cos(). (3.2)
YG = l cos() (3.4)
YG = l sin(). (3.5)
X
Fx = mXG (3.7)
X
Fy = m.YG (3.9)
X
MG = I + BR . (3.11)
4 2
ml (t) + BR (t) mgl(t) = mlx(t) (3.14)
3
3BR 3g 3
(t) + 2
(t) (t) = x (3.15)
4ml 4l 4l
3BR
2n = (3.16)
4ml2
3g
n2 = (3.17)
4l
3
Khaste = (3.18)
4l
(s) Kp s2
= 2 (3.20)
X(s) s + 2n s n2
Para que o sistema modelado seja o mais fiel possvel ao modelo real, aqui utiliza-se
uma abordagem fsica do sistema pendulo simples que sera utilizado para a estimacao dos
parametros do pendulo invertido, uma vez que ambos apresentam caractersticas seme-
lhantes. Como mostrado na Figura 6, onde similarmente a Figura 5, serao equacionadas
as expressoes matematicas que regem seu movimento.
Fonte: Propria
3.2 MODELAGEM DO PENDULO SIMPLES 10
YG = Y l cos() (3.21)
YG = Y + l sin(). (3.22)
XG = X l sin() (3.24)
XG = X l cos(). (3.25)
X
MG = I + BR () (3.29)
FY l sin() + FX cos() = I + BR () (3.30)
3BR 3g
+ + =0 (3.32)
4ml2 4l
Substituindo os termos:
3BR
2n =
4ml2
3g
2 =
4l
Obtem-se:
Atraves da equacao:
p
d = n 1 2 (3.34)
Em geral (t) apresenta uma resposta senoidal de frequencia (wd /2) amortecida com
uma envoltoria exponencial en t . Que tem como expressao geral:
Fonte: Propria
4.1 PROJETO MECANICO 13
Inicialmente buscou-se uma montagem que fosse de construcao simples, facil com custo
acessvel, logo optou-se pela implementacao ilustrada na Figura 7a, referente a montagem
sobre o carrinho. Tal montagem foi realizada com a utilizacao de madeira MDF para a
base do carrinho e para a haste do pendulo, os eixos foram confeccionados de material
metalico e foram utilizadas rodas de skate para a locomocao, como mostrado na Figura
8.
Fonte: Propria
Fonte: Propria
Fonte: Propria
Diante do que foi exposto sobre a montagem do tipo carrinho, o circuito projetado
para este dispositivo foi utilizado para acionamento do sistema locomotor do pendulo, ou
seja, foi apenas projetado um circuito de acionamento de um motor de corrente contnua
atraves da utilizacao de uma ponte H.
Este circuito tem o papel de controlar um motor DC a partir de sinais gerados por um
microcontrolador ou sinais de baixa potencia. Devido a disposicao dos seus componen-
tes, torna-se extremamente facil selecionar o sentido da rotacao de um motor. Tal acao
pode ser feita utilizando-se quatro transistores devidamente arranjados formando a letra
Hcomo ilustrado na Figura 11.
4.2 PROJETO ELETRICO 16
Fonte: Propria
Fonte: Propria
O motor de passo utilizado possue 2 bobinas com 6 fios. Cada bobina consiste de
um enrolamento com derivacao central chamado de center-tape. O center-tape, tem
4.2 PROJETO ELETRICO 18
como funcao alimentar o motor, enquanto que os terminais quando aterrados, efetuam o
controle do movimento. Ao submeter uma das bobinas a uma tensao, o campo magnetico
induzido no estador, provoca um movimento de rotacao no rotor de motor ate atingir um
determinado ponto de equilbrio. Este movimento e possvel pois as bobinas do motor
sao isoladas umas das outras. Entao, ao aplicar-se uma tensao nas bobinas, o campo
magnetico e invertido sem a necessidade de se inverter o sentido da corrente para efetuar
a rotacao no eixo do motor.(QUEIROZ, 2002)
Para tal acionamento do motor de passo e necessario saber qual a sequencia correta
que deve-se aterrar os terminais para fazer o motor girar continuamente, ou seja, saber
qual a ordem correta dos fios que a corrente fluira para produzir um campo magnetico
que atraira o rotor do motor para que ele gire em sequencia.
Fonte: www.eleccircuit.com
Nota-se que os pinos D0 ao D3 da Figura 14, sao responsaveis pela transmissao dos
sinais de acionamento do motor de passo, como descrito acima, estes precisao ser acionados
na sequencia correta para girar o motor. Sendo assim para gerar tais sinais de forma
correta com frequencias de ate 1kHz utilizamos um circuito microcontrolado.
Figura 15: (a) Motor unipolar de meio passo, (b) Motor Unipolar de passo inteiro.
Memoria RAM (memoria de acesso aleatorio) onde ele pode armazenar variaveis;
Caractersticas do ATmega8:
3 canais PWM;
Interface para dois fios orientada a byte, compatvel com o protocolo I2C;
1
Firmware e o conjunto de instrucoes operacionais programadas diretamente no hardware de um
equipamento eletronico
2
MIPS - Milhoes de instrucoes por segundo
4.3 SISTEMA DE CONTROLE MICROCONTROLADO 21
1 comparador analogico.
Fonte: ATMEL
USB baseada no chip FT232R fabricado pela FTDI e implementado pela TATO em um
kit de montagem compacta e de facil acesso, tal etapa foi realizada no ano de 2009, em um
projeto de iniciacao cientfica denominado Desenvolvimento de Sistemas Dedicados ao
Controle e Aquisicao de Dados(PRADO, I.F., KASCHNY, J. R. A.,2009). O diagrama
esquematico deste gravador e mostrado na Figura 17 juntamente com uma foto de sua
montagem.
Figura 17: Programador AVR-910-USB.
As vantagens de tal programador sao muitas, entre elas destacamos a rapidez do pro-
cesso de gravacao/leitura e o fato de dispensar alimentacao externa. Adicionalmente cabe
mencionar que, para o desenvolvimento dos programas que serao gravados nos microcon-
troladores (firmware), empregamos a plataforma, BASCOM AVR (versao 1.11.8.3), que
possibilita tais implementacoes usando uma variante da linguagem Basic.
formas, serial e USB. No presente momento optamos por utilizar a comunicacao USB,
pois fornece maior versatilidade e atualmente esta disponvel em todos os computadores.
Fonte: Propria
24
5 CARACTERIZACAO DO SISTEMA
Segundo RIBEIRO (2007), um ensaio pode ser realizado para estimar os parametros do
modelo necessarios ao controle do sistema. Com tal objetivo o conjunto do compartimento
de cartucho foi removido da impressora posicionando assim o pendulo invertido de cabeca
para baixo sobre a borda de um suporte, de forma que o mesmo se movimente como
um pendulo simples. Os ensaios foram realizados posicionando-se a haste na posicao de
180 (ver Figura 19), soltando-a fora da posicao de equilbrio, para que pudesse realizar
o movimento oscilatorio caracterstico de um pendulo simples.
Fonte: Propria
5.1 PENDULO INVERTIDO 25
O sinal gerado pelo potenciometro, utilizado como elemento sensor de posicao angu-
lar, foi adquirido com o auxlio do circuito microcontrolado, sendo os resultados obtidos
tracados na Figura 20. Para tal foi necessario a implementacao de um programa especfico
para a aquisicao e transmissao dos dados para o computador, o firmware em questao esta
detalhado no APENDICE B.
De posse destes dados pode-se facilmente tracar o grafico abaixo, referente ao movi-
mento real da haste do pendulo.
Fonte: Propria
5.2 MOTOR DE PASSO 26
De posse dos dados obtidos no ensaio pode-se calcular os parametros do modelo real,
para tanto foi desenvolvido um programa em ambiente MATLAB, o qual registra os picos
maximos do sinal resultante do ensaio para processamento das informacoes obtidas, e
identifica os parametros:
: Coeficiente de amortecimento;
en t = e0,296 (5.1)
n = 6.98[rad/s]
= 0, 0424
(s) 5s2
= 2 (5.2)
X(s) s + 0.592s 48, 72
Como explicado no Capitulo 3, o motor de passo apresenta alta taxa de precisao, para
verificar essa caracterstica foi realizado um ensaio em que foi selecionada a frequencia
de chaveamento e o tempo de funcionamento do motor, ao final com auxlio de uma fita
metrica, verificou-se o deslocamento, conferindo com o resultado teorico.
De acordo com o Datasheet do motor de passo, cada passo equivale a 1.8, logo para
se ter uma volta completa sao necessarios 200 passos. Uma volta completa equivale a
circunferencia da engrenagem do motor que tem o valor de 4.2 cm.
Fonte: Propria
6 TEORIA DE CONTROLE
Fonte: Propria
Fonte: Propria
Fonte: Propria
No caso particular do controlador PID, a lei de controle descrita pelo bloco do con-
trolador e composta de tres termos, representados na Equacao 6.1.
Cada um dos termos da equacao 6.1 representam individualmente cada um dos tipos
de acoes do controlador. Em nvel de blocos, o controlador PID apresentado na Figura
24, pode ser representado conforme a Figura 25.
blocos sao dados pelas Equacoes 6.2, 6.3 e 6.4 mostradas abaixo.
Z t
ui (t) = Ki e(t)dt (6.3)
0
de(t)
ud (t) = Kd (6.4)
dt
A Figura 26 mostra a relacao entre o sinal de erro e a acao de controle gerada pelo
modo de controle proporcional. Excluda a faixa de saturacao da variavel manipulada
(sinal de erro fora da banda proporcional), cada valor de erro tem um unico valor corres-
pondente de acao de controle e vice-versa.
Como o ganho do controlador e dado pela inclinacao da reta sobre a banda proporci-
6.2 CONTROLE PID 32
onal percentual (BP), a relacao entre ambos e dada pela Equacao 6.5. Esta representacao
e generica para o caso onde a sada do controlador varia entre 0 e 100%. (FACCIN, 2004)
100
BP = (6.5)
Kp
Neste caso, o controlador age apenas com um amplificador com um ganho constante,
logo, quanto maior o erro maior sera a acao de controle gerada. Assim, ele prove um
rapido ajuste da variavel manipulada, tornando mais rapida a dinamica do processo.
A desvantagem deste tipo de controle e que ele apresenta um erro em regime perma-
nente, esse erro diminui com o aumento do ganho proporcional Kp , com base na Equacao
6.5, porem isto diminui a faixa correspondente a banda proporcional, tornando o contro-
lador mais oscilatorio (sujeito a oscilacoes).
Como pode ser observado na Figura 27, e segundo a Equacao 6.5, quanto maior o valor
de Kp menor a faixa da banda proporcional (BP), e mais oscilatorio o sistema ficara. Na
Figura 27A, com um ganho menor existe uma ampla faixa da banda proporcional, sendo
assim o este sistema e mais lento para atingir a estabilidade abaixo do set point desejado.
Com o aumento de Kp a banda proporcional tende a diminuir fazendo com que o sistema
alcance o set point mais rapido, porem o sistema tende a ficar mais oscilatorio como pode
ser observado na Figura 27C.
Esta equacao mostra que a acao de controle depende do historico do erro, desde
que o processo de integracao foi iniciado (t = 0) ate o instante atual. A acao integral
tambem pode ser vista como um mecanismo que atualiza automaticamente o valor base
do controlador com acao proporcional.
A acao integral nao e, isoladamente, uma tecnica de controle, pois nao pode ser
empregado em separado a uma acao proporcional, pois tal acao visa eliminar o desvio
caracterstico de um controle puramente proporcional.
Nota-se que o modo derivativo somente age quando ha variacao do erro no tempo,
ou seja, se o erro for constante, mesmo que grande, nao ha acao corretiva. Por isso, este
modo nao e utilizado sozinho, mas associado com outros modos de controle.
Assim como a acao integral, o derivativo so pode ser empregado junto a uma acao
proporcional.
Neste trabalho sera implementada uma malha de controle real para o sistema pendulo
invertido utilizando um controlador PID. Tal controlador une as tres tecnicas explicadas
nas secoes anteriores que sao:
A seguir sao detalhados alguns ndices de qualidade classicos, muito dos quais serao
utilizados no projeto dos parametros.
Criterios de desempenho:
Tempo de subida (tr ): tempo requerido para que a resposta passe de 0% a 100%
do valor final (OGATA, 2003).
Tempo de pico (tp ): tempo para que a resposta atinja o primeiro pico de sobre-
sinal.
Tempo de atraso (ta ): tempo requerido para que a resposta alcance 50% de seu
valor final pela primeira vez (OGATA, 2003).
6.3 SINTONIA DE CONTROLADORES PID 37
Normalmente o ajuste fino e manual, e feito pelo metodo de tentativa e erro, aplicando
uma alteracao em um dos parametros do PID e verificando o desempenho do sistema,
ate que o desempenho desejado seja obtido. Para tal e desejavel que o operador tenha
conhecimento do efeito de cada um dos parametros, sobre o desempenho do controle, alem
de experiencia em diferentes processos.
1
G(s) = Kp (1 + + td s) (6.6)
ti s
Onde:
Kp
Ki =
ti
Kd = Kp .td
6.3 SINTONIA DE CONTROLADORES PID 38
Aqui optou-se por utilizar uma tecnica de sintonia dos parametros do controlador
PID, que relevasse principalmente a resposta a um entrada brusca de um sinal (degrau
unitario). Utilizando os parametros de desempenho como o tempo de acomodacao (ts ),
tempo de pico (tp ) e o coeficiente de amortecimento (), para se calcular os ganhos do
controlador.
C(s) n2
= 2 (6.7)
R(s) s + 2n s + n2
C(s) n2
= (6.8)
R(s) (s + n + jd )(s + n jd )
p
d = n 1 2 (6.9)
n2 1
C(s) = 2 2
(6.10)
s + 2n s + n s
p
en t 1 2
c(t) = 1 p sin(d t + tan1 ) (6.11)
1 2
O valor do erro para esse sistema e a diferenca entre a entrada e a sada, como
6.3 SINTONIA DE CONTROLADORES PID 39
mostrado abaixo.
p
en t 1 2
e(t) = p sin(d t + tan1 ) (6.13)
1 2
A Figura 31, mostra uma famlia de curvas c(t) como resposta ao degrau unitario para
diversos valores de .
Figura 31: Curvas de resposta ao degrau unitario do sistema generico de segunda ordem.
A partir da Figura 31, nota-se que um sistema subamortecido com que varia entre
0.5 e 0.8 se aproxima mais rapidamente do valor final do que um sistema criticamente
amortecido ou superamortecido. Logo propomos o projeto do controlador de forma a
resultar em um sistema subamortecido.
Para o sistema da Equacao 6.7 com razes expressas por (6.14), existe uma relacao
entre o maximo pico e o fator de amortecimento (), dado pela Equacao 6.15 ou pela
Equacao 6.16, e junto com a frequencia natural de oscilacao (n ) ha uma relacao tambem
6.3 SINTONIA DE CONTROLADORES PID 40
p
s1,2 = n jn 1 2 (6.14)
Mp = e 1 2 (6.15)
s
ln2 (Mp )
= (6.16)
2 + ln2 (Mp )
4
ts = (6.17)
n
Mp = 0.08
ts = 0.2
= 0.6266 (6.18)
n = 31.92[rad/s] (6.19)
Substituindo os valores das expressoes 6.18 e 6.19, na Equacao das razes 6.14, tem-se:
Agora utilizando o metodo com base no lugar das razes definido por PHILLIPS
e HARBOR (1991), as equacoes 6.21, 6.22 e 6.23, sao usadas para calcular os ganhos
tpicos de um controlador PID quando conhecida ou estimada a funcao de transferencia
do processo a ser controlado.
6.3 SINTONIA DE CONTROLADORES PID 41
1
Kx lim sn G(s)H(s) = (6.21)
s0 ess
sin(G(s1 )H(s1 )) Ki
Kd = + (6.23)
|s1 ||G(s1 )H(s1 )| sin(s1 ) |s1 |2
Para que se possa efetuar o calculo, um dos tres parametros do controlador precisa ser
estimado ou adotado (PHILLIPS; HARBOR, 1991). Apos alguns experimentos praticos
e utilizacao de algumas regras de sintonia manual foi selecionado o valor para o ganho
integral:
Ki = 1000 (6.24)
De posse deste valor e do valor da raiz s1 , pode-se facilmente substituir nas Equacoes
6.22 e 6.23 para encontrar os valores:
Kp = 2424.7 (6.25)
Kd = 898.9039 (6.26)
Com o auxlio do programa MATLAB, foi realizada uma rotina para os calculos dos
parametros Kp e Ki e para o fornecimento do novo diagrama do lugar das razes (Figura
32), sendo apresentada no APENDICE D.
6.3 SINTONIA DE CONTROLADORES PID 42
Fonte: Propria
43
7 RESULTADOS
Desse grafico pode-se perceber que, quando uma entrada em degrau unitario e forne-
cida, o carro tende a se mover primeiro na direcao oposta aquela da entrada por um curto
perodo e, em seguida, move-se na direcao da entrada.
Fonte: Propria
Fonte: Propria
7 RESULTADOS 45
Fonte: Propria
Analisando os graficos das Figuras 33, 34 e 35, nota-se que os criterios de estabilidade,
tempo de acomodacao e taxa de maximo sobre sinal que foram projetados, sao realmente
encontrados no sistema projetado. Sendo assim esses graficos demonstram a eficiencia do
sistema de controle projetado.
Nota-se ainda que o sistema de controle atua sobre o carrinho (motor), que atraves
do sentido, velocidade e aceleracao, e momento de inercia da haste, exerce uma forca
resultante contraria ao movimento de queda, fazendo assim que a mesma fique na
posicao vertical.
motor de passos, para tanto ja seria necessario uma etapa de usinagem de pecas para o
acoplamento do motor CC a planta projetada, alem de uma modificacao no firmware para
a implementacao de um sistema PWM (Pulse-width modulation) para o acionamento do
motor.
1
Latencia: e a diferenca gerada entre o tempo de conversao do sinal analogico e o tempo de execucao
do programa. Ou e a diferenca de tempo entre o incio de um evento e o momento em que seus efeitos
tornam-se perceptveis.
47
8 CONCLUSAO
REFERENCIAS
ASTRON, K. J.; HAGGLUND, T. PID Control, The Control Handbook, IEEE Press,
1996.
OGATA, K. Engenharia de Controle Moderno. 4 edicao. ed. Sao Paulo: [s.n.], 2003.
PHILLIPS, R.; HARBOR, D. Feedback Control Systems. [S.l.]: Prentice Hall, 1991.
APENDICE A -- DEMOSTRACAO
O momento de inercia da haste sera a soma dos momentos de inercia de cada elemento
da haste.
Fonte: Propria
L x dx
= (A.1)
M m dm
Z Z L
I= dI = x2 dm (A.2)
0
Z L
M
I= x2 dx (A.3)
0 L
A.1 MOMENTO DE INERCIA 51
M x3 L
I= | (A.4)
L 3 0
1
I = M L2 (A.5)
3
52
10 $ r e g f i l e = m8def.dat
11 $ c r y s t a l = 7372800
12 $ baud = 115200
13 $ hwstack = 32
14 $ s w s t a c k = 16
15 $ f r a m e s i z e = 32
16
17 C o n f i g P o r t d . 2 = Output
18 C o n f i g Portb = Output
19
20 't e s t e LED
21 Portd.2 = 1
22 Wait 1
23 Portd.2 = 0
24 '
25
28 Dim C As Word
29 Dim A As I n t e g e r
30
31 S t a r t Adc
APENDICE B -- FIRMWARE ATMEGA8 53
32
33 A = 0
34 Do
35 Waitms 1
36 C = Getadc ( 1 )
37 Print C
38 A = A + 1
39 Print A
40 Loop U n t i l A = 1000
41 End
54
8 %%%%%%%%%%%%%%%%%%%%%%%PROGRAMA GERAL%%%%%%%%%%%%%%%%%%%%%%%%%%%
9
10 %
11 % a r q u i v o com o s dados da medicao do movimento da h a s t e do pendulo
12 % i n v e r t i d o . E s s a s m e d i c o e s foram r e a l i z a d a s a t r a v e s do ADC de 10 b i t s do
13 % ATMEGA8 com i n t e r v a l o de medicao de 10 ms. t o t a l i z a n d o 201 medidas
14
24 %
25
28 y ( 1 )=a ( 1 ) ;
29 y ( 2 ) =634;
30 y ( 3 ) =509;
31
APENDICE C -- PROGRAMA GERAL MATLAB 55
32 ganho = y ( 1 ) ;
33 %
34
39 ganho=y ( 1 ) ;
40 %
41 % C a l c u l o do melhor c o e f i c i e n t e da f u n c a o do pendulo s i m p l e s
42
43 otimo =0;
44 e r r =105;
45 x = (1: length (y) ) ';
46 f o r c t e=1. 2 5 : 0 . 0 0 1 : 10 . 1 0
47 g=exp ( c t e * ( x1) ) ;
48
49 f o r i =1: l e n g t h ( g )
50 g ( i )=g ( i ) * ganho ;
51 end
52 e r r o =0;
53
54 f o r i =1: l e n g t h ( g )
55 e r r o = ( y ( i )g ( i ) ) 2 + e r r o ;
56 end
57
66 g=exp ( m e l h o r c t e * ( x1) ) ;
67
68 f o r i =1: l e n g t h ( g )
69 g ( i )=g ( i ) * ganho ;
70 end
71
72 figure
73 hold
74 plot (y)
APENDICE C -- PROGRAMA GERAL MATLAB 56
75
81 %D e f i n i c a o dos p a r a m e t r o s
82 wn = ( 2 * p i ) /0 . 9 0 %parametro o b t i d o a t r a v e s da curva [ rd ]
83 %o s c i l a c a o n a t u r a l do s i s t e m a
84 x i = abs ( m e l h o r c t e ) /wn %c o n s t a n t e de amortecimento
85 l = 0 .15 %metade do comprimento da h a s t e [m]
86 m = 0 .02 %massa da h a s t e [ kg ]
87 Br = 8 * x i *wn*m* ( l 2 ) /3 %C o e f i c i e n t e de a t r i t o v i s c o s o [N/ rd / s ]
88 %
89
107 p o l e (Tmf) ;
108
109 z e r o (Tmf) ;
110
111 r l o c u s (Tmf)
112 % LUGAR DAS RAISES
113 g r i d on
57
9 syms s ;
10 Hs = 1 . 0 ;
11 Mp = 0 . 0 8 ;
12 ess = 0 .05 ;
13 Ts = 0 . 2 ;
14 %
15 Gs = ( 0 . 0 0 0 2 1 / ( s ) ) * ( (5 * s 2 ) / ( s 2 + 0 . 5 9 2 * s 48 . 7 2 ) ) ;
16 GsHs = ( 0 . 0 0 0 2 1 / ( s ) ) * ( (5 * s 2 ) / ( s 2 + 0 . 5 9 2 * s 48 . 7 2 ) ) * Hs ;
17 %LimitGsHs = e v a l ( l i m i t ( GsHs , s , 0 ) )
18
19 Ki = 1000 %1 / ( LimitGsHs * e s s )
20
21 q s i = s q r t ( ( ( l o g (Mp) ) 2 ) / ( ( p i 2 ) + ( l o g (Mp) ) 2 ) ) ;
22 wn= 4 / ( Ts * q s i ) ;
23 s 1= ( q s i *wn) + 1 i *wn* s q r t (1 q s i 2 ) ;
24
25 mod s1=abs ( s 1 ) ;
26 a n g s 1=a n g l e ( s 1 ) ;
27
29 ang G s1 = a n g l e ( ( 0 . 0 0 0 2 1 / ( s 1 ) ) * ( (5 * s 1 2 ) / ( s 1 2 + 0 . 5 9 2 * s 1 ...
48 . 7 2 ) ) )
30
31 Ki
32 Kp= (( s i n ( a n g s 1 + ( ang G s1 * Hs ) ) ) / ( mod G s1 * Hs * s i n ...
( a n g s 1 ) ) ) ( ( 2 * Ki * c o s ( a n g s 1 ) ) / mod s1 )
33 Kd= ( (+ s i n ( ang G s1 * Hs ) ) / ( mod s1 * mod G s1 * Hs * s i n ( a n g s 1 ) ) ...
) + ( Ki / ( mod s1 2 ) )
34
35
36 %=======================================================
37 a=[Kd Kp Ki ] ;
38 %
39 b=[0 1 0 ] ;
40
41
42 c =[0 0 0 . 0 0 0 2 1 ] ;
43 %
44 d=[0 1 0 ] ;
45
46
47 e=[5 0 0 ] ;
48 %
49 f =[1 0 . 5 9 2 48 . 7 2 ] ;
50
51 g=conv ( a , c ) ;
52 num=conv ( g , e ) ;
53
54 h=conv ( b , d ) ;
55 den=conv ( h , f ) ;
56
60 T = t f (num , den ) ;
61
66 p o l e (Tmf) ;
67
68 z e r o (Tmf) ;
APENDICE D -- PROGRAMA SINTONIA DO CONTROLADOR PID 59
69
70 r l o c u s (Tmf) ;
71 % LUGAR DAS RAISES
72
73 v=[30 30 30 3 0 ] ;
74 axis (v) ; axis ( ' square ' )
75 grid ;