EPS + CDHS

Observação: Todos os testes nos sensores do CDHS dependem da energia fornecida pelo EPS, por isso os testes com esses sensores estão sendo armazenados nesta página.

img

Informações sobre os módulos#

  • INA219

    • Comunicação: I2C
    • Endereço: 0x40
    • Documentos: Datasheet
    • Pinos: SCL, SDA
  • BMP388

    • Comunicação: I2C
    • Endereço: 0x76 (SDO -> GND), 0x77 (SDO -> 3v3)
    • Documentos: Datasheet, Breakout Guide
    • Pinos: SCL, SDA, SDO (HIGH)
  • GY-91

    • Comunicação: I2C
    • Endereço:
      • MPU9250: 0x68 (SDO -> GND), 0x69 (SDO -> 3v3)
      • BMP280: 0x76 (SDO -> GND), 0x77 (SDO -> 3v3)
    • Documentos: MPU9250 e BMP280 Datasheets
    • Pinos: SCL, SDA, SDO (LOW)
  • MTK3339

  • LoRa RFM95W

  • MicroSD Adapter

    • Comunicação: SPI
    • Documentos: Breakout Guide
    • Pinos: MISO, MOSI, SCK, SC (27), CD (28)

Obs: Nos módulos que possuem comunicação I2C, a opção em negrito simboliza o endereço escolhido.

Comunicação entre as placas#

Na EPS foi verificado que os pinos de potência do barramento estavam recebendo a tensão correta. Porém, na comunicação com o flat cable foi percebido que as tensões não chegavam corretamente. Após uma análise foi percebido que o LM7805 estava mal-soldado. Após feita a correção, o problema foi corrigido.

Testes nos módulos#

No processo final de validação das placas é necessário testar todos os sensores individualmente na placa. O código utilizado para isso está documentado aqui.

Endereços I2C#

Usamos o I2C Scanner para identificar os endereços dos módulos I2C. Percebemos que temos 4 dispositivos. Na ordem: 0x40 (INA219), 0x68 (MPU-9250), 0x76 (BMP280), 0x77 (BMP388).

img

INA219#

O código de exemplo do INA219 nos forneceu a tensão das baterias, a corrente que atravessa o componente e a potência consumida pelo circuito.

img

BMP388#

O BMP388 possui funções capazes de nos fornecer dados de temperatura, pressão, altitude e outros dados. O código de teste printou na tela esses 3 dados. Devemos fornecer a pressão a nível do mar local na constante SEALEVELPRESSURE_HPA, pois ela é utilizada nos cálculos.

img

GY-91#

BMP280#

O BMP280 é bem semelhante ao BMP388 nas suas capacidades. Também fornecemos a pressão a nível do mar local, dessa vez como parâmetro da função bmp.readAltitude(). Foi observada uma discrepância muito grande dos dados de pressão - e, consequentemente, de altitude - adquiridos pelo BMP280 em comparação aos do BMP388, mesmo que ambos estivessem com a mesmo input de pressão do nível do mar. O motivo dessa diferença está sendo estudado.

img

MPU-9250#

O código de teste do MPU-9250 nos forneceu dados do acelerômetro, do giroscópio, do magnetômetro - todos esses em 3 eixos - e de temperatura. Há uma diferença considerável na temperatura percebida por esse sensor e as percebidas pelo BMP280 e BMP388. Uma diferença é esperada devido à imprecisão, porém está sob estudo como torná-la menor.

img

MTK3339#

O código de teste do GPS MTK3339 printa no terminal o que quer que o GPS esteja lendo naquele momento. Esse output aparentemente confuso é esperado, para interpretá-lo existe o command set disponibilizado pela Adafruit.

img

LoRa#

O LoRa do CDHS foi validado a partir de um teste de envio e recebimento de pacotes. Um outro LoRa foi necessário, tendo sido montado com um Arduino Uno (como visto na imagem abaixo à esquerda).

Os dois testes foram bem sucedidos, provando que o LoRa do CDHS é capaz tanto de enviar quanto de receber pacotes.

img

Código utilizado para o receiver (esquerda) e transmitter (direita). img

MicroSD Adapter#

O objetivo do teste com o adaptador do cartão microSD era comprovar que através dele nós somos capazes de acessar o cartão, escrever alguma coisa e salvar essa informação - o que de fato foi observado.

img img

Mudanças Necessárias#

Conforme os testes foram sendo realizados, algumas mudanças foram percebidas como necessárias no circuito. As mudanças que precisam ser feitas no Altium são:

  • Simular LM7805 com e sem capacitor eletrolítico; Prot❌ Ofc❌
  • Trocar alimentação do GY-91 do VIN para o 3V3; Prot✔️ Ofc✔️
  • Deixar apenas um resistor no SDA e outro no SCL; Prot✔️ Ofc✔️
  • Trocar layer do SCK na entrada pro Teensy; Prot✔️ Ofc✔️
  • Trocar pino de SCK para o pino 13; Prot✔️ Ofc✔️
  • Trocar pino do buzzer para o pino 32; Prot✔️ Ofc✔️
  • Colocar SDO do BMP388 no 3v3; Prot✔️ Ofc Prot✔️
  • Colocar SDO do GY-91 no GND; Prot✔️ Ofc✔️
  • Trocar MOSFET do EPS pelo IRF9530; Prot✔️ Ofc✔️
  • Trocar conectores pelo de pitch 2.0mm:
    • EPS; Prot✔️ Ofc✔️
    • REC; Ofc✔️
    • CAM; Ofc✔️
  • Fazer upload das placas no drive:
    • EPS; Prot✔️ Ofc✔️
    • CDHS; Prot✔️ Ofc✔️
    • REC; Prot✔️ Ofc✔️
    • RECB; Prot✔️ Ofc✔️
    • CAM; Prot✔️ Ofc✔️