Pulling a rope up and down with small weight

Hi makers and wizzards!

I’m looking to pull a rope up and down with a motor;
after failing with a servo (and learning alot about servos along the way) I was wondering what you guys think the best aproach might be; the installation would be on day and night and will go up/down about 100 times/day and should not take more than 5 seconds to pull about 2 meters of rope so that’s a speed of about 40cm/sec or 30,76rpm at the motor;

the tricky part is to let the motor stop everytime at the exact same locations; are there any high-speed stepper motors you guys recommend? or use a continues servo (but how to do flawless sensoring if the rope is up or down?)

Eternal thanks for your help!

I would go for a DC motor, gearbox and pulley with a rotary encoder on the pulley to let you track the position repeatably. You'd need an H-bridge motor driver to drive the motor. To lift that much weight so fast will probably need around 20W by my estimate, so you would need to choose a suitable motor (remember you can always slow the motor down if necessary and it's best to have a bigger motor under-worked rather than a smaller one over-worked).

recyclerobot: Hi makers and wizzards!

I'm looking to pull a rope up and down with a motor; after failing with a servo (and learning alot about servos along the way) I was wondering what you guys think the best aproach might be; the installation would be on day and night and will go up/down about 100 times/day and should not take more than 5 seconds to pull about 2 meters of rope so that's a speed of about 40cm/sec or 30,76rpm at the motor;

the tricky part is to let the motor stop everytime at the exact same locations; are there any high-speed stepper motors you guys recommend? or use a continues servo (but how to do flawless sensoring if the rope is up or down?)

Eternal thanks for your help!

If its important to keep track of position, use a servo. You'll get more power but its a bit more costly than ie stepper. High speed steppers? Perhaps turn off microstepping or use a stepper with higher angle pr. step? Or a gear? An endstop switch to tell where to stop and reverse if you use stepper or brushless motor? If weight is of concern, use pulley/tackle? regards

Or possibly (I don't know if your setup would allow the extra bulk), have a spool linked to the pulley wheel with a bit over 2m of cord wound opposite your pulley action. (I.e. have it wind up when you lower your weight and feed out when you raise your weight.) Have a 499g weight on that as a counter weight. That way your servo/motor/etc only has to lift and lower 1 g.

Similar idea to how elevators are counter weighted.

What you are asking sounds passably resembling a garage door opener.

Would one suit your purpose?

How big can the drum be on your motor ? This will dictate how many turns it has to do to wind in the cord at the rate you require.

I personally would go for a stepper motor with a large drum and turn off microstepping.

If not then a Good DC motor running at low speed with a hall sensor and appropriate magnet to sense the number of turns.

If room permits the idea of a counterweight is good but probably not needed. Sparkfun have Stepper motors and drivers that have no problems with 1 kg+ (i have a home made chook door that weights 1.8 Kgs and the sparkfun stepper and easy driver move it just fine)

Craig

Your diagram suggests (if my maths is correct) that the torque loading on the drum is about 2.5 Kg-cm so any stepper motor with a holding torque comfortably above that should work fine. The motor I have http://www.hobbytronics.co.uk/motor-control/stepper-motors/stepper-motor wouldn’t be strong enough. However if you provided, say, a 2:1 step down gear it would be well able to do the job.

If you are using a stepper motor use a proper stepper motor driver such as the Pololu A4988 as it makes wiring and control by the Arduino a great deal easier.

If you are using a DC motor I would suggest using a worm-drive to step down the speed as that will prevent the drum unwinding by gravity. A regular DC motor isn’t designed to hold a stationary position.

…R

I would go for a DC motor, gearbox and pulley with a rotary encoder on the pulley

@peterH: thanks for the tip; didn't know about dc rotary encoders!

If its important to keep track of position, use a servo. You'll get more power but its a bit more costly than ie stepper.

@janeik: I've tried several servo's; none of them were very good; I used a 360° one with a large pulley; pulley was to large and became unstable; continous servos had no feedback so after about 40 times the weight was several cm lower than it's first position

Similar idea to how elevators are counter weighted.

@Sembazuru : very good idea! counterweights should be able to stabalize the pull abit too

What you are asking sounds passably resembling a garage door opener.

@Paul__B : yeah; it's the same principle but the ones I've seen in the local hardware shop are either to powerfull or to big for my purpose :)

If not then a Good DC motor running at low speed with a hall sensor and appropriate magnet to sense the number of turns.

@craigcurtin: the drum can't be to big so I'm more leaning towards dc right now; do you have any recommondation for a good hall sensor (one that's reliable?)

Pololu A4988

@robin2: got the exact same driver :)

f you are using a DC motor I would suggest using a worm-drive

@robin2: thanks for the tip!

thanks for all the tips, I'm learning alot :)

You might want to look into using motors used in vehicles; such as window regulators, windshield wipers, seat adjusters, auto seat belts, etc. They are plentiful and can be had cheaply. Some are very powerful.

Isn't it possible to attach something to the rope and have that something sensed at positions?

  • Scotty

Hi, I agree with Peter_H, a good DC motor and an encoder would do the trick, servo as have been said are expensive when you ask for torque. Steppers okay but you cannot reliably use the step count as a position indicator. If you need good starting torque you will need to have a gearbox, I have worked on some high speed flexible doors and they all have motors and gearbox to get the torque and start speed. How many positions do you need to know about the weight location. Just top and bottom or some intermediate positions? If only top and bottom then use limit switches at top and bottom, makes things very easy. Will you need a brake, the counter weight idea is good if 500g is the only load.

Tom... :)

recyclerobot:

If not then a Good DC motor running at low speed with a hall sensor and appropriate magnet to sense the number of turns.

@craigcurtin: the drum can’t be to big so I’m more leaning towards dc right now; do you have any recommondation for a good hall sensor (one that’s reliable?)

Have a look at the Freetronics site - they have a hall effect sensor mounted on a small PCB - perfect for what you want - put it on the drum and a magnet somewhere close by and count the number of revolutions

Craig

Again referring to the design of garage door openers, the ones with which I am familiar use a "chopper" vane on the intermediate gear shaft with two optical sensors mounted to provide a quadrature (2-bit Gray Scale) indication so that they can accurately monitor movement in each direction and keep track of the position - as long as the power does not fail.

They use an algorithm whereby if the motor is powered but the chopper senses no movement for a certain interval, they conclude that the movement has been hindered, whether by an extraneous object or by hitting the end stop - and take action accordingly, that is to say either indicating an obstruction or determining the end of normal travel following a power failure.

This proves to be the simplest means of implementing position detection and motor overload.

Paul__B: Again referring to the design of garage door openers, the ones with which I am familiar use a "chopper" vane on the intermediate gear shaft with two optical sensors mounted to provide a quadrature (2-bit Gray Scale) indication so that they can accurately monitor movement in each direction and keep track of the position - as long as the power does not fail.

They use an algorithm whereby if the motor is powered but the chopper senses no movement for a certain interval, they conclude that the movement has been hindered, whether by an extraneous object or by hitting the end stop - and take action accordingly, that is to say either indicating an obstruction or determining the end of normal travel following a power failure.

This proves to be the simplest means of implementing position detection and motor overload.

That is quite a slick solution to two of the biggest issues

Craig

craigcurtin: That is quite a slick solution to two of the biggest issues

Isn't it just?

They figured that one out (I certainly take no credit XD) well over 25 years ago, a superb example of using microcontrollers (8748) to implement clever functions with minimal complexity.

The original "B&D Control-a-door" - I think I saw it at the Easter Show - had a set of LEDs showing where the door was - proportionally - in its travel, but dropped that as unnecessary. Kind of a pit, as I would like a remote indicator in the house to know whether the garage door is closed or not.

Your calculation of the wheel circumference is rubbish.

michinyon: Your calculation of the wheel circumference is rubbish.

Never let plain facts get in the way of a good story. XD

Steppers okay but you cannot reliably use the step count as a position indicator

I disagree. If the stepper is properly sized for the load then step counting provides accurate reproducible positioning. As well as avoiding the need for position encoders it will also hold the load when static (though it will be consuming power) negating the need for a braking system.

How about something like this- http://www.allelectronics.com/make-a-store/item/DCM-351/24-VDC-GEAR-MOTOR-W/TURNTABLE/1.html

You could mount some screws equally spaced(around 10-12 just for a guess) around the outside perpendicular to the disk.

Something like this I_____I_

Mount a microswitch to sense each screw as it passes thus giving some feedback.

A simple 2 relay setup could control forwards and backwards and off.

dc or stepper is dependent of what you have in the box stepper needs only driver. when disabled driver the weight should go down thus giving a startposition then take 1200 steps or something to hoist the weight. and 1200 to unwind again when weight is down disable driver to safe energy, on topposition have current about 25% to keep the heat down.

dc needs a feedback just like old mouse with a wheel inside

I 2nd the idea of using an automotive motor, especially a windshield wiper motor, since they have worm gears that will hold a load without power, and are rated to run continuously. I see them priced around $15 on the surplus web sites.

In regards to the power rating, you can multiply the max current times the voltage to know its wattage capability. You can also convert the torque with the RPMs needed on your wench to determine wattage needed. Here is a web site that will do that, http://www.magtrol.com/support/motorpower_calc.html

For position sensing, there are several possibilities. But, I think the easiest to use is a multi-turn potentiometers. For example, $4.60 is this one, http://www.robotshop.com/en/dfrobot-rotation-sensor-v2.html. It turns a maximum of 10-turns like most multi-turn pots. So, you have size your drum to keep it within 10 turns. If it needs more than 10 turns, you have to gear down your connection to the multi-turn pot.

Thinking about your torque needs, that decision will be driven by staying within the 10 turns because it will drive the decision about the drum diameter.

Note that a potentiometer is not the most durable device. So you don't generally want it on a robot wheel. But, you are not continuously moving it, and it should hold up for quite a while. I would make sure you have code to prevent it from oscillating if part of the pot starts to go bad and generates a varying signal. Just stop the motor after getting close to the target is enough.

-Joe Dunfee