Help with voltage/current/cooling requirements for a button pushing magic trick

I am trying to create a system that basically pushes and releases a button using a linear actuator. The actuator receives a push/retract signal from an Android phone. The purpose of this system is for a magic trick, so the components need to be as silent as possible. These are the components I am considering (suggestions for different components are welcome).

  • Arduino Uno WiFi Rev2 (7 - 12 V)
  • HC-05 Bluetooth Module (3.6 - 6 V)
  • DDE12-17W44M02FS (12 V direct current)
  • Samsung Galaxy S8+

Connection setup:

The Arduino will be connected to the linear actuator via standard circuit wires. The Arduino needs to be powered by some isolated source (i.e. cannot plug into wall). The Arduino will receive signals from the Android phone via bluetooth.

How it will work:

  • Actuator is placed into light contact with a button (the button is not pressed).
  • A signal is sent from the phone to the actuator to press and hold the button for a certain amount of time.
  • After the amount of time has passed, the actuator must QUICKLY retract.
  • This will be repeated around 10-20 times based on a signal from the phone.

My questions:

  • How can I power the Arduino without plugging it into a wall? I did some research and it is possible to user a battery to power it as long as the connection is secure, the voltage is steady, and the voltage is between the recommended input voltage. For this Arduino board, the input voltage is 7 - 12 V. Is this as simple as following what I read and using a 9V battery or do I need to take the actuator's voltage requirements into consideration? If the latter, what would I need to do differently?
  • Is it possible/easier to power the Arduino by connecting it to a second Android phone via USB? This phone will essentially be a brick - it will serve no purpose other than to be a power source.
  • The Arduino and the actuator will be in a tight space surrounded by plastic walls on all sides. The plastic is the same as the plastic used to make soda cups at fast food places (i.e. McDonald's). Do I need to add a way to cool this system? If so, how does that change the voltage/current requirements of the power source?

Some answers:

  1. It would be better to power the Arduino with batteries having a voltage closer to 5V through its 5V pin. 3xAA non-rechargeable or 4xAA rechargeable for example. If you need more current or more life you can use 2 or more battery packs in parallel. 9V batteries, if you mean PP3 size, are useless, forget about them. Yes, obviously you will need to take the voltage requirements of the actuator into account, that's why they are called "requirements".
  2. Yes, you could power the Arduino from a phone, in theory, provided the current output from the phone is enough to power the Arduino. An Arduino with WiFi could draw quite a lot of current. OTG probably can't provide as much as the USB port on a PC/laptop. Won't the power be cut as soon as the phone goes to sleep? I don't know. Is this a sensible or easy solution? No, I don't think it is.
  3. I doubt these components will generate much heat, so as long as their are some ventilation, no extra cooling should be required.

Some questions:

  1. Why use an Arduino with WiFi and add Bluetooth to it when your phone already has WiFi? If you want to use Bluetooth, why buy an Arduino with WiFi? For small size and low power requirements, something like a 3.3V Pro Mini would seem a better choice.
  2. What software/app will run on the phone?
  3. Why mechanically actuate the button? Can't you get access to the connections on the back of the button?
  4. Why a linear actuator, rather than a simple solenoid?

To answer your questions:

  1. Good point. I wanted to be able to complete this project and still have a very versatile Arduino board for later projects. If the Pro Mini is cheap and can still accomplish the same result, I can go with that.

  2. I was going to make an app using MIT App Inventor.

  3. I cannot. I need to mechanically push the button.

  4. I guess it doesn't really matter. The only important part is that the retracting motion is as fast as possible.

Ok so the pro mini has been discontinued. The Micro without headers seems like a good alternative. To save space, I could do without the headers. The operating voltage of this is still 5V.

How do I begin to design this circuit while taking into account the voltage/current requirements of the solenoid? I'm a complete beginner when it comes to circuits. Can you at least get me started on what to research?

aaronslax: Ok so the pro mini has been discontinued.

You kidding?

|500x500 "More than 10 available 23,525 sold". Check the link

Arduino no longer manufacture several of the more popular types of Arduino board. They focus on the newer, more complex and expensive boards these days because they can't compete with the far Eastern manufacturers on price or make any profit on the basic boards

You know this button you want to press, so you will have to choose a suitable solenoid, but get the smallest suitable one you can, and choose one that will run on 5V or less and has a return spring. The current will be too much for an Arduino pin, even for a small solenoid, so a transistor will be needed. A MOSFET like irl520 or stp16nf06l would be suitable, although somewhat overkill. If the solenoid current is less than ~600mA, maybe an ordinary npn transistor would be ok. You will also need a diode (e.g. 1n4004) to protect the circuit from the reverse voltage created when the solenoid is switched off.

For the Arduimo, I'd opt for a 8 MHz 3.3V Pro Mini with 3.7V LiPo battery (don't worry, the 4.2V of a fully charged one is just fine). Fast enough for this. A LiPo battery can supply a lot of current, an 18650 can supply a few amps easily.

