# Tesla BMS



## Tomdb (Jan 28, 2013)

As some of you might have been aware there has been some projects out there that have gotten the Tesla BMS slaves to work.

I have participated in a few. Currently I am working on getting software written to do all the basics like:
-Overvoltage monitoring
-Temperature monitoring
-Undervoltage monitoring
-Balancing during charge
-Current measurement
-AH counter

Outputs
-Contactors/relays or other 12V signals
-PWM 'gas/fuel' gauge control
-Serial interface for Victron VE direct, a special request from Boekel.

The BMS controller/master is based around a teensy 3.2 and code is written in arduino. I will look at uploading my files to github so other can have a look and use it as inspiration. 


https://www.youtube.com/watch?v=zmT5o5vDoH8

*GITHUB*

https://github.com/tomdebree/TeslaBMS


----------



## boekel (Nov 10, 2010)

Very nice!!


----------



## Tomdb (Jan 28, 2013)

test setup to verify it works, a large resitive load bank.


----------



## itchyback (May 28, 2014)

I was just at this moment looking at the github for this and logged on here to find the original discussion to learn more about it. I have not looked into a BMS system yet for my tesla batteries so probably have some newb questions.

My current understanding is i wire the BMS boards together and plug them into a arduino due or teensy 3.2. What i'm not sure is what happens from there. 
How does the arduino tell the charger/ controller to start or stop. 
how do these relate to a precharge resistor? 

Thanks for your advice.


----------



## Kevin Sharpe (Jul 4, 2011)

It's an exciting time in the Tesla BMS world 

Damien is also making progress (here) and I look forward to all the shared battery greatness


----------



## jackbauer (Jan 12, 2008)

Very interested in this


----------



## Tomdb (Jan 28, 2013)

Itchyback: That is all done in software.

First iteration of this design will just do 12V signalling to turn on and off a charger. But got a canbus on the board for later use.

https://github.com/tomdebree/TeslaBMS

Remember use at your own risk.

Github has all my files, arduino code and schematics for the board


----------



## jackbauer (Jan 12, 2008)

Thanks Tom. Gonna build one of these.


----------



## Solarsail (Jul 22, 2017)

Tomdb said:


> test setup to verify it works, a large resitive load bank.


Terrific project you have there, thanks.

Anything written or a schematics for this large resistive load bank? What is the wattage and what are the resistors?


----------



## Tomdb (Jan 28, 2013)

Here is a quick and dirty schematic.

It runs a Uno which reads a pot and changes the pwm duty cycle for the fet driver.

Mosfet is VS-FB190SA10
Used Driver is mcp1407

It will get a tempsensor on the heat sink so it does not overheat during testing.


----------



## GoElectric (Nov 15, 2015)

Good work, Tom. We have been able to source the connectors to attach to the Tesla board to build a wiring harness. 

Have you thought about alarming wrt cell differential?


----------



## Solarsail (Jul 22, 2017)

Tomdb said:


> Here is a quick and dirty schematic.


Thanks Tomdb -- what is the maximum voltage and maximum current you may apply, and what kind of resistor is that and what is the approximate resistance?


----------



## Moltenmetal (Mar 20, 2014)

Very cool project...


----------



## mfox (Feb 3, 2013)

very nice ,  are these BMS my ex ?


----------



## Tomdb (Jan 28, 2013)

On the load bank front, I need to add some capacitance on the input which is kind of logical, but i just forgot for some reason. 

however knocked up two more boards for some beta testers.


----------



## Tomdb (Jan 28, 2013)

got some more testing done.






Proven out my bms will work and my load is stable so now to increase the power draw for higher current tests.


----------



## GreenTecAuto (Jun 14, 2017)

I have a few Tesla bms from the Rav4 ev (6cell) and at least one from the Smart car ev (15cell).
Is there any interest in taking a crack at those? You know, for science!
There are plenty of those out there as well.


----------



## Tomdb (Jan 28, 2013)

If you mind posting them over I can take a crack. Or just some good pics of the boards would be a good start.

Or if you are software inclined and have an arduino due or Teensy give it a try yourself.


----------



## GreenTecAuto (Jun 14, 2017)

Here are those pics. I also have the pigtail for it as well.
I have a friend that is into arduino, ill have to see if i can get him to try.
As for shipping, I only now noticed you are in the UK. Ill see what i can do, no promises.


----------



## Tomdb (Jan 28, 2013)

RAV4 6s modules should work with the Telsa software/communication that is open source. As it uses the same layout as the Tesla model S.

Smart Car BMS looks different, what does the back side look like? It would be wierd if they would not use the Texas Instruments bms cell.


----------



## GreenTecAuto (Jun 14, 2017)

I think this may be what you wanted.
The smart car was made in 2011, where as the Rav4 in 2014. 
That could explain why the smart car bms is different and why the Rav4 is similar to the model s.
The rav4 also has 4 smaller 5 cell modules that have the same board but with one less row of balance resistors. Everything else looks the same.


----------



## Tomdb (Jan 28, 2013)

The Smart BMS must have some more chips on it, besides the main micro.
As that micro is not a BMS specific one so cannot sense the voltage ranges required.


----------



## GreenTecAuto (Jun 14, 2017)

There are 15 of these.
bb ina 148ua 09yyq
http://www.tij.co.jp/jp/lit/ds/symlink/ina148.pdf
Nothing on the back really.


----------



## Tomdb (Jan 28, 2013)

So the Tesla BMS used in the Smart car will be hard to crack, as you most likely need a working pack to decode it.

However any bmses derived from what i believe the roadster architecture is, so Rav4 Merc B cell and Tesla Model s/x is relatively straight forward.


----------



## Ocean (Dec 20, 2016)

Tomdb said:


> So the Tesla BMS used in the Smart car will be hard to crack, as you most likely need a working pack to decode it.
> 
> However any bmses derived from what i believe the roadster architecture is, so Rav4 Merc B cell and Tesla Model s/x is relatively straight forward.


Hello,

I'm very interested. I live off-grid and my House Batteries are Tesla Mercedes B-Class Hybrid 7S Modules. I have three of them in parallel for about 9kWh (24v system). Been running these for about 2 years now and it would be nice to balance them.

The Slave BMS boards are on the modules, but I've left them disconnected. I would love to have them operational. Even if I had ONE of your controllers, I could switch it between my three modules just to balance the cells... although I believe they are functioning well, it would be nice for the long term.

