Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio...

8
1 Pêndulo Invertido Autocontrolado PIBIC – Centro Univiversitátio FIEO - 2008 Pedro Henrique Sant’ana Coimbra Rocha (aluno) Prof. Ms. Eduardo Lorenzetti Pellini (orientador) Resumo Este trabalho de iniciação cientifica se propõe a descrever o processo de desenvolvimento de um protótipo de Pêndulo Invertido Autocontrolado. Foram utilizados sensores do tipo acelerômetro e giroscópio que provêem a informação necessária para o cálculo do ângulo de inclinação estimado do centro de massa do protótipo em relação ao eixo da força gravitacional, possibilitando assim a atuação adequada do sistema de controle de forma a manter a condição de equilíbrio inicial do conjunto, por meio do acionamento de motores que impulsionam o protótipo para frente ou para trás. Foi utilizado para o processamento digital das informações aquisitadas um processador ARM LPC2148, dotado de diversos periféricos pertinentes ao projeto, como conversores analógico-digital, módulos PWM, porta serial, temporizadores, portas digitais de uso geral, etc. Foi verificado que o ponto crucial do projeto não é o tipo de controle utilizado, mas sim o cálculo do ângulo estimado de inclinação do protótipo de forma confiável, através das grandezas medidas pelos sensores utilizados. Foram experimentadas algumas técnicas para se obter este ângulo, porém pela utilização de recursos de integração numérica computacional, que gera um erro acumulativo ao longo do tempo por se tratar de um cálculo por aproximação, o sistema ficava instável após um determinado período de tempo. Este problema levou ao desenvolvimento de outra técnica que não utiliza recursos de integração computacional, evitando assim a instabilidade ao longo do tempo do sistema de controle. 1. Introdução O objeto de estudo deste projeto de iniciação científica é o sistema dinâmico denominado Pêndulo Invertido. Classicamente, este sistema consiste em uma base móvel sobre a qual existe uma haste articulada. O pêndulo está sujeito a cair em qualquer direção a menos que uma força adequada seja aplicada na base móvel, acelerando-o em um determinado sentido de modo a manter a condição de equilíbrio inicial. O objetivo principal deste trabalho é projetar um sistema de controle automatizado que seja capaz de manter o equilíbrio de um Pêndulo Invertido. O projeto se torna um problema importante do ponto de vista didático, pois é extremamente multidisciplinar, abrangendo inúmeras áreas da engenharia. Além disso, o conceito de locomoção humana sobre um pêndulo invertido é uma solução que vem sendo explorada comercialmente há alguns anos, dada sua simplicidade mecânica, sua versatilidade, fácil mobilidade e tamanho reduzido, frente a outras soluções tradicionais de veículos de duas, três e quatro rodas. 2. O estado da arte dos Pêndulos Invertidos Autocontrolados 2.1. “Self-Balancing Robot” de Angulo, J.P. O artigo de Angulo [1] descreve um projeto de pêndulo invertido que implementou soluções simples e baratas para manter o equilíbrio do protótipo. Sensores de infravermelho foram utilizados para informar a posição relativa com o solo, o que resulta no ângulo de inclinação da haste. Um simples sistema de controle proporcional controla os atuadores em direção e velocidade adequada para manter o equilíbrio do protótipo. Segundo Angulo [1], o problema de controle de um pêndulo invertido é comumente resolvido através do uso de sensores do tipo piezo-giroscópio em combinação com acelerômetros, os quais necessitam usar filtros Kalman para fornecer uma leitura livre de ruídos. Entretanto, além desta solução ser cara, também requer uma grande capacidade computacional para processar toda informação aquisitada. 2.2. “Balancing Robot Project – Bender” de Larson, T. O artigo de Larson [2] descreve uma implementação de controle que utilizou um processador PIC18F452 e um sistema de controle PID. Foi observado através da análise dos resultados que, apesar de estável, o comportamento final não foi absolutamente preciso. Os sensores utilizados foram um piezo-giroscópio combinado com acelerômetro biaxial. O autor menciona que o protótipo foi propositadamente construído em PVC e alumínio para ser muito leve. No inicio da fase de testes, foram colocadas duas rodas auxiliares para testar apenas o sistema de movimentação e comunicação. Após a fixação de todos os itens, Larson [2] lembra que é necessário ajustar o centro de massa do protótipo. 2.3. “Balibot, The Inverted Pendulum Robot” de Sherman, B. O artigo de Sherman [3] descreve um projeto de pêndulo invertido utilizando o processador PIC16F876, um acelerômetro Motorola MMA2260, e implementando uma estratégia de controle proporcional. Os testes mostraram que a utilização unicamente de um acelerômetro para estimação do ângulo em relação à gravidade não é possível, pois o sensor é perturbado por outras forças além da gravidade, como ruídos da vibração mecânica das rodas em contato com o solo e principalmente pela força aplicada pelos motores no conjunto. Para solucionar este problema o acelerômetro foi substituído por sensores distanciômetros infravermelhos para mediar a distancia entre a haste e o solo em ambos os lados do protótipo, possibilitando assim outro método para estimação do ângulo de inclinação do protótipo. Segundo Sherman [3], o desempenho do protótipo em manter seu equilíbrio melhorou muito após o aumento do diâmetro das rodas, o que refletiu no aumento da velocidade de

Transcript of Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio...

