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 ...
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