I need to build a battery emulator to test a battery management system as part of a project at university. I just need to ensure the BMS can safely operate the batteries and take care of any anamolous situations.
The battery chemistry I need to emulate is an Li ion battery.
I'm aware of the difficulties of emulating the charge cycle (for example, the fact that the emulator has to draw power), but would like to emulate the discharge profile with the circuit. I need to use the Arduino to read values of current and voltage off a data file, communicate it to the circuit and ultimately have these values outputted as they were entered in the data file.
I have a few doubts:
1) Is Arduino capable of outputting specific values of voltage at specific instances of time?
Like say, 3.7 V at time 1, 3.6 V at time 50, and so on. From what I understand, it can provide either a 3.3 V or 5 V output. I'm not exactly sure how I can translate this to output the voltage I need. An Li ion battery has a relatively flat discharge curve through most of its operation. However,there are still small changes in its output voltage, and large changes towards the end of the cycle.
As such, during any one run, I guess the current draw will need to be constant.
I'm thinking of using the Uno, or possibly the Due.
I'm not entirely clear on what else I will need to consider to get the circuit functional. This is the first time I've had to work on a micro-controller related project, and as such, any suggestions and guidance would be extremely welcome.
Also, any ideas for circuits (with or without a micro-controller) that could stress the BMS during the charge cycle will also be greatly appreciated. For example, make sure it shuts down if there's an overvoltage.
Thanks in advance
PS: I found a similar work based on a PIC microcontroller at this link: http://www.ece.uci.edu/bsharp/
However, I do not need the recording feature. In addition, a lot of the features implemented in this project will be quite difficult to replicate.