[Newbie] Using a stepper for power X-feed on a Sieg X2 mini-mill

VicHobbyGuy

Registered
Registered
Joined
Mar 12, 2022
Messages
233
This isn't a question about CNC, but about stepper motors and how to control them, and I think most of the stepper experts are probably here.
Moderators: Please move this post if it's not an appropriate spot for it.
I'm putting powered X drive on my X2 mini-mill - "upgrading" from the cordless drill on the handwheel. :) I'm a complete novice with both the mill and stepper motors.
It's a very simple plan - a DIY 555-based pulse generator connected to a DM542T stepper driver. The 555 generator has a pot for frequency control, with a fixed resistor over-ride for fast traversing of the table.
I've got the motor running. I still don't understand the settings on the driver and how to use them appropriately. To set the speed range for the motor, is it better to change the pulse/rev setting on the 542T (via the DIP switches) or to change the frequency range of the 555 circuit (by changing capacitor values) ? Or does it matter?
 
I would start learning the mill by hand feeding. Than you get a feeling of the cutting forces, hear the noise the end mill makes and see the finish of the cutting edge. Once you are familiar with the mill, you could add a stepper motor.

On the 542 you can set the micro steps, not the pulses/rev. Because most stepper motors require 200 full steps/rev you find these steps/rev values on your driver.
200 steps/rev = full step = 1 micro stepping, 400 steps/rev = half step = 2 micro stepping, 800 steps/rev = 4 microstepping.
When you double the micro stepping, you double the resolution, you reduce the noise the stepper makes but you lose about 30% torque. Also, the faster the stepper runs, the lower the stepper torque.
Digital stepper drivers like the DM542T can switch to full step at higher step rates. Depending on your demands, you could use 4 micro steps and still benefit from the full step torque.
Basically you have a feed rate during milling when the stepper has to overcome the milling forces. When returning to a position at max rate, there are no milling forces just the friction and acceleration forces. You have to find a compromise in microstepping to get the requested torque at an acceptable noise. If you need more pulses/second, change the NE555 circuit to get the requested feed rate. If you don't have enough torque, you can only change the micro stepping.
More current means more torque, more noise and more heat. Don't use more current than the motor can handle. Stepper motors can run quit hot, especially when running at low speed. As long as you can hold your hand on the stepper motor a minute long, you are in the safe zone.

To understand how stepper motor and drivers work, you should read some articles you can find using Google. It is really worth doing.
 
Thanks, @Huub Buis !

I have done quite a lot of reading online about steppers and drivers but - not surprisingly- about 98% of the online information is about using steppers for positioning, not just as motors for rotation, like driving my mill handwheel. So, optimizing the settings for my application was still a bit of a mystery for me. Certain settings on the 542 driver would just make the motor vibrate and not operate..needless to say my hand was on the 'OFF' switch for every trial. :)

From what you say, it sounds like using the 200 steps (pulses)/rev DIP switch setting will give the highest torque (at the cost of more noise) and that I should regulate the speed with the 555 circuit?

Probably different versions of the 542T are labelled differently? It is quite confusing. The outside of the driver case is labelled Pulse/rev, the manual says Steps/rev. The paper manual does list Microstep numbers in the same chart.
542T.JPG542T manual.JPG
 
Stepper specs show steps/rev and driver specs (most of the time) show pulses/rev. Just multiply the step/rev value of the stepper by the micro stepping value of the driver to get the pulses/rev value.
 
I would regulate the speed with the 555 and not use microsteps. Use only enough motor current so that the motor gets warm but not hot.
-M
 
I would regulate the speed with the 555 and not use microsteps. Use only enough motor current so that the motor gets warm but not hot.
-M
Thanks. I'm assuming you mean to use a 'Microstep' setting of 1 to match the 200 steps/rev (1.8 degree steps) of the stepper motor?
 
Yes, full steps. You can experiment with microsteps later, but for now I would just get familiar with the torque characteristics of the motor vs. current settings
vs. the temperature rise
BTW, you can use pin 5 of the 555 as a control voltage input to vary the pulse rate and/or duty cycle over a pretty wide range
 
Last edited:
I have a stepper + driver + 555 timer circuit much like you're describing. One problem I had with it was that the stepper wouldn't come up to speed, it would just sit there and buzz when I turned the power supply on. I figured out that the timer circuit came on pretty much instantaneously, relative to the stepper's ability to respond to the pulses. So it never was able to accelerate up to speed. In my application I'm using the stepper as a low-speed motor for a diamond lapping wheel, so to start the stepper going I just give the wheel a spin with my hand. Sometimes the stepper is able to start going on its own but not all the time.

A better approach would be to use an Arduino to accelerate the stepper motor up to speed. That way you also can get additional functionality like fast-return and limit switches to prevent overdriving the table.

Setting your driver to use a high microstepping value might do the job, too -- but I think you still will want limit switches and a fast return option.
 
I have a stepper + driver + 555 timer circuit much like you're describing.
I have the 555 pulse generator working OK, and I have a 'scope so I can monitor the output.
I have a similar problem to what you describe, but I don't think it's an acceleration problem. If I start the stepper either from maximum or minimum speed it will run OK. But as I vary the speed control pot, there seems to be a 'dead zone' where the stepper just sits and growls. Moving the speed pot beyond that zone gets the stepper motor going again. This is mystifying to me, as the 555 output seems to be fine, viewed on the oscilloscope.
Pulse frequency is 200 to 600 Hz, no microstepping so corresponding to 60-180 RPM.
I really would prefer not to involve Arduino programming- not the sort of work I enjoy at all.
 
I have the 555 pulse generator working OK, and I have a 'scope so I can monitor the output.
I have a similar problem to what you describe, but I don't think it's an acceleration problem. If I start the stepper either from maximum or minimum speed it will run OK. But as I vary the speed control pot, there seems to be a 'dead zone' where the stepper just sits and growls. Moving the speed pot beyond that zone gets the stepper motor going again. This is mystifying to me, as the 555 output seems to be fine, viewed on the oscilloscope.
Pulse frequency is 200 to 600 Hz, no microstepping so corresponding to 60-180 RPM.
I really would prefer not to involve Arduino programming- not the sort of work I enjoy at all.
One possibility is a noisy potentiometer. Some can get very jumpy, electrically-speaking, when they are adjusted. Abrupt jumps in the pulse generator pulse rate would play havoc with a stepper. You might try spraying some contact cleaner into the pot to see what happens. I suspect your circuit won't tolerate a filter capacitor across your pot terminals so that's about the best you can do, if that turns out to be the issue.

Since oscilloscopes only offer a periodic shapshot of the signal it would be easy to miss a situation where the clock briefly misbehaves; but that could be enough to cause the problem you are experiencing.

Another less-likely scenario is a resonant situation where the stepper + mechanical components get into resonance that might cause problems. A known-good variable clock source can help there.

Also, many DSO's these days have an "envelope" mode where they can display multiple scans in an overlapping fashion. It's useful for checking things like jitter or abrupt changes in frequency. You might try that mode while monitoring the output of your 555 timer to see if anything unusual is going on.

If you have a 'scope you may want to consider adding an inexpensive DDS based signal generator to your measurement stable. They're pretty inexpensive and can help debug these kinds of problems. If not a DDS type sig gen, there are numerous analog-based versions that can be had for even less money. Many are based on a very mature single-chip signal generator IC but would be perfectly suited for this kind of thing. You'd get sine, square and triangle waves up to around 100KHz or perhaps a bit higher for not much invested; and you can use it to test other projects down the road. Not too much of a downside :).
 
Back
Top