Documente Academic
Documente Profesional
Documente Cultură
CONTROLE II
CURITIBA
2018
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
DEPARTAMENTO ACADÊMICO DE ELETRÔNICA - DAELN
CONTROLE II
GEOVANA SCARAMELLA
LUIS FELIPE SOTO LAURO
LUIZ AUGUSTO BERNARDI
CURITIBA
2018
2
Sumário
1. Resumo..................................................................................................................4
2. Introdução..............................................................................................................4
3. Projeto Mecânico...................................................................................................4
4. Modelagem matemática.........................................................................................7
5. Implementação do software.................................................................................10
6. Desenvolvimento prático e Resultados obtidos...................................................12
7. Conclusões ..........................................................................................................13
8. Referencial Bibliográfico ...................................................................................14
3
1. Resumo
2. Introdução
3. Projeto Mecânico
4
Figura 1 – Diagrama generalizado do pêndulo invertido sobre duas rodas. Adaptado de [1].
5
As plataformas foram uniformemente espaçadas no comprimento L determinado
acima, considerando um recuo de aproximadamente 6mm na extremidade inferior e
10mm na extremidade superior.
Um esboço preliminar do projeto mecânico foi então montado, conforme as
figuras 2 e 3:
6
4. Modelagem Matemática:
̈ (1)
(2)
(3)
(4)
∑ ̈ ̈ (5)
( )
(6)
7
(7)
(8)
Assim:
( )
( )
8
√
{ [( ) ]}
̇ [ ] [ ]
[ ] [ ]
9
Com tempo de amostragem de .
[ ]
5. Implementação do software:
10
10ms habilita um semaphore. Já as outras tasks são chamadas na sequência através de
mensagens de mailbox. Uma breve descrição da função de cada task é dada a seguir:
mpu6050Task:
Na primeira execução são enviados comandos para configurar a taxa de
amostragem, escala e um “wake-up”. Se esta etapa ocorrer com sucesso a task passa
para um loop infinito na qual espera a habilitação do semaphore pelo clock. Em seguida
realiza a leitura de seis registros do sensor que correspondem a aceleração dos três
eixos. Com esses dados é possível calcular o ângulo de interesse conhecido como
ângulo de pitch:
( )
√
filtroTask:
Essa task implementa o filtro de Kalman. Ao finalizar passa um vetor de estados
através da mailbox “Filtro” para a task de controle e fica aguardando uma mensagem de
feedback da task de controle.
controleTask:
Ao receber o vetor de estados da task de filtro computa o valor de controle a ser
atribuído ao motor. Este é enviado através de uma mailbox “Controle” e
“ControleFeedback” tanto para a task do motor quanto para a task do filtro.
motorTask:
Recebe o valor calculado pela task de controle e atualiza as saídas conectadas a
ponte H. O sinal define a direção de giro enquanto o módulo define o duty cicle do pwm
aplicado ao motor.
A interface de hardware configurada pelo software faz uso dos seguintes pinos
do microcontrolador:
11
Tabela 1 – Configuração dos pinos da Tiva utilizados.
12
Figura 6 – Formas de onda da corrente na alimentação do motor (rosa) e da tensão diferencial
entre dois pontos de referência interconectados (amarelo). Do autor.
7. Conclusões:
Com a finalização dos testes práticos, com diversos parâmetros de controle, pôde-se
constatar uma série de fatores que direta, ou indiretamente, contribuíram para o baixo
desempenho do controlador proposto.
Notamos, por exemplo, que a velocidade de rotação do motor não era
suficientemente alta para agir sobre a planta de acordo com o sinal de controle. Sendo
assim, poderíamos optar por um motor com uma caixa de redução com uma relação de
velocidade angular maior. Outra observação considerada é a interferência
eletromagnética devido à permuta das escovas do motor, apesar do distúrbio atuar sobre
todo o sistema elétrico a principal função afetada foi a comunicação do sensor
acelerômetro, que se dava através de uma interface I2C. À medida que a corrente no
motor crescia não só os pinos SDA e SCL apresentavam spikes de mais de 1V como
também a alimentação (VCC e GND) e com isso o sensor parava de operar
adequadamente, deteriorando a robustez do sistema de controle.
13
Para esta questão específica, a intermitência no canal de comunicação entre o sensor
acelerômetro e o microprocessador, adotamos uma solução de curto prazo para
investigar melhor o comportamento do controlador. Isso foi feito através do reiniciar
programado da placa, sempre que a perda de comunicação entre o sensor e o
microprocessador passava de um determinado limite aceitável. Esta solução
protelatória, no entanto, tem seus efeitos colaterais, e identificamos que o filtro de
Kalman retornava ao seu estado inicial sempre que o sistema era reiniciado, ou seja, os
valores otimizados de eram perdidos e, portanto, o estimador era impedido
de aferir os estados de forma ótima.
A solução definitiva para a interferência consiste no isolamento ainda mais restritivo
entre a parte de potência da parte de lógica do hardware, minimizando o acoplamento de
sinais irradiados entre um circuito e outro. Para tal pode-se recorrer à blindagem da
parte superior do robô através de uma gaiola de Faraday e de preferência afastar os dois
subsistemas o máximo fisicamente possível. Outra forma de aumentar a resistência da
comunicação I2C frente ao ruído é a implantação de um canal de comunicação
diferencial, levando ao aumento da rejeição de modo comum do canal. Outra forma de
amenizar o problema é a substituição dos motores com escovas por um equivalente sem
escovas que em geral produzem menor interferência eletromagnética.
8. Referencial Bibliográfico:
[2] OGATA, Katsuhiko. Discrete-Time Control Systems. 2. ed. New Jersey: Prentice-
Hall, 1995. 760 p.
14