Índice:

Telemetria de foguete / rastreador de posição: 7 etapas
Telemetria de foguete / rastreador de posição: 7 etapas

Vídeo: Telemetria de foguete / rastreador de posição: 7 etapas

Vídeo: Telemetria de foguete / rastreador de posição: 7 etapas
Vídeo: Deu certo? 2024, Julho
Anonim
Telemetria de foguete / rastreador de posição
Telemetria de foguete / rastreador de posição

Este projeto tem como objetivo registrar dados de voo de um módulo sensor de 9 DOF para um cartão SD e, simultaneamente, transmitir sua localização GPS por meio de redes celulares para um servidor. Este sistema permite que o foguete seja encontrado se a área de pouso do sistema estiver além do LOS.

Etapa 1: Lista de peças

Lista de Peças
Lista de Peças
Lista de Peças
Lista de Peças

Sistema de telemetria:

1 microcontrolador ATmega328 (Arduino UNO, Nano)

1x Micro SD Breakout -

1x Cartão Micro SD - (o tamanho não importa FAT 16/32 formatado) - Amazon Link

1x Gy-86 IMU - Amazon Link

Rastreamento de posição:

1 microcontrolador ATmega328 (Arduino UNO, Nano) (cada sistema precisa de seu próprio micro)

Módulo 1x Sim800L GSM GPRS - Amazon Link

1x cartão SIM (deve ter plano de dados) - https://ting.com/ (ting apenas cobra pelo que você usa)

1x Módulo NEO 6M GPS - Amazon LInk

Partes Gerais:

1 bateria lipo 3,7v

1 conversor de aumento de 3,7-5v (se você não construir o pcb)

1x Raspberry pi, ou qualquer computador que possa hospedar um servidor php

-Acesso à impressora 3D

-BOM para pcb está listado na planilha

-Os jovens estão no github repo -

Etapa 2: Subsistema 1: rastreamento de posição

Teste:

Depois de ter as peças para o sistema (NEO-6M GPS, Sim800L) em mãos, você precisa testar a funcionalidade dos sistemas de forma independente para que você não tenha dor de cabeça tentando descobrir o que não está funcionando quando você integra os sistemas.

Teste de GPS:

Para testar o receptor GPS, você pode usar o software fornecido pela Ublox (Software U-Center)

ou o esboço de teste vinculado ao repositório github (teste GPS)

1. Para testar com o software U-center, simplesmente conecte o receptor GPS via USB e selecione a porta de comunicação no U-center, o sistema deve começar a rastrear automaticamente sua localização depois disso.

2. Para testar com um microcontrolador, carregue o esboço de teste do GPS para um arduino por meio do IDE. Em seguida, conecte 5V e GND aos pinos rotulados no receptor ao arduino e o pino GPS RX ao digital 3 e o pino TX ao digital 4 no arduino. Por fim, abra o monitor serial no IDE do arduino e defina a taxa de transmissão para 9600 e verifique se as coordenadas recebidas estão corretas.

Nota: Um identificador visual de bloqueio de satélite no módulo NEO-6M é que o indicador LED vermelho piscará a cada poucos segundos para indicar uma conexão.

Teste SIM800L:

Para testar o módulo de celular, você precisará ter um cartão SIM registrado com um plano de dados ativo, eu recomendo Ting porque eles cobram apenas pelo que você usa, em vez de um plano de dados mensal.

O objetivo do módulo Sim é enviar uma solicitação HTTP GET ao servidor com a localização recebida pelo receptor GPS.

1. Para testar o módulo de célula, insira o simcard no módulo com a extremidade chanfrada voltada para fora

2. Conecte o módulo sim ao GND e uma fonte 3.7-4.2v, não use 5v !!!! o módulo não é capaz de funcionar a 5v. Conecte o módulo Sim RX ao Analog 2 e TX ao Analog 3 no Arduino

3. Carregue o esboço de passagem serial do github para poder enviar comandos ao módulo de célula.

4. siga este tutorial ou baixe a versão de avaliação do AT Command Tester para testar a funcionalidade HTTP GET

Implementação:

Depois de verificar se os dois sistemas funcionam de forma independente, você pode passar para o upload do esboço completo para o github do microcontrolador. você pode abrir o monitor serial em 9600 baud para verificar se o sistema está enviando dados para o servidor da web.

* não se esqueça de mudar o ip e a porta do servidor para os seus próprios e certifique-se de encontrar o APN para o provedor de celular que você está usando.

Passe para a próxima etapa, onde configuramos o servidor

Etapa 3: configuração do servidor

Configuração do servidor
Configuração do servidor

Para configurar um servidor para exibir a localização do foguete, usei um raspberry pi como host, mas você pode usar qualquer computador.

Siga este tutorial sobre como configurar lightphp em um RPI e, a seguir, copie os arquivos php do github para a pasta / var / www / html do seu RPI. Depois de usar o comando

sudo service lighttpd force-reload

para recarregar o servidor.

Certifique-se de encaminhar as portas associadas ao servidor em seu roteador para que você possa acessar os dados remotamente. No rpi, deve ser a porta 80 e a porta externa pode ser um número arbitrário.

É uma boa ideia definir um ip estático para o RPI de forma que as portas que você encaminhe sempre apontem para o endereço do RPI.

Etapa 4: Subsistema 2: Registro de Telemetria

O programa de telemetria é executado em um microcontrolador separado do sistema de rastreamento de posição. Esta decisão foi tomada devido a limitações de memória no ATmega328, impedindo que ambos os programas pudessem ser executados em um sistema. Outra opção de microcontrolador com especificações aprimoradas poderia resolver esse problema e permitir o uso de um processador central, mas eu queria usar as peças que tinha à mão para facilitar o uso.

