MrFlibbles
New Member
I’m having trouble with the following setup:
PIC18 using CCP module generating a 40KHz PWM signal.
ST Smart MOSFET with TTL compatible input: https://www.st.com/stonline/products/literature/ds/7395.pdf
Brushless 18V DC Motor.
When load appears on the motor the driver overheats after a short time. With only 900mA flowing through its not down to the current so must be switching losses. When run on a fixed duty cycle of 50 percent this problem doesn’t occur and although the driver gets warm it does not hit the internal temperature limiter. There is a onboard copper heatsink larger then the manufactures recommended area to dissipate heat.
I’ve checked the PWM output and adjusted the duty cycle to check the frequency is 40Khz and AND check that the module isn’t resetting itself (causing a much higher frequency). Then I increment and decrement the duty cycle over time I can see the waveform changing without ill effects. When the motor is running and PID is adjust the duty cycle to compensate for changes in speed you can see it sometimes switching heavily and then going to 100% or 0 duty cycle compensating…
1). The only thing I’m doing is to call my adjust duty function every control iteration which is currently timed at 5uS. If I make it more then there’s less of a problem with heat which is slightly confusing…
2). Does anyone know of an alterative if it is that the driver is just not upto it ? I intially just thought of changing to the single DPAK version but its not avaliable
PIC18 using CCP module generating a 40KHz PWM signal.
ST Smart MOSFET with TTL compatible input: https://www.st.com/stonline/products/literature/ds/7395.pdf
Brushless 18V DC Motor.
When load appears on the motor the driver overheats after a short time. With only 900mA flowing through its not down to the current so must be switching losses. When run on a fixed duty cycle of 50 percent this problem doesn’t occur and although the driver gets warm it does not hit the internal temperature limiter. There is a onboard copper heatsink larger then the manufactures recommended area to dissipate heat.
I’ve checked the PWM output and adjusted the duty cycle to check the frequency is 40Khz and AND check that the module isn’t resetting itself (causing a much higher frequency). Then I increment and decrement the duty cycle over time I can see the waveform changing without ill effects. When the motor is running and PID is adjust the duty cycle to compensate for changes in speed you can see it sometimes switching heavily and then going to 100% or 0 duty cycle compensating…
1). The only thing I’m doing is to call my adjust duty function every control iteration which is currently timed at 5uS. If I make it more then there’s less of a problem with heat which is slightly confusing…
2). Does anyone know of an alterative if it is that the driver is just not upto it ? I intially just thought of changing to the single DPAK version but its not avaliable