Arduino load on stepper motor question

Hello all!

If I have posted in the wrong place I hope a moderator can point me in the right direction :slight_smile:
I have got a very newbie question that I need help with.

I have a project in mind where I want to remotely control a stepper motor on my phone with a few paramaters and I am unsure where to start and it seems like google searching gives me some vague answers or answers above my understanding so I compiled a basic list and was hoping some of you might be able to help!

  1. Can you program an arduino to use a stepper motor in a way where the motor spins until it detects a specified amount of load? (maybe by using a current usage map of somesort?)

  2. I am guessing programming an arduino maybe similar to programming in general somewhat, but can it run a loop program where I can set paramaters on my phone, it takes those inputs and performs a set loop using those paramaters? e.g. setting a zero point on the gear position (like on a weight scale?), then setting load max to 50% and it pulls to 50% load, releases to zero point, and work back up again?

  3. If the arduino can do the above, which arduino model would be best for it?

Again, I apologise if I am posting in the wrong place, but I wanted some answers and thought posting them might help.

I am planning to use an Arduino as a controller for a type of water pump setup where I use a stepper motor (still haven't even figured out what size yet, 20 to 30 Nm maybe?) to pull to set loads and release to zero, but wasnt sure if it would be the right controller for me.

Also I apologise for what seems to be my lack of knowledge, I am very new to all of the elecctrical and controller side of such mechanisms :slight_smile:

Thanks in advance and I apologise for any mistakes on my part.

WumboJumbo:

  1. Can you program an arduino to use a stepper motor in a way where the motor spins until it detects a specified amount of load? (maybe by using a current usage map of somesort?)

The short answer is NO. A stepper motor always operates at full torque and a set maximum current, unlike a DC motor where the current increases with load.

You would need a separate strain gauge if you want to use a stepper motor,

...R

Robin2:
You would need a separate strain gauge if you want to use a stepper motor,

Thanks for the reply.

So would strain gauge allow me to set flags to the motor to tell it to do certain actions at certain strain levels maybe?

If you have the appropriate data you can get a program to do most anything you want.

I can't say I understand why you are thinking of using a stepper motor with a water pump. A DC motor would seem more logical. Stepper motors are normally used where precise positioning is required - such as in a 3D printer.

If you provide a better description of the project you want to implement it will be easier to give useful advice.

...R
Stepper Motor Basics
Simple Stepper Code

Robin2:
If you provide a better description of the project you want to implement it will be easier to give useful advice.

I am trying to control the force generated over time, as per a looping function over time (for lack of a better description).

sounds kind of stupid but yeah, small project I am working on, but I thought maybe a stepper motor would be helpful as it is very precise as you said, and I thought that maybe it could help me map out precise movements and loop between them? I am trying to keep it as compact as I can, so maybe a water pump can be negated if I find a better way to do it, I just thought maybe water can be a way to create force since it has some heft to it.

i am trying to generate a force between 20 and 50N by using a motor setup as compact as I can. The more I write this approach to my problem out in words the more wasteful and idiotic it sounds hahahaha, maybe I should have just used a motor attached to a belt and a weight plate maybe?

end of the day I just want to create the force by a pulling or pushing motion in a way that goes according the equation I want I guess, and be able to change zero points and control the loop remotely.

WumboJumbo:
I am trying to control the force generated over time, as per a looping function over time (for lack of a better description).

That is not a description of the project. Tell us the whole story so we can see your questions in context.

…R

WumboJumbo:
Thanks for the reply.

So would strain gauge allow me to set flags to the motor to tell it to do certain actions at certain strain levels maybe?

Your strain gauge will also register the steps of the motor, so I don't think that will do what you want.

Paul

You can use a stepper controller like the A4988 with a variable current limit. Set the current to a level which will give you the torque you require and then the motor will 'slip'. During slip, the torque drops to almost zero, which may be what you want.

Desolder the adjustment pot on one of the common stepper driver boards and connect that pin to a proper analog output, not a PWM pin.

If that is too much for you, try using a motor driver which has current feedback like the Sparkfun Monster Moto. Then you can control the current to a DC motor, which will be an approximate control for torque.