Power in Flux
Likes Likes:  18
Page 2 of 6 FirstFirst 1234 ... LastLast
Results 11 to 20 of 55

Thread: BMS based on ltc 6804 and arduino

              
   
   
  1. #11
    Member
    Join Date
    Nov 2015
    Posts
    40
    Post Thanks / Like
    I'm very interested in your arduino code for CANbus. I have some familiarity with the Arduino environment, but haven't yet started integrating CAN into it yet.

  2. #12
    Senior Member tomdb's Avatar
    Join Date
    Apr 2013
    Posts
    202
    Post Thanks / Like
    Some progress, got the ltc6804 part of the board working fine.

    The canbus however is somewhat intermittent, got to be a gremlin somewhere near the opto-couplers. Tomorrow i am going to setup my scope to dig deeper.

  3. #13
    Senior Member tomdb's Avatar
    Join Date
    Apr 2013
    Posts
    202
    Post Thanks / Like
    Got it working for a brief period, something is quite funky in the canbus region. Some more searching required. However you guys might be interested in my current test setup; Got an arduino function as BMS master with an nextion display from itead function as interface.

    The serial output displayed is from the bms slave, so each of the cell values. However soon after the canbus did not work again.


  4. #14
    Moderator Nuts & Volts's Avatar
    Join Date
    Aug 2010
    Location
    Columbus, OH
    Posts
    1,769
    Post Thanks / Like
    Looks great. Following with interest. The display looks very nice


    Sent from my iPhone using Tapatalk
    Whats under my tank may shock you!!! R6 Build, Blog/, [/URL] OSU Current webpage

  5. #15
    Senior Member tomdb's Avatar
    Join Date
    Apr 2013
    Posts
    202
    Post Thanks / Like
    Done some more diagnostics, both software and hardware. It works

    I can send the command from the touch screen over canbus to the bms slave and get my voltages back.

    Now time to start building the true software, using a state machine. This will be done to implement different operating mode with different tasks/frequencies.
    Last edited by tomdb; 14 November 2015 at 0932.

  6. Likes Spoonman liked this post
  7. #16
    Senior Member tomdb's Avatar
    Join Date
    Apr 2013
    Posts
    202
    Post Thanks / Like
    Two updates:

    Software: The "master" arduino now runs as a state machine calling up tasks according to a scheduler. This means realtime refreshing of the touchscreen (the output for now) and calculating all pack values.

    Hardware: Was building up too many vacation days at my day job, so took today off and backed another slave board. In one go this time, flashed in one go also. So I am quite pleased how it is all going so far. This means two can run in series for a 24s test system.


    To-do

    Software: Implement the state system for the BMS slave software;
    • Create checks
    • Temperature probes readouts
    • Define operating states and tasks
    • Decide on node ID assignment strategy


    Hardware: I salvaged the LTC6804 off my first pcb, need to clean it up and see if i can build another slave board with it. This would help quite alot, with a 36s system I can run my a123 amp20 packs two in series (17x2 = 34) And then do some real testing (possible vehicle build)

    Order something like 20 new ltc6804's will cost me around 350 dollars, so a big step but well worth it believe. Right now in small quantities my total pcb runs at 30 euro's, that means 2.5 euro's per cell. If i do start my purchase for the LTC's I will get a new run of PCB's with room for serial numbers and a paste stencil.

    DSC_0234.jpgDSC_0239.jpg

  8. #17
    Senior Member tomdb's Avatar
    Join Date
    Apr 2013
    Posts
    202
    Post Thanks / Like
    My bank account got alil lighter. Purchases so far:

    -12 more mainboard pcb's
    -12 balance boards (new design, just two resistors and a mosfet per cell)
    -SMD stencil for the mainboard, got so tired of doing it by hand

    -20 more LTC6804's this was the biggest expense lets hope they arrive soon. confirmation on shipping 1-12-2015

    Update:

    Better get more of my software sorted and my a123 packs prepped now that I know my LTC6804's are going to be here this week.
    Last edited by tomdb; 01 December 2015 at 1500.

  9. #18
    Senior Member tomdb's Avatar
    Join Date
    Apr 2013
    Posts
    202
    Post Thanks / Like
    Got some parts in.
    The ltc6804's are in got hit with an import tax tough. forgot about that bastard.
    Also got my stencil in, will probably try it out next week. Should right now have enough parts to build one more board.

    Currently hard at work on programming this puppy. Got my "BMS master" running with two screens and a few simple extra info parameters.
    • Highest cell
    • Lowest cell


    This way I can monitor my test setup with one pack.

    On the slave side;
    1. Serial setup commands
    2. Real time operating system
    3. Can bus definition
    4. Can command


    This now allows me to flash all the boards with the same software and later change their ID's using a simple serial command, plus read out the current set parameters.
    Also all the canbus messages are programmed in. (if anyone is interested in the programming or canbus message build up message me, forum wont allow pdf's above 20 kb.)

    Still pondering on what other parameters to set on the fly beside high and low voltage limits. (the high voltage limit will also work as the balancing set point, so set point below the high voltage limit as the balancing target.)

  10. #19
    Senior Member
    Join Date
    Feb 2012
    Location
    Edmonds, WA
    Posts
    154
    Post Thanks / Like
    Quote Originally Posted by tomdb View Post
    My bank account got alil lighter. Purchases so far:

    -12 more mainboard pcb's
    -12 balance boards (new design, just two resistors and a mosfet per cell)
    -SMD stencil for the mainboard, got so tired of doing it by hand

    -20 more LTC6804's this was the biggest expense lets hope they arrive soon. confirmation on shipping 1-12-2015

    Update:

    Better get more of my software sorted and my a123 packs prepped now that I know my LTC6804's are going to be here this week.
    Why did you buy so many 6804's? Seems like 3 would do.

    I used a pair of Freescale MC33771's (14 cells each) with a MC33664 isolated comms board which could plug onto an Arduino in a pinch, but I chose the FRDM25Z dev board to get an ARM processor. Then added a STM32F4 dev board with a plug-on 3.2" TFT color LCD as a display head. RS-232 between FRDM25Z and the ST display head in ASCII for easy eavesdropping. Similar idea to what you've created but I used all eval boards so I did not have to spend the time and money to spin one.

    I've used a ton of Atmegas in products, but I do like the flexibility and performance of the M4's and I don't like the dev environment of the Arduino sketches.

    You are doing great and you've learned a lot!

  11. #20
    Senior Member tomdb's Avatar
    Join Date
    Apr 2013
    Posts
    202
    Post Thanks / Like
    I bought that many IC's because I right now have 12 modoules of 17s cells, this would give me 204 cells to monitor (in two packs that is). Plus I have enough plans for multiple conversions/packs so I need a few slave boards. With the boards I can make now I could theoretically monitor 264 cells.

    Still working on all the software/ components. Designing a Vehicle master/BMS master with 3 canbus lines HV monitoring and contactor control.
    The three canbuses for; The BMS slaves, Charging (Onboard / Chademo) and the last for vehicle interface.

    Got something I want to try out for contactor control and precharging, will post some more once I made a few boards and tested it.

Page 2 of 6 FirstFirst 1234 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •