I'm new to DC motors.
I need to control the RPM of such a motor.
Do all DC motors allow to control their RPM? I've read that some types of motors overheat and get damaged when running too slow, but that may be running them too slow or too fast for what they are rated for.
Whats the case?
And how can I measure the rpm exactly? Say I need 450 RPM exactly. I've read about using hall sensors and magnets, but some people have told me Arduino has problems with closed feedback loop sync.
You need to pick a motor suitable for your project. Given its data sheet, forum members or others can advise regarding whether it can and how it should be controlled.
stuka:
And how can I measure the rpm exactly? Say I need 450 RPM exactly.
No machine on the planet is exact, other than by chance. What is the acceptable variation in your RPM ? The answer to that will influence the choice of sensor and the choice of control algorithm.
but some people have told me Arduino has problems with closed feedback loop sync.
This is bunk. The only reason it could not work is if the quantity of measurements and calculations exceed the Arduino's capacity (or if the code is badly written). At 450 RPM the Arduino should be well able to control your system.
450RPM is kind of slow. Depending on your accuracy requirements, it would probably be best to use an encoder with multiple pulses per revolution. You could use an encoder with up to 400 pulses per revolution. 4 blades and a hall sensor would be good.
Overheating from slow running is not usually a problem with DC motors. It is more of a problem with AC motors. It depends on what the motor is designed for and if you're using it in a way that's outside that design.
Robin2:
No machine on the planet is exact, other than by chance.
Not even by chance - Heisenberg's uncertainty principle!
To measure the speed you could use a hall effect sensor and magnets, a slotted or clear disk with printed radials and an opto sensor, a tacho generator, or, if it's a permanent magnet motor, you can even use the motor itself as a tacho generator between pulses of PWM drive.
Overheating when slow running is usually only a problem with induction motors with a built in cooling fan.
You need to post more details of your proposed use.
russellz:
Not even by chance - Heisenberg's uncertainty principle!
I don't think the OP will be working at the scale where quantum mechanics is relevant.
In any case if things are uncertain it must surely be possible for chance to result in exactitude (the space after the word "in" is intentional) - otherwise you are ruling out at least one possibility.
stuka:
I'm new to DC motors.
I need to control the RPM of such a motor.
Do all DC motors allow to control their RPM? I've read that some types of motors overheat and get damaged when running too slow, but that may be running them too slow or too fast for what they are rated for.
Whats the case?
And how can I measure the rpm exactly? Say I need 450 RPM exactly. I've read about using hall sensors and magnets, but some people have told me Arduino has problems with closed feedback loop sync.
Some motors will overheat when run too slowly because they have a fan on the shaft for cooling and
fan cooling depends on the speed squared, whereas motor heat generation depends mostly on
the load torque.
Nothing can be measured exactly, nor ever will be. You need to say what accuracy you are looking
for. 0.1% speed accuracy, 20 minutes of arc position accuracy or whatever.