Arduino controlling ceiling fan

Hi! I am currently working on a home automation project and would like to know if it is possible to control the speed of a ceiling fan with an Arduino. Would this: http://www.instructables.com/id/Arduino-controlled-light-dimmer-The-circuit/ Arduino controlled light dimmer work or would I need to do something else? Thanks in advance!

Yes, I think this would work.

Thanks! I would also like to know if it is possible to control the direction of the ceiling fan with an Arduino.

eli6093:
Thanks! I would also like to know if it is possible to control the direction of the ceiling fan with an Arduino.

Should be. Ultimately something will need to be switched with a relay and the arduino can control that.

eli6093:
Hi! I am currently working on a home automation project and would like to know if it is possible to control the speed of a ceiling fan with an Arduino. Would this: http://www.instructables.com/id/Arduino-controlled-light-dimmer-The-circuit/ Arduino controlled light dimmer work or would I need to do something else? Thanks in advance!

If your fan uses a brushed motor, then that should work. However, I'm fairly sure that my own ceiling fan uses an induction motor, and if yours does too, then using a phase-shift dimmer such as that one won't work well.

OTOH if your fan has a speed selector switch, then you could replace that switch with a relay or relays controlled from the Arduino. Similarly for the reversing switch.

wildbill:

eli6093:
Thanks! I would also like to know if it is possible to control the direction of the ceiling fan with an Arduino.

Should be. Ultimately something will need to be switched with a relay and the arduino can control that.

Thanks! What exactly would I have to connect the relay to?

Safety Addendum to people reading this topic:

Remember that when an AC inductive fan is not spinning, the fan wire is just a wire (aka a heating element).

The resistance of the wire can be measured (when speed controller is set to full speed and therefore without series capacitors) and this resistance will heat up when a voltage is applied with nothing to dissipate the heat. Voltage squared divided by resistance is the power. So by knowing the maximum voltage that the fan does not turn will allow you to work out how safe your design is.

Once there is enough current, a magnetic flux will be sufficient to turn the fan and the energy will be dissipated as movement and the wire will not heat up (as much).

Fans that do not turn (with a voltage applied) are simply a ceiling heater and wires or insulation may melt causing lower resistance, higher current, some smoke, possibly a flame and possibly a big red fire engine. :wink:

As long as your circuit turns the fan then all is well. Unless you like seeing fire engines.

You could include an initial full power pulse for a few seconds to get the fan moving and then automatically change to speed controlled.

Seconded - likely its an induction motor, and likely it is not designed to operate stalled. It may have a thermal
fuse in the windings for safety, if so its a one-time fuse and the motor is junk if you burn it out.

In general induction motor and speed control requires detailed knowledge of the motor design, more than
you'll find printed on the nameplate.

Your building insurance will not be valid if a modifed ceiling fan starts a fire...

Most fan controllers have the highest speed next to the "off" position on the switch. This ensures that the fan starts to move before you switch it down to the slowest speed.