Page 1: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

1

Pêndulo Invertido Autocontrolado PIBIC – Centro Univiversitátio FIEO - 2008

Pedro Henrique Sant’ana Coimbra Rocha (aluno) Prof. Ms. Eduardo Lorenzetti Pellini (orientador)

Resumo

Este trabalho de iniciação cientifica se propõe a descrever o processo de desenvolvimento de um protótipo de Pêndulo Invertido Autocontrolado. Foram utilizados sensores do tipo acelerômetro e giroscópio que provêem a informação necessária para o cálculo do ângulo de inclinação estimado do centro de massa do protótipo em relação ao eixo da força gravitacional, possibilitando assim a atuação adequada do sistema de controle de forma a manter a condição de equilíbrio inicial do conjunto, por meio do acionamento de motores que impulsionam o protótipo para frente ou para trás. Foi utilizado para o processamento digital das informações aquisitadas um processador ARM LPC2148, dotado de diversos periféricos pertinentes ao projeto, como conversores analógico-digital, módulos PWM, porta serial, temporizadores, portas digitais de uso geral, etc. Foi verificado que o ponto crucial do projeto não é o tipo de controle utilizado, mas sim o cálculo do ângulo estimado de inclinação do protótipo de forma confiável, através das grandezas medidas pelos sensores utilizados. Foram experimentadas algumas técnicas para se obter este ângulo, porém pela utilização de recursos de integração numérica computacional, que gera um erro acumulativo ao longo do tempo por se tratar de um cálculo por aproximação, o sistema ficava instável após um determinado período de tempo. Este problema levou ao desenvolvimento de outra técnica que não utiliza recursos de integração computacional, evitando assim a instabilidade ao longo do tempo do sistema de controle.

1. Introdução O objeto de estudo deste projeto de iniciação científica é o sistema dinâmico denominado Pêndulo Invertido. Classicamente, este sistema consiste em uma base móvel sobre a qual existe uma haste articulada. O pêndulo está sujeito a cair em qualquer direção a menos que uma força adequada seja aplicada na base móvel, acelerando-o em um determinado sentido de modo a manter a condição de equilíbrio inicial. O objetivo principal deste trabalho é projetar um sistema de controle automatizado que seja capaz de manter o equilíbrio de um Pêndulo Invertido. O projeto se torna um problema importante do ponto de vista didático, pois é extremamente multidisciplinar, abrangendo inúmeras áreas da engenharia. Além disso, o conceito de locomoção humana sobre um pêndulo invertido é uma solução que vem sendo explorada comercialmente há alguns anos, dada sua simplicidade mecânica, sua versatilidade, fácil mobilidade e tamanho reduzido, frente a outras soluções tradicionais de veículos de duas, três e quatro rodas.

2. O estado da arte dos Pêndulos Invertidos Autocontrolados

2.1. “Self-Balancing Robot” de Angulo, J.P.

O artigo de Angulo [1] descreve um projeto de

pêndulo invertido que implementou soluções simples e baratas para manter o equilíbrio do protótipo. Sensores de infravermelho foram utilizados para informar a posição relativa com o solo, o que resulta no ângulo de inclinação da haste. Um simples sistema de controle proporcional controla os atuadores em direção e velocidade adequada para manter o equilíbrio do protótipo.

Segundo Angulo [1], o problema de controle de um pêndulo invertido é comumente resolvido através do uso de sensores do tipo piezo-giroscópio em combinação com acelerômetros, os quais necessitam usar filtros Kalman para fornecer uma leitura livre de ruídos. Entretanto, além desta solução ser cara, também requer uma grande capacidade computacional para processar toda informação aquisitada.

2.2. “Balancing Robot Project – Bender” de Larson,

T.

O artigo de Larson [2] descreve uma implementação de controle que utilizou um processador PIC18F452 e um sistema de controle PID. Foi observado através da análise dos resultados que, apesar de estável, o comportamento final não foi absolutamente preciso. Os sensores utilizados foram um piezo-giroscópio combinado com acelerômetro biaxial. O autor menciona que o protótipo foi propositadamente construído em PVC e alumínio para ser muito leve. No inicio da fase de testes, foram colocadas duas rodas auxiliares para testar apenas o sistema de movimentação e comunicação. Após a fixação de todos os itens, Larson [2] lembra que é necessário ajustar o centro de massa do protótipo.

2.3. “Balibot, The Inverted Pendulum Robot” de Sherman, B.

O artigo de Sherman [3] descreve um projeto de pêndulo invertido utilizando o processador PIC16F876, um acelerômetro Motorola MMA2260, e implementando uma estratégia de controle proporcional. Os testes mostraram que a utilização unicamente de um acelerômetro para estimação do ângulo em relação à gravidade não é possível, pois o sensor é perturbado por outras forças além da gravidade, como ruídos da vibração mecânica das rodas em contato com o solo e principalmente pela força aplicada pelos motores no conjunto. Para solucionar este problema o acelerômetro foi substituído por sensores distanciômetros infravermelhos para mediar a distancia entre a haste e o solo em ambos os lados do protótipo, possibilitando assim outro método para estimação do ângulo de inclinação do protótipo. Segundo Sherman [3], o desempenho do protótipo em manter seu equilíbrio melhorou muito após o aumento do diâmetro das rodas, o que refletiu no aumento da velocidade de

Page 2: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

2

deslocamento da base e conseqüentemente na correção posicional do conjunto.

2.4. “Balancing Robot BBOT”, de Wu, J. et al

O artigo de Wu [4] trata de um projeto desenvolvido na Carnegie Mellon University, dentro de um período estipulado de um semestre. Dado o curto espaço de tempo, optou-se pela utilização de dispositivos modulares comerciais, como controladores para servo-motor, unidade inercial, e um pocket PC para o processamento das rotinas de controle, ao invés da criação de um hardware dedicado para este fim. Através de testes foi determinado que a utilização de motores de corrente contínua controlados com uma ponte tipo H (chopper) seria mais indicado para esta aplicação frente aos servo-motores utilizados. Assim como Sherman [3], Wu [4] também concluiu que com o aumento do diâmetro das rodas utilizadas para o deslocamento do protótipo, melhora-se consideravelmente a velocidade de resposta de correção da posição para manter o equilíbrio do conjunto. 2.5. “JOE: A Mobile, Inverted Pendulum” de Grasser,

F. et al

O projeto Joe é 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 longo do tempo.

Segundo os autores [5], 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.

2.6. “BALLBOT” de Lauwers, T. et al

Em novembro de 2006, a conceituada revista

Scientific American Brasil publicou uma matéria sobre um notável robô e sua habilidade de equilibrar-se e mover-se sobre uma única esfera, o Ballbot [10]. Construído pela Universidade Carnegie Mellon, este protótipo é dotado de uma unidade inercial composta por três giroscópios de fibra óptica e três acelerômetros, dispostos em ângulos retos entre si em uma caixa presa firmemente ao corpo do protótipo. Diferentemente dos outros protótipos apresentados até aqui, o BallBot se move sobre uma esfera, possibilitando o deslocamento para qualquer direção no plano horizontal.

Foi utilizado um método de controle, criado pelo matemático Rudolf Kalman, denominado regulador quadrático linear, que engenhosamente minimiza uma função integral ao longo do tempo, que inclui a medida

quadrática dos estados, mais a medida quadrática das ações de controle.

2.7. Pesquisa e desenvolvimento comercial

O principio dinâmico do pêndulo invertido e a possibilidade de controle do mesmo têm sido largamente explorados comercialmente na forma de veículos de tamanho reduzido para transporte de uma pessoa, utilizando apenas duas rodas paralelas para locomoção em solo. A empresa Segway [6] é atualmente a líder de mercado mundial neste segmento, oferecendo este tipo de veículo como solução para diversas situações comerciais ou domésticas. No Brasil, estes veículos têm sido utilizados largamente pelos órgãos de segurança pública e privada, por permitir a locomoção dos agentes com maior facilidade, agilidade e destreza, mesmo em locais pequenos e de difícil acesso.

3. Descrição de componentes

3.1. Unidade de processamento central

A plataforma escolhida para o desenvolvimento deste projeto foi o kit de desenvolvimento comercial eLPCMain2122 da EsysTech [7], que utiliza um processador ARM7 LCP2148 [8] da Philips.

Esta placa de avaliação e desenvolvimento foi escolhida porque utiliza um processador com arquitetura ARM7, que possui capacidade computacional suficiente para realização dos cálculos em tempo real dos filtros, algoritmos e rotinas de controle, além de atender todos os requisitos técnicos mínimos estabelecidos para o projeto.

3.2. Ferramentas de programação A linguagem de programação utilizada para o desenvolvimento do software de controle embarcado foi o C ANSI, devido suas características de desempenho, portabilidade, segurança e confiabilidade.

Adotamos o WinArm [9] (OpenSource) como ferramenta de desenvolvimento, devido a qualidade das ferramentas de compilação GNU e ao grande número de desenvolvedores que contribuem em diversos fóruns de discussão na internet, provendo uma grande base de conhecimento para consulta.

3.3. Sensores A principal informação de entrada para as equações do sistema de controle é o ângulo entre o eixo vertical do protótipo em relação ao eixo da força gravitacional, denominado φ.

O projeto desenvolvido neste trabalho tem a característica de se deslocar sobre qualquer superfície plana, o que impossibilita a instalação de qualquer dispositivo posicional rigidamente acoplado entre o mesmo e a superfície. Dado esta condição, a única forma de obter o ângulo do conjunto em relação ao prumo vertical é por meio de sensores como distanciômetros, acelerômetros, giroscópios, entre outros.

Este projeto adotou um acelerômetro de duplo eixo e um giroscópio para estimar o ângulo de

Figura 3

Page 3: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

3

inclinação do protótipo. Os dois sensores devem ser usados em conjunto permitindo a medição indireta do ângulo da haste do pêndulo invertido em relação a horizontal, sem nenhuma fixação rígida com um ponto de apoio.

3.3.1. Acelerômetro

O acelerômetro utilizado é um sensor micro-eletrônico, fabricado com a tecnologia de micromáquina (MEMS) [11], e sua função é medir a força aplicada sobre seus eixos. O acelerômetro utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXL203 Intervalo de leitura: +/- 1,7g Precisão: +/- 4% Freqüência de amostragem: 2.5 kHz Números de eixos: 2 Este sensor foi instalado na parte superior do protótipo, com seus eixos ortogonais a 45 graus em relação ao eixo gravitacional; como mostrado na fig. 3. Através de experimentos em laboratório e citações em outros trabalhos estudados da área, foi verificador que esta disposição física é a mais indicada para este tipo de aplicação.

3.3.2 Giroscópio

O giroscópio utilizado é outro tipo de sensor

micro-eletrônico, também fabricado com a tecnologia de micromáquina (MEMS) [12], e sua função é medir a velocidade angular aplicada ao centro de rotação da pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300 Intervalo de leitura: +/- 300 graus Precisão: +/- 8% Freqüência de amostragem: 2KHz

Este sensor foi instalado na parte inferior do protótipo, com seu eixo muito próximo ao eixo das rodas, aumentando a sensibilidade ao movimento angular que o conjunto desenvolve; como mostrado na fig.3.2. Através de experimentos em laboratório e citações em outros trabalhos estudados da área, foi

verificador que esta disposição física é a mais indicada para este tipo de aplicação.

3.3.3. Chaves de segurança

Existe mais um tipo de sensor de entrada

utilizado no sistema, na forma de duas chaves do tipo “fim-de-curso”, comumente utilizadas em circuitos de automação industrial.

Estas chaves foram posicionadas nas extremidades frontal e traseira do protótipo, como mostrado nas figuras abaixo.

O objetivo destas chaves é basicamente

desligar o protótipo caso este venha a colidir contra alguma barreira intransponível ou caso o controle não seja capaz de manter seu equilíbrio por alguma razão e o sistema despenque ao chão.

3.4. Circuito de acondicionamento dos sinais analógicos

Os sensores utilizados neste projeto para

estimação do ângulo do protótipo (acelerômetros e giroscópio), apresentam como mecanismo de transdução, uma variação do sinal de tensão de saída em função da grandeza medida por cada um deles.

Porém, os níveis de tensão de saída destes dispositivos não são compatíveis com os níveis de tensão aceitos pelo conversor analógico-digital que compõem o hardware. Além disso, na aplicação do Pêndulo Invertido Autocontrolado não existe necessidade de se ler os sinais de saída destes sensores em todas as suas faixas de variação possíveis. Alguns sinais precisam ser observados apenas em torno de um determinado ponto de operação com a maior resolução possível de digitalização.

Chaves

Acelerômetro eixos x e y

Giroscópio

Figura 3 Esquema de montagem do acelerômetro

Figura 3. 2 Esquema de montagem do giroscópio

Figura 3. 1Acelerômetro ADXL203

Figura 3. 4 Esquema de montagem das chaves

Figura 3. 5 Chaves instaladas no protótipo

Figura 3. 3Giroscópio ADXRS300

Page 4: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

4

Outro fator relevante é a necessidade de filtragem analógica adicional para evitar o recobrimento espectral dos sinais aquisitados pelo microprocessador (aliasing). Utilizando uma determinada freqüência de amostragem, o sistema deve ser capaz de reconstruir o sinal de tensão aquisitado sem que ruídos ou componentes harmônicas de ordem elevada poluam a informação coletada.

Devido a estes fatos, foi projetada uma placa de acondicionamento de sinais analógicos utilizando circuitos amplificadores operacionais para constituir filtros ativos passa-baixa e circuitos de ajuste. Desta forma, as tensões de saída dos sensores foram devidamente filtradas e condicionadas aos níveis adotados pelo conversor analógico-digital do microprocessador, evitando perda de informação ou contaminação por ruídos e perturbações externas.

3.5. Conjunto de tração e locomoção

O sistema de controle micro-processado deve atuar sobre o conjunto mecânico a fim de mantê-lo em equilíbrio permanente através da movimentação horizontal de sua base.

Dado a característica de mobilidade do protótipo, este foi projetado para se deslocar sobre duas rodas paralelas e independentes, constituindo dois graus de liberdade distintos, horizontal (para frente e para trás), e rotacional (sentido horário ou anti-horário).

A combinação destes dois graus de liberdade possibilita ao protótipo o deslocamento em qualquer direção no plano horizontal.

3.5.1. Motores

Foi escolhido um par de motores de corrente

contínua de imã permanente, acoplado a uma caixa de redução, resultando numa velocidade máxima na ponta de eixo de até 85 RPM. Tais motores foram aprovados e amplamente testados para uso no protótipo.

3.5.2. Encoders

Os motores de corrente-contínua (CC), diferente

dos motores de passo, não possuem naturalmente um controle confiável da velocidade de rotação ou posição angular do eixo do rotor. Para um controle preciso de velocidade/rotação, a teoria clássica de sistemas de controle descrito por Ogata [13] propõe um circuito em malha fechada, onde um transdutor acoplado no eixo do motor retorna um sinal que expressa a velocidade de rotação atual do mesmo. Este sinal é então subtraído da velocidade desejada, resultando em uma estimativa de erro de velocidade. Este erro pode ser então utilizado para o reajuste da tensão aplicada no motor de forma que a compensar variações na velocidade de rotação frente a quaisquer perturbações.

Neste projeto foi necessário projetar um transdutor (encoder) de velocidade do tipo incremental, constituído basicamente por um disco com ranhuras (cortes) simetricamente espaçadas por toda sua circunferência, permitindo que um sinal de luz atravesse, hora sim, hora não, a superfície ranhurada. A figura a seguir retrata a montagem do disco no eixo do motor, e os sensores ópticos utilizados.

