I am new to Arduino and electronics and encountered a problem with a continuous rotation servo.
I am using a motor to move a cube (approx. 0.3 kilos) up and down. When it goes up everything is fine but when it goes down down the motor movement does not fully stop under this weight.
What would be the best and easiest way to resolve this issue? Thanks.
Use a motor with a worm gear drive.
zoomkat:
Use a motor with a worm gear drive.
How does a worm gear prevent this slippage? I thought a worm gear was simply a torque multiplier/divider like any other gearing situation. Surely there would be a load that the motor could lift and still be enough mass to cause it to slip when the power is removed. Or not?
Depending on the ratio of the worm gear it will either permit reverse torque motion or not. At a rough guess this ratio will be around 10:1 Less than 10:1 the worm can force the normal drive skew wheel to rotate, and "force" is the operational word. Worm drives are not normally designed to reverse drive. In general worm drives should not be over-driven since this places extreme stress on the drive system. Some powered wheelchairs etc do use worm drives where you might expect free-wheeling but these are not permitted to over-run (freewheel) since they are driven under proportional speed control with brakes applied when there is no drive voltage.
By a "continuous rotation servo" do you mean (a) a "servo" without stop limits and no positional control (a conventional motor), (b) a servo that has no stops and is driven by 1 to 2 mS control signals, or (c) a stepper motor.
If :
(a) then you either need to fit a brake mechanism or apply sufficient voltage to provide stall torque to prevent free-fall but not enough to cause lifting. This is a delicate balancing trick and will require quite high current at low voltage.
(b) set the control pulse to stop the servo rotating at the desired position and keep this pulse applied
(c) apply drive voltage to the sevo coils but do not apply steps. The drive voltage will "lock" the rotor at the desired position.
Is the problem of not holding the weight, or of not being able to handle the inertia of the moving weight.
If you are using pwm to control the motor speed, you could try slowing it down before it reaches the desired lower level, and ease into final position.