I'm interested in learning Arduino but I have no experience. I'm handy... but again really a beginner with Arduino.

Are there any of these available? Or could you give me some very straight forward step-by-step??? It's really exciting what you're doing.

BTW for everyone watching this: For some reason the leads on my Tesla 7s modules (the wires running from the cell blocks to the BMS Board) have failed at the weld points. I was taking comparative measurement and they were all over the place. I thought... what??? Because the modules are working fine. Looking closer I found the balance wires to be loose at their weld points. So be sure to look into this and make sure your BMS leads are solid at their connecting points on the Cell Blocks.

Cheers!


----------



## kennybobby (Aug 10, 2012)

GreenTecAuto said:


> I have a few Tesla bms from the Rav4 ev (6cell) and at least one from the Smart car ev (15cell).
> Is there any interest in taking a crack at those? You know, for science!
> There are plenty of those out there as well.


i'm willing to trace out the circuits and draw up a schematic, for science of course! It's always good to see the different ways that the OEMs use to read voltage and turn on balancing, etc. Sometimes we get lucky and can extract the code and learn how to modify it to suit our purposes, e.g. http://www.diyelectriccar.com/forums/showthread.php?t=89470


----------



## GreenTecAuto (Jun 14, 2017)

Better than sitting and collecting dust. 
PM me your location.


----------



## Tomdb (Jan 28, 2013)

Currently running the pack attached to victron charger/inverter to cycle it.

Looks like she is balancing out pretty nicely.

As the pack is a 12S conversion, the temperature sensors are only on one of the two slaves. Need to remove Collins pack status or correct it so it does not fault out.

Okay so my pack overshot on the SOC calc, reason:
On boot up it uses a simple look up to roughly guess the SOC

4.2V is 100% 3.1V is 0%, so that lower value needs moving down. However the slave boards are keeping the cells nice and balanced during the charge of 35Amps and during the absorption phase allowing the slightly lower ones to catch up.


----------



## Kevin Sharpe (Jul 4, 2011)

Tomdb said:


> Looks like she is balancing out pretty nicely.


Very nice... just need to get this talking to Damien's Tesla charger controller


----------



## Tomdb (Jan 28, 2013)

Turns out I was just balancing with a inferior algorithm.

Balance cell if above balance setpoint.

This ofcourse wont do, should have changed it. But who looks at the full charge performance when there are other issues to address first. 

Will become : Balance cell if above Lowest cell voltage.

Kevin, I got a sneaking suspicion it will talk very nicely.


----------



## CarelHassink (Dec 24, 2017)

Hello All,

Can I ask in this thread some pointer/where to buy: 
the female canbus connector of the bms slave board, see picture.

I've seen it somewhere on the web, someone mentioning it to be a AMPS connector?

Thanks
best Carel Hassink


----------



## Tomdb (Jan 28, 2013)

It is not a canbus connector.

it is a Molex 15-97-5101

https://www.digikey.com/product-detail/en/molex-connector-corporation/15-97-5101/WM4772-ND/1624637

https://www.mouser.co.uk/ProductDetail/Molex/15-97-5101/?qs=%2fha2pyFaduhUBYMHOhpw0rm86c0pAqJsWA1bXZwWo%2fM%3d


----------



## CarelHassink (Dec 24, 2017)

Thank you for the prompt answer, and sharing

should make my customers happy,
if they want to make a bespoke can-bus loop.

I have put this info in a safe place now..
always willing to return a favor.

thanks,
Carel


----------



## CKidder (Dec 12, 2009)

CarelHassink said:


> Thank you for the prompt answer, and sharing
> 
> should make my customers happy,
> if they want to make a bespoke can-bus loop.
> ...


It is, once again, not a CAN bus loop. It's a TTL serial loop running at 612500 baud. If you try to put a CAN transceiver to those wires it just won't work.


----------



## Kevin Sharpe (Jul 4, 2011)

CarelHassink said:


> Can I ask in this thread some pointer...


Seen this project with contributions from Collin and Tom?

https://hackaday.io/project/10098-model-s-bms-hacking


----------



## CarelHassink (Dec 24, 2017)

Hello All,

"it may wel be not the correct forum to post this...but...."" with thanks,
it's obvious Im greatly interested in the progress making the Tesla bms work.
I had some clients that are using the software from Github.

Thanks for showing me the Hackaday project.

Except Jack Ricard's product, aimed at the US market
would anyone know of one aimed at Europe, 
and perhaps able to work with SMA inverter/chargers, 
since a new SMA product is coming into the solar energy market.
SMA Sunny Boy Storage 6.0 high voltage operating from 100V to 550V DC.
I will be launched in USA Europe and Australia coming February 

see:http://files.sma.de/dl/31186/SBS37-60-DEN1751-V21web.pdf

Nice to have this Storage Boy 6.0 working on Tesla steroids..

best Carel


----------



## Tomdb (Jan 28, 2013)

I have now gotten the Simple BMS (running Tesla BMS code) to talk to Victron system.

This will allow me to do cycle testing through using one of their Multiplus charger inverter modules.

Implemented features in the code:
-Balancing now happens to the lowest cell voltage instead of voltage setpoint
-SOC calculation has been cleaned up and tuned
-When starting the SOC is estimated at resting cell voltage
-CAN communication, to a format excepted by the VEcan system, will probally work with other solar inverters chargers out there

Upcoming features:
-SOC correction based on a full and empty battery
-Working on the Setup Menu so all necessary parameters can be changed on the fly.
-Looking to possible have add on modules for CAN based charger control (Lear Charger, Tesla Open Source and any that I can find online)

https://github.com/tomdebree/TeslaBMS


----------



## Tomdb (Jan 28, 2013)

Update 16/02/18

Work on the BMS system specifically has stood a bit still, however been plugging away on the code. Ofcourse thank you to everyone who has contributed so far, Ckidder and Jarrod.

*Github*

https://github.com/tomdebree/TeslaBMS

New features:
-Canbus now running at 500 kbps (Verified to still work with Victron, Boekel request)
-CAB300 working (reason the canbus went to 500kbps)
-Switching between sensor types, CAN or Analogue

Does anyone have any other CANbus sensors for the more power hungry users? As 300 amps is quite small for some of us (Damien  )

