Intelligent flight battery

http://ardupilot.org/copter/docs/common-smart-battery.html

Only Solo and Maxell so far. DJI is no-no , way to closed, proprietary, and ready to sabotage you at next firmware update, also pricing is not exactly attractive.

solo is only 4s and from the Maxell battery I havent seen them since they were announced a while back…

Hi Andreas,

I popped open a busted Inspire 1 battery earlier this year and found it has the TI BQ78350 and BQ76930 battery management chipset which supports SMBUS. You can see these, as well as two test points labeled “SMBD” and SMBC" near the BQ78350 in the image of the PCB here: http://i.imgur.com/bjeAfxz.jpg

The bus then goes to an MSP430 which seems to be connected to the two pads on the battery’s connector (through opto-isolators if I remember correctly). It’s Probably translating the SMBUS into some proprietary protocol DJI uses (I didn’t have a scope or logic analyzer at the time so I can’t say for sure).

If you really want to use Inspire 1 batteries with SMBUS, you might try disconnecting the external data pins from the MSP430 and running them directly to the SMBUS test points near the BQ78350. There are two jumper links to the right of the test pads that you will need to break to disconnect the MSP430 from the BQ78350.

I don’t know if I can get that battery back as it belongs to the local university, but if I can I’ll give this a try. Won’t be any time soon, however.

1 Like

hmm ok thx for the reply!
So it seems “easier” to build our own intelligent flight battery…

Andy

1 Like

I have disassembled the batteries of Inspire 1 (TB-47) and Inspire 2 (TB-50) and connected a logic analyser to sniff the communication between the drone and the battery…
If anyone is interested on working out the communication protocol, feel free to ask me for the logic data I sampled.

1 Like

We have developed a prototype battery management board that is capable of 6s through 12s battery packs.
It measures all of the cell voltages as well as the pack terminal voltage and current; and reports them via a CANbus protocol that is compatible with the Pixhawk CAN interface. It also integrates current versus time to do fuel gauging as well. We are working on modifying Arducopter to be able to read the cell/pack voltages via CAN and (eventually) log or report them back via MAVLINK telemetry. The BMS hardware and CAN interface is built, tested, and working; the Arducopter software end still needs significant work. Please contact me if you are interested in possibly being a development partner and helping us to prove out our technology prior to a product launch.

I just know TATTU has 18000 6s smart battery, but I don’t know if can use on yours.

Hello Naish I’d like to analyze the protocol

mrricci,

Might I ask if you’ve more information on said product?
Or where the development currently stands?

Hi Evan,
We have manufactured a handful of prototype boards and bench tested them and flown them on our hybrid multirotor. https://www.youtube.com/watch?v=0_0dwSnuOYw

The board communicates with our Hybrid-Electric gen-set via CAN bus, and also makes all the battery information available to the Pixhawk flight controller via the CAN bus. The Pixhawk code to read the CAN message has not yet been completed, but should be fairly straightforward for a Pixhawk developer with CAN communications experience.

Since we are building them in only small quantities right now they are fairly expensive (>$1000 each), and are not really available as a “product” since we can’t support them on a one-off basis. We are interested in working with partners who would have a need for multiple units eventually in which case we can provide partner support to get a unit working for an application that may go to higher volume. We can also license the design and software to interested 3rd parties as well.

Functions:

• Monitors all cells for over/under voltage
• Monitors pack temperature
• Monitors PCB temperature
• Monitors pack current and pack voltage

• Implements fuel gauge function for pack

• Provides pack status and monitoring information to Flight Controller
• Alerts Hybrid controller and Flight controller of pack warning and alarm conditions
• Manages in-flight recharging of pack by sending charging requests to LaunchPoint Hybrid System gen-set controller

• Controls optional battery disconnect protection switch

Features:

• CAN communications interface to flight controller and hybrid power system controller
• Broadcasts warnings and alarms as battery condition nears limits and then exceeds safety limits
• If optional disconnect switch is integrated can disconnect battery pack as required for safety and pack protection
• Input connections for two thermistor battery pack temperature sensors
• Configured for 6s, 7s, and 12s cell count packs
• Additional units can be daisy chained for higher cell count battery packs

Specifications:

Connectors on PCB for 6s, 7s, and 12s battery packs

Rated 70A peak and 55A continuous current output

Weight: 50 gram

1 Like

Hi Anton,
Send me a PM with your mail address and I will give you the Logs.
I’m also keen to pay some $$ to whoever can crack this up!

It appears there’s nothing to crack. There’s UART connection 115200-N-1. There’s even a dissector for protocol analysis in wireshark: https://github.com/o-gs/dji-firmware-tools/tree/master/comm_dissector

Sorry for being misleading, previously I was speaking about BT-50 for DJI Inspire 2 Smart Battery, it’s UART. But it’s nothing to do about Intelligent flight batteries like PH4 batteries for DJI Phantom 4. So it’s still actual to parse the Intelligent flight battery sniffs. By the way there’s no private message feature on this forum…

DJI-Smart_batt.zip (525.2 KB)
Hi Anton,
I have attached the logs from the TB-50 and TB-47 smart battery.

Hi guys,

I’m a newbie in the rc world and still learning and i would like to ask is there a way to build my own intelligent 11.1V battery for my SJRC F11 DRONE…?

Thank you

Hi Guys,

I just entered the forum. I’m building a custom drone and would like to use the tb47s batteries for my custom build as they are really convenient. I have the brackets that the m600 uses that also has the cables for the serial connection of the batteries. However when i connect 2 of them parallel (bus and + -) and turn one of the batteries on it starts charging the other battery in stead of turning the other battery on. Is there someone here that can help me out here? I just want them to turn on when i power one of the batteries.
Hope this is something that can be resolved.

Thanx!
Kim

Hi Naish, thanks for sharing the logs. May I know which logic analyser did you use to generate the logs? Did you manage to find out how to read the voltage of the battery?

Hi Joshchao, I used logic8 form Saleae.
no I haven’t managed to decode the data stream.

This is a somewhat old thread that I came across, but the OP and repliers may be interested in the BatMon Kickstarter (‘smart’ battery board) if they haven’t seen it yet. I have no affiliation other than that I am backing and would like to see it succeed.

edit: URL might help: https://discuss.ardupilot.org/t/batmon-kickstarter-add-smart-battery-monitoring-to-a-non-smart-battery

Hello Naish,

I´d like to see your results. I´m working in a method to replace de TB47s batteries for Tattu Batt but the I2C communication between DJI controller and battery board could be a key point to reach a good solution. We did some flights with this new sets of batt but the DJI App doesn´t recognize the level of batteries properly. Thank you so much!