O2Micro OZ890 Based BMS Units

Batteries, Chargers, and Battery Management Systems.
Mad Professor   10 mW

10 mW
Posts: 28
Joined: Feb 20 2012 2:30pm
Location: Isle Of Wight, UK

O2Micro OZ890 Based BMS Units

Post by Mad Professor » Mar 14 2013 6:47am

Good Day All.

I am working on a ApolloGroup LT-013SF BMS, and this is based on the 02Micro OZ890 chip.

The 02Micro OZ890 chip can have all the BMS parameters viewed or adjusted via the i2c bus.

I have found a copy of the CowBoy software v0.75 for use with 02Micro OZ890 chip.
In the software for the interface setup there is a dropdown box and you can select any of the following.
Disconnected.
Parallel Port + Philips.
Aardvark USB.
O2 USB.

I have done a little bit of digging around with regards to this Aardvark USB, it seems that it is based around the FTDI USB to i2c chip.

I happen to have a FTDI UMFT201XB-01, FT201XQ USB to I2C breakout board.

I have tried both the Virtual COM Port (VCP) drivers, and direct (D2XX) drivers.
I have also tried using the Aardvark FTDI drivers, that was with the CowBoy software.

But I can't seem to get any kind of com data.

So I am not really sure where to go from here.

Does anyone have any ideas?

Thanks for your time.

Best Regards.

Mad Professor   10 mW

10 mW
Posts: 28
Joined: Feb 20 2012 2:30pm
Location: Isle Of Wight, UK

Re: O2Micro OZ890 Based BMS Units

Post by Mad Professor » Mar 23 2013 4:48am

The FTDI UMFT201XB-01 will not work in this case, as the UMFT201XB-01 is a I2C slave device, and not a master device.

As I am unwilling to spend $250.00 on the Aardvark I2C/SPI Host Adapter.

I am going to try and use my Arduino Uno to pull all the data.

So far I have only used to Arduino Uno to detect the 02Micro OZ890 chip on the I2C bus.
And it seems that the OZ890 chip I am working with has it's I2C address set to 0x30.
The CowBoy software v0.75 I found, Lists the device address 0x60 to 0x7E.
So I am not even sure if I was to buy the correct adaptor if I could get it to work.

So for this point in time I am just going to stick with the Arduino Uno and see what data I can pull from the 02Micro OZ890 chip.

I will report back with any updates.

Best Regards.

Mad Professor   10 mW

10 mW
Posts: 28
Joined: Feb 20 2012 2:30pm
Location: Isle Of Wight, UK

Re: O2Micro OZ890 Based BMS Units

Post by Mad Professor » Mar 25 2013 8:46am

I was able to find some i2c device scanning code for the arduino over at the Arduino Playground.

Direct link: http://playground.arduino.cc/Main/I2cScanner

And here is the arduino sketch code:

Code: Select all

// --------------------------------------
// i2c_scanner
//
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the Arduino.cc forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by Arduino.cc user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
//    http://www.gammon.com.au/forum/?id=10896
// 
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//

#include <Wire.h>


void setup()
{
   Wire.begin();

   Serial.begin(9600);
   Serial.println("\nI2C Scanner");
}


void loop()
{
   byte error, address;
   int nDevices;

   Serial.println("Scanning...");

   nDevices = 0;
   for(address = 1; address < 120; address++ ) 
   {
     // The i2c_scanner uses the return value of
     // the Write.endTransmisstion to see if
     // a device did acknowledge to the address.
     Wire.beginTransmission(address);
     error = Wire.endTransmission();

     if (error == 0)
     {
       Serial.print("I2C device found at address 0x");
       if (address<16) 
         Serial.print("0");
       Serial.print(address,HEX);
       Serial.println("  !");

       nDevices++;
     }
     else if (error==4) 
     {
       Serial.print("Unknow error at address 0x");
       if (address<16) 
         Serial.print("0");
       Serial.println(address,HEX);
     }    
   }
   if (nDevices == 0)
     Serial.println("No I2C devices found\n");
   else
     Serial.println("done\n");

   delay(5000);           // wait 5 seconds for next scan
}
And as I said in my last post my OZ890 does indeed have it's i2c slave address set to "0x30".

I am now just working on reading the data from the OZ890, so I can view real time data of each cell voltage, current etc.

I have also uploaded a copy of the OZ890 Datasheet to my website: http://www.mad-professor.co.uk/Datashee ... /OZ890.pdf

Best Regards.

helgeo   1 mW

1 mW
Posts: 15
Joined: Nov 14 2012 4:35am
Location: Norway

