Alan B
100 GW
Njay said:Have you looked at revolt's bms?
Is there a thread for it?
I found some info here, but not much:
http://upverter.com/mwismer/307605a19fdbb313/Open-Revolt-BMS/
Njay said:Have you looked at revolt's bms?
Njay said:http://ecomodder.com/wiki/index.php/Open_ReVolt/PCB_Schematics#Open_ReVolt_-_BMS_Battery_Management_System_.28Rev1.29
Njay said:I have not done a formal analysis, but intuitively I have doubts the UART "method" will always work under all conditions of temperature and voltage, and at the speeds required to do 10+sps.
...
Yap, like the "slow" rising edges you'll get from the opto interface.Alan B said:I often see folks quoting 4.5% as the requirement, but that assumes the whole bit time can be consumed by this error source, which is not very conservative as there are other things competing for the available bit time error margins.
Yep, I don't doubt it works most of the time; but I want it to work all the time under all circumstances. Some cells will get more airflow than others, and at the bottom charge some will sag more than others, and on top of that, the "main console" will have a crystal clock that will not drift.Alan B said:The RC oscillator has a 10% uncalibrated accuracy, and it can be calibrated to less than 1%. On top of that there is still temperature and voltage drift, and you have errors at both ends of the serial link to consider. So the RC might be marginal. Folks have indicated it does work, so it must be statistical.
Good point. I will nevertheless not have crystal/resonator, the communications protocol I implemented recovers the bit timing from the message itself. It's very simple. Every bit consists of a LOW time and a HIGH time. The length of the LOW time defines if it's a 0 or a 1. The 1st 2 bits of the message define the 0 and 1 bits time, which are then used to measure the remaining bits. So a message is 2 initial "timing bits" + 8 databits + 1 parity bit + 1 stop bit, transmitted in 1ms. I still code some information on the initial 2 bits; if the 1st is longer than the second it means a "control message", otherwise it is a "data message". The longer bit is always a 1.Alan B said:A ceramic resonator costs about $0.15 in 100 quantity, and has 0.5% accuracy and 0.2% stability so will easily meet the requirement at 0.7% total. With these small micro chips that have higher pin count using 2 pins for the ceramic resonator is not taking too many pins. A crystal would be even better, but is not necessary for serial i/o and the cost and size are greater. Adding a resonator or crystal also obviates the need to calibrate the RC oscillator which saves time and effort.
Alan B said:[snip]...The zener is important when connecting a multi-cell connector as the make-up order of the pins is not known and can cause voltages across one cell circuit to exceed the 5.5V rating of the micro for a moment during connect/disconnect cycles. This is not needed for one micro per connector designs. Multiple cells per micro make it more difficult to maintain the same leakage current on all cells with the impedances of the voltage sampling circuits at different potentials.
It looks to me like a 10uA leakage on each cell is a reachable goal.
Njay said:Took a look at the LIN bus. Too slow and complex for my requirements.
Humm, so that's the thing with the picoPower. I'm not having the BOD enabled at all. I'm relying on a Cell+ series diode (I think it's the same on the ReVolt) and a beefy capacitor (10uF) to survive through the rougher times. This combination also help keep the micro's Vcc stable, good for things like ADC measurements and RC clock stability.
In that case I totally agree with you!2moto said:Njay said:Took a look at the LIN bus. Too slow and complex for my requirements. (...)
Yes, it is a bit slow, but as I am using one micro per 5 cells, speed becomes less important. (...)
2moto said:Mine auto-balances on every charge anyway. It does so throughout the charging process, and all cells become full at the same time. So, the sleep current is only a consideration for self-discharge. As I am using 5Ah or 10Ah cells, it would take somewhere around 200 theoretical years to discharge them. I am OK with that.