Fan Control Suggestions
joeld
Posts: 49
I'm trying to implement the most efficient/reliable method for controlling the speed of a small 100ma 12v dc fan. I've been looking at the Maxim 6615 or 6616 I2C fan controller chip. I'm not controlling the speed based of temprature but it looks as if I could just write a desired speed to a register in Manual mode.
I'm sure the function of this chip could easily be implemented with a couple proppeller pins and run in a cog. But I look at all the functions this chip performs such as providing a spin up cycle if the fan is stopped and checking for a locked rotor and wonder if it's a better choice to just use the $8.00 chip.
Anyone have suggestions or have implemented a good fan control with the propeller? I don't see anything quite like it in the object exchange.
I'm sure the function of this chip could easily be implemented with a couple proppeller pins and run in a cog. But I look at all the functions this chip performs such as providing a spin up cycle if the fan is stopped and checking for a locked rotor and wonder if it's a better choice to just use the $8.00 chip.
Anyone have suggestions or have implemented a good fan control with the propeller? I don't see anything quite like it in the object exchange.
Comments
I suggest a simple NPN transistor and use PWM on a single pin of the Propeller to the base of the transistor. By changing the duty of the PWM, you will change the speed of the fan.
I used the simple PWM object from the object exchange here
> obex.parallax.com/objects/216/
( I used a MOSFET instead of a transistor in my project due to the higher amperage involved, but the same concepts apply)
If you want a schematic or code example, let me know.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian
uController.com - home of SpinStudio - the modular Development system for the Propeller
PropNIC - Add ethernet ability to your Propeller! PropJoy - Plug in a joystick and play some games!
SD card Adapter - mass storage for the masses Audio/Video adapter add composite video and sound to your Proto Board
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
www.brilldea.com·- check out the uOLED-IOC, an I/O expansion for the uOLED-96-PROP
www.tdswieter.com
One little spark of imagination is all it takes for an idea to explode
I was thinking about what might be handy functions to include in a Fan Control Object.
Things that came to mind were methods to: Set a speed and return a result (maybe a tach reading or just true or false), Read the Tachometer, Log operation time, Stop the fan.
Can you think of any other functions that would be usefull to write into a control object?
Motor speed doesn't always equate to air flow though and the motor response isn't linear linear either. I'm saying this because I am not quite sure what your application, it might be to cool a 10x10 array of propeller chips!, in which case temperature feedback is more important then as is the fitting of the motor to a PROPer beanie cap.
*Peter*
Cheers!
My question now is the best way to implement the remainder of the project. ·The overall goal is a humidity controller for a cabinet cigar humidor. The fan will be driven in a PID loop to pull air across a humidifying block to control the humidity in the case.
My thought is a main object that drives a LCD screen, reads the sensirion sensor and does misc other functions, set time, door alarm, turn on and off light, etc. Then have a second object that is a PID object that gets passed the desired set point from the main object and calls the PWM object that will run in it's own cog. All said with the support objects that about eat up available cogs. I need to study a bit to figure out how to read the same var's or memory locations in different cogs. I haven't attempted that yet.
Cog 0 Main
Cog 1 Sensirion
Cog 2 LCD
Cog 3 Float32
Cog 4 FloatString
Cog 5 PWM
Cog 6 PID
Anyone see any flaws in my thinking or more efficient ways to implement?