Stepper Motors

Hi

I've got some trouble with driving my NEMA 23 and NEMA 17 with an Arduino Mega board

I have the right amount of current, voltage and frequency, but I'm not able to get the motors to make more than 120 rpms...

Is there anyone else who had the same problem or is it anyone who could help me with getting the rpms up?

The motors are supposed to do a lot more rpms than I've got

Thanks in advance
David

Hi

I've got some trouble with driving my NEMA 23 and NEMA 17 with an Arduino Mega board

I have the right amount of current, voltage and frequency, but I'm not able to get the motors to make more than 120 rpms...

Is there anyone else who had the same problem or is it anyone who could help me with getting the rpms up?

The motors are supposed to do a lot more rpms than I've got

I've also tried several different programmes from youtube where you can see people getting a much higher speed than I get.

Thanks in advance
David

Without seeing your program ... ? ? ?

or a link to the datasheet for your stepper motor
or the type of stepper motor driver you are using
or details (volts and amps) of the stepper power supply

Is your program accelerating the stepper motor, or expecting it to jump from zero to full speed?

How fast do you want it to be able to move?

...R
Stepper Motor Basics
Simple Stepper Code

this is the programme we are using right now to test different speeds:

#include <SpeedyStepper.h>

const int MOTOR_STEPPER_PIN = 3;
const int MOTOR_DIRECTION_PIN = 2;
const int STEPPER_ENABLE_PIN = 7;

SpeedyStepper stepper;

void setup() {
// put your setup code here, to run once:
pinMode (STEPPER_ENABLE_PIN, OUTPUT);
digitalWrite (STEPPER_ENABLE_PIN,LOW);
stepper.connectToPins(MOTOR_STEPPER_PIN, MOTOR_DIRECTION_PIN);
Serial.begin(9600);

}

void loop()

{
// put your main code here, to run repeatedly:
stepper.setSpeedInStepsPerSecond(400);
stepper.setAccelerationInStepsPerSecondPerSecond(400);
stepper.moveRelativeInSteps (400);

while(true);
}

We’ve also tested a lot of different programmes, and we always get the same problem with the speed…

The current is 2A
The volts is 24V
The motors start to vibrate and the output axel stops spinning at 1.3 kHz on 400 steps per revolution

I will provide links with the where we bought all the different components and look through the specifications so you can create your own picture about it:

https://nl.rs-online.com/web/p/stepper-motors/8293500/

https://nl.rs-online.com/web/p/stepper-motors/8293525/

The arduino board is bought from arduino itself

I presume you are using the 5.6 amp driver with the 2 amp motor and the 2 amp driver with the 1 amp motor.

I am not familiar with the SpeedyStepper library. Maybe it has an internal limitation on how many steps per second it can produce?

Try a slower acceleration rate.

What does this mean

at 1.3 kHz on 400 steps per revolution

Do you mean 1300 steps per second and 2x microstepping?

You have not told us what speed you do want to achieve

Stepper motors can suffer seriously from resonance - especially if they have no load attached.

You might like to try this Simple acceleration code which does not need any library.

…R

Yea, you presume right

We can try changing the speedystepper library, but we've tried several different ones and it's still doesn't work.

We are also trying with an oscilloscope, and when we produced over 1.3 kHz it started vibrating, and that's the steps per second.. and I guess 400 is 2x microstepping.

We want to be assured that the motor is able to make 1000 rpms, as the specifications says, but what we need it to do for our project is around 550-650 rpms.

/David

How are they wired up? What code are you using?

bergan:
We want to be assured that the motor is able to make 1000 rpms, as the specifications says,

For high speeds you should use single stepping, not microstepping.

You have not said what happened when you tried a slower acceleration rate, or when you attached a load to the motor (for example a flywheel) to damp any resonances.

...R

Flywheels don't normally damp resonances, just lower their frequency. Rubber belts damp resonances, rubber-padded couplers damp resonance, physical damping requires a mechanically lossy material or friction.

