MC33HB2001 and PWM driving

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC33HB2001 and PWM driving

Jump to solution
1,361 Views
corentin_bazill
Contributor I

Hello !

I have been trying to drive a 12V, 0.8A BDC motor using an nRF52832 or STM32F042K6 to drive a MC33HB2001 using PWM.

I did understand that IN1/IN2 could be grossly compared to DIR/PWM on other drivers ; unfortunately, at the frequency at which I want to drive the motor (25kHz), I have not been able to obtain satisfying results. I have been setting IN1 at either HIGH or LOW logic level to set rotation direction, and applying 25kHz-PWM on IN2 to drive the motor.

This configuration produces very weird results : under 40% duty cycle, I cannot manage to get the motor to rotate. Above, the speed does not seem to be affected by the PWM duty cycle. In addition, the motor is submitted to high thermal stress as it heats up to over 50°C.

I'm guessing I'm doing something wrong. I have thought of leaving IN1 and IN2 in HIGH states to drive the motor, then applying a PWM wave on the Disable pin (DIS) to turn output on and off. Otherwise I have no idea how to "properly" drive the HB2001 with PWM.

Can anyone help ?

Thanks in advance !

Best regards,

Corentin

Labels (1)
0 Kudos
1 Solution
1,224 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hello Corentin,

I think 25kHz is too high to switch the outputs. Is there a strong reason you are switching at 25kHz? Can you use something less than 25kHz?

Are you using SPI? Please double check you are in Hbridge mode (Mode bit = 1).

Are you using some sort of RC filtering on the PWM pins? If so, please make sure it is not so excessive that it prevents normal switching.

I would recommend to use max slew rate and that this is configurable over SPI.

 

At <40% (motor not spinning) points to too slow of slew rate and not providing enough on-time for the motor. The high motor temp is probably due to the other way around, high duty cycle does not provide sufficient off-time for the motor.

 

There is available a good AN5415 that could be useful for this type of application. The data only goes up to 20kHz and it clearly demonstrates the dependence on slew rate and VPWR.

Best regards,

Tomas

View solution in original post

2 Replies
1,225 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hello Corentin,

I think 25kHz is too high to switch the outputs. Is there a strong reason you are switching at 25kHz? Can you use something less than 25kHz?

Are you using SPI? Please double check you are in Hbridge mode (Mode bit = 1).

Are you using some sort of RC filtering on the PWM pins? If so, please make sure it is not so excessive that it prevents normal switching.

I would recommend to use max slew rate and that this is configurable over SPI.

 

At <40% (motor not spinning) points to too slow of slew rate and not providing enough on-time for the motor. The high motor temp is probably due to the other way around, high duty cycle does not provide sufficient off-time for the motor.

 

There is available a good AN5415 that could be useful for this type of application. The data only goes up to 20kHz and it clearly demonstrates the dependence on slew rate and VPWR.

Best regards,

Tomas

1,224 Views
corentin_bazill
Contributor I

Hello Tomas,

Thanks a lot for your answer !

Indeed I tested with PWM frequencies in the range of 2-20kHz and it seems to work up to 20kH; afterwards the HB2001's behaviour seems to become unpredictable.

One solution was indeed to change the slew rate to bypass, which annuled every power-related problem I had. Other problems were on the communication side of the component, where I had trouble identifying the one R/W protocol on the SPI bus which would allow me to correctly write to and configure the HB2001. The data sheet could afford to be a little clearer on that side...

Anyways, thanks a lot for the help !

Corentin

0 Kudos