We did some more work on the BMS boards today. Here is the current circuit:
It was decided that the low temperature alarm could be implemented with a single sensor; there is no need for under temperature detection on each cell. That way, we use just the four comparators.
After we drew up this circuit, Weber asked why we need D2; couldn't the opto and green LED be connected to the output of IC1c? Indeed, we'll probably go that way, although it means no red LED, only a green one (which we probably won't populate anyway).
We started testing the new circuit with a combination of veroboard (for the bypass circuit from the FET onwards) and a prototyping board:
This is just the bypass circuit so far. We found that while the bypass turned on at about 3.57 V, it seemed to be oscillating. Weber had his 30 year old CRO with him, but it went fut and sizzle on us. Nothing obvious on opening, so we went to the backup CRO, my 40 year old valve model:
Pay no attention to the sideways ghost in the machine
The trace shows the FET drain. What is going on here?

It seems to turn off properly most of the time, but at other times, it seems to turn off before the 3.9 ohm load resistor has had a chance to charge the stray capacitance. This initially happened on a slack power supply of mine, but still happened when connected across the Thunder Sky cell. Here is a clue: the cell voltage looks like this:
Pay no attention to the pointy headed bald ghost in the machine

Also note the tiny size of the MOSFET, compared to the 4x7W resistors it will be driving (not at 28 W though, more like 7.5W).
At first we thought the noise was coming from the power supply that we have to nudge the Thunder Sky cell to the voltage we want. But as I was posting this, it occurred to me that the byoass capacitor we were using (the brown one across the chip in the photo) is just a polyester (I happen to have a hundred on hand), and is really just an "audio quality" capacitor.
After I replaced it with a sky cap (actually this one was orange, not the usual sky blue) and paralleled it with a 220uF electro, the LED seemed to snap on and off quite well. However, when I let the cell discharge itself slowly past the 3.6 V point, it seemed to fade out, and sure enough firing up the CRO revealed some high frequency oscillation.
What may be happening is that even a single 3.9R resistor (< 1 A) of bypassing is enough to blow away hundreds of millivolts of that fluffy surface charge that LiFePO
4 cells seem to get. So we may have to arrange for a lot more hysteresis than the current 3 mV x (3.6 / 1.235) ~= 8.7 mV of hysteresis.
Actually, the whole idea of "digitally" (slowly) switching the bypass current may be invalid. We may be able to arrange a sort of PWM process that simulates analogue bypassing. But that will be tricky with the cell voltage changing every time the bypass resistor comes on.
Then again, maybe we just need some capacitors across the reference, and/or the positive input of IC1a.
More soon!
Edit: annotated the diagram. Had to blank out part of it to squeeze in under the 100 kB limit.
Nissan Leaf 2012 with new battery May 2019.
5650 W solar, 2xPIP-4048MS inverters, 16 kWh battery.
1.4 kW solar with 1.2 kW Latronics inverter and FIT.
160 W solar, 2.5 kWh 24 V battery for lights.
Patching PIP-4048/5048 inverter-chargers.