Need Guidance for First Project

Hey guys... first time poster here. I have never used any arduino products, but I have a couple friends who are into it. I finally have a reason to make something, however, and I wanted to run it by you all first.

I need to make a device that will serve as a quality control tester for a product I have created. The device will need to push and hold a button for 5 seconds, then wait a specific period of time (say 15 seconds) before pressing and holding the button again. This needs to be done repeatedly, and I'd like to be able to easily specify how many times to repeat this process. Each time the button is held down, I need the device to check the voltage between two contacts on the product. The results of the continuity check need to be logged to a flat file on a SD card.

I haven't done a ton of research yet, but it's looking like I should probably buy the Arduino starter kit first, then I will also need the data logging shield and a voltage sensor (will the Phidgets one be fine?), as well as a way to press the button. I'm thinking maybe a push/pull type solenoid will do the trick?

If you all have time, I'd appreciate as much detail as you could provide about how to setup this device. Links to info that will help me is also greatly appreciated.

Thanks a lot!

Nothing sounds very difficult with what you want to do.

hawleycj: I need the device to check the voltage between two contacts on the product.

What is the voltage you want to test? The Arduino has several analog inputs and can read voltages between 0V and 5V. Higher voltages could be read using a couple resistors as a voltage divider.

How many times will this button need to be pressed? I suppose a solenoid could probably do meet your needs but servos are really easy to use. Servos aren't good for lots of movements. Their internal pots wear out eventually so you wouldn't want to use a servo if you needed tens of thousands of button presses. If you only need to press the button a few thousand times, a servo could probably do the job.

The voltage range will be between 3.5 and 4.2 volts.

This thing is going to be pushing lots of buttons, lol.

I'm thinking that I will mostly be doing cycles of 100 presses, but there will be many times where I will need 1,000 presses, so I'd really like this thing to hold up over the course of tens of thousands of button presses.

hawleycj:
The voltage range will be between 3.5 and 4.2 volts.

What sort of precision do you need? Would the Arduino’s 10-bit ADC work?

hawleycj:
I’d really like this thing to hold up over the course of tens of thousands of button presses.

Hopefully someone will have a suggestion.

I’d think some sort of DC motor with an arm to convert rotary motion to linear motion would be a good idea. Something like a windshield wiper motor but with less force/torque.

DuaneDegn: What sort of precision do you need? Would the Arduino's 10-bit ADC work?

Not sure if the ADC will work for me. I'll have to do some research on it. As for precision, I'd like 0.01, but 0.1 would be fine, as well.

DuaneDegn: Hopefully someone will have a suggestion.

I'd think some sort of DC motor with an arm to convert rotary motion to linear motion would be a good idea. Something like a windshield wiper motor but with less force/torque.

Ya, I was thinking of having a DC motor that spins a circular disc. One quarter of this disc would have a larger radius than the rest, and would be used to push a spring loaded rod into the button. If the motor moved slowly enough, it could take five seconds for that larger 1/4 of the disc to push the rod into the button, and 15 seconds for the other 3/4 of the disc, which would not have a large enough radius to contact the rod.

Why don't you like the idea of using a push/pull solendoid?

Why do you have a mechanical device pushing a button ? There are devices called relays that will do this for you.

There are also simple electronic devices that could me much cheaper also if you say what you aare trying to do.

Cam based devices , motor driven used to be used for the likes of washing macins used to do this, an arduino with the correct electronics should make this very easy

Boardburner2: Why do you have a mechanical device pushing a button ? There are devices called relays that will do this for you.

There are also simple electronic devices that could me much cheaper also if you say what you aare trying to do.

Cam based devices , motor driven used to be used for the likes of washing macins used to do this, an arduino with the correct electronics should make this very easy

I need to simulate an actual button press from a human finger. And this is not something that can be hardwired into the product being tested. I need to be able to put any product that comes off the production line into this device, and have it simulate a human button press over and over, and test the results.

hawleycj: Why don't you like the idea of using a push/pull solendoid?

I don't think I dislike the idea, I just don't have much experience with them.

I know how to control DC motors so it's often my hammer of choice. It works on screws great, I just have to pound a bit harder.

I am intrigued as to what the device you are testing is. Any hints?

This may also let us know how to physically operate the switches.

Weedpharma

The product is a vaporizer (electronic cigarette). The button is a standard horn style momentary push button like this...

http://vi.raptor.ebaydesc.com/ws/eBayISAPI.dll?ViewItemDescV4&item=321854130367&category=58166&pm=1&ds=0&t=1447387577601

Oh, BTW, I am planning on 3D printing a frame to hold these components.

I have used similar buttons before.

Isuspect operating pressure and travel may make a solonoid impractical unless its a big one.

Something pneumatic perhaps ?

Spring retract bellows and aquarium pump ?

A similar looking switch from RS indicates an actuating force of 5 newtons is required

http://www.farnell.com/datasheets/1490818.pdf

Take a look at the stroke v force graph

I suggest you look at Bimba products. They're adjustable in pressure, velocity and stroke length.