Re: O2Micro OZ890 Based BMS Units

Post by helgeo » Mar 25 2013 9:52am

This is really interesting, I started some development on the BMSBattery BMS last year using a TI USB to I2C adapter that I had from a previous project.

Perhaps you could get a bluetooth device for your Arduino and implement a simple serial protocol that relays the i2C messages?
This way the BMS could be controlled both from a PC and from a phone/tablet app using BT.

My idea is to implement a simple GUI pased PC app for configuring and monitoring the BMS. The next stage would be to make a simple Android app to monitor the battery pack status, just like a fuel gauge showing individual cells or pack total.

romelec   10 W

10 W
Posts: 91
Joined: Mar 11 2011 3:46pm
Location: Marseille, France

Re: O2Micro OZ890 Based BMS Units

Post by romelec » Mar 26 2013 7:01am

Mad Professor wrote:And it seems that the OZ890 chip I am working with has it's I2C address set to 0x30.
The CowBoy software v0.75 I found, Lists the device address 0x60 to 0x7E.
The address is over 7 bits, the 8th (LSB) is the read/write bit. So if the real address is 0x30, the byte 0x60 or 0x61 is sent

krismclean   100 µW

100 µW
Posts: 8
Joined: Mar 26 2013 6:45pm

Re: O2Micro OZ890 Based BMS Units

Post by krismclean » May 07 2013 1:40am

Hi gents. I've got one of these BMS cards along with an Aardvark interface & OZ890 debug tool software http://www.bmsbattery.com/smart/135-sma ... nitor.html I have some issues;
1) Can't read the onboard eprom, I2C bus sits at 2.5v & their is data on it but zero success getting anything on the PC screen
2) Something odd about BMS power consumption, sits at less than 1mA till Vcc gets above 18v then current spikes appear, by the time I crank it up to 48v pack voltage its drawing 5mA continuous

dnmun   100 GW

100 GW
Posts: 16190
Joined: Jun 09 2008 1:32pm
Location: portland, or and loveland, co

Re: O2Micro OZ890 Based BMS Units

Post by dnmun » May 07 2013 8:26am

there is a zener on the power rail i suspect that is there to limit the voltage on the mosfet gate. the power for most BMSs comes off of the first 4 cells which is usually around 15V.

krismclean   100 µW

100 µW
Posts: 8
Joined: Mar 26 2013 6:45pm

Re: O2Micro OZ890 Based BMS Units

Post by krismclean » May 07 2013 8:27pm

Hey thanks for that. I powered it up from Vcc 12v & also connected B4 to 12v so that it can wake up properly & I can read the EEPROM. But it draws 20mA continuous now, surely I can't leave it connected permanently across a pack with that sort of stdby current?

krismclean   100 µW

100 µW
Posts: 8
Joined: Mar 26 2013 6:45pm

Re: O2Micro OZ890 Based BMS Units

Post by krismclean » May 08 2013 7:08pm

Image
It says it's drawing 191 mA but my multimeter says 20mA. Whatever the current is the chip is way too hot. This product strikes me as way too tempremental for robust battery management.

User avatar
friendly1uk   10 MW

10 MW
Posts: 2282
Joined: Mar 14 2013 1:18pm
Location: The not so UK

Re: O2Micro OZ890 Based BMS Units

Post by friendly1uk » May 08 2013 7:20pm

This thread is pages of this kinda thing http://endless-sphere.com/forums/viewto ... 0&start=50

I can't find that lead and software for more than $100 yet everyone says at least double that. BMSbattery both supply and use them. Buy from them, then fly over to get some sense out of them.

Perhaps this is the lead someone on this thread has? Sounding no less troublesome than any other so called solution. Or it could be time to stop messing around if all you want is for it to work.
bmsbattery sent me broken and incorrect stuff, and won't even talk to me about it.

dnmun   100 GW

100 GW
Posts: 16190
Joined: Jun 09 2008 1:32pm
Location: portland, or and loveland, co

Re: O2Micro OZ890 Based BMS Units

Post by dnmun » May 08 2013 8:14pm

i wish someone would use this BMS and see if they can get the info displayed that this processor keeps track of. i noticed that it actually keeps track of the internal drain down of each of the cells i think. maybe it monitors the total time the shunt transistor is on and makes a determination of the coulombs it puts into each cell. i think an arduino hack would read it.

http://bestekpower.com/fuelgasgauge/BMS-D141.html

krismclean   100 µW

100 µW
Posts: 8
Joined: Mar 26 2013 6:45pm

Re: O2Micro OZ890 Based BMS Units

Post by krismclean » May 09 2013 7:00pm

I think I might go for something simple like this http://batterybms.com/balanceboard/jh09.html since my main aim is for the NCR18650Bs not to get out of balance on charge.

dnmun   100 GW

100 GW
Posts: 16190
Joined: Jun 09 2008 1:32pm
Location: portland, or and loveland, co

Re: O2Micro OZ890 Based BMS Units

Post by dnmun » May 14 2013 9:52am

krismclean wrote:I think I might go for something simple like this http://batterybms.com/balanceboard/jh09.html since my main aim is for the NCR18650Bs not to get out of balance on charge.
i tried to buy just a balance board from them but they said they were restricted to just the BMS so i could not get one. he would not quote me a price either.

User avatar
crossbreak   100 MW

100 MW
Posts: 2877
Joined: Aug 02 2011 11:20am
Location: Germany
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by crossbreak » May 17 2013 2:23am

for using these BMS at higher currents, it would be possible to bypass the discharge FET by a high current relay :? I'd like to use my BMS at 100amps, but the three IRFB4410 would burn I guess.

dnmun   100 GW

100 GW
Posts: 16190
Joined: Jun 09 2008 1:32pm
Location: portland, or and loveland, co

Re: O2Micro OZ890 Based BMS Units

Post by dnmun » May 17 2013 6:56am

that is what dr Bass does on his zero. drives the contactor with the power from the BMS.

User avatar
crossbreak   100 MW

100 MW
Posts: 2877
Joined: Aug 02 2011 11:20am
Location: Germany
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by crossbreak » May 17 2013 6:58am

good to know. I'll get the I2C programmer form BMSbattery next week. Let's see if this may help us to get further here :?

A friend has problems with his OZ890 atm, does not conduct both charger and discharger. Cells seem to be ok... maybe we just connected balancer wires and power wire in the wrong order and now the chip blew :x

User avatar
crossbreak   100 MW

100 MW
Posts: 2877
Joined: Aug 02 2011 11:20am
Location: Germany
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by crossbreak » May 17 2013 9:15am

It says it's drawing 191 mA but my multimeter says 20mA. Whatever the current is the chip is way too hot. This product strikes me as way too tempremental for robust battery management.
the current readings may not be so accurate... anyway it shuts down if one cell reaches a dangerous discharge condition, that is my primary aim.

- It should also be possible to read the charge state very accurately via I2C and display it on a bicycle computer.

- Also, the bicycle computer needs no more shunt like the CA or the speedict, since it can read the amps flowing through the battery

User avatar
crossbreak   100 MW

100 MW
Posts: 2877
Joined: Aug 02 2011 11:20am
Location: Germany
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by crossbreak » May 23 2013 2:46am

for using these BMS at higher currents, it would be possible to bypass the discharge FET by a high current relay :? I'd like to use my BMS at 100amps, but the three IRFB4410 would burn I guess.
When connecting two BMS in series, it should be possible to even switch a relaiy on the top side by the upper lever voltage BMS and the ground side by the lower one. One would have to insert a shunt for the current readings, at least for the lower side BMS :? I wonder how dr Bass did that.

But there is one problem: The upper BMS can still not shut down the relay, since the Fet is connected in the wrong direction. The B- lead and the positive pole of the relay coil have to be swapped

Or: Unsolder the N-channel fet and replace it by a P-channel one :D
Attachments
smartBMS-S5-13_sm.jpg
smartBMS-S5-13_sm.jpg (24.6 KiB) Viewed 10757 times

User avatar
Doctorbass   100 GW

100 GW
Posts: 7428
Joined: Apr 08 2007 2:24am
Location: Quebec, Canada East
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by Doctorbass » May 23 2013 9:16am

Ok so just to clarify your request:

-you want use two battery in serie with each having their own seperate BMS
-You want ensure that the current detection limit of one or the other can work without having problem with the other bms in serie that could try to do the same job and create problem
- You want to use an external relay/contactor to boost the current of your BMS but want to use only one contactor for both bms at a time

From what i see why not just put some diode in parallel with the output of each BMS to protect them from reverse current and to insyall smaller very low current relay with the coil connected on the output of each BMS, and than to have the N-O contact of each of these two small relay connected in serie ( doing the job of an AND gate) and that these two relay contact in serie would control your Main high current contactor coil :wink:
In that way you need both bms output to be active to allow the contactor to be energized. :wink:

