I would
- take out the diodes and use a fixed gate resistor, make high / low side equal
- the biggest change: take out the 4 fets/100 ohm resistor and drive the gate from the IRS2186 directly. This will most definitely reduce your deadtime
- see whether the R in the RC gate-drain can be lowered (baby steps !)
- go to more than 100% amplitude
just to illustrate why it is so important to reduce deadtime: you lose about 4 times the deadtime.
So, assuming 2 usec deadtime, this means 8 usec is lost, out of 50usec (20 kHz PWM), this is 16% !
It's like having a 16% lower battery voltage !
I just realised you actually lose way more than 16%
I added resistance measurement next to the inductor measurment in the controller IC. Even though I know 100% sure
my motor is about 370 milli-ohm, the controller reports about 930 milli-Ohm. Adding a 0.33 ohm resistor to each phase
make the controller report 1.26 Ohm, so this fits, the measurment is correct. I messed around with the settings and
found, interestingly enough:
- it seems to stay at 930 milli Ohm, independent of measurement current
- it is heavely dependent on the % the deadtime is with regard to the 1/pwm_frequency
by reducing deadtime I can get it down to below 600 milli-ohm
I'm still thinking about the mechanism at work and whether I can correct the measured value for this. But
it seems to be like a 'virtual resistor' is added by the deadtime. This resistor does not dissipate any power,
but it does come into play when trying to push loads of current into the motor.