Need help on DC Fan speed regulation with esp32

I’m working on a home automation project with esp32 dev module. Everything works fine except fan regulator which is a 12vdc 18w solar fan. The fan is making extreme buzzing noise on low speed and my esp32 and mic 4422 ic heated up immediately. I’ve set frequency at 25khz and used 4422ic to drive irfz44n mosfet.

You have the fan driven from a 5v output regulator and there is no indication of power supply to the esp32 .
If that board to passing through power to the circuit it will get hot, it’s not designed to do that . The 4422 is not needed and ….
There are so many things wrong with this circuit - I’d suggest you have a google on how to drive a fan from an Arduino board .

Sorry !

To clarify things, the power source is a 12v dc battery and I’ve used dc to dc buck converter to convert 12v to 5v and power up esp32. I’ve used irfz44n mosfet to run the fan and as it’s not a logic level mosfet I’ve to use 4422 ic to provide 12v gate drive voltage, 4422ic convert 3.3v pwm signal of esp32 to 12v signal in order to drive irfz44n mosfet.

This sort of arrangement, microcontroller, MOSFET driver, MOSFET usually works fine.
I use it to control the running speed of a 160-V DC sewing machine motor at about 80-W power.
The Nano doing the controlling has 10k for the PMW frequency.
There is no heat whatsoever and the MOSFET has no heat sinking as it never gets warm.
It's crucial to fully understand the driver requirements and it's need to deliver current efficiently.
You don't have to use a driver, but they are designed for the job.
All the above applies to a simple series wound universal motor.
You might need to check what sort of motor you are using.
I use 12-V DC for the Nano and driver. The driver works a lot better on 12-V than 5-V.

Edit

Forgot to add

The motor runs normally, no buzzing, speed control from crawl, maybe 100-rpm, to full speed (not known but plenty fast enough). Even at full speed, everything remains cool, motor warms, but that's normal.

Hi, @zghost

Can you please post an image of the fan?
Is it a DC motor fan, or a BLDC motor fan?

Can you please post some images of you project?
So we can see your component layout.

If you run your project at that speed level with the fan disconnected, do those components get hot?

Tom.... :smiley: :+1: :coffee: :australia:

Hi, @zghost

This circuit layout may help.

Tom.... :smiley: :+1: :coffee: :australia:

2 Likes

The IRFZ44N source terminal should be connected directly to 12V - (negative), not through a shared ground. A BLDC motor may not work well (or at all) with 25kHz PWM. What PWM value (in %) is "low" speed?

Post a link to the fan's datasheet or, at least, it's brand name and exact part number.

Might need additional caps on the TC4422.
Without looking, I think I have a high value cap on the output side.

That schematic is @zghost circuit redrawn.

Tom.... :smiley: :+1: :coffee: :australia:

2 Likes

Thanks a lot bro, I messed things up on autocad…did u use tinycad?

fan starting extreme noise below 70.

This is the fan

Can you please share your circuit drawing and components. It will be very helpfull for me.

The fan specs give a 1250 RPM, which is not possible with a regular old brushed DC motor. So the motor has built-in electronics to monitor and control the RPM.

you are right, it has build in electronics and speed control, now whats the solution?

Use another motor.

1 Like

I don't have time for that.

It's quite simple. Three main components.

Nano takes care of the PWM signal.
The driver chip provides the interface between the Nano and the third component, the MOSFET.

You need to understand how each part works.
There's plenty of information on using Arduino for PWM operation.

For the driver, read the datasheet or look for online tutorials. Your circuit has some important components missing. You need to protect the MOSFET as well.

As you have already found out, stringing together some items like a brushless motor isn't a good idea.

You can master the PWM route, but you start with the motor and the reasons for using particular types, brushless, DC permanent magnet etc., then design a circuit to use it.

The motor I am using is a universal, series wound type, designed for 240-V AC/DC supply, runs very nicely using a rectified AC mains supply.

It might be worth spending a day just getting PWM to work with an LED and progress from there.