Can I control 5 linear actuators with Arduino?

I am planning to control 5 linear actuators (6V, 100mm) with an Arduino. Only one should be moving at a time (so not simultaneously).
Apart from an external power supply, which components do I need?
I'd appreciate any recommendations. Thanks.

Example actuator:

https://eu.mouser.com/new/dfrobot/dfrobot-6v-electric-push-rod/?srsltid=AfmBOop-qDWnp_3g7MQ3peH6kQHunfmXBPr3wmhmGL6SJtuoTzEYxjR2

Example is no good. Post the datasheet for exactly the actuator You will use.

Links asking for cookies are not accepted. Please extract the datasheet and post it.

Yes, an Arduino can control this, but not directly.

Those actuators are DC motors, so you need a driver that can reverse polarity. That means an H-bridge motor driver, not just a transistor or relay.

If only one actuator moves at a time, you have two common options:

  1. Use one H-bridge driver per actuator.

  2. Use one suitably rated H-bridge and select which actuator is connected to it using relays or another switching arrangement.

The important missing value is the motor current, especially the stall current. The linked page gives voltage and thrust, but I do not see the required current rating. The driver and power supply must be rated for the stall current, not only for the normal running current.

Basic parts would be:

  • 6 V external power supply with enough current

  • H-bridge motor driver(s), rated for the actuator stall current

  • common ground between Arduino and motor driver logic

  • limit switches or current sensing, unless the actuators already have internal end-stop protection

  • flyback/suppression protection if using relays or bare motor wiring

So the first thing I would check is the actuator datasheet for rated current and stall current.

Explain how you will mount the actuators and give enough information so someone can read your mind. What actuators have you found that might fit your requirements? What speed do you need? How will you know when the actuator hits the movement limits? How will you know the beginning point of movement? Is it where the actuator is setting at power on or do you have switches/indicators of the starting point that needs to be found at power-on?

That particular actuator would be a very poor choice, unless you can find a data sheet giving details on how it is controlled.

For example, does it have internal limit switches? What is the start/stall current draw?

Thanks for your suggestions.
Would it also be possible to use linear servos with a PCA9685 instead?

Are you trying to solve a problem or you trying to find a problem to solve? Please explain?

It's hard to tell when there is not enough data at the link you provided.

But at the very least you will need:

  • Suitable motor drivers or relays. I did not see any current specs at the link you provided.
  • If using relays, you need some way to isolate the relays from the arduino circuit. Flyback protection.
  • You might need buttons or toggles (or other inputs) to turn the motors on, stop them, or reverse them. One button can do all three things if coded correctly.
  • Limit switches or an encoder system to prevent the actuator from running past it's limits.
  • Probably not a breadboard. Use appropriate wiring and connections.
  • And you mentioned an external power supply. Good job.

See if you can track down a datasheet. And maybe provide more details about your project.

No motor specifications, except recommended voltage (6V).
You need to know stall current to select the right motor driver.
No mention of limit switches, so you must assume that these actuators don't have them.
No limit switches means that YOU must provide that externally.

Bad product, or bad presentation from DFRobot.
Avoid until you have seen a proper datasheet.

And above all else, choose your words carefully. To control something means you have feedback from the device showing it did what you commanded it to do. Otherwise you are just commanding something and cannot know if it did what you wanted.

Yes, if the required force, stroke and speed fit your application. In that case the setup becomes much simpler, because the PCA9685 can generate the servo control pulses for several servos.

That said, to help everyone reach a good solution more quickly, it would be useful to know more about your application.

The checklist below is intentionally broad, but it is not exhaustive. Depending on the problem, additional information may still be required. If in doubt, provide more information rather than less.

Please describe your project so that someone with no prior knowledge can understand the situation without having to guess important details or search for missing information.

1. What?

  • What exactly is the problem?

  • What is the expected behavior?

  • What happens instead?

  • Is the problem permanent, intermittent, or random?

  • When did the problem start?

2. Where?

  • Where is the system used?

  • Indoor, outdoor, vehicle, industrial environment, underwater, etc.

  • Relevant environmental conditions:

    • Temperature

    • Humidity

    • Dust

    • Vibration

    • Pressure

    • Saltwater

    • Chemicals

    • Weather exposure