Doc
CURRENT PROJECT: 2WD duo MXUS/Max-E ebike 32kW
http://endless-sphere.com/forums/viewto ... =3&t=65764
-Fastest speed record 117 km/h on flat
-Fastest 1/4 mile@ 114km/h on flat and 16.316 sec
-Succeded to haul a 19200 pounds schoolbus!
113kmh Gianthttp://www.evalbum.com/3406
Mongoosehttp://www.evalbum.com/1947
YOUTUBE---https://m.youtube.com/user/Doctorbasss
http://twitter.com/DocbassMelancon
I speak FRENCH and english

dnmun   100 GW

100 GW
Posts: 16190
Joined: Jun 09 2008 1:32pm
Location: portland, or and loveland, co

Re: O2Micro OZ890 Based BMS Units

Post by dnmun » May 23 2013 9:50am

why not just buy a 24S BMS instead of using two of them in series to make one BMS. you can get up to 180A throught the output mosfets on the D131:

http://www.bestekpower.com/768v24spcmbm ... -D131.html

and it is cheaper than the BMS battery BMSs. $58

User avatar
circuit   100 kW

100 kW
Posts: 1302
Joined: Mar 19 2009 11:43am
Location: EU
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by circuit » May 23 2013 10:53am

dnmun wrote:why not just buy a 24S BMS instead of using two of them in series to make one BMS. you can get up to 180A throught the output mosfets on the D131:

http://www.bestekpower.com/768v24spcmbm ... -D131.html

and it is cheaper than the BMS battery BMSs. $58
Because you are pointing to a very crappy BMS. Actually not a BMS, but PCM.
smart and Tiny BMS solution
Visit my blog. Personal projects: Clean Peugeot conversion | Ultralight enduro
Any and all information, such as texts, specifications, drawings or other material that I post are to be used only as a reference for personal, non-commercial projects ONLY. Any republication for personal or commercial needs must be agreed on individually. Use of any information, that I post, for commercial purposes is strictly prohibited.

dnmun   100 GW

100 GW
Posts: 16190
Joined: Jun 09 2008 1:32pm
Location: portland, or and loveland, co

Re: O2Micro OZ890 Based BMS Units

Post by dnmun » May 23 2013 11:01am

everyone has their own opinion especially when their financial interests are involved. i have examined it fairly closely and don't see the defects in quality you are referring to. just compact and cheap. and well built imo.

User avatar
crossbreak   100 MW

100 MW
Posts: 2877
Joined: Aug 02 2011 11:20am
Location: Germany
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by crossbreak » May 23 2013 1:14pm

thx for your answers! docs idea is brilliant :) i can then just move the FETs to an own PCB and connect the FET source and drain solder pads to a shunt for better current readings, then recalibrate the BMS for the new shunt.

Another idea was to change the FETs for three IRFB4110, then it's capable of 85amps I want :) I would not need any reverse diode then i guess :?

For testing, I can just connect two of these in series?

about the other BMS:
The smartBMS has I2C and can be used for Lipo. I dislike LiFePo ;)

User avatar
friendly1uk   10 MW

10 MW
Posts: 2282
Joined: Mar 14 2013 1:18pm
Location: The not so UK

Re: O2Micro OZ890 Based BMS Units

Post by friendly1uk » May 24 2013 8:10am

crossbreak wrote:A friend has problems with his OZ890 atm, does not conduct both charger and discharger. Cells seem to be ok... maybe we just connected balancer wires and power wire in the wrong order and now the chip blew :x
My bmsbattery smart 5-13s unit came set up for 12s, and would not charge or discharge. It was not converted properly. They had done the capacitor mod, but not tied the 12th cell to P+ So it just sat there doing nothing. After putting the bridging link between B12 and B13 I had to reset the chip and away it went. Perhaps yours is similar.



Does anyone offer programming of these chip's in the EU? In the UK would be nice. I don't think they set my software as requested. I can't charge my lipo anywhere near the 4.2v hvc I specified.
bmsbattery sent me broken and incorrect stuff, and won't even talk to me about it.

User avatar
circuit   100 kW

100 kW
Posts: 1302
Joined: Mar 19 2009 11:43am
Location: EU
Contact:

Re: O2Micro OZ890 Based BMS Units

Post by circuit » May 24 2013 8:53am

friendly1uk wrote:I don't think they set my software as requested. I can't charge my lipo anywhere near the 4.2v hvc I specified.
Probably because one of your cells reached 4.2V and bms just switched off?
smart and Tiny BMS solution
Visit my blog. Personal projects: Clean Peugeot conversion | Ultralight enduro
Any and all information, such as texts, specifications, drawings or other material that I post are to be used only as a reference for personal, non-commercial projects ONLY. Any republication for personal or commercial needs must be agreed on individually. Use of any information, that I post, for commercial purposes is strictly prohibited.

Post Reply