Manual do altímetro Nano V1
Este manual detalha todos os recursos e operação do nosso pequeno altímetro de foguete Nano V1

Alterando configurações do Nano

PDF

O Nano armazena todas as suas configurações editáveis pelo usuário em um único arquivo chamado device_settings.txt, em formato JSON em texto simples. Você o edita diretamente via USB, nenhum aplicativo é necessário. Esta página cobre o formato do arquivo, como editá-lo com segurança e o que cada configuração faz. Observe que todas as alturas e distâncias são fornecidas em metros, não em pés.

Referência para firmware 1.52. Firmwares anteriores podem diferir ligeiramente; sua versão exata é mostrada em device_information.html.

Editando o arquivo
  1. Com a chave de alimentação do Nano desligada, conecte-o ao seu PC, laptop, tablet ou smartphone com um cabo USB. Ele é montado como a unidade ALTCLOUD.
  2. Abra device_settings.txt em qualquer editor de texto simples.
  3. Altere os valores que desejar. Mantenha a estrutura JSON intacta, cada entrada precisa de suas aspas, dos dois pontos entre nome e valor, e uma vírgula depois (exceto a última), tudo dentro das chaves { } circundantes. Valores de texto (as tags) permanecem entre aspas; números são escritos sem aspas.
  4. Salve o arquivo e então ejete a unidade com segurança.
  5. Reinicie o Nano (desconecte USB e ligue-o, ou desplugue e replugue). As configurações são lidas e aplicadas na próxima inicialização.

!IMPORTANTE

Se o arquivo contiver qualquer erro JSON ou um valor fora do intervalo ou não suportado, o Nano descarta o arquivo inteiro e o reescreve com valores padrão na próxima inicialização. Então se suas alterações parecerem ter desaparecido, verifique se há um erro de digitação ou um valor fora do intervalo permitido. Sempre deixe "device": "NanoV1" inalterado, se não ler como NanoV1, nenhuma de suas configurações será aplicada.

Configurações padrão

Um Nano novo vem com estes valores:

{
"device_tag": "MyNano",
"competitor_tag": "",
"device": "NanoV1",
"emode": 1,
"factoryreset": 0,
"hybrid_mode": 3,
"launch_detect": 30,
"launch_protection": 1500,
"led_brightness": 5,
"maintain_power": 1,
"max_samples": 24000,
"orientation": 1,
"recording_stop": 1,
"sample_ratio": 1,
"sample_speed": 100,
"startup_lock": 0,
"sync_enable": 2
}

Configurações marcadas com Rev 4+ dependem do IMU e só se aplicam a placas de Revisão 4 e posteriores.

Identificação

iEsses campos são incorporados ao hash de verificação

Quando o Nano registra um voo, a tag do dispositivo e a tag do competidor são gravadas no log e incorporadas ao seu hash de verificação SHA-256 HMAC naquele momento. Por causa disso, um log salvo não pode ser alterado depois, nem mesmo esses campos de tag, e ainda assim passar em uma verificação de verificação ou ser enviado para o Altimeter Cloud. Todo log de voo deve ser mantido exatamente como o Nano o gravou. Editar device_settings.txt em si é bom; muda apenas os valores usados para voos futuros.

device_tag Padrão "MyNano" · texto, não deve estar vazio

Um rótulo para este altímetro. É gravado no cabeçalho de seus logs de voo em CSV e, se você enviar um log para o Altimeter Cloud, é aplicado à página de voo lá também.

competitor_tag Padrão "" (vazio) · texto, até 32 caracteres

Campo opcional para seu número de competição FAI ou NAR. Incluído no cabeçalho do CSV e no hash de verificação de dados. Deixe vazio se você não está competindo.

device Padrão "NanoV1" · não altere

Identifica o tipo de dispositivo e seleciona o algoritmo usado para gerar o hash de verificação no CSV, que o Altimeter Cloud usa para confirmar que um log é genuíno. Se não for "NanoV1", suas configurações não serão aplicadas.

Detecção de lançamento e gravação

launch_detect Padrão 30 · intervalo 1 a 199 m

Altura em metros acima da pressão do nível do solo recente que o altímetro deve subir para começar a registrar um voo. Valores de 25 a 50 m são adequados para a maioria dos usos.

startup_lock Padrão 0 · intervalo 0 a 999 s

Impede a detecção de lançamento até que esses segundos tenham passado desde a inicialização. 0 a desativa. Útil se você precisar de tempo para fechar o foguete após ligar.

launch_protection Padrão 1500 · intervalo 0 a 10000 mG Rev 4+

Limiar de proteção contra lançamento acidental em mili-G. A aceleração deve exceder este valor em pelo menos 6 das últimas 100 amostras antes que a gravação possa começar, o que impede que rajadas de vento ou remoção do cone de nariz acionem um lançamento falso. 1500 = 1,5 G. Defina como 0 para desabilitar.

recording_stop Padrão 1 · 1, 2 ou 3

Quando a gravação termina. O Nano sempre também para com bateria baixa ou quando atinge max_samples. 1 = parar após cerca de 9 segundos (450 amostras) de altitude estável; 2 = após cerca de 18 segundos (900 amostras); 3 = parar apenas em max_samples.

max_samples Padrão 24000 · intervalo 4000 a 24000

O número máximo de amostras registradas antes que o log pare automaticamente.

Amostragem

sample_speed Padrão 100 · 50 ou 100 (Hz)

A taxa de loop do sensor. Uma taxa mais alta captura mais detalhes, mas usa mais bateria. A 100 Hz com sample_ratio 1, a gravação de voo máxima é cerca de 4 minutos; a 50 Hz é cerca de 8 minutos.

Por padrão, hybrid_mode está configurado para 3, o que estende essa janela muito mais. A subida e os momentos ao redor do apogeu e da aterragem são mantidos na taxa completa de 100 Hz, enquanto a longa descida é registrada a um terço da taxa. Tomando um caso típico de cerca de 15 segundos em taxa completa (aproximadamente 1.500 amostras) e o resto do orçamento de 24.000 amostras gasto na descida em uma de três, as configurações padrão podem capturar um voo durando até cerca de 11,5 minutos, em comparação com cerca de 4 minutos sem modo híbrido. Uma fase de taxa completa mais longa ou mais curta alterará essa figura.

sample_ratio Padrão 1

Com que frequência as leituras são gravadas no log. O altímetro sempre funciona e calcula na taxa sample_speed completa (50 ou 100 Hz); essa configuração apenas altera a frequência com que esses valores atuais são salvos no log de voo. 1 = salvar cada amostra, 2 = cada outra, 3 = cada terça, etc., que é um jeito simples de estender o tempo de gravação. O log sempre funciona a uma taxa mínima de 10 Hz, portanto a proporção é limitada a 10 quando sample_speed é 100 e a 5 quando é 50; qualquer coisa mais alta que você insira é silenciosamente reduzida a isso.

hybrid_mode Padrão 3 · 0, 3 ou 5

Amostragem adaptativa para voos longos. 0 = desligado (sempre usar sample_ratio). 3 = reduzir para amostragem 1-em-3 dez segundos após o apogeu; 5 = reduzir para 1-em-5. Na descida, abaixo de 20 m acima do solo, retorna à taxa completa para capturar o pouso com precisão, depois volta para a proporção híbrida cinco segundos após o toque. Isso mantém detalhes completos durante a subida e aterragem, enquanto estende o tempo de gravação sobre longas descidas com paraquedas.

Energia e indicadores

emode Padrão 1 · 1 ou 2

Nível de economia de energia para maior vida útil da bateria. 1 = normal. 2 = economia máxima, usando leitura FIFO em lote de taxa mais baixa enquanto inativo para reduzir pela metade os ciclos de despertar da CPU. Ambos os modos mudam instantaneamente para desempenho completo de 100 Hz no momento em que um pico de aceleração ou lançamento é detectado. A economia de energia depende do IMU, então tem mais efeito em placas de Revisão 4 e posteriores.

Como a taxa ociosa funciona (mostrada em sample_speed de 100 Hz)

emode 1 fica inativo a 50 Hz. Um bump de movimento salta brevemente para 100 Hz para verificar; sem lançamento, volta para 50 Hz. No lançamento, bloqueia a 100 Hz por todo o voo.

100 Hz 50 Hz esperando lançamento pico de aceleração sem lançamento, volta para 50 Hz 100 Hz, bloqueado para voo lançamento tempo →

emode 2 se comporta da mesma forma, mas a CPU desperta apenas a 25 Hz para economizar mais energia. Ainda registra a 50 Hz completos antes do lançamento: cada vez que desperta, lê cada amostra armazenada desde a última verificação, portanto, nenhum dado é perdido. Ainda salta direto para 100 Hz no lançamento.

100 Hz 25 Hz desperta a 25 Hz (ainda registra 50 Hz) pico de aceleração sem lançamento, volta para 25 Hz 100 Hz, bloqueado para voo lançamento tempo →

O salto de volta para velocidade completa é muito sensível, portanto, em quase todos os nossos testes, o impulso inicial do ignitor o aciona instantaneamente e toda a queimadura do motor é capturada na taxa completa de 100 Hz desde o início. O máximo que você registraria ever na taxa ociosa antes do salto é um ciclo inativo: cerca de 20 ms em emode 1, ou cerca de 40 ms em emode 2.

maintain_power Padrão 1 · 0 ou 1

O que o Nano faz após salvar um voo. 0 = desligar o sensor e o LED e dormir até você reiniciá-lo. 1 = ficar ligado e piscar a altitude de apogeu registrada no LED de status (veja abaixo), repetindo até você conectar USB ou reinicializar. Isso confirma que um voo foi registrado e permite que você leia o apogeu sem um computador.

Lendo os flashes de altitude (quando configurado para 1)

O Nano pisca a altura de apogeu em metros um dígito por vez, dígito mais significativo primeiro, com zeros à esquerda pulados. Cada posição de dígito tem sua própria cor:

10.000s    1.000s    100s    10s    1s

  • Um flash branco longo marca o início da sequência.
  • O número de piscadas em uma cor é o valor desse dígito (1 a 9).
  • Um dígito de zero é mostrado como um flash longo e fraco dessa cor.
  • Um flash azul escuro separa um dígito do próximo.
  • Após o último dígito há uma pausa curta e depois se repete. Conecte USB ou reinicie para parar.

Exemplo, um apogeu de 1.250 m: púrpura uma vez, verde duas vezes, ciano cinco vezes, depois um flash amarelo longo e fraco para o zero, com um flash azul escuro entre cada dígito.

led_brightness Padrão 5 · intervalo 1 a 10

Brilho do LED de status, que também economiza um pouco de energia quando atenuado. Observe que a escala funciona do outro jeito do que você pode esperar: 1 é mais brilhante e 10 é mais fraco.

Orientação e fusão (Rev 4+)

orientation Padrão 1 · 1 a 6 Rev 4+

Diz ao Nano como ele está montado no foguete para que possa calcular os ângulos de voo corretamente. Combine o número com o diagrama de orientação, onde a direção marcada (a seta ^) aponta para cima em direção ao nariz:

  • 1 = em pé, face da placa voltada para você, micro-USB na parte inferior (padrão)
  • 2 = em pé, face da placa voltada para você, micro-USB na parte superior
  • 3 = de lado, face da placa voltada para você, micro-USB à direita
  • 4 = de lado, face da placa voltada para você, micro-USB à esquerda
  • 5 = deitado, face da placa (lado do componente) para cima
  • 6 = deitado, face da placa (lado do componente) para baixo

sync_enable Padrão 2 · 0, 1 ou 2 Rev 4+

Alinha os fluxos de dados de pressão e IMU. A filtragem faz a altitude de pressão ficar ligeiramente atrasada em relação ao acelerômetro; com isso habilitado (2), o firmware mede esse offset no lançamento e desloca os dados do acelerômetro para que os dois se alinhem. 0 ou 1 desabilita.

Manutenção

factoryreset Padrão 0 · 0 ou 1

Defina como 1 para reformatar o sistema de arquivos e reescrever cada configuração de volta ao seu padrão na próxima inicialização. Volta para 0 depois.

Verificando se suas configurações entraram em vigor

Sempre que liga, o Nano lê device_settings.txt, aplica-o e reescreve o arquivo com os valores que realmente usou. Isso torna fácil confirmar que suas edições foram aceitas:

  1. Salve suas edições e ejete a unidade.
  2. Desconecte o Nano do USB e plugue-o novamente. Isso o reinicia para que leia o arquivo novo.
  3. Reabra device_settings.txt. Se seus valores ainda estão lá, foram aplicados. Se o arquivo reverteu aos padrões, continha um erro JSON ou um valor fora do intervalo permitido, então verifique contra os intervalos acima e tente novamente.
Configurações bloqueadas (não editáveis)

Para conformidade com a FAI, vários valores que o firmware anterior expunha agora estão fixos no firmware e não podem mais ser alterados. Se você adicionar qualquer uma dessas chaves ao arquivo, elas simplesmente são ignoradas (e não causarão, por si só, uma redefinição). Os valores fixos ainda são gravados no cabeçalho CSV para referência:

  • Pressão de referência ao nível do mar, fixa em 1013,25 hPa (padrão ISA).
  • Temperatura fixa, fixa em 15 °C (padrão ISA).
  • Uso de temperatura, desligado.
  • Filtro IIR, fixo em 7.
  • Filtro Kalman, fixo em 2.
  • Sobreamostragem do sensor, fixa por revisão de hardware (16 em Rev 4+ com o BMP581, 8 em Rev 1 a 3 com o BMP390).

Arquivos ou documentação de configurações mais antigos ainda podem listar chaves como fixed_temp, sealevel, use_temperature, iirfilter ou kalmanfilter, essas não têm mais efeito algum.