And ofcourse, open source it all. I take no responsibility if you wreck you things or others property due to your lack of knowledge or mistakes in the _freely_ available code.


----------



## Kevin Sharpe (Jul 4, 2011)

Tomdb said:


> And ofcourse, open source it all.


Thank you


----------



## Tomdb (Jan 28, 2013)

Ran a full - 4.1V average
to empty - As the inverter cut out at roughly 3.1V

This was a total drain of 92Ah, resulting in a remaining 8% SOC as i set the capcity to 100Ah. (12S tesla module)

I would say so far so good. Now just to get a more variable load to test the bms with.


----------



## Kevin Sharpe (Jul 4, 2011)

Tomdb said:


> Now just to get a more variable load to test the bms with.


In a couple of weeks we'll have our main pack (8 Tesla Modules) and motor ready to spin the wheels... I'd be happy to test your BMS if it's helpful


----------



## Tomdb (Jan 28, 2013)

New features added to code:
-Parallel strings now configurable (currently just adjusts the voltage accordingly)
-Does not count cell voltage below 0.1v as connected cells (allows use of Tesla Daimler boards)

https://github.com/tomdebree/TeslaBMS


----------



## boekel (Nov 10, 2010)

Very nice!!
































Thank you


----------



## Tomdb (Jan 28, 2013)

thanks to a recent update to the Victron firmware now the BMS can control the current and voltage limits in all modes.

This means that now the implementation of a true dynamic current limit will be essential to safe guard thermals. 
What I have in mind is as follows:
1. Minimal temperature below which nothing is allow, no charge or discharge.
Above this full discharge allowed.
2.Charged tapered from minimal to T2.
3.Discharge tapers off above T3
4. Max temperature allows no further currents in or out of the battery.

With this as a base it should maintain better control over thermals.

Besides the work on 'stationary' applications, I have been working on formulating the communication with the opensource tesla charger controller. This will follow soon, as functions proven for the 'stationary' application will directly translate into the charger control functionality. 

As always latest code available on github, also have added a quick overview of the setup menu on my version of the code.


----------



## jackbauer (Jan 12, 2008)

Thanks for the great work Tom. I have a batch of new charger boards in production. One will be winging it's way to you asap.


----------



## Tomdb (Jan 28, 2013)

Turns out that after running a couple of endurance tests (weeks hence why the long time no updates) the can bus kept going dead.

Cannot have that on a stationary battery (currently first application), reworked the canbus control direct to the teensy and updated the pcb with more IO.

New pcb designed and ordered. Will be ammending the code to work with the new design. Should be a simple renumbering of pins vs outputs.

Need to get a setup to test the BMS interacting with the Tesla Charger. 

Might then also look at getting a IVT-mod current sensor working for those higher amps. 
https://www.isabellenhuette.de/fileadmin/Daten/Praezisionsmesstechnik/IVT_Modular_datasheet_1.20.pdf


----------



## boekel (Nov 10, 2010)

Tomdb said:


> Might then also look at getting a IVT-mod current sensor working for those higher amps.
> https://www.isabellenhuette.de/fileadmin/Daten/Praezisionsmesstechnik/IVT_Modular_datasheet_1.20.pdf


That's an interesting sensor!


----------



## pm_dawn (Sep 14, 2009)

Jack at EVTV has that sensor in his kits......

http://store.evtv.me/proddetail.php?prod=TeslaDriveUnitBasics

Regards
/Per


----------



## Tomdb (Jan 28, 2013)

pm_dawn said:


> Jack at EVTV has that sensor in his kits......
> 
> http://store.evtv.me/proddetail.php?prod=TeslaDriveUnitBasics
> 
> ...



Yes he does, as it is practically the best sensor out there at the moment for the job. plus reasonably priced.

New pcb is made and shipped, now just waiting on the mail man for Rev2.0 build can start.


----------



## pm_dawn (Sep 14, 2009)

Is there any work ongoing to use the full size battery and communicate with the master BMS board ?
I have a full 85kwh pack that I plan to use and is looking for solutions.
Jacks solution seems overkill for a car application, I think he is more focusing that solution towards his solar application.
I have been looking at using a Macchina M2 to run the battery, but I have no working Tesla to baseline CAN-talk from.
Btw I plan to repackage the battery pack.

Regards
/Per Eklund


----------



## Tomdb (Jan 28, 2013)

No, as EVTV proved they are quite hard to get working.

I would not recommend sticking with the Tesla Master Board, especially as the precharge is heavily monitored.


----------



## pm_dawn (Sep 14, 2009)

Hi All !

Ok so I'm working on setting up a BMS controller for my tesla modules.
I have downloaded the flexscan version from Tomdb and it looks like it is running on the Teensy. At that point time ran out that night.
So next step is to hook it up to a module to see if it can communicate.

In the meantime I have been looking at reusing the Tesla battery pack current sensor.

So I snapped a couple of photos.....

Findings so far.

16pin thing: ihm-a-1500, really interesting, its the IsaScale chip.
https://www.mikrocontroller.net/attachment/65321/Datasheet_IMC-A-R0001.pdf

8pin thing: 2903AV, looks like a dual comparator.
http://www.ti.com/product/LM2903V?keyMatch=2903&tisearch=Search-EN-Everything

32pin thing:looks like STM8AF 62661 C 9918 VG MYS 402,
http://www.st.com/resource/en/datasheet/stm8af6246.pdf


So I have not hooked it up to any power yet.
But my guess is that there is some kind of normal uart talk on ttl level to the sensor, just as with the modules. Or that is what I hope.

I'll hook it up and take a look......

Seems like to good a sensor just to waste.....

Regards
/Per


----------



## Tomdb (Jan 28, 2013)

I have gotten a batch of boards made and they have proven to work.

So now offered for sale SIMP-BMS Sale


----------



## Kevin Sharpe (Jul 4, 2011)

Tomdb said:


> I have gotten a batch of boards made and they have proven to work.
> 
> So now offered for sale SIMP-BMS Sale


Great news Tom... will order one and test it in my bus


----------



## Tomdb (Jan 28, 2013)

*Update 18/08/18*

As I have now generated a product I intend to offer to others I have put some work into generating a wiring 'cheat sheet'

Besides that the serial interface is getting crammed full of all the settings that are currently hand coded.

This will allow changes to settings on the fly, also now EEprom updates everything the settings menu is exited. 

As always, code is on github opensource. However if you want to play around with it I would recommend getting one of my boards to make life easier.


----------



## Tomdb (Jan 28, 2013)

Added Serial interface overview.

*Newly introduced updates:*
- add more adjustable values to menus
- Precharge Timer
- Precharge Current
- PWM holding duty cycle

*Software update planned features:*
- current sensor input ratio current/voltage
- add more adjustable values to menus
- Charge and Discharge temperature taper points

As always the updates are on github. If anyone has more requests please let me know.

Currently debating to add more 'saftey' functions such as over temperature shutdown and some pre-warnings to allow you to prepare on the HV pack disconnecting.


----------



## Tomdb (Jan 28, 2013)

Update 30-09-18

Nothing major, just working on refining what I have.

Turns out that during balancing the readings were not as stable due to the balancing switching on and off.

This is now resolved by having the slaves turn balancing off before measuring, had a little headache with the Teensy spitting data on the serial bus too fast upsetting the slaves, now with this in place the measurements are nice and stable.

As always latest code on my github:

https://github.com/tomdebree/TeslaBMSV2


----------



## motorulf (Nov 16, 2016)

Something strange is happening with the reported temperatures in my MB B-class battery.
The Neg Term Temp seams right, the positive seams to add both the positive and negative values into something around the double value.


----------



## boekel (Nov 10, 2010)

motorulf said:


> Something strange is happening with the reported temperatures in my MB B-class battery.


That's correct, internally it's 2x ModelS CMU, with total of 2 sensors. I'm not sure what the second value is.

in the code, use:
settings.IgnoreTemp = 1; // 0 - use both sensors, 1 or 2 only use that sensor


----------



## motorulf (Nov 16, 2016)

So now i want to compile the code and upload it to the teensy.
It wants a ADC.h file, I cant find a reference for which ADC.h file it wants.
Is this the correct one? https://github.com/pedvide/ADC/blob/master/ADC.h


----------



## Tomdb (Jan 28, 2013)

Yes it is: https://github.com/pedvide/ADC

Should be already there if you install the teensy boards into your IDE.


----------



## motorulf (Nov 16, 2016)

Thank you!
Sorry for all the stupid questions... 

I have an other stupid question.
I am looking through the code and i find this:

```
void alarmupdate()
{
  alarm[0] = 0;
  if (bms.getHighCellVolt() > settings.OverVSetpoint);
  {
    alarm[0] = 0x04;
  }
  if (bms.getLowCellVolt() < settings.UnderVSetpoint)
  {
    alarm[0] |= 0x10;
  }
  if (bms.getAvgTemperature() < settings.OverTSetpoint)     
  {
    alarm[0] |= 0x40;
  }
  alarm[1] = 0;
  if (bms.getAvgTemperature() < settings.UnderTSetpoint)
  {
    alarm[1] = 0x01;
  }
  }
```
Is not the first "if (bms.getAvgTemperature() < settings.OverTSetpoint) " supposed to be "if (bms.getAvgTemperature() > settings.OverTSetpoint) "?

If that is not the case i dont understand how these setpoints are working.
I know i read about it some time but i cannot find it anymore...
This is how i figured it worked:
temp under "UnderTSetpoint" = no discharge
temp between "UnderTSetpoint" and "ChargeTSetpoint" = a taper between 0 and "discurrentmax"
temp between "ChargeTSetpoint" and "DisTSetpoint" = business as usual

temp between "DisTSetpoint" and "OverTSetpoint" = a taper between "discurrentmax" and 0
temp over "OverTSetpoint" = no discharge


----------



## Tomdb (Jan 28, 2013)

Yes it is, good catch will update the code.

Unfortunate due to having written it myself I do not always catch this things. 
Currently do not have a big setup to troubleshoot on.


----------



## Tomdb (Jan 28, 2013)

Update 10/16/18

Added:
-Voltage and Temp offset to set Warning Bits
-Set able Cell imbalance Alarm level

https://github.com/pedvide/ADC

Currently looking at implementing CAN bus based chargers next.


----------



## motorulf (Nov 16, 2016)

Time for more stupid questions.


Now i have put the latest code into the teensy with the following as a result.
I dont know what Status 5 is or what Error 129 is.
Before the update i got the correct voltage and a miscalculated avg temp, because it uses both sensors.
I tried changing to "settings.IgnoreTemp = 1;" but that changes nothing.
I tried changing it to 1 or 2 on this new code also, still changes nothing that i can see.
Also, it would be nice if it ignored all those non existing cells. I tried changing the "settings.ignoreVolt" but that also changes nothing. i only tried this on the latest code version though.


