You are here

MOSFET driver delay compensation

3 posts / 0 new
Last post
e-biker
Offline
Last seen: 1 month 1 week ago
VESC Free
Joined: 2017-09-11 10:16
Posts: 52
MOSFET driver delay compensation

Hello every one, good to be back.

Does anyone know how to compensate driver turn on/off delay (some timer settings etc.)? When I used UCC27211 (propagation delay ~18ns) everything worked smoothly, despite UCC27211 upper MOSFET driving circuit for some reason liked to burn from time to time... So after reading TI forums and seeing that a lot of people have trouble with them I've started to use IRS2186 which has propagation delay of 170ns. After switching mosfet drivers I have noticed that my current measurements are not accurate any more and problem gets worse as duty cycle increases. Don't know if this is a probelm but it would be nice to clarify that.

Thank's Martin.

P.S. Off topic, this is what it looks like when one of the drivers fails and you are so confident in your self that you even bother of using a fuse... 

http://i1152.photobucket.com/albums/p486/MartynasKiz/Sudeges%20valdiklis...

http://i1152.photobucket.com/albums/p486/MartynasKiz/Sudeges%20valdiklis...

Update 2017-12-11: Lock the theme, problem solved. Isolating amplifier was strangely damaged, causing this problems.

benjamin
Offline
Last seen: 16 hours 45 min ago
VESC FreeVESC OriginalVESC Platinum
Joined: 2016-12-26 15:20
Posts: 485

It is also possible to adjust the dead time between the high side and low side switch events in the firmware. Then you don't have to add the delay using external hardware.

https://github.com/vedderb/bldc/blob/master/mc_interface.h#L90

You can check the stm32f4 datasheet to see what the value actually translates to. Then there is also a dead time compensation parameter in the configuration that you can experiment with. It should have the most impact when running on low speed, on high speed it does not matter much.

e-biker
Offline
Last seen: 1 month 1 week ago
VESC Free
Joined: 2017-09-11 10:16
Posts: 52

Benjamin thank's for the tip, but I already changed dead time constant.

I am familiar with the code, just had a wrong idea about current measurement concept. I thought that current measurement has to be really quick (mosfet driver dealy could add some distortion to it), turns out with 3 phase shunts it isn't. That's why I asked about driver delay compensation (not dead time, I should have been more specific with the question) by changing some timer settings which is irresponsible for adc triggering via pwm (Timer8 for ADC sampling).

Nevertheless the main issue with current measurement was noise in my current measurement circuit (not the burned isolating opamp).

By the way, could you guide me from where do you taken information about current measurement algorithm (some book, pdf)? 

Thanks, Martin.