26.12.2014 Views

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

Desenvolvimento de um Veículo Aéreo Não-Tripulado - LARA ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

o programa utiliza <strong>um</strong> timer operando <strong>de</strong> forma contínua, e grava o instante <strong>de</strong> tempo da borda<br />

<strong>de</strong> subida e <strong>de</strong>scida do sinal, permitindo assim o cálculo do período do sinal. Um segundo timer<br />

é utilizado para verificar a condição <strong>de</strong> loss os signal - ou seja, quando o sinal não está presente.<br />

Na rotina principal do programa, são verificadas requisições <strong>de</strong> dados do processador auxiliar,<br />

e a condição <strong>de</strong> comutação do MUX (canal 8 maior ou menor que 1500 µs) é avaliada e executada.<br />

4.6 Central Inercial Sparkfun 9DOF Razor<br />

O ênfase do programa da Central Inercial Sparkfun 9DOF Razor é garantir que os dados dos<br />

girômetros, acelerômetros e magnetômetros sejam disponibilizados para o processador auxiliar<br />

com a menor latência possível.<br />

Duas abordagens eram possíveis: amostrar todos os sensores assim que existisse <strong>um</strong>a requisição<br />

do processador auxiliar, ou amostrar <strong>de</strong> forma contínua os sinais e disponibilizar a última amostra<br />

quando requisitado. A primeira forma po<strong>de</strong> parecer mais correta, porém, esse processo introduz<br />

a latência <strong>de</strong> aquisição no processo <strong>de</strong> comunicação. Assim, a segunda opção foi a escolhida para<br />

esse programa.<br />

Dessa forma, o programa se res<strong>um</strong>e a <strong>um</strong>a tarefa <strong>de</strong> fundo responsável por amostrar todos<br />

os sensores (acelerômetro, magnetômetro e girômetros) <strong>de</strong> forma contínua. A comunicação fica<br />

por conta da interrupção da porta SPI, que envia todos os dados disponíveis na memória quando<br />

requisitado.<br />

4.7 Módulo <strong>de</strong> Processamento Auxiliar - LPC2148<br />

O coração da aeronave é o módulo <strong>de</strong> processamento auxiliar. O seu programa é provavelmente<br />

o mais complexo <strong>de</strong> todos os presentes na aeronave, e o seu funcionamento é crucial para a operação<br />

autônoma.<br />

Infelizmente, <strong>um</strong>a abordagem simples como a utilizada para o subsistema <strong>de</strong> rádio ou para a<br />

IMU não seria o suficiente nesse caso. A solução adotada foi utilizar <strong>um</strong> sistema operacional em<br />

tempo real, possibilitando a operação multitarefa do LPC2148.<br />

4.7.1 Sistema Operacional em Tempo Real - FreeRTOS<br />

Um sistema operacional atua como camada entre o hardware e os aplicativos escritos para<br />

o mesmo, permitindo que programas diferentes sejam executados em diferentes dispositivos com<br />

poucas (ou nenh<strong>um</strong>a) modificação. Um sistema operacional tipicamente implementa alg<strong>um</strong>as<br />

funcionalida<strong>de</strong>s padronizadas, como semáforos e filas, e permite a execução <strong>de</strong> várias tarefas em<br />

paralelo, através da implementação <strong>de</strong> <strong>um</strong> escalonador.<br />

O diferencial <strong>de</strong> <strong>um</strong> sistema operacional em tempo real são que todas as funcionalida<strong>de</strong>s<br />

são feitas para aten<strong>de</strong>r as <strong>de</strong>mandas temporais dos processos <strong>de</strong> forma <strong>de</strong>terminísitica, ou seja,<br />

76

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!