Arduino & CANBus Shield Based Smart Battery Monitor for Tattu 14S LiPo Battery.
This project uses Arduino platform and CANBus Shield to connect and monitor Tattu 14S LiPo Smart Battery through CAN Bus. It reports battery data to Serial Port and 128x64 OLED Screen.
The OLED Screen uses GyverOLED library and requires more than 2k RAM memory therefore it is available only on MEGA 2560 boards.
Tattu Smart Battery reports data via CAN Bus using Cyphal (aka DroneCAN or UAVCAN) Protocol. It reports the following attributes:
- Manufacturer ID
- SKU Code
- Battery Voltage (mV)
- Battery Current (10mA, +: Charging, -: Discharging)
- Pack Temperature (1C)
- Remaining Capacity (%)
- Cycle Count (times)
- Health Status (%)
- Cell Voltages (1-14)
- Remaining Capacity (mA)
- Standard Capacity (mA)
- Error Information
Error Information consists of 12 bit data:
- Bit 0: Low Temperature
- Bit 1: Over Temperature
- Bit 2: Over Current while Charging
- Bit 3: Over Current while Discharging
- Bit 4: Total Voltage is too Low
- Bit 5: Total Voltage is too High
- Bit 6: Voltage Difference of cells too High
- Bit 7: Single Cell voltage is too High
- Bit 8: Single Cell voltage is too Low
- Bit 9: Short Circuit while Charging
- Bit 10: Short Circuit while Discharging
- Bit 11: Using non-original Charger
You may see example Serial Output in the next image: