Quick links. If you're charging a pack that has been forcibly discharged below the LVC set point, charge current will also be limited until all of the individual cell voltages are all back above the LVC point. The overall design will be rugged and simple K.
A few ES members have already expressed interest. It's highly recommended to use the PWM circuit unless the cells are close to balanced already or you're using a balancing charger.
Will be reprogrammable using the Arduino tools. Skip to the end of page 5 if you want to ignore the analog design discussion. Schematics are halfway down page 8. Last edited by dmwahl on Jul 21 pm, edited 11 times in total. So here is the first question: Does your BMS create a perpetual imbalance on the battery pack it tries to manage? A good one. For all of us who build hobbyking packs!!! The control circuitry is powered by the individual cells when not charging.
When charging the PWM circuitry is supplied by the charger itself, and disconnected as soon as you disconnect the charger. This gave a bit more wiggle room on regulator selection. When the charger is disconnected the only draw is from the individual cell monitors, and they draw about 40 microamps total. At that rate it will take almost 3 years to discharge the pack by 1Ah, ignoring cell self discharge.
This could be reduced, but the balancing circuit stability would suffer. When the charger is disconnected the only draw is from the individual cell monitors. But that's speculation on my part. Where can I find a high level block diagram? If simplicity worked, the world would be overrun with insects.
At some point I'd like to do a microprocessor version that would include a data port, but there's a lot more work involved in that. What cpu board are you using? You do not have the required permissions to view the files attached to this post.Microchip addresses the key requirements for Battery Charging applications such as:.
A good battery charger maximizes battery capacity, extends battery life and monitors the charging process. Depending on Battery Chemistry, Microchip offers a broad array of Battery Management Solutions which feature small package sizes, high-efficiency, low standby power, accuracy and versatility solutions to solve these portable power conversion challenges.
To further reduce design size, cost and complexity, the Li-Ion Charge Management Controllers provide a reliable, low-cost and high accuracy voltage regulation solution with few external components. Power Management. Battery Management. Battery Charge Management and Controllers Microchip addresses the key requirements for Battery Charging applications such as:.
Safe charging Maximize fuel capacity. Minimize charge time Small form factor. Single Cell Li-Ion. Switching Solution for Programmable Charger. Power Check Design Service. Accelerate and optimize hardware designs by obtaining insightful guidance and implementing best practices Get recommendations from our applications experts on your hardware designs that use Microchip power management devices Seamlessly upload your design files and track progress.
Learn More.Pages: . Kendrick Jr. The basic idea is this to be able to manage a battery pack with up to 20 cells in series more than that and I have to get different speed controllers. The BMS must be able to mesure cell voltage, the AtoD converter should give me an accuracy of about 0. A Low Voltage And High Voltage cutoff will be needed to prevent over discharge and charge both settings must be user settable. To stop the battery pack from getting out of balance there needs to be a balancing system in there.
The cutoff circuit would probably work best with mosfets 1 per 20a. Unless someone has solved the problem it looks like I am going to have to go for a system with each cell controlled by its own ATtiny45 or 85 the outputs must be optically isolated from a controlling Arduino in the form of probably a nano though the chip from a uno could be used.
There needs to be a way to pole the ATtiny's so the information from them is recived one at a time, other information to be sent back is to control the balance circuitry if the cell was high then connect the cell to a power resistor to drain the cell a bit till the cell is in line with the rest. Once fully charged disconnect the charger from the BMS. Have a way to connect a display to the BMS to check what the voltage of the cells are, mostly to be used while charging but can be used while the Battery is being discharged.
A possible extra idea would be to put a way to mesure how much power in the form of Watt Hours are being put into the battery how comes out and a way to in effect make a fuel tank gauge. That's a heck of a project! But this thread interests me because I have friends with e-bikes and we've discussed battery options and charging. Please update this thread with your progress. I'm earmarking it to check back on your progress. Good luck! I'm going to start small with a 3 cell setup this i should be able to breadboard.
First object is to get the attinys to recognise the LVC and HVC limits I want, for this I will need a few more attinys and a programming card there are plenty of instructions for making the latter on YouTube. Next I'll be ordering some optoisolators for the link between the attinys and the Nano. I've been having some second thoughts instead of using one attiny per cell in series with its internal AtoD use an external AtoD with much higher resoloution to mesure 5 cells at once using a voltage divider to reduce the voltage to the 5v range one of the ADS's with a 16 bit converter should fit the bill.
The voltage from the previous reading would be taken from the voltage measurement to separate out each cells individual voltage. In theory since 4 of these chips can be inputted into a single Arduino up to 17 cells could be measured but the accuracy would be reduced in the higher cells.
The coding would be more complicated but the reduction in number of components would probably be worth it. A standard decider would probably be good enough allowing for overvoltage the maximum voltage you will need to read is 4.
I have all the parts needed to make a 5 cell tester at the moment I will just need the circuit for the voltage divider. I'll take a look at the LTC The mosfets are not for use with the attinys they work as an electronic switch to disconnect the battery from the speed controller, I would need one for the charging side of things. Four voltage dividers will discharge the cells unevenly. The mosfets in the LTC are for cell balancing during charging time. Did you consider "flying capacitors" with relays to measure the cells.
That would have zero draw from the cells, and no measurement difference between cells. Battery stack measurement is a frequent subject on this forum. Search the site lollypop on top of this page. The LTC would probably be the best way to go but I would need a lot more information about it than I have found so far flying capacitors and relays sounds interesting what type of relay, what does the turm flying capacitors mean and how are they measured. Quote from: Kendrick on Jan 14,pm.
Hi I have been gathering parts and talking to people on other forums about this and a sister project both are for electric bikes. First a bit of history that ties in with my concept, about 8 years ago in conjunction with one of the brains on the Endless Sphere electric vehicle forum I developed, had made and sold a small board that would activate a throttle cutoff when any cell in the battery pack reached 3v or 2.Pages: .
I'm just a bit lost here Quote from: knighty on May 12,pm. PeterH Guest. An optocoupler is just a way to pass a digital signal between two circuits that are not connected electrically.
They are simple to use, and if you look at the data sheet for the one you have in mind it will probably include an example circuit diagram showing how to connect it. I think there are basically two ways to approach this.
The first way uses some device connected to each cell which produces a digital signal indicating the voltage of that cell. The digital signal from each cell would be connected to the digital input of an Arduino via an optocoupler. If it is carrying a serial data stream, you'd need to read and decode that on the receiving side.
Given the large number of cells to be monitored it probably isn't practical to use a hardware UART for each cell but you could use a software serial driver. The standard Arduino driver only supports reading from one port at a time, but I understand the AltSoftSerial library avoids that restriction. The second approach is to connect the junction between each pair of cells to an analog input using a voltage divider to convert the expected voltage range relative to the Arduino ground down to a The higher the voltage you needed to measure the more you'd need to divide it down and the less resolution you'd have in the resulting reading.
Depending how accurately you need to know the voltage, that might be a problem - you'd have to calculate the resolution available and work out what resolution you needed to know whether this was viable. One opto isolator would be used to pass data to the ATtiny from the master Arduino or similar processor. The ATtiny would be in power down mode until it received a wakeup signal via the opto.
On receiving a message addressed to it, it would read the internal voltage reference, calculate the cell voltage using a calibration word stored in EEPROM to allow for variation in the internal voltage reference between devicesand send the data to the master processor via the second opto isolator.
You could use less hardware by putting all the ATTinys in a ring and so use just one opto isolator per ATtiny, however if one of them failed then it would be less straightforward to determine which one. Formal verification of safety-critical software, software development, and electronic design and prototyping.
Please do not ask for unpaid help via PM, use the forum.
I don't see why you couldn't use an analog opto-isolator to interface between the arduino and the battery cells. Then multiplex the output from the opto-isolators to the arduino in order to select between cells to monitor. This will not be real time, there will be a small delay between cells being read.
The delay will be amplified if you decide to do input sampling averaging the voltage read on each cell "x" amount of times, before going on to read the next voltage. Another note: remember to power your arduino from a separate source.
Personally, I would make an auxiliary battery pack on the ebike for powering low current devices such as the arduino. And don't think that you can use dual multiplexers to switch between cells one multiplexer for positive terminal, one multiplexer for negative terminal without optoisolation, readings will be erroneous. Quote from: alex on Jun 05,am.Pages: . I have just built a Lion battery pack. My problem is that the BMS turns off power at discharge already at 34 volt 3,4 volt each cell.
That is too early as the specification says 2,5 volt. I have 3 different BMS brand. They do them thing all 3. Charging is no problem,They charge up to 4,2 volt before the BMS turns off. Has anybody some ides what wrong? Regards Jan. Re: BMS. This is a question for the documentation of the BMS That said, the discharge curve for LiPo is very flat until around 3. Thanks for your answer. I see what you mean. However I think I could discarge down to 3 volt without shorten the lifetime of the cells that much.
Naybe there is nothing wrong with the BMS but instead there is one or more cells in the pack that are bad and make the BMS turn off discharging earlier than expected. Thanks again! TomGeorge Design and Repair of industrial control systems. Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png? Everything runs on smoke, let the smoke out, it stops running I tried to attach pictures but I did not manage.
6S IOT BMS
Please read the first post in any forum entitled how to use this forum.By executing powerful instructions in a single clock cycle, the device achieves throughputs approaching 1 MIPS per MHz, balancing power consumption and processing speed. Functional Safety : This product is recommended for safety critical applications targeting both industrial and automotive products IEC and ISO Please contact your local Microchip sales office or your distributor for more information.
IAR offers a completely integrated development environment incorporating a compiler, an assembler, a linker and a debugger. Finding the right compiler to support your device is simple:. This collection includes compiler, assembler, linker and Standard C and math libraries. Most of these tools are based on efforts from GNU www. For more information please refer to the release notes. The Atmel Atmel START is an innovative online tool for intuitive, graphical configuration of embedded software projects.
It lets you select and configure software components, drivers and middleware, as well as complete example projects, specifically tailored to the needs of your application. The configuration stage lets you review dependencies between software components, conflicts and hardware constraints AVR is expected soon! Our most affordable debugger has power to impress. A complete starter kit and development system for the 8-bit and bit AVR microcontrollers that gives designers a quick start to develop code on the AVR, with advanced features for prototyping and testing new designs.
The AVR device connects to the STK using an innovative routing and socketcard sandwich system, which routes the signals from the device to the appropriate For pricing and availability, contact Microchip Local Sales.
Battery Charge Management and Controllers
Development Environment. Similar Devices. Jump to: Select type. Data Sheets. Supporting Collateral. Application Notes Download All. Legacy Collaterals. Microprocessor or Microcontroller. White Papers. Integrated Development Environments. Learn More. Add To Cart. Part Number.Hello There, Guest!
Login Register. Remember me. Thread Rating: 0 Vote s - 0 Average 1 2 3 4 5.DiyBMS v4 BMS for power wall cell balancing
Thread Modes. Michel Junior Member. Hi Everyone, Like many of us whom are looking to buy or make a simple BMS which would monitor and passively balance cells in our powerwall I've been playing with the idea to make my own based on ESP modules. Since it's a SOC the software can be modified and improved over time.
Korishan Super Moderator. Looks pretty good. I can't say if that'll work or not in the grand scheme. A few points though. Are you going to have a master? If so, how are you going to communicate with it? What is the algorithm that will drive the balancing?
Will you be putting the ESP to sleep between updates, or will it always be one monitoring the pack? If sleeping, how often would you wake it up to take samples? I'm sure there are more questions, but I'll have to think of them, or let others post them.
Proceed with caution. Knowledge is Power! Hi Korishan, Thank you for your reply! As I mentioned since it's all software based from there on it should be easy to expand and improve.
Suggestions as to what "algorithm" to use for balancing? Well I assumed that even considering the non-sleeping energy consumption which is around mA 3. It might be worth looking in to the sleeping functionality, but I'd rather not over-complicate everything. I'm afraid that'd be too complicated for me. Geek Posting Freak. I personally don't trust WiFi with such critical tasks. If for whatever reason there is some interference and your network is interrupted there is a possibility a critical error might be reported.
I would opt for a system that is wired and stand alone for the sake of reliability. The Attiny85 is quite capable as an alternative to the Atmega So it is quite capable of running Arduino code. However the difference in price is negligible. Korishan likes this post. The biggest issue with WiFi is that you can flood your network very rapidly. Also, it has delays that may impact certain responses, like safety measures.
I would actually recommend at least going with I2C comms instead.