Outro fator que deve ser considerado é a

necessidade de se saber o sentido de rotação do motor. Para resolver este problema, colocamos não penas um sensor foto-receptor, mas sim dois, lado a lado, ligeiramente espaçados. Desta forma, dependendo do sentido de rotação, um entre os dois sensores sempre será excitado antes que o outro, sintetizando a informação de sentido de rotação.

O sistema, quando posto em rotação, apresenta sinais defasados no tempo devido ao esquema de montagem apresentado. Além disso, pôde-se verificar que os sinais apresentam muitas incertezas devido ao bouncing dos foto-receptores durante o chaveamento entre os níveis alto e baixo. Tal sinal foi filtrado através de uma lógica digital entre os sinais originais, sintetizando um sinal limpo que será usado posteriormente para contagem da velocidade de rotação e para determinação da direção de rotação.

3.5.3. Rodas

As rodas foram então confeccionadas

utilizando-se um conjunto de CD-ROM’s convencionais dispostos em pilha, envoltos por um anel de borracha sólido, utilizado normalmente na vedação de instalações hidráulicas pressurizadas.

3.5.4. Placa de controle dos motores Existem diferentes métodos para se fazer o acionamento de motores de correte-continua.

Neste projeto, o método escolhido e implementado para tal foi a Modulação em Largura de Pulso, ou PWM (Pulse Width Modulation). Foi utilizado o circuito integrado L298 que implementa um circuito clássico para acionamento de motores CC, também conhecido como Ponte H (chopper).

Este circuito é responsável pelo chaveamento da tensão nos terminais dos motores, possibilitando assim tanto o controle da velocidade de rotação como o sentido de rotação do motor.

3.6. Fontes energéticas

O fornecimento de energia elétrica para o funcionamento do protótipo é provido por duas fontes de alimentação separadas, a primeira dedicada apenas para os circuitos digitais e analógicos de baixa potência, e a segunda dedicada apenas para os circuitos de maior potência.

O uso de fontes independentes de alimentação para o subsistema de locomoção e para a eletrônica digital permite certo grau de isolamento dos circuitos digitais de baixa potência que compõe o hardware, do circuito de maior potência para a tração do sistema,

Figura 3 .6 Encoder montado

Page 5: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

5

evitando que possíveis sobrecargas ou curtos-circuitos venham a danificar toda a eletrônica embarcada.

Foi destinada apenas uma bateria de 12V e 3A/h para os circuitos de maior potência, uma bateria de 12v e 3A/h para a alimentação positiva dos circuitos digitais e analógicos, e duas baterias de 9V e 700mA/h em paralelo para a alimentação negativa dos circuitos digitais e analógicos. Esta configuração resultou em um melhor equilíbrio enérgico, quando a autonomia dos circuitos de maior potência e a autonomia dos circuitos digitais e analógicos de controle ficaram muito próximos.

3.7. Estrutura mecânica

A estrutura mecânica que compreende todo o espaço onde são acomodadas as placas eletrônicas, baterias e sensores, ou o corpo do pêndulo invertido propriamente dito, foi construída utilizando cantoneiras de alumínio encontradas em casas de material de construção.

Um perfil metálico rígido foi fixado na base da estrutura em alumínio, de forma centralizada, onde todo o peso do protótipo é suportado, e onde os motores são fixados.

Foi levado em consideração o posicionamento e a fixação das partes dentro do corpo do protótipo, de forma que a distribuição de massa viesse a manter o centro de gravidade do conjunto o mais próximo do centro geométrico do mesmo. A forma retangular da estrutura em alumínio foi elaborada justamente para facilitar este ajuste.

4. Desenvolvimento

4.1. Desenvolvimento do sistema locomotor

Como citado no item 3.5.4, foi utilizado o método de Modulação em Largura de Pulso (PWM) para o acionamento dos motores de corrente-contínua.

A primeira implementação desta técnica foi feita do seguinte modo: durante o período de ativação, o motor era alimentado pelo circuito L298 com a tensão de alimentação nominal de 12V; e durante o período de desativação, o motor era posto em estado de alta impedância.

Foi verificado através dos ensaios realizados que a relação existente entre o duty cycle do PWM e a resposta em velocidade do motor cc. é exponencial neste configuração.

A teoria sobre este tipo de acionamento mostra que a relação entre o duty cicle aplicado e a potência transferida para uma carga é linear, o que não foi constatado neste primeiro experimento. Investigando este comportamento mais profundamente e estudando as particularidades de maquinas eletromecânicas, foi verificado que quando o motor se encontra no ciclo de desativação do PWM, estando em alta impedância, o motor deixar de ser consumidor de energia, e passa a ser gerador da mesma, através do movimento inercial do seu rotor que é induzido pelo campo magnético dos imãs permanentes, e acaba por criar uma tensão elétrica reversa em seus terminais. A segunda implementação desta técnica foi feita do seguinte modo: durante o período de ativação do pulso, o motor era alimentado pelo circuito L298 com a tensão de alimentação nominal de 12V; e durante o

período de desativação, o motor era aterrado em ambos os terminais também pelo circuito L298, configurando um curto-circuito. O fig. 4 mostra um gráfico da velocidade de rotação do motor pelo tempo de ativação do PWM:

Nesta condição, é verdadeira a afirmação de

linearidade entre a resposta do motor e o duty cycle aplicado. Dada a maior simplicidade em trabalhar com um sistema que tenha uma resposta linear do que exponencial, este ultimo método foi implementado definitivamente para o controle dos motores.

Também foram projetados e implementados os encoders incrementais instalados nos dois motores do protótipo como descrito no item 3.5.2. O objetivo deste sensor era possibilitar o controle em malha fechada da velocidade dos motores individualmente, de modo a evitar divergência no comportamento dinâmico de ambos.

O disco utilizado entre os sensores ópticos possui 6 cortes, ou 6 passos por volta, que é uma quantidade pequena quando comparado a encoders comerciais que possuem centenas de passos por volta. Esta baixa resolução afetou a dinâmica do feedback de velocidade do eixo do motor. Com os motores utilizados neste protótipo, foi visto em laboratório que o tempo mínimo para se obter um valor de velocidade válido para o motor era de cerca de 200ms. Porém a taxa de leitura dos sensores giroscópio e acelerômetro, como também a taxa de atualização do comando dos motores é de cerca de 500 vezes for segundo. Ou seja, o encoder fornece apenas 5 leituras da velocidade do motor por segundo, 100 vezes a menos que as outras informações. Em razão deste problema, foi decidido não utilizar-se o controle em malha fechada para a velocidade dos motores, visto que, apesar das características dinâmicas intrinsecamente diferentes dos motores, um pequeno ajuste de ganho entre os dois acionadores PWM permitiria um resultado aceitável.

4.2. Desenvolvimento da placa de acondicionamento

de sinais A criação de uma placa de acondicionamento de sinais foi necessária por dois motivos iniciais, a compatibilidade elétrica entre os sensores e os conversores analógico-digital, e o melhor aproveitamento da precisão dos conversores limitando o intervalo de variação do sinal dos sensores na faixa de utilização real, como esta descrito no item 3.4.

Porém, durante o primeiro experimento com estes dispositivos, foi verificado um novo fator que justifica a necessidade deste estagio de acondicionamento. Os sensores utilizados neste projeto

Figura 4 Resposta do motor cc ao acionamento PWM

Page 6: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

6

são construídos utilizando a tecnologia de micro-maquinas, e sendo assim por melhor que sejam eles também são vulneráveis a choques mecânicos bruscos.

Foi verificado que as características elétricas reais dos sensores não condiziam exatamente com as informações provenientes da documentação do fabricante. A explicação para isso possivelmente é que os sensores sofreram algum tipo de choque mecânico durante o processo de importação do material, e as características funcionais foram levemente alteradas. Este é mais um problema que a placa de acondicionamento de sinais resolveu, através de circuitos analógicos como amplificadores operacionais, aplicando ganhos e somando offsets aos sinais de saída dos sensores de forma a compatibilizar os sinais dos sensores aos padrões descritos pelo fabricante.

4.3. Desenvolvimento do cálculo do ângulo de inclinação

O ponto crucial de todo o sistema está em justamente ter a capacidade de estimar com certa precisão o ângulo de inclinação do conjunto em relação ao eixo vertical da força da gravidade.

A fig. 4.1 mostra alguns gráficos que foram gerados a partir das leituras capturadas dos sensores utilizados, e servirá de base para iniciarmos as discussões sobre o problema do cálculo do ângulo estimado do protótipo.

O gráfico da fig. 4.1 mostra cinco gráficos gerados pela captura de alguns sinais relevantes do sistema de controle durante o período de 5 segundos.

O primeiro gráfico, denominado “Ax + Ay”, é a representação das forças medidas pelo acelerômetro em seus dois eixos ortogonais, sendo que estes estão posicionados a 45 graus em relação ao eixo da gravidade.

O segundo gráfico, denominado “giro_filtrado”, é a representação da velocidade angular desenvolvida pelo protótipo em seu movimento característico.

O terceiro gráfico, denominado “PotRef”, é a representação da leitura de um potenciômetro instalado entre o protótipo e uma superfície de apoio, exclusivamente posicionado para se obter o ângulo real de inclinação frente ao ângulo calculado com base na medição dos outros sensores, com o intuito de aferir a precisão do método de cálculo.

O quarto gráfico, denominado “Teta_acel”, representa o método mais simples para se obter o ângulo de inclinação com base nas forças medidas somente pelo acelerômetro. Dados os dois eixos deste sensor posicionados a 45 graus em relação ao eixo da gravidade, a força exercida sobre eles é a decomposição da força gravitacional no eixo X e Y, o que significa que o arco tangente entre eles é diretamente proporcional ao ângulo de inclinação do sensor, e consecutivamente do protótipo.

Tal fato é verdade apenas quando a gravidade é a única força envolvida no sistema, porém a força que os motores aplicam no conjunto é medida também pelos acelerômetros, e este método de cálculo passa a apresentar ângulos de inclinação perturbados pela aceleração inercial do conjunto.

Através da comparação entre os gráficos “PotRef” e “Teta_acel” é possível analisar que o cálculo do ângulo estimado por esta técnica condiz com a realidade durante o período que não existe variações nas forças inerciais sobre o sistema, porem quando uma perturbação é aplicada, os valores calculados se divergem muito dos valores reais. Sendo assim, não é possível utilizar somente o acelerômetro para este fim.