```
BMS Status : 5 Error     129


Modules: 24 Cells: 130 Strings: 3100  Voltage: 0.100V   Avg Cell Voltage: 2.488V  Low Cell Voltage: 0.000V   High Cell Voltage: 3.734V   Avg Temp: 0.000C 

Module #1   14.81V   Cell0: 3.73V   Cell1: 3.73V   Cell2: 3.73V   Cell3: 3.73V   Cell4: 0.00V   Cell5: 0.00V  Neg Term Temp: 16.82C  Pos Term Temp: 32.00C
Module #2   11.05V   Cell6: 3.72V   Cell7: 3.72V   Cell8: 3.72V   Cell9: 0.00V  Cell10: 0.00V  Cell11: 0.00V  Neg Term Temp: 16.36C  Pos Term Temp: 32.36C
Module #3   14.82V  Cell12: 3.73V  Cell13: 3.73V  Cell14: 3.73V  Cell15: 3.73V  Cell16: 0.00V  Cell17: 0.00V  Neg Term Temp: 13.95C  Pos Term Temp: 29.77C
Module #4   11.07V  Cell18: 3.73V  Cell19: 3.73V  Cell20: 3.73V  Cell21: 0.00V  Cell22: 0.00V  Cell23: 0.00V  Neg Term Temp: 15.05C  Pos Term Temp: 29.81C
Module #5   14.82V  Cell24: 3.73V  Cell25: 3.73V  Cell26: 3.73V  Cell27: 3.73V  Cell28: 0.00V  Cell29: 0.00V  Neg Term Temp: 13.80C  Pos Term Temp: 29.54C
Module #6   11.05V  Cell30: 3.72V  Cell31: 3.73V  Cell32: 3.73V  Cell33: 0.00V  Cell34: 0.00V  Cell35: 0.00V  Neg Term Temp: 14.46C  Pos Term Temp: 29.43C
Module #7   14.82V  Cell36: 3.73V  Cell37: 3.73V  Cell38: 3.73V  Cell39: 3.73V  Cell40: 0.00V  Cell41: 0.00V  Neg Term Temp: 13.70C  Pos Term Temp: 29.56C
Module #8   11.07V  Cell42: 3.73V  Cell43: 3.73V  Cell44: 3.73V  Cell45: 0.00V  Cell46: 0.00V  Cell47: 0.00V  Neg Term Temp: 14.80C  Pos Term Temp: 30.28C
Module #9   14.81V  Cell48: 3.73V  Cell49: 3.73V  Cell50: 3.73V  Cell51: 3.73V  Cell52: 0.00V  Cell53: 0.00V  Neg Term Temp: 14.01C  Pos Term Temp: 31.10C
Module #10  11.06V  Cell54: 3.73V  Cell55: 3.73V  Cell56: 3.73V  Cell57: 0.00V  Cell58: 0.00V  Cell59: 0.00V  Neg Term Temp: 14.89C  Pos Term Temp: 31.80C
Module #11  14.81V  Cell60: 3.73V  Cell61: 3.73V  Cell62: 3.73V  Cell63: 3.73V  Cell64: 0.00V  Cell65: 0.00V  Neg Term Temp: 14.36C  Pos Term Temp: 29.53C
Module #12  11.06V  Cell66: 3.73V  Cell67: 3.73V  Cell68: 3.73V  Cell69: 0.00V  Cell70: 0.00V  Cell71: 0.00V  Neg Term Temp: 14.99C  Pos Term Temp: 31.12C
Module #13  14.83V  Cell72: 3.73V  Cell73: 3.73V  Cell74: 3.73V  Cell75: 3.73V  Cell76: 0.00V  Cell77: 0.00V  Neg Term Temp: 14.25C  Pos Term Temp: 29.83C
Module #14  11.07V  Cell78: 3.73V  Cell79: 3.73V  Cell80: 3.73V  Cell81: 0.00V  Cell82: 0.00V  Cell83: 0.00V  Neg Term Temp: 15.38C  Pos Term Temp: 30.08C
Module #15  14.81V  Cell84: 3.73V  Cell85: 3.73V  Cell86: 3.73V  Cell87: 3.73V  Cell88: 0.00V  Cell89: 0.00V  Neg Term Temp: 14.28C  Pos Term Temp: 30.72C
Module #16  11.06V  Cell90: 3.73V  Cell91: 3.73V  Cell92: 3.73V  Cell93: 0.00V  Cell94: 0.00V  Cell95: 0.00V  Neg Term Temp: 15.51C  Pos Term Temp: 32.29C
Module #17  14.83V  Cell96: 3.73V  Cell97: 3.73V  Cell98: 3.73V  Cell99: 3.73V  Cell100: 0.00V  Cell101: 0.00V  Neg Term Temp: 14.14C  Pos Term Temp: 29.89C
Module #18  11.07V  Cell102: 3.73V  Cell103: 3.73V  Cell104: 3.73V  Cell105: 0.00V  Cell106: 0.00V  Cell107: 0.00V  Neg Term Temp: 15.25C  Pos Term Temp: 30.15C
Module #19  14.81V  Cell108: 3.73V  Cell109: 3.73V  Cell110: 3.73V  Cell111: 3.73V  Cell112: 0.00V  Cell113: 0.00V  Neg Term Temp: 14.31C  Pos Term Temp: 29.61C
Module #20  11.06V  Cell114: 3.73V  Cell115: 3.73V  Cell116: 3.73V  Cell117: 0.00V  Cell118: 0.00V  Cell119: 0.00V  Neg Term Temp: 15.03C  Pos Term Temp: 30.97C
Module #21  14.81V  Cell120: 3.73V  Cell121: 3.73V  Cell122: 3.73V  Cell123: 3.73V  Cell124: 0.00V  Cell125: 0.00V  Neg Term Temp: 14.26C  Pos Term Temp: 30.52C
Module #22  11.07V  Cell126: 3.73V  Cell127: 3.73V  Cell128: 3.73V  Cell129: 0.00V  Cell130: 0.00V  Cell131: 0.00V  Neg Term Temp: 15.16C  Pos Term Temp: 31.97C
Module #23  14.82V  Cell132: 3.73V  Cell133: 3.73V  Cell134: 3.73V  Cell135: 3.73V  Cell136: 0.00V  Cell137: 0.00V  Neg Term Temp: 14.48C  Pos Term Temp: 29.77C
Module #24  11.06V  Cell138: 3.73V  Cell139: 3.73V  Cell140: 3.73V  Cell141: 0.00V  Cell142: 0.00V  Cell143: 0.00V  Neg Term Temp: 15.67C  Pos Term Temp: 30.18C
CANbus   0.00mA  100% SOC 31000000.00mAh
```


----------



## Tomdb (Jan 28, 2013)

Are you entering the variables via the serial menu?

I can see that due to the updated flash memory locations the amount of strings for example is off.

So you need to unfortunately re-enter all the values.

Also for the ignore values to take into effect I believe resetting the bms is required.


----------



## motorulf (Nov 16, 2016)

Thanks for the reply.
Now i have correct voltage readings.
Everything seems to show correct values except the temperatures.
It shows:

```
Avg Temp: 22.500C

 Neg Term Temp: 14.28C  Pos Term Temp: 30.72C
```
No matter how i change "settings.IgnoreTemp =" it shows the same.

Also, i have put all necessary changes in values (convhigh, discurrentmax and such) in the code.
When i do a factory reset in battery settings it updates to those values. then i exit with "q" all the way out to the main status display.
If i then power off the teensy and restart it, the values are back to what i had earlier.
I thought it would update the EEPROM to contain the factory values.
If i manually enter all the values that i can edit it gets stored in EEPROM.

So, the question is how do i change the values that i cannot change via serial menu?
Also, how can i see all the values stored in the EEPROM?
I cannot trust that the right values are there at all if i cannot check it.
Now i suspect that the mV/A-values are still the default (Toms code) values.


Also, if i choose "restart" in the serial command menu, it stops communication and turns of the LED, but it never comes back online.
Not a big problem right now as i can power cycle it.


----------



## motorulf (Nov 16, 2016)

One more question.


It displays 2 temps (one is wrong) and displays an average from that.
Is the average temperature shown the same as the value used for temperature limits?
Or is there an other calculation going on for the temp limits?


I have not had the time to get into the code as deeply as i need to understand it all.


----------



## Tomdb (Jan 28, 2013)

Motorulf, good that you are trying to get to grips with it. 

All the values in the code that start with 'settings,' will be saved to EE-prom once entered. 

As you state, you have to exit the settings menu for them to be saved, this is quite clear once the normal debug starts scrolling.

I will have a look at the ignore temperature in tesla code.

Are you not using one of the temp sensors? As these values would currently be seen as plausible.


----------



## motorulf (Nov 16, 2016)

Tomdb said:


> All the values in the code that start with 'settings,' will be saved to EE-prom once entered.



So what does that mean exactly?
Am i supposed to do a factory reset, then go into edit settings, and then exit out, and then all the settings are stored in EEPROM?
When i only update the code with for example a mV/A value, how am i supposed to store that into EEPROM?
How can i know my settings are stored?
and what do you mean by "normal debug"?


Sorry for all the noob questions


----------



## Tomdb (Jan 28, 2013)

if you use 's' and go into the setup menu, no changes will be saved to ee-prom until you completely exit.

You will see the scrolling voltages

if you power cycle the SIMP-BMS before having fully exited the setup menu all changed settings will be lost.

Easy way to check if settings are saved, is power cycle ad check the setup menu, and then the relevant menu.


----------



## motorulf (Nov 16, 2016)

Tomdb said:


> Are you not using one of the temp sensors? As these values would currently be seen as plausible.



I am trying to use only 1 temperature sensor.
The pack has been unused in my garage at around 15°C for a month now.
Temps at around 30° are not very likely 
The values at negative terminal are correct, the ones at the positive terminal seems to be around the double on all modules.
I want to use only the negative terminal sensor because i trust that reading.


----------



## Tomdb (Jan 28, 2013)

Was a little busy but now having updated the manual and create some new menus. Please have a look at the latest code.

https://github.com/tomdebree/TeslaBMSV2

*Update 28/10/18 :*

New settings menu 'i-Ignore Settings'

You can now chose the Temperature Sensors to be used, any unconnected sensors will still be ignored.

0- Use all Sensors
1 - Use Sensor 1
2 - Use Sensor 2

Also a cell voltage ignore, this is used if you leave some cells unconnected (sensing inputs usually all tied to the most positive input on the slave)

For good measure, latest user manual attached. 

I am open to all feedback so if you have a request for a feature or question let me know.


----------



## motorulf (Nov 16, 2016)

Hello again!

Time for some new questions.
Please help me understand the current sensor. 

Some data first:
I am charging the battery with a brusa 513.
It says it is charging at 8.3 amps.
My clamp amp-meter says 8.3 amps are passing by.
The current sensor (low range side) is showing 1.94v on the multimeter.
The current sensor has 66.7 mV/A ((2500-1940mV)/66.7mV/A≈*8.4A*) so that seems correct so far.
But when I look at the current sensor debug i get this:

```
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1758  1762  -90.86mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1768  1762  136.30mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1761  1762  -22.72mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1644  1762  -2680.48mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1719  1762  -976.78mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1711  1762  -1158.51mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1722  1762  -908.64mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1744  1762  -408.89mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1765  1762  68.15mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1764  1762  45.43mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1644  1762  -2680.48mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1716  1762  -1044.93mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1711  1762  -1158.51mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1729  1762  -749.63mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1755  1762  -159.01mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1767  1762  113.58mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1658  1762  -2362.46mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1728  1762  -772.34mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1712  1762  -1135.80mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1718  1762  -999.50mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1641  1762  -2748.63mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1763  1762  22.72mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1765  1762  68.15mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1650  1762  -2544.18mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1723  1762  -885.92mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1711  1762  -1158.51mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1722  1762  -908.64mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1642  1762  -2725.91mA  [/FONT][/COLOR]
[COLOR=#222222][FONT=Arial]Low Range: Value ADC0: 1761  1762  -22.72mA  [/FONT][/COLOR]
```
When i look at main debug i get this, strangely this is not the same values which is also a mystery to me.
https://www.youtube.com/watch?v=ie7F4WEMBPc

I suspect this is happening because the charger is sending a rectified current which looks like this:








And the reading from the sensor is happening about every second, thereby showing a reading from somewhere on that curve.
It is not in sync so the measurement is changing all the time.

If this is correct, how does the BMS keep track of charged amp/seconds to compute the SOC correctly?
Can anybody explain in more detail how all this works?


----------



## Tomdb (Jan 28, 2013)

The analogue sensor runs at a really high speed, as fast as the loop runs.

The debug only displays the averaged current, both in teensy ADC and then in the software.

Can you please indicate how you believe you have calibrated the current sensor if you have at all? 

I will have a dig through the code a bit, i had the same issue using Victron Inverter/charger, had a really big 100hz wave form in it.

I would recommend something like a https://www.lem.com/en/cab-300csp3003

This canbus sensor does all the clever filtering for you.

Do you have a simple 12V load and power supply to supply a constant load to calibrate the sensor.


----------



## motorulf (Nov 16, 2016)

Well I "believe" i have calibrated the sensor.


I wound 20 rounds of wire trough it.
Fed it with 1A via a power resistor. (turned up the voltage of my supply until i got 1A)

Measured the voltage on the sensor and divided that by 20. (the voltage difference between no current and 1A current obviously...)
That came very close to the 66.7 i can read in the datasheet
http://www.europowercomponents.com/media/uploads/dhab%20s18.pdf
So i figured my measurements are not as exact as the manufacturers.

I did the same with the high range sensor, also very close to the numbers in the datasheet.

What else can i do?


If it shows the averaged current, how come the values change so much?
Where can i buy that sensor?
Isn't the BMS usable with analog current sensors?


----------



## Tomdb (Jan 28, 2013)

Motorulf, I had play with some coding.

*UPDATE 8/11/18*

Added analogue current sensor calibration
Improved debug for traces

-------------------------------------------------------------

https://github.com/tomdebree/TeslaBMSV2

-----------------------------------------------------------------


Updated the code now within setup menu 'c' you can set the high and low conversion. The value you enter needs to be one decimal and without a decimal point, so x10 higher. 

Ex. 66.5 mV/A would be entered as 665

When you enable current debug in menu 'd', exit the serial logger and open serial plotter in Arduino IDE. This will show you the measured voltages and then the calculated current.

Please see the attached trace, yellow is the current draw by my Victron very dirty, but a 'clean' traces. I can make alot of fancy software filters to get the reported current steady but then again since its a rolling average no measurements get missed out. 
The Amphour total gets updated with every smoothed current measurement, this happens faster than debug.

Reason for doing this is to keep the user capable of monitoring the information flow.


----------



## motorulf (Nov 16, 2016)

I tried the new code.


I entered 667 at the low range current sensor.
got back 667.00mV/A
tried with 66.7
got back 66.00mV/A
So i edited the .ino file again.
settings.convhigh = 5.7; // mV/A current sensor high range channel
settings.convlow = 66.7; // mV/A current sensor low range channel

now the same menu shows 66.70mV/A

I dont know whats going on with that.

Here is my plot.
I dont know what is going on with that either.
All i know is that as far as my multimeter can tell, the voltage on the sensor is steady as before...


----------



## Tomdb (Jan 28, 2013)

Wierd results. Please check, as because when I enter it i do:

'4 646' and '5 550'

you ran the zero point offsets right, otherwise please show me your current sensor settings menu. 

Can you make a setup to run a 'known' wave form (ac current can be done) or a steady current (power supply on current limit).

the plot should fill really quick, does it do that for you?


----------



## motorulf (Nov 16, 2016)

Yeah, ok... 



I will try as soon as i can.
I have the bms in a box on top of the battery pack, under my car, in a cold garage.
I need to bring it back to the house to test other stuff.


The plot fills up quite slowly, my plot was done in about a minute or so and still not filled up.


I entered "4667".

does it need a space? "4 667"


----------



## Tomdb (Jan 28, 2013)

You should see the value change right away in the menu. 
No need.

I have uploaded more code again, please load my code unchanged. This will now also include a 5hz lowpass filter over the current reading.

I would suggest testing just the current sensor and getting reading from it first, with the plot to prove the board is getting the readings it should.


----------



## motorulf (Nov 16, 2016)

I could not test the new code, it needs filters.h
I do not have that file or know which one it refers to.

I took the bms back to the house, tried it with an other current sensor.
That works great, even the plot works as it should.
I will change sensor in the car and try again.

I do the "c - To calibrate sensor offset" every time i do anything else, rewiring, code change etc.
Tried changing the Range Conv again, when everything else seem to work.
same result

I had this:

```
Current Sensor Calibration Menu
c - To calibrate sensor offset
s - To switch between Current Sensors
1 - invert current :1
2 - Pure Voltage based SOC :0
3 - Current Multiplication :1
4 - Analogue Low Range Conv:66.70 mV/A
5 - Analogue High Range Conv:5.70 mV/A
q - Go back to menu
```
sent 4667

got this:

```
Current Sensor Calibration Menu
c - To calibrate sensor offset
s - To switch between Current Sensors
1 - invert current :1
2 - Pure Voltage based SOC :0
3 - Current Multiplication :1
4 - Analogue Low Range Conv:667.00 mV/A
5 - Analogue High Range Conv:5.70 mV/A
q - Go back to menu
```


----------



## Tomdb (Jan 28, 2013)

Strange serial behaviour I cannot see why, for me its fine.

Link is in the code to the library https://github.com/JonHub/Filters

Only need to re calibrate the offsets with a new sensor or wiring change.

How many slaves are you running? 

With the propper working sensor and graph did you have any slaves hooked up?


----------



## motorulf (Nov 16, 2016)

I am running 12 slave boards, so that means 24 slaves.
I had no slaves connected when i did my latest try.


I do a complete setup of variables every time i change the code.
That way i am sure. (I had troubles because of code upgrade before, if you remember?)


----------



## Tomdb (Jan 28, 2013)

Yes any time you flash new code, check you variables.

This does then mean have the current sensor re run its offsets.

Feel free to post some pictures of your setup. love to see what people do with my project


----------



## Tomdb (Jan 28, 2013)

https://www.youtube.com/watch?v=-ItjOXbGdh8

Now also working with the Volt Chargers. This control will also work below the required minimum of 200V by just current limiting the charger till it reaches the desired voltage. This feature however is still at a beta stage and requires further testing.

Reworking the Menu structure slightly need to make some more room


----------



## Jimbo69ny (Feb 13, 2018)

Tomdb said:


> Now also working with the Volt Chargers.
> 
> Reworking the Menu structure slightly need to make some more room



Link isnt working for me.


----------



## Tomdb (Jan 28, 2013)

*UPDATE 09/11/18*

Changed Menu Structure - Update of Manual to follow
New Menu for Charging related variables
- Choosing canbus controlled charger (None, Brusa NLG5xx, Volt Charger)
- Message update speed

Can Bus controlled chargers supported
- AC present high will trigger the charger enable output and start the can comms

---------------------------------------------------------------------------------------

Chargers to be added:
-Eltek
-Open Source Tesla Charger


----------



## swoozle (Nov 13, 2011)

Jimbo69ny said:


> Link isnt working for me.


Works for me


----------



## prensel (Feb 21, 2010)

Solarsail said:


> Terrific project you have there, thanks.
> 
> Anything written or a schematics for this large resistive load bank? What is the wattage and what are the resistors?



I'm working on a similar Arduino controlled load to test batteries/modules upto 10V/120A. I'm using a IRLB7430 hexfet/mosfet with 4* 1R/100W resistors in parallel mounted on a big heatsink. I have 4 of these heatsinks in a cabinet with ventilators for cooling. Controlled by an Arduino and current on each heatsink monitored by a ACS715 30A current sensor.
Discharge setpoint and current can be set and the Ah are counted during discharge. 

Currently i'm driving the mosfet directly with a PWM from the Arduinio but causes the current sensor to bounce all over the place between 0 and actual amps.
Planning on using a DAC to smoothen the mosfet gate signal to keep it steady. Not sure if a mosfet driver like the mcp1407 would help in that ?


----------



## Tomdb (Jan 28, 2013)

Update 21/11/18

Working with Eltek Canbus charger. Volvo or standard.
Code on Github.

Elcon charger up next.


----------



## prensel (Feb 21, 2010)

Hi Tom,


Is the hardwaredesign on the github (https://github.com/tomdebree/TeslaBMS) the latest and still working version with this software ?


Regards,


Paul


----------



## Clarke (May 17, 2015)

prensel said:


> Hi Tom,
> 
> 
> Is the hardwaredesign on the github (https://github.com/tomdebree/TeslaBMS) the latest and still working version with this software ?
> ...


Paul,

Tom has a V2 hardware board - and a V2 repository on GitHub that's in active development.


----------



## Tomdb (Jan 28, 2013)

I have not really updated the hardware schematic. Yes there is a new version of it, but if you want to make one yourself it should be pretty straight forward as all the pins are in the coding.

Also I have them for sale if you want the specific hardware and want to chip in to the development of the next version. 

Feel free to leave some feature suggestions.


----------



## prensel (Feb 21, 2010)

I'd like to suggest an AUX relay with pre-charge capabilties.
In my conversions the charger, dcdc and PTC heater are on the AUX circuit and need seperate pre-charging before closing the AUX relay (Brusa chargers need pre-charging) 



The main relay with pre-charging is just for the motorcontroller.

Also like to have at least 2 PWM controlled outputs for driving the fuel gauge and the inverters output (low output when low SOC)


----------



## Tomdb (Jan 28, 2013)

prensel said:


> I'd like to suggest an AUX relay with pre-charge capabilties.
> In my conversions the charger, dcdc and PTC heater are on the AUX circuit and need seperate pre-charging before closing the AUX relay (Brusa chargers need pre-charging)


Catered for, precharge is on the positive can change the code so you can use the 'charge' enable relay as an additional negative relay. I will look at including this as an option. This would then work as the following:

Key-On -> in enable both negative contactors and precharge the postive and close it
AC - Present (charger request or what ever you want to call it) -> Aux negative closed and precharge the positive and close it



prensel said:


> Also like to have at least 2 PWM controlled outputs for driving the fuel gauge and the inverters output (low output when low SOC)


Read the manual my friend, 4 pwm outputs, all low driving, one does a fuel gauge as standard. The low SOC can be done but the whole thing broadcasts on CAN so you can so you can get really creative with your own Vehicle Controller if you want.

I can ofcourse start looking at making the outputs selectable interms of what they do. However this does increase the risk of someone updating the BMS or connecting for the first time and something going horribly wrong. Or just someone not paying attention and changing a setting they should not change.


Might be worth reading the updated manual
https://www.diyelectriccar.com/forums/showthread.php/fs-tesla-vw-outlander-bms-master-198263.html


----------



## BPS (Aug 11, 2018)

I have 4 Tesla modules, 3 with REV02 BMS slaves and 1 with REV03 BMS slave.
Started installing SIMP-BMS which worked perfectly first.
Now the REV03 BMS slave is showing 5volt more than the module actually is.
I tried swapping slaves but the high voltage discrepancy is in the REV03 slave.

Any ideas would be greatly appreciated.


----------



## CarelHassink (Dec 24, 2017)

Tom, Daniel,
Brian contacted me via FB messenger direct,
we are trying to sort the failing cmu rev03, swapping it with a rev02.
and try to take it from there.

best Carel


----------



## Tomdb (Jan 28, 2013)

I have had slaves fail on me too. Swapping out to a new one fixed it.

If you get any faulty/fluctuating readings it might be down to the slave being bad.


----------



## CarelHassink (Dec 24, 2017)

Tom,
talking to Brian,
we got to the same conclusion, faulty CMU,
checked by swapping suspect CMU to all his modules, to find fault on all.

Brian purchased a new "second-life" CMU REV02, tested to work, and shipped out tomorrow.
Carel


----------



## BPS (Aug 11, 2018)

Thanks, Carel for your quick reply. And for finding replacement parts for me.


----------



## x.l.r.8 (Oct 20, 2018)

Hi Tom, I may be getting ahead of myself but I’m controlling the drive/neutral/reverse switching from an arduino with a WiFi board controlled by an android tablet. I will isolate the drive pins to the inverter when I switch the charge pin to high. Will the bms open the precharge contractor once the positive contractor is closed. I am using Damien’s controller for the 72A gen 3 charger, do I set the ‘max charge currrent’ to the max output of the charger ie the DC amperage at pack voltage. Do I need to lower it just in case when using the open EVSE supplying 40A as opposed to the clipper one supplying 80A. If so is there a way to do this once again using a serial adaptor to the pi zero W to enable the changes on the tablet that I’ll be using as a switch control and dashboard.


----------



## Tomdb (Jan 28, 2013)

If you are using the SimpBMS code, yes pre charge opens again.

The max charge current of the Opensource Tesla Charger is on the AC input side.

You set this to the max your wiring in the car can handle, only in some cases will it be required to be altered for charging using a dumb socket.

When using an EVSE and having the CP and PP wired the Charger will limit its current based on what the EVSE can provide.

Currently there is no DC limiting in the open source chargers, something that has been on my list for while to look at.


----------



## x.l.r.8 (Oct 20, 2018)

Okay got it, I can run the 72A charger full charge as its not like I'm going for pack lifetime, I can a get cheap contactor for pre charge and get a couple of GV 200's for the main contactors.


----------



## x.l.r.8 (Oct 20, 2018)

I have another quick question, if I’m going to be using more than 300 amps can I simply swap out the CAB300 for the CAB1500 ?


----------



## Tomdb (Jan 28, 2013)

Never heard of a CAB1500

The CAB500 will work as it has or should have same can message build up as the CAB300.


----------



## joromy (Feb 27, 2018)

Hi Tomb.
Can i use your SIMP-BMS with one tesla battery module (6 cell, one BMB)


----------



## Tomdb (Jan 28, 2013)

joromy said:


> Hi Tomb.
> Can i use your SIMP-BMS with one tesla battery module (6 cell, one BMB)


You can even usse a BMB down to 4 or 3 cells. The Simp BMS does not care how many cells are connected as long as you feed it 12V.


----------

