If PWM frequency is higher, the berd air motor is already at 100% when selecting 10% Fan speed in klipper

Hi,
I’ve a berd air DC motor pump connected via a Mosfet module to the HE1 output of an SKR 1.4.
To reduce the motor heat and vibrations it’s recommended to set the PWM frequency to 22.5 kHz.
So I’ve set cycle_time = 0.00005 (20kHz), but the motor is at already 100% power when I set 5% in Klipper. With 10kHz it’s 30% where I get full power, 5kHz it’s 50% and so on …

“Fan” is defined like this (doesn’t matter if hardware or software pwm is used):

[fan]
pin: P2.3
cycle_time: 0.00005
#hardware_pwm: True

What am I doing wrong here?

Thanks all!

The frequency seems to be too high for software PWM (depending on the MCU).

Try with uncommenting hardware_pwm: True

If you get an error, try another pin, that supports hardware PWM (I’m not familiar with the Pa.b pin notation)

If you have a mega2560 as MCU, you may read here:

I’ve tried hardware PWM already, but it shows the same problem… is it possible that the mosfet module doesn’t switch fast enough with higher frequencies?

1 Like

That could be. Do you have a link?

I’ve bought this one: Mosfet Modul "Berd-Air" E-Z SWITCH PWM-CONTROLLER – KiS3d

I assume, the opto coupler is not fast enough.
Also, it can depend on the motor. It’s in inductive load to the MOSFET output and can determine the maximum usable frequency:

Interesting read, thanks… I’ve been reading a lot about berd air & pump & PWM frequency in the Duett forums and looking at their motors and mine, I discovered I’ve some capacitors soldered to the motor and they don’t (except a flyback diode), maybe that’s the difference …!
DAYPOWER|640x460

The opto coupler is an EL817, which is labeled 80khz … so it should be fast enough …

1 Like

SOLVED!

Indeed the EL817 was to slow at 20kHz and triggered the Mosfet to 100% open. I’ve reconfigured the SKR 1.4 board now like this:
berd air pump = HB(heatbed) / P2.5
Hotend = HE0 / P2.7
Hotend fan = HE1 / P.2.4
FAN0 = SSR/Heatbed / P2.3

Thanks all!

1 Like