What can push a small physical button?

Hi,

I'm tinkering with an idea to create a battery powered little unit that can push a small physical butten. Actually two buttons. One for up and one for down... the buttons are fairly small, about 3x3 mm each, and they are about 6 mm apart (see image attached). They are easy to push so I don't need a lot of force.

It seems like a solenoid is the right part to use. Found this on ebay. http://www.ebay.co.uk/itm/5PCS-DC3-12V-PUSH-PULL-TYPE-SOLENOID-ELECTROMAGNET-DC-MICRO-SOLENOID-NEW-F1NK-/111906576093?hash=item1a0e26d6dd:g:I~gAAOSwu1VW3xKH

I would prefer something even smaller, but haven't found anything. Any suggestions?

Looking at energy consumption, the "datasheet" (Ebay ad) mentioned 3 V and 0.08 Amp. So assuming that pushing the button takes 1 second. It should consume about 80 mA for 1 second. Which equate to 0,022 mAh (80 mA / 3600 seconds) ?

So given that I use two AA batteries of 1700 mAh each. It would give me the required 3 V output if connected in series, and an overall capacity of 1700 mAh.

This should theoretically give me the possibility to push a button about 7700 times before the battery deplete. Given no other elements pulling power. Is this correct?

I daresay you have your reasons for wanting to do this mechanically, but is it out of the question to wire in and do this electrically?

What about a very small servo?

...R

The buttons close 2 contacts, yes? Have the Arduino control two small relays, with NO and C contacts connected to the buttons. When the relays close, the button is pressed.
example

Arduino drives a NPN transistor to sink current thru the coil to energize the relay.

JimboZA:
I daresay you have your reasons for wanting to do this mechanically, but is it out of the question to wire in and do this electrically?

I guess it might be possible to wire in and control it electronically, but the buttons are on a temperature sensor for heated flooring in my bathroom. And I don't feel comfortable (at the moment) to start wiring in to the mains.

This is the datasheet for the temperature sensor (link)

CrossRoads:
The buttons close 2 contacts, yes? Have the Arduino control two small relays, with NO and C contacts connected to the buttons. When the relays close, the button is pressed.
example
EC2-4.5NU KEMET | Relays | DigiKey
Arduino drives a NPN transistor to sink current thru the coil to energize the relay.

This is a solution that requires wiring in to the buttons, and/or the electronics behind?

Solenoids are very limited in how much force they can apply as well as distance. What is easy for a human (pushing a button) is actually quite difficult for a robot - either it doesn't push hard enough or it rams the button through the wall.

RC servos are the best way to do this. Very controllable. A "micro servo" is pretty small and they usually come with a selection of output arms, so you could probably position it between the buttons and have the servo reach both.

What about by energy usage estimate. Do I have a correct understanding of how to estimate consumption?

Something like this?

buttonPusher.jpg

MorganS:
Solenoids are very limited in how much force they can apply as well as distance. What is easy for a human (pushing a button) is actually quite difficult for a robot - either it doesn't push hard enough or it rams the button through the wall.

RC servos are the best way to do this. Very controllable. A "micro servo" is pretty small and they usually come with a selection of output arms, so you could probably position it between the buttons and have the servo reach both.

Yes, this is starting to look like the best solution. I had a servo motor (9g) in my possession and have been testing the basics now. Looks to work, should be strong enough.. Now I just need to test it on the actual buttons and see if I can find or create some output arms that will work for the purpose.

outsider:
Something like this?

buttonPusher.jpg

Yes, this is how I forsee that it will work. The "springy wire" you mention, is it something specific you are thinking of? do you have a link?

Christian_83:
The "springy wire"

How about piano or guitar string?

Or picture hanging wire?

Might be worth a stroll round your local hardware emporium; never know, you may find the "right" wire in the most unlikely section.

I would use one of the plastic drive horns that comes with the servo. Just test it away from the buttons and determine your own settings for left-middle-right.

Align the servo so that when the arm is in the position where it can push the switch furthest it can just push it the correct amount. Then no springy wire is needed and there is no risk of damaging the switch or the servo.

...R

Maybe this would work better. The "springy wire" was just something to keep the buttons from being damaged by "over pressing".

buttonPusher_2.jpg

This is the sort of thing I have in mind

Servo_Button.png

No matter what happens it would be impossible for the servo to push the switch too far.

...R

Yes, that would work, 2 levers or cams on the servo shaft, one over each button.
I won't insult you by trying to draw it. :wink:

Don't want to insult your drawing skills, but not sure I understand it... :confused:

Ok, I managed to get the prototype to work guys. Thanks for the help. Now I just have to find a way to "hide" it all in a nice looking box, and mount it so the servo motor is situated over the buttons correctly. I feel that might be an even bigger challenge to achieve...

Video of the current prototype.

You can buy plastic and aluminium angle at most hardware stores. Either can make a very good mount for a servo. I have made some complex shapes by epoxying some aluminium pieces together.

...R