PWM hum with dual motor controller but not TREX. WHY

I have a 12V, 8-10 A, DC motor driving a hydraulic pump and steering a 40 foot sailboat with an Arduino based autopilot (steering with IMU9). I am trying to implement PWM control. I have a Pololu TReX controller (#777) and a Pololu Dual motor driver (#708). The TReX is two stacked boards and the lower one is the same Dual motor driver. When I use the dual motor driver alone I get significant PWM hum. When I use the TReX board with serial input I do not get any hum. I would like to understand why.

Second question
I will mount the controller in an aluminum waterproof box. What would be a good way to mount it. I could machine an aluminum bar and attach ( epoxy (Wikipedia integrated circuit heat sinks)) it to the bottom of the 708 board and then mount that to the aluminum box. Can I do that and where on the board do I apply it?

Also considering spray coating the chip bottom at least the bottom with a lacquered coating


You might be able to hear the Dual VNH2SP30 Motor Driver Carrier MD03A because the frequency of the PWM signal you are using to control it is low. What is the frequency of the PWM signal you are using to control the motor driver?

There are mounting holes on both boards that you might be able to use to mount the controller. However, it sounds like you want the case to act as a heat sink for the driver. I do not know how well this will work, and do not have any recommendations on how to accomplish this. I also do not know what effect using a lacquered coating will have on the driver.

- Grant

If you want to heat sink, you probably want to use thermal grease, rather than epoxy. Also, make sure the aluminum doesn’t contact any solder joints or pins, even under vibration, or you will have mysterious failures. The amount of clearance is pretty small.
It might be best to machine a quarter inch thick plate in the outline of the chip/s you want to cool, plus some screw ears, and mount that plate to the box (with thermal glue/grease) and then the driver to the plate (again with thermal grease/glue) to get more clearance.

Thanks to Grant and Jwatte for their inputs.

Grant, I am using unmodified Arduino PWM frequency which is listed as 490 Hz in the reference for analogWrite().

Do you know what is the frequency the Trex is using?

Jwatte, That is kind of what I was thinking. I was trying to determine if it is safe to mount a metal heat sink right under the VNH2SP30 chips.

Thanks again

The default setting of the TReX is to use a PWM frequency of 19.5kHz, which is at the max for that driver and generally beyond the limit of what a person can hear. 490 Hz is well within the range of frequencies most people can hear. You could try increasing the PWM output of your Arduino to a frequency you cannot hear.

- Grant


Thanks again for the info. I will set the Arduino frequency 19.5 kHz and check it out. I’ll let you know the result, It’ll be a few days.