3. How?

  • How is the system built?

  • How are the components connected?

  • How is it powered?

  • How is it operated?

  • What has already been tested?

  • What were the results?

4. Hardware / Materials

  • Exact part numbers and model names

  • Manufacturer if relevant

  • Links to products or datasheets if available

  • Materials involved:

    • Metal

    • Plastic

    • Rubber

    • Wood

    • Composite materials

    • Other

5. Dimensions / Ratings

Provide numbers whenever possible:

  • Voltage

  • Current

  • Power

  • Pressure

  • Temperature

  • Speed

  • Torque

  • Weight

  • Dimensions

  • Distance

  • Load

Always include units.

6. Documentation

If available, provide:

  • Schematics

  • Wiring diagrams

  • Circuit diagrams

  • Datasheets

  • Relevant code snippets

  • Error messages (complete and unedited)

  • Log files

7. Visual Information

A picture is often worth more than a page of text.

Useful examples:

  • Photos

  • Screenshots

  • Sketches

  • Drawings

  • CAD models

  • Block diagrams

8. System Context

Help others understand the overall objective:

  • What is the device or system supposed to do?

  • What is the purpose of the project?

  • What requirements must be met?

  • What constraints exist?

    • Cost

    • Size

    • Weight

    • Power consumption

    • Reliability

    • Maintenance

9. Consequences of Failure

This is often one of the most important pieces of information.

What happens if the system fails?

Possible consequences include:

  • Minor inconvenience

  • Loss of functionality

  • Data loss

  • Equipment damage

  • Damage to other systems

  • Production downtime

  • Financial loss

  • Environmental damage

  • Safety hazards

  • Personal injury

  • Risk to human life

Also indicate:

  • How quickly must the failure be detected?

  • How quickly must corrective action be taken?

  • Is the failure recoverable?

  • Is maintenance or repair possible after failure?

10. Research Already Performed

  • What information have you already found?

  • What solutions have you already tried?

  • What worked?

  • What did not work?

  • Why were the attempted solutions rejected?

11. Additional Relevant Information

This checklist cannot cover every possible situation.

Please include any additional information that you believe may be relevant, even if it does not seem important at first glance.

What may appear insignificant to you could be the key detail for someone with experience in that specific field.

12. Community Knowledge

No checklist can anticipate every problem.

If you are responding to a request for help and believe important information is missing, please ask for it.

Likewise, if your expertise suggests that this checklist can be improved, refined, or expanded for a particular field or application, please do so.

The goal is not to complete a checklist. The goal is to provide enough information for others to understand the problem and help effectively.

Remember:

People can only work with the information provided. Missing information leads to assumptions, unnecessary questions, and often the wrong answers.

The clearer the problem description, the better the chances of receiving useful help.

Are the above synonyms or are there some differences?

Good question.

I deliberately included all three terms to make sure everyone feels addressed, regardless of which terminology they are familiar with.

The distinction I had in mind is:

  • Electrical schematic (circuit diagram): describes the electrical circuit and logical connections.
  • Wiring diagram: describes the physical wiring, connectors, terminals, cable routing, etc.

There is certainly some overlap in everyday usage, especially between schematic and circuit diagram, but my intention was simply to cover the most commonly used terminology rather than make a strict distinction.

@GolamMostafa

To be honest, I intentionally left out some details to avoid causing even more confusion. :slightly_smiling_face:

During my technical training I was actually introduced to four different kinds of diagrams:

  1. Electrical schematic (circuit diagram): Shows the electrical connections and how the circuit works. The physical location of the components is not important.

  2. Wiring diagram: Shows the physical wiring, including cables, wire colors, connectors, terminals, routing, etc.

  3. Terminal diagram: Shows which cable and conductor is connected to which terminal. Mainly used for assembly and maintenance.

  4. Block diagram: Shows the functional building blocks of a system and how they interact, without showing the detailed electrical connections.

For the checklist, I deliberately included several common terms so that people from different backgrounds and with different terminology would hopefully all feel addressed.