Hardware for powering and controlling linear actuators for wing project

Good day all!

I appreciate any advice I can receive from you here. I'm still pretty new to using Arduino, though I am ambitious! Anyway, my plan is to have two linear actuators working together, hopefully in sync, to power a pair of wings. I would love to have a wireless remote with buttons to make it work, but first I want to get the basic system working. I'm not worried about code just yet; I want to make sure the components will all work together and that I don't need any other components.

As of now, my plan is as follows:

  • 12V DC power pack/battery connected to
  • DC barrel plug cable that splits into 3 ends (I will probably have to manufacture this myself and would welcome advice on this)
  • Cable ends 1 & 2 would connect with my linear actuators (details below)
  • Cable end 3 would connect with the motor driver shield (details below) and Arduino Uno

The linear actuators I have chosen are the Windy Nation 4" stroke linear actuators.

The motor driver shield I have chosen (but haven't bought yet) is the Pololu Dual MC33926 Motor Driver Shield.

I haven't chosen a specific battery pack yet since I don't think it matters too much as long as it has the barrel jack.
For now, I want to work with the hypothetical perfect battery.

Again, I appreciate any help I can get from you!

Well, you have given us a rather short list of items that are probably able to work together, but you have left out the "as intended" part. Are the linear actuators going to "flap" the wings or just tilt them? (At 0.39 inches per second a single full stroke will take just over 10.25 seconds). Will your battery provide enough current over the period of time you want the device to operate? Is all the power to be delivered through the barrel jack? How much current do you anticipate the device to draw at maximum load?
I'm sure there will be many more questions when we learn what these components are supposed to accomplish.

Power use and power source can make or break your project.

Hi,
I think this is important, motors can load up to 2.5A.

Linear Actuators - Owner Manuals – Windy Nation Inc (edited link)

Tom.... :slight_smile:

Power the Arduino separately (from the USB connection?) while doing all your development. Then you won't confuse software problems with power problems - which is easy to do.

...R

The Polulu motor driver seems expensive and unnecessary for your project. It is designed to independantly drive two motors at two different and precisely controlled speeds, as you would need for a robot's wheels or moving the platform in a 3D printer. There seems little point controlling the speed of something that moves at 10mm/s. You want both actuators to move together, not independently. I would have thought a couple of relays would do the job.

Ah, thank you all for your responses; I see where my post was deficient.

To PaulRB
I don't know how to use relays, so I wasn't sure if they could handle the same tasks. I know the motor driver will do the job, so I chose it instead. However, I would appreciate a cheaper option. I will try to do more research into using relays. I would appreciate any direction you are willing to give.

To arduino_x
Oh! I saw that the Pololu driver would direct power to the Arduino, but I didn't see that it would also direct power to the motors! That would make it much simpler to route power. Thank you.

To Robin2
Thank you for this advice; this is a great idea.

To TomGeorge
Yes, I have considered the 2.5A and I don't think I'll be getting anywhere near that. If there is something further you think I should consider, please let me know. The link you added is broken, but I have read through the manual for the actuators.

To GoForSmoke
Yes, this is very, very true. I didn't mean to sound dismissive of power requirements; they are just not what I am focusing on right now. I don't think that I'll actually be drawing that much power, though I'm assuming higher power draws for my planning so that I have lots of wiggle room.

To Due_unto
Thank you for your questions to further focus my request. The linear actuators will simply pull the wings to fully open, then lower them to fully closed. There won't be any flapping involved. Also, I have the 4 inch stroke, but I won't be using the full stroke, half of it at most I think, so it won't take the full 10 seconds. Since I haven't bought the battery yet, I can still get exactly what I need, so at this point, I want to work with the hypothetical perfect battery because I want to focus on whether the hardware I have will move the linear actuators or if I need to use something else, such as a relay (as suggested by PaulRB). Are there power delivery options besides a barrel jack? If so, I'd love to hear about them to make an informed decision for my project's needs. I have my electricity information in another notebook at home, so I'll have to answer the max current question in a bit.

Thank you all again for your help!

Also, I have the 4 inch stroke, but I won't be using the full stroke, half of it at most

That might affect my relay idea. If you don't use the full stroke, how will you control how much of the stroke you use?

If you use additional limit switches, one for each wing, then the relay idea should work. If you want to limit the stroke by timing how long the motor actuators run, the two motors may not run at exactly the same speed. You could use the motor driver to adjust the speed of the faster motor to match the slower one. I would not recommend that approach because as the battery voltage changes, the motor speeds will change and you may not get the stroke you want.

So I would recommend adding limit switches rather than timing to achieve your desired stroke length. Better still, use the full stroke of the actuators so you can use their built in limit switches. Adjust the mounting of the actuators to give the desired movement of the wings with the full stroke.

4 relays will be needed I think. It may be possible with just 2 relays, with some clever wiring, but I can't figure that out in my head right now!

But you would use the relays in pairs to form H-bridges. The NO (Normally Open) contacts would be connected to battery +, the NC (Normally Closed) contacts to ground, and the COMmon contacts to the actuator motors. You would use two Arduino outputs to drive the relays (Arduino outputs cannot drive relays directly, but most relay boards sold for use with Arduino have transistor drivers).

PaulRB:
If you don't use the full stroke, how will you control how much of the stroke you use?

I may be confused about how actuators work, but aren't they able to move to a set position with a button push? I would program set positions for the actuators since I basically only want two, maybe three, positions--fully extended, closed, and maybe half extended.

Also, another benefit of using the Pololu driver instead of relays would be it would regulate power to the Arduino so I wouldn't need to worry about frying it. Bonus if it will regulate power to the actuators like arduino_x wrote.

Am I misunderstanding how actuators work? If so, I am way back to the drawing board....

jadis1001:
Am I misunderstanding how actuators work? If so, I am way back to the drawing board....

What specific actuators are you thinking of using?

Can you post a link to their datasheet?

What size is this thing you want to make? Please post a diagram of it.

Have you considered using servos? Or even a geared DC motor and a crank?

...R

"Are there power delivery options besides a barrel jack? If so, I'd love to hear about them to make an informed decision for my project's needs. "
I suggest a look at Hobby King for batteries and related connectors.
A neat trick at Hobby King is to open a product page for an item you really want and wait one or two minutes and they will usually offer that item at a slight discount. Works for each item you want.

jadis1001:
Am I misunderstanding how actuators work? If so, I am way back to the drawing board....

Yes and no, but maybe it's not entirely your fault. I'm no expert with these devices, but i understand that some linear actuators have limit switches, others have positional feedback (like a linear equivalent of a servo motor).

The type with limit switches, the ones you have chosen, can only tell when they are at the start or the end of their stroke. If they are in the middle, they can't tell you where exactly they are. You can guess where by timing, but as I said that's not going to be reliable, because different actuators won't run at identical speeds, and won't run at the same speed as batteries run down.

The type with positional feedback have a built in linear potentiometer which the Arduino can continuously read to determine the current position as the actuator moves. That type would allow you to program the Arduino to move the actuator to a given position.

One suggestion for positioning a half stroke: attach a small rod or dowel or similar to the body of the actuator by clamps or glue or method of your choice. Attach to the rod a sensor or switch that the actuator can stimulate (maybe a hall sensor) as it extends or retracts. Use the signal produced when you want the actuator to stop and ignore it for full strokes.

Hi,
Robin2 actuator link,

Tom... :slight_smile:

Actuator Manual_R3.pdf (173 KB)

With the actuator moving a pivot and a little room you can put IR detectors along one arm and use the other to block IR light along the first according to the angle made, like how the cut point between scissors blades moves as you open or close them. Detect analog and see when the light is 1/2 cut off, set the angle of the wing then position the detector where it returns half power.
Then run the actuator while watching the detector. If it is dark or > 1/2 bright, the direction to move is determined and then get it to 1/2 bright within a reasonable degree and it will be right.

Another approach might be to spend the extra money on that Polulu driver board after all. It has built in current sense circuits. These would allow the Arduino to sense when the limit switches in the actuators have been activated. Using those, the Arduino could occasionally perform a calibration movement where it moves both actuators from one limit to the other and back again. By sensing the motor current dropping to zero, it could sense when the limit switches are activated and time it. Then it could calculate the speed of each actuator, moving in each direction, for the battery charge level at that time. Then it could move between the required positions by timing and sensing the limit switches, in a more accurate way.

This, from the actuator datasheet suggests to me it is not suitable for a continuous flapping project

  1. Do not exceed the 25% duty cycle of the actuator: If the actuator is used at full load for 2.5 minutes, then it must remain off for 7.5 minutes. Exceeding the duty cycle will cause the actuator motor to overheat and permanently fail.

But we seem to have lost the OP.

...R

Whew! There has definitely been some activity on here!

Robin2:
Have you considered using servos?

Yes, I have, and linear actuators would work best for my idea.

Due_unto:
I suggest a look at Hobby King for batteries and related connectors.
A neat trick at Hobby King is to open a product page for an item you really want and wait one or two minutes and they will usually offer that item at a slight discount. Works for each item you want.

That is great to know! I think that the barrel jack maybe the simplest way to power everything, but I will look into it further.

PaulRB:
Yes and no, but maybe it's not entirely your fault. ...
The type with positional feedback have a built in linear potentiometer which the Arduino can continuously read to determine the current position as the actuator moves. That type would allow you to program the Arduino to move the actuator to a given position.

Ah, I see! Unfortunately, it seems if you aren't already an expert with linear actuators, getting clear information can be a hassle. So I need linear actuators with a linear potentiometer built in. Do you know where I can find them/what they would be called to differentiate them from the automative actuators I have from windy nation?

Due_unto:
One suggestion for positioning a half stroke: ...

GoForSmoke:
With the actuator moving a pivot and a little room you can put IR detectors...

PaulRB:
Another approach might be to spend the extra money...

These are valid suggestions. If I am unable to find/get/use the linear actuators that I want (ie: with a linear potentiometer), then one of these ideas may be the route I choose. Thank you for your suggestions. For my idea, I really want the actuators that have the potentiometers.

If I have the actuators with potentiometers, would you recommend the Pololu motor driver or relays? Does the difference in actuator make a difference in that choice?

Robin2:
This, from the actuator datasheet suggests to me it is not suitable for a continuous flapping project

This is not a flapping project. 2-3 positions: Fully extended, fully closed, maybe half-extended.

I don't know a good place to buy the other type of linear actuator. But it will probably have 5 wires or connectors, not just 2. Those 5 will be 2 for the motor plus 3 for the potentiometer, which you would connect to 5V, 0V and an Arduino analog input. You could drive the motor with 2 relays.

Unfortunately, it seems if you aren't already an expert with , getting clear information can be a hassle.

Well, at least you know where to come for Arduino-related questions...