Hello Guest it is June 16, 2019, 11:16:12 AM

Author Topic: Brushless DC Servo Spindle Speed Control w/ Smooth Stepper and Leadshine  (Read 11787 times)

0 Members and 1 Guest are viewing this topic.

I'm trying to use a brushless DC Servo motor as my spindle motor and control it with step and direction pulses from Mach3 to a SmoothStepper and Leadshine Driver. After a couple weeks of struggling I could really use some help. So far i can only get the motor to spin at about 1.5 rev/second max no matter what the settings.

My set up:
Windows XP
Mach3 R3.043.022 (lockdown)
SmoothStepper USB Driver 2.08.14
Plug In: SmoothStepper_v17efb
Motor Driver: Leadshine ACS606
Motor: Leadshine BLM57180 (180W brushless DC Servo Motor)
1000 encoder counts per rev
max motor vel: 3000 rpm

Mach/SS settings:
port and pin: Spindle: Step/direction
Motor Tuning: Spindle:
Step/unit: 4000   (assuming this is step pulse per rev?)
Vel: 3000            (assuming this is RPM of the motor and not the spindle?)
Accel: 500
pulley: 25000 max (I'll explain below)

The bottom line is that with these settings the motor will only move within a narrow band of commanded speeds. At S-500 it will turn at about 1 rev/second, at S-875 it will turn at about 1.5 rev/second. Logically i want to set the pulley to 3000 max which should give me a 1:1 motor to spindle ratio which would be nice for development, but within this band the motor will only move slightly at around S-100. Above or below these speeds it just doesn't turn.

Originally (before I got the SS) i though this limitation was because of the high number of pulses needed and the limitations of Mach and the Parallel port. I have the spindle port on the SS set to allow 256k Hz to the spindle which would be sufficient to run the motor at 3000rpm.

I've also set the pulse width in the SS config to 1us as suggested by the Leadshine controller documentation.

Using the Leadshine controller tuning software i can get the motor to spin at 3000 rpm so i don't think its a wiring issue.

The last thing i can think of is that the leadshine controller doc suggests that the direction pulse must lead the step pulse by 5us min. I've tried every combination of step and Dir pulse settings in the motor tuning and it has no effect. Is there a way to control how much the direction pulse will lead the step pulse?

any help would be greatly appreciated.

Kyle


-Kyle-
I would first do away with the potential complexities of treating it as a spindle motor, and just set it up in Mach3 as a linear axis drive, and see if you can get that to work.

DIR timing should not be an issue unless you're reversing the direction.  It should still work fine in ONE direction ,as the DIR pin will never be changing state.

Regards,
Ray L.
Regards,
Ray L.
thanks for the suggestion Ray.

I just tried running the motor as the Y axis with these Motor tuning Settings:

Steps/unit: 4000
Velocity: 3000

the motor will only turn when i run at 3% or 6% of the full velocity (so 90 rpm or 180 rpm respectively). The crazy thing is that at 90 RPM it runs CCW and at 180 RPM it runs CW? WTF?
-Kyle-
What happens if you change the ActiveLow setting for the DIR signal in Ports&Pins?

Regards,
Ray L.
Regards,
Ray L.
If I switch it in mach then i get no motion. If switch it in the motor driver then I get reversed motion.
-Kyle-
If I switch it in mach then i get no motion. If switch it in the motor driver then I get reversed motion.

Are you sure you don't have Step and Dir swapped?  I can't see what else could explain what you're reporting.  You might want to try either swapping the wires or the pin assignments in Mach3, and giving it a try.  It would explain what you're seeing.

Regards,
Ray L.
Regards,
Ray L.

Offline Hood

*
  •  25,843 25,843
  • Carnoustie, Scotland
    • View Profile
One thing is to check what you have in the SS config for the spindle frequency, for your 4000 steps per rev and 3000 rpm it will require 200KHz so use the 256KHz option.
Next thing to say is an acceleration of 500 sounds very high to me for a spindle, try more like 20 and see how you go then increase a bit if it works.

Hood
One thing is to check what you have in the SS config for the spindle frequency, for your 4000 steps per rev and 3000 rpm it will require 200KHz so use the 256KHz option.
Next thing to say is an acceleration of 500 sounds very high to me for a spindle, try more like 20 and see how you go then increase a bit if it works.

Hood

Hood,

For a rotary axis, isn't acceleration in RPM/sec^2?  If so, 500 is not very high.

Regards,
Ray L.
Regards,
Ray L.

Offline Hood

*
  •  25,843 25,843
  • Carnoustie, Scotland
    • View Profile
Try it and see Ray, my lathe has a servo on the spindle using  the ESS and accel set to 40 and it gets to 2000 rpm in about 1 second. Its got a heavy chuck on it (250mm dia) and  would hate to see what it would try to do at accel of 500 ;)
Beaver  and Bridgeport mills also have servo spindles but with SS and Scorpion respectively, both are 4000 rpm with 60 for accel and again both get to top speed in about 1 second or so.

Hood
Hood,

Hmmmm....  I wonder what the units are then?

In any case, if that were the problem here, the motor shouldn't be spinning at all, and the servo should simply be faulting instantly, no?  I don't see how it could just spin slowly, as reported.

Regards,
Ray L.
Regards,
Ray L.