Bluetooth: the HC-05 module will work fine; if you need BLE maybe the newer HC-02 or HC-42.

A small solenoid to press the button. Add appropriate driver (MOSFET switch) to activate it. Retraction is normally by spring, reacting fast. Fast enough for you? I don't know as you didn't define "fast" in actual numbers. Almost certainly faster than linear actuators which tend to be more about accuracy and control than sheer speed.

aaronslax: 4. I guess it doesn't really matter. The only important part is that the retracting motion is as fast as possible.

This begins to sound like it has to be covert, so that it is not actually seen.

Otherwise a servo would be most appropriate - such as in the "useless box".

It's a toss-up. Servos whine, but a solenoid would generate an almighty "whack".

Paul__B:
a solenoid would generate an almighty “whack”.

Solenoids make a “whack” when they either hit the object they are meant to move, or hit their own mechanical limit of movement. I was thinking that if the solenoid was placed in gentle contact with the button, and tipped with something soft/rubbery, and the travel of the button meant that the solenoid did not hit its mechanical limits, then the noise should be minimal.

But do note - that is completely opposite to what the OP has specified.

Of course a rubber buffer would help.

PaulRB: If the solenoid current is less than ~600mA, maybe an ordinary npn transistor would be ok.

This is the solenoid I am thinking of buying:

https://smile.amazon.com/Uxcell-a14092600ux0438-Actuator-Solenoid-Electromagnet/dp/B013DR655A/ref=smi_www_rco2_go_smi_3905707922?_encoding=UTF8&hvadid=312128036548&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9021508&hvnetw=g&hvpone=&hvpos=1o1&hvptwo=&hvqmt=&hvrand=18404122032935073331&hvtargid=pla-434715890049&ie=UTF8&linkCode=df0&psc=1&tag=hyprod-20

How do I know how much the solenoid current is?

This is my circuit so far:

https://imgur.com/a/syTyiQG

Is this correct so far? How strong does the resistor R1 need to be for this setup? Where would I add the HC-05?

I can't find a datasheet on that solenoid, uxcell.com seems to have been hijacked by some reseller.

Your drawing is totally incorrect regarding the N-channel MOSFET connections. It needs to be like this, where M is the solenoid coil. The diode must be rated for at least as much current as the solenoid coil.

Paul__B: But do note - that is completely opposite to what the OP has specified.

Sorry, what did I miss?

aaronslax: How do I know how much the solenoid current is?

It's a bad sign that the seller does not include any information about that, indicating the seller does not know much about electronics. Normally, the coil resistance is given. This allows you to estimate the current that will flow in the first instant after the solenoid is switched on. For example if the coil resistance is 10 ohms, that first current spike the current will be around 5/100 = 0.5A = 500mA. After that first spike, the current will reduce down to a fraction of that because of the inductance of the coil.

aaronslax: This is my circuit so far:

https://imgur.com/a/syTyiQG

Is this correct so far? How strong does the resistor R1 need to be for this setup? Where would I add the HC-05?

Please post pictures on the forum, not on image hosting sites.

R1, in series with the MOSFET gate, isn't strictly needed in this circuit, but it's not a bad idea to have one anyway. Value should be low but it's not critical. 100R~500R would be fine. The pull-down resistor shown in CrossRoads' schematic is also a good idea. It prevents accidental firing of the solenoid when power is connected to the circuit.

Google for connecting hc-05 to Arduino, plenty of examples.

PaulRB: Sorry, what did I miss?

Sorry, you are indeed correct as he did say

aaronslax: Actuator is placed into light contact with a button (the button is not pressed).

I was confused by his further statement

aaronslax: 4. I guess it doesn't really matter. The only important part is that the retracting motion is as fast as possible.

Which he has not explained.

However

PaulRB: For example if the coil resistance is 10 ohms, that first current spike will be around 5/100 = 0.5A = 500mA. After that first spike, the current will reduce down to a fraction of that because of the inductance of the coil.

Oops!

You have completely forgotten what an inductor is! :astonished:

Actually, you are confusing switching an inductor on with switching it off but even then it is confused. :grinning:

Inductors resist any change in current.

PaulRB: For example if the coil resistance is 10 ohms, that first current spike will be around 5/100 = 0.5A = 500mA. After that first spike, the current will reduce down to a fraction of that because of the inductance of the coil.

That is how a free running DC motor behaves. Not how a solenoid behaves.

It is probably possible to reduce the (average) current after the first activation, but you'll have to actively do this using e.g. PWM.

wvmarle: That is how a free running DC motor behaves. Not how a solenoid behaves.

And insofar as a free running DC motor (with permanent magnet field) behaves in this fashion, it does not require a "kickback" diode.

It would only be parasitic inductances that could generate any "kickback". When the power to the free-running motor is turned off, its voltage will not initially change much as it is functioning as a generator.

Paul__B: However*Oops!*

You have completely forgotten what an inductor is! :astonished:

Thanks Paul, I must have been getting confused with motors I think. I have corrected that previous post. Can you please review?

Sounds fine.