Hello together

Another dummy load thread... No, this time something else I thought to myself why not try to control a dummy load purely by software? Everybody always says "doesn't work", "too slow" etc... So I searched my pool and soldered the following components to a board:
- Teensy 3.5
- 2 x external ADC ADS7818 (12 Bit SPI)
- OpAmp (only as ADC buffer/amplifier) LT1490
- Darlington MJH6284+ various controller/Shunt/Fan-Control/etc

Everything was programmed with Arduino. Every 25 us both ADC (voltage/current) are read in by interrupt, the PI controller is calculated and a little bit filtered by software. Thus I reach a Risetime (according to definition 10-90%) at 10 A of 32 us. Noise is 12.6 mV at 10 A (see pictures, measured at the terminals).
DUT is a 2S-Lipo 7.2Ah, 90C
The biggest problem that still needs to be solved is the ADC noise. But I think with a SMD, 4-layer PCB that would be possible.
Once the noise is eliminated, the next step is a shorter Risetime. Currently I lose about 10 us by the SW filter. With faster ADC, improvements are certainly possible. The final target is a tasktime of 10-15 us. I can make the PI controller faster, but then I have the problem of the overshoot, that needs to be improved.

The load can be 13.8 A at maximum 110 W (all monitored by software), fan control is controlled via Teensy-DAC. OLED shows actual current, input voltage, power, temperature and the setpoint of the current. Control is via encoder with built-in switch, 1 x short press output on, 1 x long press output off.

Greetings
Franz

Click image for larger version. 

Name:	Dummyload.jpg 
Views:	1 
Size:	158.2 KB 
ID:	17644Click image for larger version. 

Name:	risetime.jpg 
Views:	1 
Size:	99.3 KB 
ID:	17645Click image for larger version. 

Name:	noise.jpg 
Views:	2 
Size:	122.7 KB 
ID:	17646