Nema 24 Leadshine Easy Servo Motor Problem & Teensy 3.6 Arduino

Hello,

Im new to this forum. Im building a multi axis machine and want to drive my stepper motors by using a teensy or arduino. But i need to get the steppers running at -3000rpm... this is due the Harmonic Drives (50:1) i use, so if i run the steppers up to 3000rpm my max output will be 60rpm.

The problem i encounterd is that i am unable to get the pulse rate above the 80khz... and i need to go to the 200khz output for running the motor correct.

Im running the motors on 75 volts. They are 3Nm the drivers i use are Leadshine ES-D808.

I tryed AccelStepper but it isnt working well... sorry already deleted the code... is there an other solution to drive the motors? I also tryed the Raspberry pi 3b but this card is unstable due kernel issues...

Manny thanks,

Nena

3000rpm with steppers?

200kHz pulse rate?

Ambitious is all I can say.

Rethink in terms of servomotors - there are some good budget CNC servo motors available now from
what I gather.

That step-down of 50:1 is really unusual for a stepper-driven leadscrew, for the reasons you are discovering.
Typically a more torquey stepper would be substituted.

I managed to get my output to 200khz now. As it looks like at my oscilloscope (stable). I need the speed and the torq. These steppers can drive up to 3000rpm, with a pulse of 2.5uS at 70vdc. The harmonic drives are there for the precission. I use 25mm spindles (25mm per revolution). The sensors i use can measure about 0.22uM so i can almost measure each step.

1/4 step = 200 * 8 = 800 * 50 = 40000 steps per revolution
25 / 40000 = 0,000625 mm per step.

Servo's are to expensive 1000+ (400w) euro's each. These steppers cost about 275 euro's each.

Ill post my source if im done!

Got it a bit working but theres a sertan resonation in the middle and i dont know what that is. Here is the code i have written to test the motor. The motor spins now from 1 rpm to 3000 rpm's.

float __a = 400;    // Pulses
float __b = 1;      // Start rpm
float __c = 3000;   // Max rpm
float __d = 7;     // Ramp

int MotorPin = 0;

void setup() {
  pinMode(MotorPin, OUTPUT);
  Serial.begin(2000000);

}

void loop() {

float x = (((60 / (__b * __a)) * 1000000) - 5);
float o = 0;
float l = 0;

while (1) {
  l = (((x - (__d * 1000000)) * (0 - __c)) / (0 - (__d * 1000000))) + __c;
  o = (((60 / (l * __a)) * 1000000) - 5);

    x += o;

  int a = l;
  int b = o;

    digitalWrite(MotorPin, HIGH);
    delayMicroseconds(5);
    digitalWrite(MotorPin,  LOW);
    delayMicroseconds(b);


  /*
    Serial.print("RPM: ");
    Serial.print(a);
    Serial.print(" uS: ");
    Serial.println(b);
  */
  
  if (l > __c) {
    //Serial.println("Break!");
    break;
  }
}

while (1) {
  l = (((x - (__d * 1000000)) * (0 - __c)) / (0 - (__d * 1000000))) + __c;
  o = (((60 / (l * __a)) * 1000000) - 5);

    x -= o;

  int a = l;
  int b = o;

    digitalWrite(MotorPin, HIGH);
    delayMicroseconds(5);
    digitalWrite(MotorPin,  LOW);
    delayMicroseconds(b);
  
  /*
    Serial.print("RPM: ");
    Serial.print(a);
    Serial.print(" uS: ");
    Serial.println(b);
  */
  
  if (l < __b) {
    //Serial.println("Break!");
     break;
  }
}



exit(0);
  
//    digitalWrite(MotorPin, HIGH);
//    delayMicroseconds(5);
//    digitalWrite(MotorPin,  LOW);
//    delayMicroseconds(1500);
}

Here is a video i have made: - YouTube

Sounds like stepper resonance, a well known-problem How to Take Vibration out of Stepmotors | Machine Design

@Nenagirl, that motor will act differently when you attach it to a load.

The 'resonance' problem might go away, or you might not be able to reach the speed where it is a problem.

Youtube:

I got it running at 3000rpm and the output is 60 rpm but the ramp speed needed to be that high to not to resonate, its going to resonate at about 1300 rpm and is then over at about 1500 rpm. But i need to look again to solve the problem. Also if i do a slow start the resonation is there also with the harmonic drive. The ticks afterwarts are some steps backward, not something i want but thats programming and need to rewrite everything!

Something i could do is ignore that complete range where it resonates. Otherwise i need to work at a bit slower speed.

Hmm getting there i think :smiley:

If the steppers are dual shaft you may be able to add damping on the rear shaft. I don't think you can
apply physical damping at all well through a 50:1 reduction gear.

From the photo it looks like that's not an option.

MarkT:
If the steppers are dual shaft you may be able to add damping on the rear shaft. I don't think you can
apply physical damping at all well through a 50:1 reduction gear.

From the photo it looks like that's not an option.

I cant put anything upon the back side due the encoder. But soon ill try one out on the Z containing 70kg in weight. Mayby it will help otherwise i need to slow down in speed.

Thanks,

Nena