Low cost BMS

How do you store and manage your electricity?
User avatar
arber333
Groupie
Posts: 56
Joined: Mon, 11 Mar 2013, 02:29
Real Name: Arber
Location: Slovenia
Contact:

Low cost BMS

Post by arber333 » Sat, 28 Jun 2014, 08:37

I dont think it is the celtop modules. Have you tried checking the masterPCB drawing i gave you? Actually i remember i had similar problem using first iteration master untill Neville sent me the next.

Try tracing your master board with this...

CellTopBMSMaster_-_PCB.pdf
CellTopBMSMaster_-_Schematic.pdf

I bet you have something different. And try resoldering your PIC16F. Sometimes you can join two traces...

A

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Sun, 29 Jun 2014, 00:21

arber333 wrote: I dont think it is the celtop modules. Have you tried checking the masterPCB drawing i gave you? Actually i remember i had similar problem using first iteration master untill Neville sent me the next.

Try tracing your master board with this...

<a href="uploads/2925/CellTopBMSMaster_-_PCB.pdf" rel="nofollow">CellTopBMSMaster_-_PCB.pdf</a>
<a href="uploads/2925/CellTopBMSMaster_-_Schematic.pdf" rel="nofollow">CellTopBMSMaster_-_Schematic.pdf</a>

I bet you have something different. And try resoldering your PIC16F. Sometimes you can join two traces...

A

I had a quick look and my master boards are quite different to what you posted. My master boards don't have the pullup resistors on the switches. So definately an earlier revision.
I beleive it is the one from the Open Revolt wiki.

BTW. Looking at the schematic and PCB you posted. The schematic shows pin 3 of the micro connected to a switch but on the PCB pin 3 doesn't seem to go anywhere?

I am getting no comms issues and the temperatures from the cell top modules are being displayed correctly on the master module. I can't think what could be wrong with the master module that would only affect the voltage figures. Also i temporarily set the voltages in the cell top code to be a fixed value rather than what the ADC was reporting. Those voltage values were sent to and displayed on the master module screen correctly.
It does seem to be an issue on the cell tops that is affecting just the voltage measuring circuit.
We did move those components around a bit which makes me think it is possible there is an error.
I just need some uniterrupted time to trace it all out and see if i can locate it.
Actually i should check that the cell top schematic that i am comparing the PCB to is correct.

Could someone post up a link or image of a known good cell top schematic.

Thanks.

User avatar
4Springs
Senior Member
Posts: 537
Joined: Thu, 23 Dec 2010, 01:14
Real Name: Christopher Walkden
Location: Selbourne, TAS

Low cost BMS

Post by 4Springs » Sun, 29 Jun 2014, 00:32

Just to clarify, I'm talking about the problem where the voltage is not being read correctly.
arber333 wrote: I dont think it is the celtop modules.

I think it has to be the modules doesn't it?
The Master is just showing the data it is given - if he forces other data then the Master shows it correctly. So the Master is fine.
The temperature is working ok, so it isn't the ADC.
He has tried completely different software so it isn't the software.

Back to basics.
What is the exact part number of the PIC12?
What is the voltage at pin 1 (VDD) and pin 6 according to a multimeter?

User avatar
4Springs
Senior Member
Posts: 537
Joined: Thu, 23 Dec 2010, 01:14
Real Name: Christopher Walkden
Location: Selbourne, TAS

Low cost BMS

Post by 4Springs » Sun, 29 Jun 2014, 00:38

Astroboy wrote: Could someone post up a link or image of a known good cell top schematic.

CellTopBMS_-_Schematic.pdf
Looks like we can upload .pdf files now!
This is the schematic that I've been using. It is one that Nevilleh made and I have not modified it at all.

User avatar
4Springs
Senior Member
Posts: 537
Joined: Thu, 23 Dec 2010, 01:14
Real Name: Christopher Walkden
Location: Selbourne, TAS

Low cost BMS

Post by 4Springs » Sun, 29 Jun 2014, 00:45

And here is a copy of my PCB if you'd like to compare that.

Image

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Sun, 29 Jun 2014, 04:14

4Springs wrote: And here is a copy of my PCB if you'd like to compare that.

<img src="uploads/1844/CellTopBMS-SE130AHA2.jpg" />

We have a winner. Image

4Springs, your PCB image is what did it.
The LM385 has 3 pins but on the schematics it is always pictured with 2.
So every time i traced it out everything was correct.
But then i saw your PCB and two of the pins were connected together.
Checked the LM385 datasheet and learnt that the third pin (FB) needs to be tied to ground.
On my PCB the 3rd pin is floating unconnected.
Added a wire between pin 1 and 3 and hey presto it works.

Thank you to everyone for their help and suggestions.

Now i can go ahead and start building the rest of the cell top modules.
Last edited by Astroboy on Sat, 28 Jun 2014, 18:40, edited 1 time in total.

User avatar
arber333
Groupie
Posts: 56
Joined: Mon, 11 Mar 2013, 02:29
Real Name: Arber
Location: Slovenia
Contact:

Low cost BMS

Post by arber333 » Sun, 29 Jun 2014, 04:34

My appologies

You are correct. I seem to have changed from SMD to DIP on my boards, but here i had enough room to have LM connected level. But on your PCB i had to change to vertical placement since there was no room. It seems i connected the wrong pin. DOH!

Good that you found out. I will try to correct it.

EDIT: I tried to swing the LM round in program, but then it came to me :)... just turn LM half turn - 180° so the first pin will be in third hole. Third pin can be left floating - NC, i have it so. Reference pin is always in the middle. I have changed orientation in design.
http://www.dz863.com/datasheet-81045763 ... Reference/


A
Last edited by arber333 on Sat, 28 Jun 2014, 19:15, edited 1 time in total.

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Sun, 29 Jun 2014, 09:11

So now that i have the modules and master working i went ahead and built another module, so three now. (whoohoo i know, lots more to go)
But whilst testing and reprogramming i noticed something i thought i would share.
I currently have 4springs code running. (Love the module identifier on comms fail)
When i disconnect the master out to module in connector i get the comms fail and the module is identified as module 3. So far so good.
But if i disconnect the module out to master in connection while the master is powered off then when i power on the master i get a short pause then all the modules go into balance mode. This doesn't happen if the comms fail occurs whilst the master is powered.
I probably wouldn't have noticed but Arber333 added LED's to the redesigned modules so it is easy to see when they are balancing (very nice feature).
Then i checked what happened in a mid string coms fail. It looks like whichever modules still receive data from a powering up master during a comms fail put themselves into balancing mode.
If i get some spare time (yeah right) i will see if i can locate the part of the software that is causing this behaviour.

Arber333 i tried rotating the LM385 180 degrees but it didn't work so the LM385 i have is definately the one with a ground pin, 1.2v pin and a feedback pin (FB). So both the ground pin and the feedback pins need to be connected to ground. Connecting pins 1 and 3 to ground should work for both LM385 pinouts. If it has a feedback pin it will be correctly grounded if it doesn't have the feedback pin that pin is internally not connected so the ground on that pin shouldn't matter.

Here are the pinouts for the two different versions.
ImageImage
Last edited by Astroboy on Sat, 28 Jun 2014, 23:26, edited 1 time in total.

User avatar
arber333
Groupie
Posts: 56
Joined: Mon, 11 Mar 2013, 02:29
Real Name: Arber
Location: Slovenia
Contact:

Low cost BMS

Post by arber333 » Sun, 29 Jun 2014, 14:21

Hah, this is what i noticed with original code also.
When i start master and connect input line first modules that were connected start balancing, while others that are connected later dont. I tried to put some delay in program init but didnt work. Then i simply built in a reset switch that cuts power for a moment. I also noticed the cells that are balancing in error state do not output voltage. So it would be easy to push reset if i noticed voltage is not in range... not that it cant happen, last time it happened when 12V battery was dying and circuit didnt have enough juice.

Strange that this doesnt work. I use some old smd LM modules and DIP diode soldered to pins. I used only two legs, third one i simply cut off. It works very good since this LM285 works below -20°C. In general i try to use more automotive standard components....

A

User avatar
4Springs
Senior Member
Posts: 537
Joined: Thu, 23 Dec 2010, 01:14
Real Name: Christopher Walkden
Location: Selbourne, TAS

Low cost BMS

Post by 4Springs » Mon, 30 Jun 2014, 00:49

Astroboy wrote:
I probably wouldn't have noticed but Arber333 added LED's to the redesigned modules so it is easy to see when they are balancing (very nice feature).
Then i checked what happened in a mid string coms fail. It looks like whichever modules still receive data from a powering up master during a comms fail put themselves into balancing mode.

That's a bit distressing, the whole point of the design is supposed to be fail-safe!
I had a look at this today and was able to reproduce the fault. As you say, LEDs would have made it much easier to figure out that it was happening, with mine I have to use a non-contact thermometer.

I tracked part of the problem down. The Master has a feature that if it loses comms it will assume that there are some modules out there still listening, and so it sends out a string telling them to turn off their shunts. But the code is flexible, adapting to different numbers of modules, so how many modules does it send the string to? If it has previously received data from modules then it knows how many there are. But if it has never received data then the default value is zero. So it sends the "turn off shunt" command to zero modules. This can be fixed by changing the default value of the global variable No_Of_Cells. This is in the BMSMaster's main.h file. Change the line to:
static uint8_t No_Of_Cells= 48;

It was previously equal to 0. 48 is the maximum number of cells. A more elegant way of writing it might be (CELLMAX-2).

So this patch has the Master recognise that there is a fault and it tells the modules to turn off shunts. I'm still not sure why the cell modules were turning their shunts on though. I've worked through it a couple of times and they should be defaulting off. I might have another look at it tomorrow - I don't want modules shunting unless they are told to!
Last edited by 4Springs on Sun, 29 Jun 2014, 14:52, edited 1 time in total.

Nevilleh
Senior Member
Posts: 773
Joined: Thu, 15 Jan 2009, 18:09
Real Name: Neville Harlick
Location: Tauranga NZ

Low cost BMS

Post by Nevilleh » Mon, 30 Jun 2014, 02:06

Coulda sworn my original module code turned the shunt off if no comms received within a certain time, so it WAS fail-safe! Independent of the master.
Pity the LM385 makers produce all those variants! Keeps you on your toes though.

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Mon, 30 Jun 2014, 09:26

I haven't checked the code yet but i'll have a guess.
When in comms fail mode the master displays 3.99v for the cells. Could this be triggering the master to send out a shunt "on" command to all the cells. Well at least the ones it has no data for because it beleives they are at 3.99v?
So before it realises the comms have failed it sends out the shunt on, Then when comms fail is detected it would send out a shunt off but it has a default of zero cells so sends out the shunt off command to none of them.

Maybe the arrays need to be initialised with the lowest voltage so that cells that send no data are assumed to be low voltage not high?

Just guessing tho.


Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Mon, 30 Jun 2014, 09:33

Nevilleh wrote: Coulda sworn my original module code turned the shunt off if no comms received within a certain time, so it WAS fail-safe! Independent of the master.
Pity the LM385 makers produce all those variants! Keeps you on your toes though.


I think that is happening. It is only the cells that are still receiving from the master that go into shunt mode. The cells downstream of the break in comms don't turn their shunts on so they must be detecting the comms fail and turning their shunts off if they were on or leaving them off if they were already off.

The more i think about the 3.99v the more sense it makes. Thats why breaking the comms while the master is powered up doesn't cause the issue. The master has already received some measurements from the modules and so knows they aren't at a high voltage. But when powering on during a comms fail the master has not received any voltage measurements from the modules upstream of the comms break so may be acting on the 3.99v default value.
Last edited by Astroboy on Sun, 29 Jun 2014, 23:35, edited 1 time in total.

Nevilleh
Senior Member
Posts: 773
Joined: Thu, 15 Jan 2009, 18:09
Real Name: Neville Harlick
Location: Tauranga NZ

Low cost BMS

Post by Nevilleh » Mon, 30 Jun 2014, 19:43

Yes, that would be right. The arrays are initialised to 00 (default)upon startup and this corresponds to 3.99V, so if no comms the master thinks the cells are at Vmax. If you set the shunting voltage below that, the master will send the shunt-on command.
If comms is restored, it should sort itself out. You could add some array initialisation code to set them to 0xFF (Vmin) instead. Or add something that prevents anything except a poll command being sent if "no comms".
The LM385 I used originally was a TO92 that used only 2 leads and I cut the 3rd one off. When I re-did the pcb to use the smd version, I found it used all 3 pins and hence that pcb has 3 pads. Various people have produced different pcb layouts and probably migrated the 2-pin version, hence the error.
BTW, the only reason there is a "number of cells"constant is to set the array sizes and I have a feeling I did away with that in a later version and just allocated all available RAM to the arrays and that's what sets the max no of cells. If there's a PIC version the same but with more memory, you could use that and handle more cells. (The original PIC was 1/2 the size of the current one).

User avatar
4Springs
Senior Member
Posts: 537
Joined: Thu, 23 Dec 2010, 01:14
Real Name: Christopher Walkden
Location: Selbourne, TAS

Low cost BMS

Post by 4Springs » Tue, 01 Jul 2014, 00:22

Astroboy wrote: The more i think about the 3.99v the more sense it makes. Thats why breaking the comms while the master is powered up doesn't cause the issue. The master has already received some measurements from the modules and so knows they aren't at a high voltage. But when powering on during a comms fail the master has not received any voltage measurements from the modules upstream of the comms break so may be acting on the 3.99v default value.

You are right in your reasoning Astro, but it still shouldn't have happened. Each module should only go into balancing if it receives an explicit "turn on" command just for it. So with the Master configured for zero modules, none of them should have received that command.

I spent a day programming today with a few good results:
I couldn't re-produce Astro's balancing fault today for some reason, but I put in a couple of extra safeguards to make sure it doesn't happen. I thought about Neville's idea of initialising the arrays with 0xFFs, and then realised that I only needed to do one element of the arrays. So I put 0xFF (the array terminator) at Volts[1] and Temps[1]. This is just at startup, it will be overwritten as soon as some valid data is received from the modules.
I also put in an extra line in the Balancing function that confirms it is looking at a valid Volts array when it calculates which modules should shunt.

I looked into the other bug that Astro found - the one where the Master doesn't add up the total pack voltage accurately. This was from my (recently added) rolling average code. I have now promoted the variables concerned to 24 bit to make it more accurate.
There is a similar problem with the voltage and temperature minimum and maximum values. I started to fix these, but had to give up when I ran out of memory on the PIC! So these four values will still be slightly incorrect.

While I was testing to make sure that everything still worked I decided that I needed a way to tell what the Master was telling the charger. So I modified the Balancing screen to show a Charger output:
Image
The number next to "Chgr" is one of:
0 = Charger is not limited
1 = Charger is current limited
2 = Charger is turned off
In this example there are 9 cells balancing and the charger is being current limited.

So I've made a new version of this code and put it on the Sourceforge website here.

As mentioned above I am at the limit of the Master PIC's memory capacity. The XC8 compiler is fond of reminding me that if I upgrade to PRO mode it would produce code that is 40% smaller than FREE mode. No doubt there is also much optimising that could be performed by a better coder than I.

User avatar
arber333
Groupie
Posts: 56
Joined: Mon, 11 Mar 2013, 02:29
Real Name: Arber
Location: Slovenia
Contact:

Low cost BMS

Post by arber333 » Tue, 01 Jul 2014, 00:53

Hi 4springs

I made one more master and cell board and would like to test your software before i put it in my car. I never used XC compiler before. Can i compile your code with my CCS compiler? Is there anything special with your program that i should know of?

tnx

Arber
Last edited by arber333 on Mon, 30 Jun 2014, 15:46, edited 1 time in total.

User avatar
4Springs
Senior Member
Posts: 537
Joined: Thu, 23 Dec 2010, 01:14
Real Name: Christopher Walkden
Location: Selbourne, TAS

Low cost BMS

Post by 4Springs » Tue, 01 Jul 2014, 03:39

arber333 wrote:I made one more master and cell board and would like to test your software before i put it in my car. I never used XC compiler before. Can i compile your code with my CCS compiler? Is there anything special with your program that i should know of?

I haven't used CCS myself so I don't know how different it is. Neville used Hi-Tech (I think?) and that one is quite different from XC8 - I had to modify almost everything to get it to work. The reason I used XC8 is that it is available in a free version!
If you wanted to try my code I think the easiest way would be to download XC8. Assuming that you are using the MPLABX IDE, I think that you can install two compilers? Then in the project properties you can choose which compiler to use.

Hope this helps,
Christopher.

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Tue, 01 Jul 2014, 03:40

4Springs wrote: I looked into the other bug that Astro found - the one where the Master doesn't add up the total pack voltage accurately. This was from my (recently added) rolling average code. I have now promoted the variables concerned to 24 bit to make it more accurate.
There is a similar problem with the voltage and temperature minimum and maximum values. I started to fix these, but had to give up when I ran out of memory on the PIC! So these four values will still be slightly incorrect.
...
As mentioned above I am at the limit of the Master PIC's memory capacity. The XC8 compiler is fond of reminding me that if I upgrade to PRO mode it would produce code that is 40% smaller than FREE mode. No doubt there is also much optimising that could be performed by a better coder than I.
I had a bit of a look at the PIC chip overviews at Microchip and the PIC16F1847 looks similar to the PIC16F1827 except that it has double the program memory and 4 times as much ram.
Would need to go over the datasheets to be sure they are compatible.
Also they cost about twice as much, but as you only really need one master i can't imagine that being a show stopper.
element14 single unit prices
PIC16F1827=$1.69
PIC16F1847=$3.43
rs-online only sells in packs of 5 for $14.94
Might be worth a look.

I just requested 2 free ones via the Microchip samples process. See what happens. A zero dollar experiment.   Image
Last edited by Astroboy on Mon, 30 Jun 2014, 18:00, edited 1 time in total.

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Tue, 01 Jul 2014, 04:46

4Springs wrote: While I was testing to make sure that everything still worked I decided that I needed a way to tell what the Master was telling the charger. So I modified the Balancing screen to show a Charger output:
<img src="uploads/1844/ChargeScreen.JPG" />
The number next to "Chgr" is one of:
0 = Charger is not limited
1 = Charger is current limited
2 = Charger is turned off
In this example there are 9 cells balancing and the charger is being current limited.
Downloaded and installed.
I can confirm that the shunting when master powering up with coms fail no longer occurs.
The charger indicator will be handy. However it indicates current limited (1) when powering up in a comms fail situation. I would have expected the charger to be off (2) when comms has failed.
When comms fails whilst master is already powered up the charger remains at unlimited (0), i would have expected it to move to off (2) for that as well.

Nevilleh
Senior Member
Posts: 773
Joined: Thu, 15 Jan 2009, 18:09
Real Name: Neville Harlick
Location: Tauranga NZ

Low cost BMS

Post by Nevilleh » Tue, 01 Jul 2014, 05:20

You can, you know, get too carried away with this stuff. In nearly 2 years and some 6000 kms of running my car with my bms I never had a comms failure once. Also, the error rate was insignificant and when it did get the odd bad value, the poll rate was so high that a new, good value appeared almost immediately, which is why I thought crc checking was a waste of time and code. I'm not knocking what 4springs has done, but I think it really is a total waste of effort as far as making a significant improvement to the bms is concerned. Its a nice exercise in writing code and adding insurance though.
I think I used a '26 at first and found the '27 doubled the memory, so the '47 may double it again which lets you fit all that extra stuff in and will give you bigger array sizes so more cells. And you only need one for the master so cost is not a big deal.
I used the CCS compiler, not HiTech and both are more efficient than XC8 as far as code size is concerned. You get what you pay for.
Arber too made it work and found it pretty reliable without all that extra stuff.

User avatar
arber333
Groupie
Posts: 56
Joined: Mon, 11 Mar 2013, 02:29
Real Name: Arber
Location: Slovenia
Contact:

Low cost BMS

Post by arber333 » Tue, 01 Jul 2014, 05:35

I must agree with Neville. System now works without a hitch for 23000Km now. It monitors charging and keeps charger low when balancing and in the end it takes the charger off. What more could you wish for?
Maybe only more effective comm port dump. I would like to save data to .csv directly in ascii decoded, and process them in excel as graphs.


A

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Tue, 01 Jul 2014, 06:50

Nevilleh wrote: You can, you know, get too carried away with this stuff. In nearly 2 years and some 6000 kms of running my car with my bms I never had a comms failure once. Also, the error rate was insignificant and when it did get the odd bad value, the poll rate was so high that a new, good value appeared almost immediately, which is why I thought crc checking was a waste of time and code. I'm not knocking what 4springs has done, but I think it really is a total waste of effort as far as making a significant improvement to the bms is concerned. Its a nice exercise in writing code and adding insurance though.
Yes, i imagine that if there was a comms failure just before you put the car on charge (lowest pack SOC) and some shunts were enabled it would take a while at the shunt discharge rate to lower the cells dangerously. (comms failure stoping the charger).
So probably all you would get was an uncharged pack in the morning that was also quite out of balance if the comms fail point was mid pack somewhere.
Nevilleh wrote: I think I used a '26 at first and found the '27 doubled the memory, so the '47 may double it again which lets you fit all that extra stuff in and will give you bigger array sizes so more cells. And you only need one for the master so cost is not a big deal.
I used the CCS compiler, not HiTech and both are more efficient than XC8 as far as code size is concerned. You get what you pay for.
Arber too made it work and found it pretty reliable without all that extra stuff.

I will post up my results when i get the PIC16F1847's.

I had another reason for looking at the increased memory of the '47. Don't laugh but I had a been toying with the idea of building modified PIC12F1822 module with an input for a current flow sensor. It would count the current in and out of the pack since it last reported the value and make that value available to the master module on the BMS comms link.
The master would need a couple of extra commands added that would query the module for the current count since it was last queried. The master could use this to calculate the battery SOC. So no extra firewall wiring. A single display for all battery related info.
Also because the master module slows and stops the charger in a top balancing senario it could reset the SOC to full so the SOC would always be "calibrated". It would be able to update the pack total Ah capacity each time a low cell cutout event occured. So as the pack ages the SOC gauge would remain accurate as well as letting you know how much your packs capacity had reduced.
Maybe even get it to generate a PWM output that could then be fed to the cars standard fuel gauge.
Ok, you can start laughing now. Image

Nevilleh
Senior Member
Posts: 773
Joined: Thu, 15 Jan 2009, 18:09
Real Name: Neville Harlick
Location: Tauranga NZ

Low cost BMS

Post by Nevilleh » Tue, 01 Jul 2014, 17:23

Ah well, you must've read this:
viewtopic.php?title=wanted-an-amp-hour-meter&t=3368
Send me a PM and I'll send you all the details so you can make your own. And develop it into something new.

User avatar
arber333
Groupie
Posts: 56
Joined: Mon, 11 Mar 2013, 02:29
Real Name: Arber
Location: Slovenia
Contact:

Low cost BMS

Post by arber333 » Tue, 01 Jul 2014, 23:31

Hi Nevilleh

What kind of Hall sensor did you use? LEM module?

I saw you made a circuit that uses only single input on PIC16F. As i recall there is now RA0 pin unused in your design since you autotimed the LCD. I seeyou use exactly the same pin with your Ammeter... My question is could this be used to input and display the A, W (kW) and calculate SOC.

Point is we could make a module with all connections so it would just plug on the back of the master pcb, using its processors RA0 pin as hall input. Code would have to be added. Could PIC16F1827 work with more code? When i compiled the old code(CCS) i saw it used about 55% of EPROM.

tnx

A

Astroboy
Groupie
Posts: 53
Joined: Mon, 13 Jan 2014, 06:33
Real Name: Jase
Location: Melbourne, Au

Low cost BMS

Post by Astroboy » Wed, 02 Jul 2014, 00:14

That's why i was thinking of using a modified cell top module to interface to the hall effect sensor.
Even with the less efficient free xc8 compiler the celltop module is only using 37% of its program capacity whereas the master module is pretty much maxed out.
Also it would solve all issues of voltage isolation as it would still be running off a single cells voltage and it would be using the existing BMS comms circuit to talk to the master.

The master will still need to change from a '27 to a '47 if that works out to be possible. Because it will have some extra routines to be added to support the combined voltage, temperatue and current flow cell top module.

Post Reply