Go Down

Topic: Speed-controlling a mains-powered, brushed DC motor. (Read 2880 times) previous topic - next topic


May 21, 2012, 05:20 pm Last Edit: May 21, 2012, 05:28 pm by megamasha Reason: 1
Hi, I have some toys with a 25W mains-powered motor: It's a brushed DC motor which uses a full wave bridge rectifier to convert the AC to choppy DC.
I assume the 25W is during continuous usage (so it'd be higher when spinning up).
I don't want to take the items apart (especially as that would involve modifying each one, and I may wish to use many), so I'd like to use an arduino to control the motor speed by regulating the mains power getting to each toy (I'm starting with one).
I've done plenty of googling on controlling motors with PWM, or TRIACs, but I end up getting overwhelmed. I don't know if I need to be troubling myself with 0-cross points and the like, or whether I could simply PWM the mains power using a power MOSFET or similar.

Can anyone help me out here?



Edit: By the way, the toys run off 110v American voltage, but I'm in the UK, so using a transformer to convert from 240v... I imagine that may complicate things, I don't know...


Using a TRIAC to alter the AC input to a transformer that ends up being rectified isn't the right way to go about this.  The output of a TRIAC isn't anything like the output of a variable transformer.
You just want to control, essentially turn on/off, the DC to this motor - by PWM'ing a MOSFET.
There are many examples of that around the Forum (click on "Playground" and Search around a bit.) 

I'm PWM'ing a couple of MOSFETs (in parallel) to vary the speed of a 350W motor --
"Who is like unto the beast? who is able to make war with him?"
When all else fails, check your wiring!


There is, alack, no external transformer - the rectifier is within the body, so I was looking for a solution that lowers the power before it gets to the toy.
Does this sound feasible, or am I going to have to get in there and start tearing the innards out?



May 22, 2012, 03:24 am Last Edit: May 22, 2012, 04:11 am by Runaway Pancake Reason: 1
Well, you could rig it up with a light dimmer, or a ceiling-fan/motor control, as a practical test and see how that works - before working out an Arduino-included plan.
[Some light dimmers may not be good with inductive loads1 (those "rated" as fan controllers are.)]

Anyway, I don't anticipate joy to result from the rectification of a TRIAC output.  


1 OK, right, a transformer is not a motor, but it is an inductive load.

* * * Examples
"Who is like unto the beast? who is able to make war with him?"
When all else fails, check your wiring!


That's a rather odd setup - normally a "universal motor" is used in this situation (like a DC motor but instead of permanent magnets the stator has field windings that connect in parallel to the brushes so that the magnetic fields reverses as the armature current reverses, so that the motor rotates the same way regardless of the polarity of the supply (no need for a bridge rectifier).

You could control the DC output of the bridge rectifier to control this motor, but remember the voltages involved are dangerous (they can and do kill, especially DC).  Using high-voltage MOSFETs (about 300V rating perhaps) to control this would involve careful design and protection components so that if the MOSFET dies it doesn't destroy the Arduino or electrocute anyone.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


May 23, 2012, 05:40 pm Last Edit: May 23, 2012, 05:48 pm by megamasha Reason: 1
@MarkT: PWMing the rectifier output would surely involve modifying the innards. I'd rather explore other avenues first.

@Runaway Pancake: Interestingly enough, it seems to work fine if I plug it into this router/fan control: http://www.amazon.com/gp/product/B000HQAVNI. It doesn't get up much speed at lower settings, and with the knob turned right up it doesn't quite reach the same speed as on high, but it's acceptable - I'll put it down to energy loss in the controller. The only question is whether I can achieve some similar sort of control, but automated using an arduino...
Are these things usually just triacs?


Edit: D'ya reckon I could modify or create something similar to this board? http://www.velleman.co.uk/contents/en-uk/p282.html


A zero-crossing based circuit is necessary, for sure.
From the time it's triggered, a TRIAC stays on till AC reaches zero.
In a 60Hz system, each alternation is about 8msec.
If you trigger about as soon as you detect zero, then you get the full alternation out.
If you delay trigger from zero-det for 4 msec then you get 1/2 the alternation.

When you simply pop a lamp or something on/off then zero-cross isn't necessary.
But if you're dimming, phase-controlling, then you need zero-crossing.
"Who is like unto the beast? who is able to make war with him?"
When all else fails, check your wiring!

Go Up