Fan Controller IC driver circuit

Go To Last Post
23 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi All

 

I require a simple FAN controller, i am thinking about using the EMC2301 , unless there is a better solution?

 

I was considering using a an AVR pulsing a Mosfet using PWM, but my reason for a FAN controller is to have an independent solution, where it also detect any faults, which reduce any firmware that will need to write.

 

My core question is , when powering the FAN, is a simple MOSFET enough or do i need to add an additional circuit to drive the FANs?

 

 

 

 

 

 

Thanks

Regards

DJ

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What sort of fan? How big? What sort of motor? AC/DC? What voltage?

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Datasheet: http://ww1.microchip.com/downloa...

 

You don't say what voltage or current the fan consumes. If it's more than 5V and a few mA, you'll still need a driver circuit.

 

The chip costs less than a pound, so decide whether the functionality it brings is worth the additional code and board space.

 

There's even a breakout board (https://microcontrollershop.com/...) and an Arduino library (https://github.com/kiatAWDSA/EMC...) to play with.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What type of FAN are you referring to?
Why do you suggest a mosfet?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I miss the old days of thumbing through the Analog Devices book and seeing all the special purpose chips...  a chip for everything!

 

In this case, of course, one has to wonder which way the fan will blow the air, as the diagram shows the inputs on the right and the outputs on the left!

 

JC

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It is 12V DC fan, i am waiting for a datasheet, but i have been told its similar to a PC style fan,

Thanks

Regards

DJ

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The standard 4 wire fans for PCs use ttl level pwm for speed control. No mosfet required.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The standard 4 wire fans for PCs use ttl level pwm for speed control. No mosfet required.

Interesting, all of my PC fans laying around in drawers & bins only have 2 wires...they must have gotten "smarter" 

 

If you just want simple open-loop speed control, AVR pwm & fet are fine 

If you have a temp sensor, you can have  closed loop temp control (too hot , spin faster (higher PWM), or for more time)

 

where it also detect any faults, ...what faults?  Overload, short circuit?   That requires something beyond a plain fet

Do you have a temperature sensor?  Do you monitor the fan RPM? 

 

 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Several years ago I developed a (specialized) fan controller that controlled 7 PC type 4-wire fans. The AVR (an AT90USB1286) sensed temperature from several sensors (both analog and digital), controlled the PWM to the fans, and detected the tach signal from the fans to make sure they were operating within certain tolerances. The USB was used to report status and allow control from a PC.  The fans received power from a12VDC supply.

 

So for a single PC type fan (with PWM and tach signals), this should be no problem for most AVRs.

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It seems to an SMBus PWM controller with a few not-particularly-amazing smarts, e.g. ramp-up, tacho input to alert falling RPM, watchdog which sets the duty cycle to 100% if the micro stops talking. The datasheet is dated 2011, so maybe they were amazing back then. It's the product of yet another MCP acquisition. 

 

Nothing really that couldn't be coded, but I guess it depends whether those functional requirements have been defined for the project and are worth $1 and a square inch of board space.

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Seems to me that the big determiner is whether or not the fan has speed output (4 wire) or not  (2 wire).

 

Then, you have AC vs DC (AC = fixed speed and probably 2 wire only, DC = variable speed, 2 wire or 4 wire). After that, if it is DC and takes more than 5V, you will want some kind of semiconductor driver; that can be bipolar or FET, does not matter much. At 12V, you will need a driver device, no matter what the  current is, and no matter whether fixed or variable speed.

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am controlling a 4wire, 24vdc fan with an XMEGA in a pretty temperature extreme environment.  My temperature sensors are from Atlas Scientific.  The fan has a tach out wire which is open collector, and the speed control is TTL compatible.  Both of these signals are buffered with comparators. 

 

I wrote the code to control the fan exactly the way I want it to.  The xmega also communicates back to a host server vis its serial port connected to a lantronix 232-ethernet bridge.

 

 

Long explanation short....In this day and age, with the cost of TINY AVRs its cheaper to roll your own controller, than to buy some application specific with no ability to be changed if needed. 

 

Jim

 

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
Long explanation short....In this day and age...
yes

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The Fan

 

Is powered using 12V 6.2A.

 

The datasheet is below.

 

https://www.sanyodenki.com/archi...

 

PWM frequency: 25 kHz

 

If i am correct, this could be done using AVR or XMEGA? And then monitor the TACT using a input pin.

 

 

 

Thanks

Regards

DJ

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

djoshi wrote:
If i am correct, this could be done using AVR or XMEGA?
Yes.

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi.

 

So do i simply connect the VCC of the FAN to a 12V and the GND to a N-channel mosfet, and have the PWM from the AVR control the N-channel mosfet. 

 

 

Thanks

Regards

DJ

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No need for a mosfet! The motor has internal electronics that take care of the motor drive. Note that the pwm frequency may need to be within a specific range.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, datasheet says 25Khz. The Fan is powered using 12V. My AVR will be 3.3V, do i need a protection for the TACT or PWM line?

 

Previously i have worked with 3 wire fans, so this is the first time i will try a 4 wire.

Thanks

Regards

DJ

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just out of make sure any GPIO can work with PWM on a AVR?

Thanks

Regards

DJ

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just out of make sure any GPIO can work with PWM on a AVR?

 

 

You have > 3K posts on Freaks and you ask this question?

 

Pull out the data sheet and read the PWM section.

 

Look at the pin out diagram and see which pins support this function.

 

Pull out a < $3 USD Nano, and your O'scope, (or a < $20 USD toy scope), and write a PWM test program.

 

If you can't make it work then post your program, but don't expect those on the Forum to do you project for you.

 

JC  

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

djoshi wrote:
My AVR will be 3.3V, do i need a protection for the TACT or PWM line?

 

In my long winded post earlier I believe I said I buffered the tach and PWM lines with comparators.  Since the Tach is open collector you can put any pullup you want on it.  Since 3v3 falls in the hi/lo voltage levels of TTL......>>Theres a hint wink<<

 

 

Right Side Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

djoshi wrote:

Just out of make sure any GPIO can work with PWM on a AVR?

Only the OCnx pins are directly controlled by the timer(s), but you can do do softPWM on any pin with the proper programming, if needed, google search "ATMEL Appnote softPWM" for how to do it, with sample code.

 

 

 

(Possum Lodge oath) Quando omni flunkus, moritati.

"I thought growing old would take longer"

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I will use the Ocnx pin.

Thanks.

Thanks

Regards

DJ