O quinto gráfico, denominado “Teta_giro”, representa outro método de calculo do ângulo de inclinação do protótipo com base somente no giroscópio. Dada a velocidade angular desenvolvida pelo protótipo, é possível se obter a posição angular, ou ângulo de inclinação, através da integração numérica deste valor ao longo do tempo.

Uma característica favorável da utilização do giroscópio neste método é que as perturbações aplicadas pelo motor para locomover o protótipo não são percebidas por ele, eliminando o problema encontrado com os acelerômetros.

Contudo, existem características problemáticas a serem levadas em conta. A primeira é que o protótipo sempre deve partir da posição de equilíbrio, pois o método de integração fornece um valor incremental e não absoluto da posição. A segunda é que os métodos de integração computacionais apresentam erros numéricos devidos à conversão entre o ambiente de tempo contínuo (mundo real) e o ambiente de cálculo discreto (no micro-processador). Um terceiro fator é que o giroscópio, mesmo quando não está submetido a nenhuma velocidade de rotação, não apresenta em sua saída um valor de velocidade zero. Existe sempre um pequeno erro de medição devido a inúmeros fatores, desde à variação da temperatura ambiente até a ruídos conduzidos através da eletrônica do conjunto.

Todos estes fatores e pequenos erros, quando acumulados ao longo do tempo alteram fortemente a estimativa do ângulo do pendulo, trazendo instabilidade ao sistema após um determinado período de tempo. Desta forma, também não é possível utilizar apenas um giroscópio para calculo da inclinação do protótipo.

A partir do estudo de outras implementações de unidades inerciais que utilizam estes tipos de sensores, foi verificado que a combinação entre os dois tipos de sinais medidos é o melhor caminho para se obter uma estimativa confiável.

O método desenvolvido foi a utilização das forças medidas pelo acelerômetro para o cálculo direto do ângulo de inclinação como citado anteriormente. Como estas forças medidas compreendem a força da

Figura 4.1 Gráfico da captura de diversos sinais dos sensores

Page 7: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

7

gravidade e a força aplicada pelos motores, a inovação está em derivar a velocidade angular proveniente do giroscópio, resultando na aceleração tangencial do protótipo, que nada mais é do que a força aplicada pelos motores. Tendo esta informação é possível subtrair do sinal medido pelo acelerômetro a componente da força do motor, resultando apenas na componente gravitacional.

A fig. 4.2 mostra dois gráficos, a velocidade

angular medida diretamente do giroscópio (gráfico superior) e a sua derivada no tempo resultando na aceleração tangencial do sistema (gráfico inferior). Se compararmos este gráfico da derivada da velocidade angular com o gráfico “Ax + Ay” apresentado acima, é possível verificar que nos momentos onde não existe aceleração angular, as forças medidas pelo acelerômetro permanecem continuas, e o ângulo estimado é valido. Durante os momentos em que existe a aceleração angular, a componente somada nas forças medidas pelo acelerômetro é a mesma calculada através da derivada da velocidade angular, sendo assim possível sua subtração no calculo do ângulo de inclinação do protótipo. Dado a disponibilidade da informação do ângulo de inclinação de forma confiável, um sistema de controle proporcional seria suficiente para manter um regime permanente de equilíbrio do protótipo. Esta ultima técnica descrita não foi implementada no protótipo real por questão de tempo hábil. 4.4. Desenvolvimento do ambiente de depuração Durante o desenvolvimento da placa de acondicionamento de sinais analógicos, foi possível a utilização da instrumentação comumente presente em laboratórios de eletrônica, tais como osciloscópios, multímetros, etc., para efetuar as medições necessárias.

Entretanto, devido à aquisição de dados feita pela parte de processamento digital de sinais do micro-controlador, as informações deixam de estar disponíveis de forma analógica e por isso não podem ser mais medidas pela instrumentação convencional. Para obter as informações digitalizadas armazenadas dentro do processador, foi desenvolvida uma interface de dados específica no programa do micro-controlador através de um canal serial RS-232.

Foi necessária ainda a implementação de um software para computador IBM PC que permitisse a interação com o sistema de aquisição do micro-controlador e a visualização das informações em tempo real. Desta forma, qualquer sinal em qualquer ponto do

processamento digital, pode ser obtido para análise e simulação posteriores. Esta interface possui dois modos de utilização, o Modo Operação, onde é possível visualizar as informações do processamento em tempo de execução do sistema de controle; e o Modo Debug, onde é possível verificar as tensões medidas por todos os canais do conversor analógico-digital como também controlar manualmente o acionamento dos motores.

4.5. Resultados A figura a seguir mostra o protótipo do Pêndulo Invertido Autocontrolado concluído.

Pela implementação e teste real de uma estratégia de controle proporcional entre o ângulo de inclinação do protótipo e a velocidade de deslocamento da base pela ação dos motores, e utilizando o método da integração da velocidade angular provida pelo giroscópio para se obter o ângulo indiretamente, foi observado que o protótipo permanece cerca de 10 á 15 segundo em regime de equilíbrio, corrigindo neste período sua posição, como o esperado, para não cair. Esta limitação de tempo ocorreu dado o erro acumulativo da integração numérica computacional, que ao longe de tempo invalida o valor de referencia inicial perseguido pelo sistema de controle para manter o equilíbrio. As simulações realizadas com novos métodos de se obter o ângulo de inclinação do protótipo indiretamente, como citados no item 4.3, mostraram solucionar o problema de limitação de tempo de operação, dado que não necessita utilizar o recurso da integração numérica computacional.

Figura 4.2 Gráfico da derivada da velocidade angular medida pelo giroscópio

Figura 4.3 Protótipo do Pêndulo Invertido Autocontrolado

Page 8: Pêndulo Invertido Autocontrolado - unifieo.br · pastilha do circuito integrado. O giroscópio utilizado tem as seguintes características: Fabricante: Analog Devices Modelo: ADXRS300

8

4.6. Desenvolvimentos futuros

A finalização de uma plataforma de hardware robusta possibilita a continuação no desenvolvimento no software de controle, que pode ser amadurecido ainda mais, explorando algoritmos de filtros digitais e rotinas de controle mais sofisticadas e aproveitando na totalidade a grande capacidade de processamento do micro-controlador ARM7. Algumas características além do controle automático de equilíbrio podem ser agregadas ao protótipo, como o deslocamento retilíneo e curvilíneo em superfícies planas, e num próximo passo em superfícies de leve inclinação. O monitoramento de todo o funcionamento do sistema de controle em tempo real, como também a interação com o envio de comandos ao protótipo poderá ser feita atrás de meios de comunicação sem fio, através de dispositivos que utilizam a tecnologia Bluetooth, Serial Wireless, sistemas de Rádio Freqüência, entre outros.

5. Conclusão

Podemos enumerar as conclusões mais relevantes do projeto de iniciação científica: - O protótipo apresenta resultados satisfatórios de equilíbrio, podendo ser melhorado com a adoção de novas técnicas de processamento digital de sinais e outros tipos de sensores. - O cerne do sistema são o elemento giroscópio e os acelerômetros. Infelizmente não há alternativa comercial aos componentes que foram importados especialmente para o projeto. - A utilização de um micro-controlador da família ARM7 mostrou-se extremamente eficiente em termos computacionais e em termos de custo. A documentação encontrada é vasta e detalhada sobre o assunto. - A respeito dos métodos experimentados para acionamento de um motor CC por PWM , foi verificado que quando o ciclo de desativação é feito em estado de alta impedância, a velocidade do motor responde exponencialmente ao duty cycle aplicado. Quando o ciclo de desativação é considerado estado de curto-circuito, a velocidade do motor responde linearmente ao duty cycle aplicado. Apesar deste ultimo modo citado proporcionar um controle mais simples da velocidade do motor pelo comportamento linear, o período de desativação aterra os terminais do motor, e toda a corrente gerada neste período pela indução eletromagnética do mesmo passa pelo circuito integrado L298, que aquece consideravelmente para dissipar parte desta potencia. - O encoder utilizado neste projeto foi descartado porque o tempo de resposta para se obter a velocidade do motor era muito grande, comparado com o tempo de aquisição outras informações do sistema. Seria necessário um encoder com no mínimos centenas de passos por volta, par implementação a implementação de um sistema de controle em malha fecha para a velocidade do motor. - O cálculo do ângulo estimado de inclinação foi a parte mais difícil no desenvolvimento deste projeto, devido as várias possibilidades combinações entre os sensores acelerômetro e giroscópio, como os métodos utilizados para tal. Ficou claro que apensar dos métodos de integração computacional serem eficientes, o erro

acumulativo causado pela quantização das amostras ao longo do tempo inviabilizou o uso deste recurso para este fim.

Bibliografia [1] Angulo, Juan Pablo. Self-Balancing Robot, site: http://www.parallax.com/tabid/505/Default.aspx, em 25/03/2008 ás 14:00; [2] Larson, Ted. Balancing Robot Project – Bender, site: http://www.tedlarson.com/robots/balancingbot.htm, em 26/03/2008 ás 07:00; [3] Sherman, Bill. Balibot, The Inverted Pendulum Robot, site: http://home.comcast.net/~botronics/balibot.html, em 26/03/2008 ás 07:00; [4] Wu, Jack; Bai, Jim; Atkeson, Chris. Balancing Robot – BBOT, site: http://www.wulabs.org/bbot.html, em 09/10/2207 ás 14:00; [5] Grasser, Felix; D’Arrigo, Aldo; Colombi, Silvio; Rufer, Alfred C. JOE: A Mobile, Inverted Pendulum, site: http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/41/21159/00982254.pdf?arnumber=982254, em 20/03/2008 ás 14:00; [6] Segway, site: http://www.segway.com, em 20/03/2008 ás 17:00; [7] Esystech, site: http://www.esystech.com.br, em 20/03/2008 ás 17:00; [8] Datasheet dos processador LPC2148, site: http://www.nxp.com, em 20/03/2008 ás 17:00; [9] Winarm Project, site: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects, em 20/03/2008 ás 18:00; [10] BallBot, site: http://www.msl.ri.cmu.edu/projects/ballbot, em 01/11/2006 as 12:00 [11] Datasheet do acelerômetro ADXL203, site: http://www.analog.com/en/prod/0,2877,ADXL203,00.html, em 20/03/2008 ás 18:00; [12] Datasheet do giroscópio ADXRS300, site: http://www.analog.com/en/prod/0,2877,ADXRS300,00.html, em 10/03/2008 ás 18:00 [13] OGATA, K. Modern Control Engineering. Minnesota: Prentice-Hall, 1970.