Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: Robo on August 06, 2010, 10:47:36 PM
-
Regarding PWM on a small DC motor. In general, do you get better results using a constant frequency and varying the pulse width, or keeping the same pulse width and varying the frequency? --- I need to control a 12 volt motor and run it at two to ten percent of its unloaded speed. It will have feedback to the circuit, however not sure which method to use. The motor will be very lightly loaded.
-
Hi,
A constant frequency is best, especially if you take the time to find the optimum frequency.
Better still is a gear box though.
-
A gear box may be required as less than 10% duty may not work well enough.
-
I already have a gear box included, and geared where I need it. What I didn't say is that part of the time it will be running at full speed. Thanks for the feedback, Soeren, so how does one find the "optimum frequency"?
-
Hi,
[...] so how does one find the "optimum frequency"?
By experimenting.
Start at eg. 1kHz and measure the efficiency (power out/power in). Then increase the frequency to eg. 1.5kHz , measure again and so on, up to eg. 4..5kHz.
Then decrease the steps and if say 2kHz had the highest efficiency, start at 1.5kHz and make the steps eg. 100Hz (you only need to go to 2.5kHz max. in that case).
The larger the motor, the lower the best frequency will be, but if you don't wanna make all these measurements, just set it around 2..4kHz and make sure it isn't making the motor scream (it's the windings physically moving at the frequency of the PWM, if not really tight, usually strongest around 50% M/S or slightly below) or be hopelessly inefficient.
-
Thanks again, Soeren. Years ago I did a project using electric motors out of golf carts, 2 to 4 HP, and it worked out at about 20 KC. This is also where some of the golf carts operate because of the noise, above the normal human hearing range. --- What I am working on now is very small motors, like a couple of inches in Dia. and two to three inches long. I am not concerned about efficiency as they will be running off of the normal power grid. What I am looking for is smooth and consistent operation. Also I am not concerned about the noise as they will be mounted away from my shop and controlled by long wires.
-
Hi,
[...] What I am looking for is smooth and consistent operation. Also I am not concerned about the noise as they will be mounted away from my shop and controlled by long wires.
With long wires (i.e. added inductance), keep the frequency low.
You will get smooth running even from a very low frequency, but for a 2% M/S, there will be a lower limit where it will get extremely jerky of course. The best way to find the minimum "smooth frequency" will be to set up a 2% M/S and then vary the frequency to find the lower limit, as it will depend on the exact motor and the exact wiring setup (length of wires). If you test this in a lab, use the wire length you need, but don't coil it up (it will change the inductance considerably) - if you need to "shorten" it down, better lay it in zig-zag on the floor.
When you find the frequency, add around 20% to that, to allow for changes in temperature and component tolerances.
-
Thanks again, you have given me some ideas and since the motors just came, it is time to start bread boarding up some and see what happens. Also I have been trying to come up with a simple way to get feedback on the motor speed, and decided to try reading the RPM by measuring the impedance of the motor between pulses. (During the time they are running full speed, I don’t need feedback) This should give me the information I need for a governed control. Will prove interesting to see how it turns out.
-
Thanks to your comments I came up with head scratching and different approaches. Went back to straight DC, and measuring motor impedance. I can measure when each segment of the commutator makes contact with the brushes which gives me adequate feedback, and I can control the RPM quite accurate, even at very low speeds.