In a project I need to rotate a 1 meter horizontal screw with diameter of 1cm that a plastic gear has been attached to it, so that by rotating the plastic gear with one finger and a little force, the screw rotates too.
I want to use a dc motor and a smaller gear attached to it to rotate the screw programmatically.
I will use a couple IR sensor to count the rotation count of the dc motor.
In this project Screw is supposed to move a 500 gr load, forward and backward, like the head of a dot matrix printer, the speed is max 2 mm per second for the movement, bit I want to know the exact place of the load by the accuracy of 0.5 mm (or 0.2 mm if possible).
If you need to keep track of the position a stepper motor would probably be the simplest solution. The alternative would be to place a rotary encoder on the screw and have the Arduino read the rotation that it reports.
moham14:
In a project I need to rotate a 1 meter horizontal screw with diameter of 1cm that a plastic gear has been attached to it, so that by rotating the plastic gear with one finger and a little force, the screw rotates too.
I want to use a dc motor and a smaller gear attached to it to rotate the screw programmatically.
I will use a couple IR sensor to count the rotation count of the dc motor.
In this project Screw is supposed to move a 500 gr load, forward and backward, like the head of a dot matrix printer, the speed is max 2 mm per second for the movement, bit I want to know the exact place of the load by the accuracy of 0.5 mm (or 0.2 mm if possible).
My questions:
Is this possible?
Absolutely.
Is it better to use a stepper motor ?
Depends what "better" means. Open loop control works, closed loop control works.
Is there anther way that I don't know?
Belt drive, direct drive leadscrew, probably others.
The 0.2mm accuracy is only achievable if the leadscrew is that accurate (ie not some
cheap studding).
I think even a cheap hardware-store threaded rod will achieve that accuracy level. A common thread pitch is 1.0mm per turn so if you can measure 5 steps of a turn you can measure 0.2mm. If the screw was significantly different to 1.000mm per turn then you could not thread a nut onto it.
"0.2 mm accuracy" - do you mean absolute accuracy, resolution, or repeatability?
If you drive the screw directly with a typical 200 step/rev stepper motor, then a 2 mm pitch screw will give you 0.01 mm resolution without recourse to microstepping. Far better than you need.
Repeatability will depend on the mechanics being rigid enough and you will need to use an anti-backlash nut otherwise the position will depend on the direction from which it is approached.
Absolute accuracy depends on the pitch accuracy of the screw. Even cheap studding has pretty constant pitch along its length but may have a consistent pitch error. Any error can easily be measured and corrected in the software.
MorganS:
I think even a cheap hardware-store threaded rod will achieve that accuracy level. A common thread pitch is 1.0mm per turn so if you can measure 5 steps of a turn you can measure 0.2mm. If the screw was significantly different to 1.000mm per turn then you could not thread a nut onto it.
We are talking about absolute accuracy over the full leadscrew, or to quote the OP "I want to know the exact place of the load by the accuracy of 0.5 mm (or 0.2 mm if possible)"
That's 200ppm accuracy for 0.2mm over 1m. Studding is not a precision product, you pay extra
for that.