John in CR said:Teh Stork,
I'm confused unless it's a different problem I need to solve. I run low inductance hubmotors that love to snack on controllers, and all but one new controller have always run hot with these motors. If the issue is caused by the energy delayed/stored by the inductors that needs to go somewhere when the switches turn off, wouldn't the lower inductance mean less energy is stored in the coils that needs to be dissipated in the fet diodes, or am I out in left field?
John
Uhm, this is rather hard to explain - but i hope you understand some of what I say.
The time constant of the system is affected by the inductance and the resistance. Maximum current (not that you would ever desire that) that can flow through the motor is given by I=U/R. Five time constants is what is needed to reach this top value. The curve is exponential and you can find current going through the motor by multiplying with (1-e^t/time constant). Check out LR system for more info.
The thing is. The current rise of a low inductance hubmotor will be very much faster than the current rise of a normal inductance motor. There is allways a limit in the controllers system to detect current rise - so the low inductance low resistance will carry a bigger current before the controller can act. This leads to increased current compared to a normal hubmotor - and this (I think) explains why some controllers cant handle low inductance low resistance motors.
For example (These are all fictional values). If a current limiting is triggered at 90A. Current sensor has a 20 ns delay. The normal hubmotor reaches this current after 100ns, and when the controller reacts - 50 ns later: Current is 120A. Then the same thing for the hubzilla(ish); It reaches the 90A current limit after just 25ns. Before the controller reacts: Current is 270A! In this example, the time constant of the hubzilla is one fourth of the normal hubbie.
Hope it makes some sence
bearing said:Teh Stork said:The NOR gate is connected to gate-source and drain source of the lower fet. The gate-threshold is set to ~2v. The NOR gate should never go high. If both GS and DS is zero - that means we have a freewheeling mosfet (and NOR goes high). In turn, if NOR goes; deadtime is reduced. If it never goes high, deadtime is increased. This is the deadtime for the HIGH to LOW on transistion.
Then we have the LOW to HIGH on transisiton. Here i use a comparator sensing the lower fet. If body diode conduction happens here, drain to source voltage goes negative - implying that the deadtime is too big. If comparator goes high; deadtime is reduced. If it remains low; deadtime is increased.
Thanks for the explanation! I think I get it now. If the circuit has detected freewheeling on the last transition, it will decrease the deadtime on the next transition. If it still detects freewheeling, it will decrease the deadtime even more on the following transition. It will continue like this until it stops detecting freewheeling, and then increase deadtime one step to prevent shoot through. In "steady state" it will jitter between two adjacent deadtime values around the optimum.
How are you able to adjust deadtime in such small steps? fast MCU frequency?
Well, I'm a ATMEL fanboi - and AVR is the greatest thing ever. Buuut the 32 bit motor controll line TI offers has 65pS (yep, that is picoseconds!) resolution on their pwm outputs! Craazy