Microstepping reduces resonance and vibration and is normally much better - however if you can't generate
pulses fast enough you may be forced to use full steps, which will be a problem with resonance, typically limiting real-life performance.

The normal limiting factors for performance with a stepper driven from a proper driver is the supply voltage
to the driver and the inductance of the motor. Lower inductance motor better, higher supply voltage better.
And don't use fullsteps if you want performance unless the system is very well damped mechanically.

An unloaded stepper is the worst case for resonance, note, and I would expected such to stall or stutter on
full steps at its resonant speed.

Are you using using MOSFET outputs to drive the motors? If not you should consider them, you are probably loosing about 2.8 volts because of the darllington outputs in the drivers. More information would be helpful. NEMA 23 and NEMA 17 are frame sizes, that tells us nothing about the power requirements.

We tested a lot of different acceleration rates, different kind of steps and so on, and still, it starts vibrating and stops turning

We measured the pulses with two different oscilloscopes, and we could see that the signal into the driver is perfectly fine, with perfect squares as we want it
But the output signal from the driver towards the motor is unbelievable ugly.. it's everywhere and you can see the pulses flipping all the time plus that the frequency grows and shrinks all the time

David

They are wired from the arduino through different drivers because of two different kind of motors..

In this case, you don't need to know the code... it doesn't matter which code we are trying, motors still starts to vibrate when they come up to the speed of 120 rpms..

The speed can increase, and you can hear the frequency increase, but the motor starts spinning in that case

David

I have the right amount of current, voltage and frequency

Good to know, thanks!

In this case, you don't need to know the code.

Thanks again for not wasting our time.

What do you mean?

There is still something wrong, but I know it’s not in the code since we tested 10 different codes that should do the same thing…

What do you mean?

Evidently you can't detect sarcasm.

We simply do not believe that you have "right amount of current, voltage and frequency", nor do we believe that the mysterious code you tried should have worked, or that you wired everything correctly, or used the right motors, right motor power supply, right motor drivers, etc.

For informed help, please read and follow the directions in the "How to use this forum" post.

So I'm gathering you can get the motors to spin slowly, but as the speed increases the motor eventually stalls and just sits and buzzes annoyingly... If I'd put in my 2 cents. not enough voltage... as you spin a stepper faster and faster it's back EMF increases to the point you can't make torque anymore and it stalls... Additionally if you're going straight from no speed to 120rpm that'll not work there needs to be a ramp up of speed over time.

Cheetor:
So I'm gathering you can get the motors to spin slowly, but as the speed increases the motor eventually stalls and just sits and buzzes annoyingly... If I'd put in my 2 cents. not enough voltage... as you spin a stepper faster and faster it's back EMF increases to the point you can't make torque anymore and it stalls... Additionally if you're going straight from no speed to 120rpm that'll not work there needs to be a ramp up of speed over time.

That's a good idea, but the thing is that we measured all the voltage and current, and we have the right amount for that motor.. we have also measured the frequency, and that's what it's supposed to be.

We have measured a lot, and also tried with different amounts of voltage, current and frequency, and nothing works. Our conclusion is that there is something wrong with both our drivers.. The signal output from these is everywhere. They don't follow the right pulses it should and so on

Does that sound like a good assumption?

David

What type of driver are you trying to use?. Some can be really tricky to get set up just right...
Additionally a current and voltage waveform from one of the phases of the stepper would be super handy.

I've merged your cross-posts @bergan.

Cross-posting is against the rules of the forum. The reason is that duplicate posts can waste the time of the people trying to help. Someone might spend 15 minutes (or more) writing a detailed answer on this topic, without knowing that someone else already did the same in the other topic.

Repeated cross-posting will result in a suspension from the forum.

In the future, please take some time to pick the forum board that best suits the topic of your question and then only post once to that forum board. This is basic forum etiquette, as explained in the sticky "How to use this forum - please read." post you will find at the top of every forum board. It contains a lot of other useful information. Please read it.

Thanks in advance for your cooperation.