4 sensors, 5 stepper motors and 2 linear actuators with feedback

Hi there,

I am very new to the Arduino and am looking for a way to control 5 stepper motors and 2 linear actuators with feedback.
I want to control those based on readings from 4 sensors.

Is there a shield that can help me expand Arduino to have enough pins?
4 of the 5 motors should be in sync. So same controls would be send to 4 stepper motors (NEMA 17 and maybe 4 DRV8825), 2 linear actuators and single stepper motor (NEMA 23).

I want to be able to read 4 sensors (LDR) and the feedback from the potentiometers in the linear actuators.


If 4 steppers move in sync, then they can share the same Arduino pins. With those stepper drivers, as little as 2 Arduino pins are required. So that's 4 pins for all your steppers. For the linear actuators, you will need some h-bridges, also requiring 2 Arduino pins each. So that's 8 Arduino digital outputs, plus 6 analog inputs for the LDRs and feedback from the linear actuators. Most types of Arduino have enough pins for what you need. Why do you believe you need to expand the number of pins?

Take a view into the WWW by using a search engine of your decession and with the input: Arduino Solar Tracker.
Good luck.

Wasn't sure. If it happens that those 4 motors actually have to move separately, is it still doable? I am very new to the whole thing so thought that maybe I need some kind of a shield to expand it. All the motors are 12V. I still need to learn a lot, but since I have to get the parts needed quite soon, I wanted to make sure I am not missing anything. Also it might happen that this project will expand and some additional sensors might be required.

Thanks for the reply.

Thanks for the solar tracker tip. Definitely helped!

There are a lot of solutions available.
I propose to take a local clock to provide the azimuth and elevation angle precissly.

If you change your mind and need to drive all 5 steppers independantly, then you would need 6 more digital output pins, making a total of 14. You can't use an Uno's analog pins as digital outputs because you need to use them as analog inputs. So on Uno, you would not have enough pins. On Nano v3, you have 2 extra analog inputs, meaning that you could use 2 analog pins as digital outputs but you would still not have quite enough pins. An Arduino Mega would have more than enough pins, which would allow for your expansion, so maybe that's the best choice. Normally I don't recommend Mega because it's not very breadboard friendly for building your prototype, but it might be the simplest solution in this case.

One way to save pins could be to share some pins between the stepper motor drivers, if that's possible in your project. Each driver has 2 pins: "direction" and "step". Maybe you can share the same Arduino pin for the direction pins of multiple steppers, but still give each driver is own pin for step. Then you can drive each stepper at a different rate, but all in the same direction. That would save a few pins, meaning an Uno/Nano could be used. It all depends what your are using the steppers for. Is it a solar panel steering system, as @paulpaulson suspects?

Yes it is but it's a bit more complicated. It needs to be a platform that lifts around 5 cm, spins and then changes the angle of the solar panel. The lift part is tricky and I was thinking using the stepper motors for it as there's very little clearance underneath it. The platform itself is around 25 kg, hence was thinking 4 motors. I'm still trying to figure out the exact hardware I need. Not really sure about the power consumption of the motors. As it's solar powered I want to make sure that I am not wasting it on the motors. The platform has to be raised in the morning and lowered in the evening. So basically twice a day. Also don't want to spend some crazy money on the hardware. I know more or less how to do it with the hardware mentioned above, just not sure if it's the most efficient way.

Edit: the reason why I am thinking about more pins is the fact that might add some solenoid locks to lock the platform in the low or high position. This way I could cut power to the stepper motors when the platform is locked and only power them when I need it to move up or down.

I can't really picture what you described, what the linear actuators and stepper motors are doing. A diagram would help.

I would question your choice of stepper motors here. Stepper motors are designed for precision movements, not brute force lifting. That is what linear actuators are for. So what are your linear actuators used for?

The stepper motors are the type with a leading screw (17HS4401S-T8*8). The screw motion would lift the platform on each corner and it needs to be very small and precise movement.

I will be using the actuators to lift the actual panels to a desired degree (more like desired angle to even out the LDR readings). The panels would have a hinge on one of the edges and the opposite site would move up and down.

It's a bit tricky to explain it as I am not sure yet what hardware would work in the space I have, but I mainly wanted to know if I can expand the number of pins if needed. It might be, as you said, that I won't need it for this particular application. It might be required if I decide to extend it a bit (adding the interface to measure/display data coming from the solar tracker or having some wireless control over it).

I already have THIS shield on hand.

I don't get it yet. The steppers have to lift the panels and the linear actuators have to lift the panels....

I'm not familiar with the shield you have. It seems to provide lots of different physical connectors, but it's not clear from that page if it actually expands the number of inputs/outputs an Uno has. Did the supplier provide a schematic?

So you are making a solar panel tracker.
You are making an Az/El system.

Surely all you need is the actuator(s) to lift the panel to get elevation and a stepper to turn for azimuth.

Can you post a basic diagram of the concept?
Are the panels mounted separately or in groups?

Thanks.. Tom... :grinning: :+1: :coffee: :australia:

Yeah I know it's a bit complicated, but I only just started working on it. This is a project I want to make to learn Arduino. I have the shield from a friend that just didn't need it and I saw it being used in one of those solar tracking projects.

It seems like a bit overkill project to start, but I like the challenge and am doing it more to learn than anything.

I don't have schematic, but there will be basically two platforms. Platform 1 that needs to be lifted 5 cm and Platform 2 that holds the panels. So the lift provided by the stepper motors is required to lift the whole assembly (both platforms). On top of this platform 1, there will be a "lazy suzan" mechanism that would spin the second platform with the panels on it (this "lazy suzan" would spin thanks to a stepper motor with a gearbox). Those panels would be attached to platform 2 using the linear actuators that would control the angle.

The whole thing will be mounted on a van :smiley: , which is a reason why it has to go up and down.

If it's a bit confusing then I guess I just need to know how many digital input/outputs I can utilise. Is it correct to say that Uno has 12 free digital I/O pins and 6 analog pins that can also be used for digital I/O? Worst case scenario I can just make it using MEGA board.


What is the shield?
You need to get pen(cil) to paper and draw out your concept.

Thanks.. Tom.. :grinning: :+1: :coffee: :australia:

It's linked above, this is the link:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.