Características: Este programa é baseado em outro exemplo que encontrei online aqui.

  • O programa lê nativamente a altitude relativa (leitura da altitude zerada na inicialização), temperatura, pressão, aceleração na direção X (você precisará alterar a direção da aceleração lida com base na orientação física do sensor) e um carimbo de data / hora (em milis)
  • Para evitar que os dados sejam registrados enquanto está na barra de lançamento e desperdiçando espaço de armazenamento, o sistema só começará a gravar dados depois de detectar uma mudança de altitude (configurável no programa) e parará de gravar dados assim que detectar que o foguete voltou ao original altitude, ou depois de decorrido um tempo de vôo de 5 min.
  • O sistema indicará que está ligado e gravando dados por meio de um único LED indicador.

Teste:

Para testar o sistema, primeiro conecte o breakout do cartão SD

Cartão Arduino SD

Pino 4 ---------------- CS

Pin 11 -------------- DI

Pino 13 -------------- SCK

Pino 12 -------------- FAZER

Agora conecte o GY-86 ao sistema via I ^ 2C

Arduino GY-86

Pino A4 -------------- SDA

Pino A5 -------------- SCL

Pino 2 ---------------- INTA

No cartão SD, crie um arquivo no diretório principal denominado datalog.txt, onde o sistema gravará os dados.

Antes de enviar o esboço Data_Logger.ino para o microcontrolador, altere o valor de ALT_THRESHOLD para 0 para que o sistema ignore a altitude para teste. Após o upload, abra o monitor serial a 9600 baud para visualizar a saída do sistema. Certifique-se de que o sistema é capaz de se conectar ao sensor e que os dados estão sendo gravados no cartão SD. Desconecte o sistema e insira o cartão SD em seu computador para verificar se os dados foram gravados no cartão.

Etapa 5: Integração do Sistema

Integração do Sistema
Integração do Sistema
Integração do Sistema
Integração do Sistema

Depois de verificar se cada parte do sistema funciona na mesma configuração usada no PCB principal, é hora de juntar tudo e se preparar para o lançamento! Incluí os arquivos Gerbers e EAGLE para o PCB e o esquema no github. você precisará carregar os gerbers para um fabricante, como o OSH park ou JLC, para que sejam produzidos. Essas placas têm duas camadas e são pequenas o suficiente para caber na maioria dos fabricantes da categoria de 10 cm x 10 cm de placas baratas.

Depois de ter as placas de volta da fabricação, é hora de soldar todos os componentes encontrados na planilha e a lista de peças na placa.

Programação:

Depois que tudo estiver soldado, você precisará fazer o upload dos programas para os dois microcontroladores. Para economizar espaço na placa, não incluí nenhuma funcionalidade USB, mas deixei o ICSP e as portas seriais quebradas para que você ainda possa fazer o upload e monitorar o programa.

  • Para fazer o upload do programa, siga este tutorial sobre como usar uma placa Arduino como programador. Carregue SimGpsTransmitter.ino para a porta ICSP_GPS e Data_Logger.ino para a porta ICSP_DL (a porta ICSP no PCB tem o mesmo layout encontrado nas placas Arduino UNO padrão).
  • Depois que todos os programas forem carregados, você pode alimentar o dispositivo com a entrada da bateria com 3,7-4,2 V e utilizar as 4 luzes indicadoras para verificar se o sistema está funcionando.

    • As duas primeiras luzes 5V_Ok e VBATT_OK indicam que a bateria e os trilhos de 5v estão energizados.
    • A terceira luz DL_OK piscará a cada 1 segundo para indicar que o registro de telemetria está ativo.
    • A última luz SIM_Transmit acenderá assim que os módulos de celular e GPS estiverem conectados e os dados estiverem sendo enviados para o servidor.

Etapa 6: Gabinete

Gabinete
Gabinete

O foguete em torno do qual estou desenvolvendo este projeto tem um diâmetro interno de 29 mm, a fim de proteger a eletrônica e permitir que a montagem caiba dentro do corpo cilíndrico do foguete. Fiz uma caixa simples impressa em 3D de duas partes que é aparafusada e tem portas de visualização para as luzes indicadoras. Os arquivos STL para impressão e os arquivos.ipt originais estão no repositório github. Eu não modelei isso porque não tinha certeza da bateria que usaria na época, mas criei manualmente um recesso para uma bateria de 120 mAh para ficar nivelada com a parte inferior do case. Estima-se que esta bateria forneça um tempo de execução máximo de ~ 45 minutos para o sistema com consumo de energia de ~ 200mA (isso depende do uso do processador e do consumo de energia para transmissão de dados, o SIM800L é cotado para consumir mais de 2A em rajadas durante a comunicação).

Etapa 7: Conclusão

Este projeto foi uma implementação bastante direta de dois sistemas separados, visto que eu estava usando apenas módulos discretos encontrados na Amazon, a integração geral do sistema é um pouco sem brilho, pois o tamanho geral do projeto é muito grande para o que faz. Olhando para as ofertas de alguns fabricantes, a utilização de um SIP que inclui celular e GPS reduziria muito o tamanho geral do pacote.

Tenho certeza de que, depois de mais testes em vôo, terei que fazer algumas modificações no programa e com certeza atualizarei o repositório do Github com quaisquer alterações.

Espero que você tenha gostado deste projeto, sinta-se à vontade para entrar em contato comigo sobre qualquer dúvida que você possa ter.

Recomendado: