I think the problems are because the smart battery transmits the charge voltage and current every 20 seconds (and alarms when they occur) and the 8451 does not cope with a multi-master bus.
The solution is to tell the battery not to transmit/broadcast. This is done by writing 0x6000 to the BatteryMode() (0x03) register in the battery to disable broadcasts. This needs to be done at least once every 59seconds. I am testing this on a LiIon battery I have designed that uses the Texas Instruments BQ2084-V143 fuel gauge.
The vi attached is generic for writing to the battery, use an array as follows: 03 00 96 (all decimal).
Let me know if it works (or not!),
I want to setup a communication between a BQ2084(smart battery) and a NI-USB-8451 device by using Labview. Does somebody can help me to start a communication? I'm looking for a small example to read out and write the serial number of the battery (or some other data). So with this program I can learn how it's working. Does somebody can help me?
Already thanks for reading my request, even more thanks if you can help me.
While I'm not familiar with the smart battery, there are LabVIEW examples installed when you install the NI-815x driver. They can be found by opening LabVIEW and going to Help»Find Examples then selecting Hardware Input and Output»I2C and SPI. These examples will perform some simple I2C operations.
Thanks for the information. I will have a look to this examples.
What I'm also notice is that the device NI-USB-8451 in Measurement & Automation not is shown as NI-USB-8541 but as 'USB0:0x3923::0x7166::0139FF91::RAW' under a grouping called 'USB Devices'. I've already installed the device on two different PC's, but on both it shows the same. Is this normal?
Yes, this is the normal way that it appears. You can set up a VISA alias for this device so it is named differently on this specific computer however.