Pages: [1]   Go Down
Author Topic: Opening/Closing a cabinet drawer with a continuous rotation servo  (Read 1596 times)
0 Members and 1 Guest are viewing this topic.
South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Using 2 I/O pins, one controls the servo, the other turns power on to the servo via an N channel mosfet (http://www.sparkfun.com/products/10213)

If I had ButtenOpen turn on the servo power, and send the rotation command to the servo, and give it a delay long enough to open the drawer, then turn power off.  And ButtonClose would work the same way, turning on the servo, giving the close signal, delay, turning off power to servo.
Turning off power to the servo should ease the problem of someone manually opening or closing the drawer.  Does this sound like it would work. 


...Any thoughts?
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8471
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

How will you couple the servo to the drawer?
And how will you determine the open/close times (they will vary according to the weight of the draw, friction changes over time etc.)

I ask because if you drive the servo for too long and it hits end of travel you will have a problem. Not long enough and the draw isn't fully open/closed.

Also servos are pretty highly geared, I don't think it will like being driven by someone manually moving the drawer.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'll be driving it via a rubber wheel on the side of the wood drawer. The drawer only opens 8", and the weight of it's contents will never change.  My plan is that the drive wheel will have enough friction to open/close the drawer, but not too much that if someone closes it manually, the drive wheel/wood side will let it slide back. 
Timing:  It should only take a second or 2 to open, so that's why I'm thinking if I leave the servo on for say 1 second longer than what ever time it actually takes, then turn it off.  That shouldn't hurt it, should it?  It's usage: probably once a day, average.
So my question:  Is that too hard on a servo, being stalled for 1/2 to 1 second?
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17259
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So my question:  Is that too hard on a servo, being stalled for 1/2 to 1 second?

I would suggest you are better off having two switches (opto, magnetic, or even mechanical) that detect door fully closed and fully open conditons, that way your program can command the servo to stop without having to worry about stalled condition, or having to determine exact timing of travel.

Lefty

Logged

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I would suggest you are better off having two switches (opto, magnetic, or even mechanical) that detect door fully closed and fully open conditons, that way your program can command the servo to stop without having to worry about stalled condition, or having to determine exact timing of travel.

Lefty
Hmm, there goes another I/O pin or 2!
I was hoping a stalled condition wouldn't be too hard on a servo...

a note:
perhaps Sparkfun's Optical Detector / Phototransistor - QRD1114
sku: SEN-00246
could detect 2 end marks or protrusions added to the side of the drawer to give the right span.
« Last Edit: February 15, 2011, 11:45:10 pm by SouthernAtHeart » Logged

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You could make a setup like below using a gear motor. If youdrive the drawer from the bottom, the drawer might have enough upward play to lift off the wheel when being manually moved. 

Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

interesting.  So, in your drawing, the limiting switches don't need wired to the arduino.  I see how they.  So I'd only have 2 I/O pins.  One for the relay, one for the DPDT switch, right?
Logged

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You just need one I/O pin (with a transistor and power supply to operate the relay). When the pin goes high, the relay is actuated and the drawer opens. When the pin goes low the relay is deactivated and the drawer closes.
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah, I got.  That's a good way to do that!
Logged

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You could make a setup like below using a gear motor. If youdrive the drawer from the bottom, the drawer might have enough upward play to lift off the wheel when being manually moved. 


...after listening to a servo, I'm think more about going your route.  Plastic geared servos sound pretty chinzsy.  I reckon there's probably good quality ones, better than SparkFuns.  But this diagram you drew is a more correct to do this.  I picked up a nice gearmotor.

Logged

Pages: [1]   Go Up
Jump to: