Steeper motor control with a dewll time

I am wanting to use a steeper motor to automate a process, below is a description of how I would like the system to work.

In the posted photo you can see several holes in a round plate with center marks, on the square base you can see one center mark in which I want the individual holes to line up with. The idea is to have the round plate rotate via steeper motor lining up to one of the holes center to the center mark on the base and have an adjustable dwell time (0-20 sec) Then rotate to the next hole center wait out the dwell time and continue to the next hole for an infinite number of cycles.
I would also like the alignment and dwell time to be fully adjustable.

I'm brand new to Arduino. I have little Electronic knowledge. I have NO programming experience. Is there any one willing to help me with this project? I would need to know what to buy from Arduino, schematics, etc.. I have the steeper motors

Thank you so much in advance

Gene

Sounds reasonably straightforward - but first some questions:

What positioning accuracy (angular) is required? (gearing might be needed)

What torque would the motor have to overcome?

How fast does it need to move?

How accurate do the dwell times need to be (ie is quartz-crystal control needed?)

Once the basic mechanical design is clear a choice of motor (+ gear?) can
be made - this will affect price, which motor driver, power supply, etc.

MarkT:
Sounds reasonably straightforward - but first some questions:

What positioning accuracy (angular) is required? (gearing might be needed)

What torque would the motor have to overcome?

How fast does it need to move?

How accurate do the dwell times need to be (ie is quartz-crystal control needed?)

Once the basic mechanical design is clear a choice of motor (+ gear?) can
be made - this will affect price, which motor driver, power supply, etc.

+/- 1.8 DEG AS THE MOTOR IS THE LIMITING FACTOR

SHOULD BE NO MORE THEN 30 INCH POUNDS

3 SECONDS PER MOVEMENT TO NEXT LOCATION SLOW IN OTHER WORDS

DWELL TIME IS THE MOST IMPORTANT VERY PRECISE

First thing is for you to post a link to the specification for your motors as that will be necessary to figure out what sort of stepper driver board is required.

You should be aware that most stepper driver boards can make a motor move in half, quarter 1/8th steps so that greater presision may be possible. However if your application suits the use of full steps that is probably best as the motor will have most holding torque at the full step positions.

You should be aware that you may need to align the connection of the motor to the table to make the natural positions of the motor line up with the locations where you want the plate to stop.

The dwell time is a trivial issue for an Arduino program. It can probably do +/- 50 microseconds with ease, and better with a little care

...R

Robin2:
First thing is for you to post a link to the specification for your motors as that will be necessary to figure out what sort of stepper driver board is required.

You should be aware that most stepper driver boards can make a motor move in half, quarter 1/8th steps so that greater presision may be possible. However if your application suits the use of full steps that is probably best as the motor will have most holding torque at the full step positions.

You should be aware that you may need to align the connection of the motor to the table to make the natural positions of the motor line up with the locations where you want the plate to stop.

The dwell time is a trivial issue for an Arduino program. It can probably do +/- 50 microseconds with ease, and better with a little care

...R

DOES THIS PHOTO HELP

The photo helps but it is not definitive. I have found a datasheet for 103h7126 motors but not that specific model. I think it would be more appropriate for you to spend the time searching for the correct datasheet.

The photo seems to say the motor needs 2.9 amps. That rules out the hobby stepper driver boards such as the Pololu A4988. You will need a stepper driver board that can supply at least 3 amps and I suspect 4 or 5 would be better so you are not running the board at its limit.

I think your next step (as well as finding the datasheet) is to identify a suitable stepper driver board and post a link to the specifications for it.

It would probably be a good idea to study the Pololu A4988 webpage as it has a lot of useful information that is generally applicable.
And you should also make yourself familiar with the stepper example programs that come with the Arduino IDE.

...R

Robin2:
The photo helps but it is not definitive. I have found a datasheet for 103h7126 motors but not that specific model. I think it would be more appropriate for you to spend the time searching for the correct datasheet.

The photo seems to say the motor needs 2.9 amps. That rules out the hobby stepper driver boards such as the Pololu A4988. You will need a stepper driver board that can supply at least 3 amps and I suspect 4 or 5 would be better so you are not running the board at its limit.

I think your next step (as well as finding the datasheet) is to identify a suitable stepper driver board and post a link to the specifications for it.

It would probably be a good idea to study the Pololu A4988 webpage as it has a lot of useful information that is generally applicable.
And you should also make yourself familiar with the stepper example programs that come with the Arduino IDE.

...R

Ok lets go with these components.

I have no objection to using parts you might recommend, I have not made any purchases yet.

primnumbers:

MarkT:
Sounds reasonably straightforward - but first some questions:

What positioning accuracy (angular) is required? (gearing might be needed)

What torque would the motor have to overcome?

How fast does it need to move?

How accurate do the dwell times need to be (ie is quartz-crystal control needed?)

Once the basic mechanical design is clear a choice of motor (+ gear?) can
be made - this will affect price, which motor driver, power supply, etc.

+/- 1.8 DEG AS THE MOTOR IS THE LIMITING FACTOR

no it isn't, you can use a 0.9 degree motor, or use gearing.
I'm asking for the requirements so the motor/gears can be chosen, not
asking questions about a motor.

SHOULD BE NO MORE THEN 30 INCH POUNDS

Whatever that is - S.I. units please...

3 SECONDS PER MOVEMENT TO NEXT LOCATION SLOW IN OTHER WORDS

DWELL TIME IS THE MOST IMPORTANT VERY PRECISE

"Very precise" is not a number, does that mean 1%, 0.1%, 0.00000001% or what?

MarkT:

primnumbers:

MarkT:
Sounds reasonably straightforward - but first some questions:

What positioning accuracy (angular) is required? (gearing might be needed)

What torque would the motor have to overcome?

How fast does it need to move?

How accurate do the dwell times need to be (ie is quartz-crystal control needed?)

Once the basic mechanical design is clear a choice of motor (+ gear?) can
be made - this will affect price, which motor driver, power supply, etc.

+/- 1.8 DEG AS THE MOTOR IS THE LIMITING FACTOR

no it isn't, you can use a 0.9 degree motor, or use gearing.
I'm asking for the requirements so the motor/gears can be chosen, not
asking questions about a motor.

SHOULD BE NO MORE THEN 30 INCH POUNDS

Whatever that is - S.I. units please...

3 SECONDS PER MOVEMENT TO NEXT LOCATION SLOW IN OTHER WORDS

DWELL TIME IS THE MOST IMPORTANT VERY PRECISE

"Very precise" is not a number, does that mean 1%, 0.1%, 0.00000001% or what?

I am going to go with these two components

The time should be with in 1%

primnumbers:
I am going to go with these two components

Pololu - Stepper Motor: Bipolar, 200 Steps/Rev, 57×76mm, 3.2V, 2.8 A/Phase

Pololu - Stepper Motor Drivers

The time should be with in 1%

**Slow down a little. **

Your original post said

I have the steeper motors

  • hence my request for their specification.

If you have decided to buy different motors, that's fine. But don't make the mistake of using different motors as a proxy for the motors you actually have just because you can't find the datasheet.

Second, the Pololu DRV8825 driver board is NOT capable of driving that Pololu motor. The driver board has a max current of 2.2 amps but the reality is that 1.4 amps would be more realistic. The motor needs a current of 2.8 amps. Stepper motors draw their full current all of the time even when stationary so you need a stepper driver that can supply over 3 amps continuously.

...R

Robin2:

primnumbers:
I am going to go with these two components

Pololu - Stepper Motor: Bipolar, 200 Steps/Rev, 57×76mm, 3.2V, 2.8 A/Phase

Pololu - Stepper Motor Drivers

The time should be with in 1%

**Slow down a little. **

Your original post said

I have the steeper motors

  • hence my request for their specification.

If you have decided to buy different motors, that's fine. But don't make the mistake of using different motors as a proxy for the motors you actually have just because you can't find the datasheet.

Second, the Pololu DRV8825 driver board is NOT capable of driving that Pololu motor. The driver board has a max current of 2.2 amps but the reality is that 1.4 amps would be more realistic. The motor needs a current of 2.8 amps. Stepper motors draw their full current all of the time even when stationary so you need a stepper driver that can supply over 3 amps continuously.

...R

Ok lets use this motor then

That motor will work with the DRV8825 or the A4988 driver boards.

Has it enough torque for your application?

Because it has a nominal voltage of 8.6v you will probably need a 24v supply to get decent performance from it - but you could start by trying 12v. The higher voltages are needed to allow it to run at higher speeds. You use the potentiometer on the driver board to set the maximum current so the high voltage does not damage the motor.

If you use that motor treat it as a bipolar motor by ignoring the centre connections to the 2 coils.

...R

Robin2:
That motor will work with the DRV8825 or the A4988 driver boards.

Has it enough torque for your application?

Because it has a nominal voltage of 8.6v you will probably need a 24v supply to get decent performance from it - but you could start by trying 12v. The higher voltages are needed to allow it to run at higher speeds. You use the potentiometer on the driver board to set the maximum current so the high voltage does not damage the motor.

If you use that motor treat it as a bipolar motor by ignoring the centre connections to the 2 coils.

...R

In the posted photo you can see several holes in a round plate with center marks, on the square base you can see one center mark in which I want the individual holes to line up with. The idea is to have the round plate rotate via steeper motor lining up to one of the holes center to the center mark on the base and have an adjustable dwell time (0-20 sec) Then rotate to the next hole center wait out the dwell time and continue to the next hole for an infinite number of cycles.
I would also like the alignment and dwell time to be fully adjustable.

Seems to be some mistake ???

You have repeated a paragraph from your first post ???

...R

Robin2:
Seems to be some mistake ???

You have repeated a paragraph from your first post ???

...R

I am looking for help ! Can you help with the project? We don't seem to be going anywhere here???

As I see it you require a motor capable of 3.4Nm torque, and a control system with <1%
timing accuracy.

Neither of those motors you've mentioned can handle 3.4Nm of torque.

This is why I asked for the requirements so a motor can be chosen that will do the actual
job....

Are you sure of your requirements? 3.4Nm is a lot.

All Arduinos with crystal or ceramic oscillator can handle the 1% timing accuracy.

MarkT:
As I see it you require a motor capable of 3.4Nm torque, and a control system with <1%
timing accuracy.

Neither of those motors you've mentioned can handle 3.4Nm of torque.

This is why I asked for the requirements so a motor can be chosen that will do the actual
job....

Are you sure of your requirements? 3.4Nm is a lot.

All Arduinos with crystal or ceramic oscillator can handle the 1% timing accuracy.

As I said "I'm brand new to Arduino. I have little Electronic knowledge but not totally ignorant to the subject. I have NO programming experience" I am a mechanical engineer. I need help with the"programming and electronics" parts of this project. the motor selection is not critical at this point. If you were to design a system to the max capabilities with out going way overboard of the Arduino I should be able to continue my project. I can read schematics, and perform all function of electronic assembly I just do not know how to program or design the system.

primnumbers:
I am looking for help ! Can you help with the project? We don't seem to be going anywhere here???

I though that selecting a suitable motor and stepper briver counted as considerable progress. Code is pretty much useless if the hardware is unsuitable.

When you have your motor and stepper driver and a suitable stepper motor power supply then you can start learning how to control it with code. It's unlikely that you will develop a complete working system without a lot of experimental learning.

In principal, if you know how many motor steps there are between the positions you want to stop at the code is as simple as this (which is neither complete nor tested)

void loop() {
   moveSteps(numberOfSteps);
   delay(numberOfMilliseconds);
}

void moveSteps(int numSteps) {
   for (int n = 0; n < numSteps; n++) {
       digitalWrite(stepPin, HIGH);
       digitalWrite(stepPin, LOW);
       delayMicroseconds(microsBetweenSteps); // controls motor speed
   }
}

...R

Robin2:

primnumbers:
I am looking for help ! Can you help with the project? We don't seem to be going anywhere here???

I though that selecting a suitable motor and stepper briver counted as considerable progress. Code is pretty much useless if the hardware is unsuitable.

When you have your motor and stepper driver and a suitable stepper motor power supply then you can start learning how to control it with code. It's unlikely that you will develop a complete working system without a lot of experimental learning.

In principal, if you know how many motor steps there are between the positions you want to stop at the code is as simple as this (which is neither complete nor tested)

void loop() {

moveSteps(numberOfSteps);
   delay(numberOfMilliseconds);
}

void moveSteps(int numSteps) {
   for (int n = 0; n < numSteps; n++) {
       digitalWrite(stepPin, HIGH);
       digitalWrite(stepPin, LOW);
       delayMicroseconds(microsBetweenSteps); // controls motor speed
   }
}




...R

I understand your point, my apologies as I am just a bit anxious. OK one thing to keep in mind is this will be a working prototype only will not be the finished product, but never the less it needs to work.

Assume we use the Polou "A-4988 stepper control board and this motor General specifications

Shaft type: 1/4 inch "D"
Steps per revolution: 200
Current rating: 1000 mA2
Voltage rating: 7.4 V
Holding torque: 125 oz·in
Resistance: 7.4 Ohm2
Inductance per phase: 10 mH
Number of leads: 6
Lead length: 30 cm
Notes:

this motor and control will work for this part of the learning curve

The dwell time delay between each rotation needs to be adjustable via a panel mount "POT" .Can you spec out a pot of the correct value or what I should use to start with?

The rotation between alignment marks is 30 deg (i believe it would be 17 full steps?) I would like the rotation to run as smooth as possible and travel the 30 deg range in about 2 sec (this is a fixed time, but I assume it could be adjusted with in the programming if need be?)

Is this better info for your analysis, programming and schematics?

It makes the web pages very long when you quote an entire post at the top of your replies. Just quote a line or two so we know which post you are responding to.

Now we are running into another problem. 17 full steps will be 30.6 degrees. And none of the 2 to 16 microstep options will enable a 1.8deg stepper to move exactly 30 degrees. You will need to introduce some gearing between the motor and the plate to convert 200 steps per revolution into something of which 30 is a factor (is that right word?). Most steppers seem to have 200 or 400 steps per revolution. I have no idea if you can get some that do 180 or 360 steps so you could get 30 deg directly.

Use a 10k potentiometer - it will work well with the Arduino analog to digital converter.

...R