View Single Post
Old 02-05-2010, 11:20 AM   #1 (permalink)
MPaulHolmes's Avatar
Join Date: Feb 2008
Location: Maricopa, AZ (sort of. Actually outside of town)
Posts: 3,829

Michael's Electric Beetle - '71 Volkswagen Superbeetle 500000
Thanks: 1,366
Thanked 1,115 Times in 730 Posts
BMS for open revolt

I figured it's own thread would be better than occasional comments inside other threads. Let's define terms. The BMS can have any number of "nodes", where each node monitors anywhere from 1 to 10 batteries, and is controlled by 1 dsPIC30F4011. I plan on only using a node to monitor 8 batteries, since the sample pack to be monitored is 48 100amp*hr thundersky batteries.

Let's say a node consists of 8 "subnodes". haha. Each subnode has an ATTINY25 that communicates via morse code with it's master, the dsPIC30F4011.

I breadboarded 1 node of the bms, where that node only had 1 subnode, just for testing:

It measures the battery voltage indirectly by sampling a 1.25v reference voltage. The attiny25 was powered by a variable voltage supply. I varied the voltage from 2.0v up to 4.5v, and watched how the morse code on the oscilloscope changed. To figure out what the power supply voltage was, you do this...
You get the ADC_VALUE by converting the morse code to it. Then, the battery voltage is:
x = 1.25/ADC_VALUE * 1024.

I wrote down the da's and dits.... Not knowing if it was working or not, I went to finding x above... It said 2.07v, while the voltage reference said 2.0v. I was pretty sad. Then I figured I would measure the voltage of the power supply with my new fluke 117 volt meter. It said 2.072v! hahaha. oh heck ya... Now to test the receiving half.

kits and boards
  Reply With Quote