Pular para o conteúdo principal

Wio Terminal Chassis Battery(650mAh)

O Wio Terminal Battery Chassis é uma placa de extensão indispensável para a Dev Board Wio-Terminal, pois fornece uma fonte de alimentação externa para o Wio Terminal, aumentando sua portabilidade e compacidade. Ele possui uma bateria recarregável de polímero de lítio de 650mAH, LED de status de carga/descarga da bateria, 4 portas Grove analógicas/digitais, 1 porta Grove I2C e 1 porta Grove UART, além do gabinete em ABS para estética e proteção. Há também o mesmo GPIO compatível com o conector de 40 pinos do Raspberry Pi na parte de trás do Wio Terminal Battery Chassis para mais expansões!

A nova versão do Wio Terminal Battery Chassis adicionou o BQ27441-G1A da Texas Instruments – medidor de carga auto‑calibrável baseado em I2C para baterias de polímero de lítio (LiPo), que pode ser usado para medir a tensão da sua bateria para estimar sua porcentagem de carga e capacidade restante!

Recurso

  • Bateria de polímero de lítio recarregável de 650mAh embutida
  • LED de status de carga/descarga da bateria
  • Botão Liga/Desliga da bateria
  • Medidor de carga BQ27441-G1A embutido para baterias LiPo
  • Carregamento USB Tipo C
  • Proteção contra sobrecorrente
  • Modo/proteção Hiccup
  • 4 x portas Grove analógicas/digitais
  • 1 x porta Grove I2C
  • 1 x porta Grove UART
  • Ímãs ficam ocultos dentro do gabinete para que possa ser fixado no quadro branco!

Especificação

ItemDetalhe
Fonte de alimentação4.75V - 5.25V
Bateria embutida650mAh
Corrente de cargaMáx.: 660mA
Modo da placa de bateriaLED verde: aceso significa que a placa está carregando.

LED vermelho: aceso significa que o OTG (descarga da bateria) está habilitado.

LED amarelo: aceso significa que a interface macho está fornecendo/recebendo saída/entrada de 5V.
Saída GPIOTensão máx.: 5.15V

Corrente máx.: 380mA
Corrente de carga de flutuação30mA
Interface GroveGrove analógico/digital 4, Grove I2C 1, Grove UART * 1

Visão geral do hardware

Precauções

  • Se a bateria for removida enquanto a placa estiver no modo de carregamento, a placa entrará em modo de falha e a luz verde piscará na frequência de 1Hz.

  • Quando a placa de bateria não estiver em uso, pressione o botão para entrar no modo de espera e todos os LEDs serão desligados.

Detecção do status da bateria LiPo

  1. Visite o repositório SparkFun_BQ27441_Arduino_Library e baixe todo o repositório para o seu disco local.

  2. Agora, a biblioteca pode ser instalada no Arduino IDE. Abra o Arduino IDE e clique em sketch -> Include Library -> Add .ZIP Library, e escolha o arquivo SparkFun_BQ27441_Arduino_Library que você acabou de baixar.

InstallLibrary

Código de exemplo

Você pode usar o código a seguir para ler o status do seu battery chassis.

#include <SparkFunBQ27441.h>
#include"TFT_eSPI.h"

TFT_eSPI tft;
TFT_eSprite spr = TFT_eSprite(&tft); // Sprite
#define FF17 &FreeSans9pt7b

const unsigned int BATTERY_CAPACITY = 650; // Set Wio Terminal Battery's Capacity

void setupBQ27441(void)
{
// Use lipo.begin() to initialize the BQ27441-G1A and confirm that it's
// connected and communicating.
if (!lipo.begin()) // begin() will return true if communication is successful
{
// If communication fails, print an error message and loop forever.
Serial.println("Error: Unable to communicate with BQ27441.");
Serial.println(" Check wiring and try again.");
Serial.println(" (Battery must be plugged into Battery Babysitter!)");
tft.setTextColor(TFT_RED);
tft.setCursor((320 - tft.textWidth("Battery Not Initialised!"))/2, 120);
tft.print("Battery Not Initialised!");
while (1) ;
}
Serial.println("Connected to BQ27441!");

// Uset lipo.setCapacity(BATTERY_CAPACITY) to set the design capacity
// of your battery.
lipo.setCapacity(BATTERY_CAPACITY);
}

void printBatteryStats()
{
// Read battery stats from the BQ27441-G1A
unsigned int soc = lipo.soc(); // Read state-of-charge (%)
unsigned int volts = lipo.voltage(); // Read battery voltage (mV)
int current = lipo.current(AVG); // Read average current (mA)
unsigned int fullCapacity = lipo.capacity(FULL); // Read full capacity (mAh)
unsigned int capacity = lipo.capacity(REMAIN); // Read remaining capacity (mAh)
int power = lipo.power(); // Read average power draw (mW)
int health = lipo.soh(); // Read state-of-health (%)

// Now print out those values:
String toPrint = String(soc) + "% | ";
toPrint += String(volts) + " mV | ";
toPrint += String(current) + " mA | ";
toPrint += String(capacity) + " / ";
toPrint += String(fullCapacity) + " mAh | ";
toPrint += String(power) + " mW | ";
toPrint += String(health) + "%";

Serial.println(toPrint);

// LCD Graphics
tft.setTextColor(TFT_BLUE);
tft.drawRoundRect(10, 10, 300, 220, 10, TFT_BLUE);
tft.setTextColor(TFT_MAGENTA);
tft.drawString("State of Chage:", 20, 30);
tft.drawString("Battery Voltage:", 20, 55);
tft.drawString("Average Current:", 20, 80);
tft.drawString("Remain Capacity:", 20, 105);
tft.drawString("Full Capacity:", 20, 130);
tft.drawString("Average Power:", 20, 155);
tft.drawString("State of Health:", 20, 180);

// Data
spr.createSprite(80, 170);
spr.fillSprite(TFT_BLACK);
spr.setFreeFont(FF17);
spr.setTextColor(TFT_WHITE);
spr.drawString(String(soc)+" % ", 0, 0);
spr.drawString(String(volts)+" mV ", 0, 25);
spr.drawString(String(current)+" mA ", 0, 50);
spr.drawString(String(capacity)+" mAh ", 0, 75);
spr.drawString(String(fullCapacity)+" mAh ", 0, 100);
spr.drawString(String(power)+" mW ", 0, 125);
spr.drawString(String(health)+" % ", 0, 150);
spr.pushSprite(170, 30);
spr.deleteSprite();
}

void setup()
{
Serial.begin(115200);
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_BLACK);
tft.setFreeFont(FF17);
setupBQ27441();
tft.setTextColor(TFT_GREEN);
tft.setCursor((320 - tft.textWidth("Battery Initialised!"))/2, 120);
tft.print("Battery Initialised!");
delay(1000);
tft.fillScreen(TFT_BLACK);
}

void loop()
{
printBatteryStats();
delay(1000);
}

Visualizador de esquemático online

Recursos

Suporte técnico

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes formas de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...