Hello Guest it is March 02, 2021, 01:00:48 AM

Author Topic: Mach3 & G203v W/microstepping how to have DRO'S read in .00002" increments?  (Read 2822 times)

0 Members and 1 Guest are viewing this topic.

I have just added microsteping boards to my Gecko 203v's. Microstepping apears to be working fine, but I cannot get .00002" increment movements because I cannot get the mach3 dro's to read in higher res than .0001"

How can I modify the DRO's to read in .00001" or .00002" increments? .00002" is the smallest movement I can theoretically make with my ballscrew, timing pulley ratio and 10x microstepping.

Before you ask, yes, I do need to be able to move in .00002" increments. This is on a precision grinding machine (id/od) moving in .0001" increments does not give enough resolution in my movements.

I look forward to any assistance you can provide.

Thanks!.
Nate
Hi Nate,

You are approaching this the wrong way. Your making a number of assumptions that are incorrect.

  • Standard stepper motors are 200 steps/revolution (1.8 deg/ step). At each of these poles (full step position) there is a magnet pulling the rotor to this pole. The position of the rotor at this pole is very accurate.  To position the rotor between the poles is called micro stepping. It is performed by applying a percentage of the full step current (Sine and Cosine) to each of the stepper coils  so that the magnetic fields "pull" the rotor away from the full step position.  You can envisage the two magnetic fields as two springs holding the rotor in position. The Gecko drives are 10 micro step drives. So each micro step theoretically moves the rotor 1/10 of 1.8 degrees, or 0.1degrees. In practice this is not what happens for a couple of reasons.
    • The Stepper detent force is pulling the rotor towards the full step position
    • The 2 magnetic fields will not be exactly at the theoretical strength. This is due to slight variations in the stepper motor coil winding, the driver current, etc.
  • The mechanical friction in the drive systems (stiction)

The result of this is that microsteps are not linear between full steps, so the accuracy is not there. In fact if you move the axis by a single microstep, the axis will most likely not even move. The sole purpose of microsteps is to smooth out the motion as low speeds. It is not there to improve the accuracy.
The accuracy of the machine should be the distance that an axis moves for a full step. If you are really desperate you could use the 1/2 step distance as both coils are likely to be reasonably identical, the full step detent force is the same on both side of the position. That said, remembering that the rotor is held in position by the two magnetic fields, the axis may be pushed off it's position by the cutting/grinding forces. The detent magnet at the fullstep position helps to avoid this.

The other concern is that if you are using the G901X plug in multiplier board, it REDUCES the resolution, rather than increasing it. As it comes the G203V is a 10 microstepping drive. When you plug in the multiplier board and set it to say, the 5 micro step position, the board will produces two micro steps for every step it receives. If you set it to the full step position, it will generate 10 microsteps for every step you send to the drive.

The purpose of the G901X microstepping multiplier board is to cater for computers or systems such as PLC or Arduinos that cannot generate a high enough step rate. So you should remove the step multiplier board from the G203V.

The best way to get the accuracy you need is to mechanically gear down the axis with belts so that the accuracy of a fullstep position provides the accuracy you need.

There are also stepper motors that are 0.9degrees/step rather than the common 1.8degrees/step. These will double your stepper accuracy.


As to increasing the accuracy of the Mach3 DROs, you need to edit the screen and add another decimal place to the DRO.

Cheers,

Peter

----------------------------------------------------
Homann Designs
http://www.homanndesigns.com
email: peter at homanndesigns.com

Offline RICH

*
  • *
  •  7,419 7,419
    • View Profile
When you get the system setup for that kind of resolution,
I will be curious how you confirm that you can make accurate moves
at 0.000020" and what the deviation is over the total travel.

RICH
Hi,
I use Vexta 5 phase steppers which corresponds to 0.72 degrees/full step. The drives have a half step option which due to the
quirkiness of 5 phase switching has slighty more torque than full steps. In addition these steppers are fitted with low backlash
planetary gearboxes of 10:1 ratio. The gearboxes are considerably more expensive than the steppers themselves and Vexta steppers
aren't cheap to start with.

I run them at full step and given the gear reduction that works out to 0.072 degrees per step and with a 5mm pitch ballscrew 1000 steps
per mm, 1um per step. The manufacturer of the gearboxes guaranties a maximum 3 minutes of arc backlash which corresponds to 0.7um.
No point the in going to half step if the known backlash is going to exceed the resolution. As it turns out I can't realistically measure the
backlash as the torsional flex of the coupler is about 4um. I describe my system as having 5um of 'lost motion' rather than backlash.
The steppers and gearboxes cost me $280 US each second hand and the drives nearly the same secondhand.

Obviously the gearboxes slow the rapids a lot, currently running 1200mm/min but the thrust of an axis is huge, 750kg thrust! Don't put your
finger in it!

If you seriously wish to achieve the sort of accuracy you want you're going to have to use harmonic drives. Look them up, they're really clever.
Typical minimum reduction is 50:1 with 100:1 being common. They don't have backlash but the manufacturers do specify 'lost motion', essentially
torsional flex, of 8-12 seconds of arc at rated torque, would have to use solid couplers and C1 or C3 grade ballscrews to get your result.
Going to make your rapids as slow as a wet week but you can't have everything.
The reason that not many people use them is cost, if you think planetaries are bad then harmonic drives are going to make you 'poo your pants'
even secondhand!

Craig
My wife left with my best friend...
     and I miss him!
Peter-

Thanks so much for chiming in.

I may indeed be making assumptions that are incorrect...

A wee bit of background-

The machine is a Parker Majestic CNC ID grinder that I have converted to an OD/ID grinder.
The ballscrews are 10TPI. Original servos and drives removed.
Steppers are 900 Oz/in
steppers are geared down at the original ratio. X Axis 20 teeth on stepper and 50 teeth on ballscrew shaft. Z Axis 20 teeth on stepper and 30 teeth on ballscrew shaft.

Regardless of the intent of microstepping, as I understand it, 10x MS should fool the motor into thinking it has correct windings/magnets etc to have 2000 steps per rev. At 2000 steps per rev, the X axis motor would move .18 degrees per step. At a ratio of 2:5, the ballscrew is driven .072 degrees. 360 degrees of rotation at the ballscrew moves the X axis .100".  360/.072deg = 5000. .100"/5000=.00002"

If my math is correct (and frankly, its always been suspect) the X axis can be moved .00002" per step.

I get that the intent may be different than you think microstepping was designed for, but all I am doing is (effectively) "electronically" gearing down the motor.

"The result of this is that microsteps are not linear between full steps, so the accuracy is not there." I am not clear on this. did you mean the steps are not linear in that they are not accurate angular movements of the shaft when microstepped? or that the holding power is not linear as it pertains to the differing holding torques available to "real" steps and their associated detents vs. those available to artificial sub steps.

If the former, then yes. that would effect accuracy. If the latter, then (as long as the holding torque is not exceeded) the motor should hold at any one of 2000 positions, thus accuracy is not compromised.

All this assumes that the machine would not exhibit any stick slip, ballscrew inacuracy, backlash, way wear or inaccuracy, no belt stretch etc. I know how machines behave in the real world vs how they move on paper.

In actuality, for a grinding machine of this type and size, little load is put on either axis. Again, assuming that you are finishing and not hogging off stock (wrong machine for that anyway) and if it holds, position, its gonna get the job done.

"The accuracy of the machine should be the distance that an axis moves for a full step" Why? if I can make the motor turn in 2000 steps, with my gearing ratio, I will get a movement of .00002" correct? that is after all the goal.

"The purpose of the G901X microstepping multiplier board is to cater for computers or systems such as PLC or Arduinos that cannot generate a high enough step rate. So you should remove the step multiplier board from the G203V." Again, regardless of the designers intent, if 10x microstepping makes a move of .00002", their intent is irrelevant to me.

"The best way to get the accuracy you need is to mechanically gear down the axis with belts so that the accuracy of a fullstep position provides the accuracy you need." Not sure I follow. The "best" way is one that works, as I intend it to. If it involves a step pulse multiplier, so be it.

FYI, I am running an Ethernet SS and a 70VDC P.S.

your thoughts?

thanks,
Nate.

When you get the system setup for that kind of resolution,
I will be curious how you confirm that you can make accurate moves
at 0.000020" and what the deviation is over the total travel.

RICH


Available to me in my shop are mechanical indicators that resolve .00002". I also have electronic indicators with gauge amplifiers that can resolve down to .000001" (or so the readout says) I also have an extensive collection of optical & electronic, gauging equipment, surface plates, 4 Moore Universal Measuring Machines...blah, blah.

I guess what I am saying is, measuring movement and associated testing is not an issue for me. I have the tools. I'm not looking to create anything incredibly accurate, just a machine that moves in very small increments with decent repeatability and accuracy.

I dont intend to make the machine more accurate than it is. As it was built. I only want the ability to command mach3 to move in .00002" increments and display this movement in the DRO with an additional decimal place.

What those .00002" movements turn out to be in reality is a whole other matter.
« Last Edit: January 05, 2017, 09:15:13 PM by natefoerg »
Hi,
your stepper torque is 900 oz per full step, between micro steps it is much, much less, theoretically 90 oz but in practice probably
half that.

Sound like your've got the gear so try it out, hey its only time any money.

Craig
My wife left with my best friend...
     and I miss him!

Offline Tweakie.CNC

*
  • *
  •  8,661 8,661
  • Super Kitty
    • View Profile
    • Tweakie.CNC
Quote
I dont intend to make the machine more accurate than it is. As it was built. I only want the ability to command mach3 to move in .00002" increments and display this movement in the DRO with an additional decimal place.


Hi Nate,

If you use one of the Screen Designers (http://www.machsupport.com/software/downloads-updates/screensets/) you can change the DRO’s to display the number of decimal places you desire (Format String  %+.5f  will display 5 decimal places).

Tweakie.
KEEP SAFE !
Thanks tweakie!


Regardless of the intent of microstepping, as I understand it, 10x MS should fool the motor into thinking it has correct windings/magnets etc to have 2000 steps per rev. At 2000 steps per rev, the X axis motor would move .18 degrees per step. At a ratio of 2:5, the ballscrew is driven .072 degrees. 360 degrees of rotation at the ballscrew moves the X axis .100".  360/.072deg = 5000. .100"/5000=.00002"

If my math is correct (and frankly, its always been suspect) the X axis can be moved .00002" per step.

I get that the intent may be different than you think microstepping was designed for, but all I am doing is (effectively) "electronically" gearing down the motor.


The G901X step multiplier does the exact opposite of what you want it to do. it multiplies the number of steps it receives. The four settings of the G901X work as follows;
  • Full Step  - For each step the drive receives the G901X issues 10 steps resulting in a 200 steps/rev motor
  • Half Step - For each step the drive receives the G901X issues 5 steps resulting in a 400 steps/rev motor
  • 5 uStep   - For each step the drive receives the G901X issues 2 steps resulting in a 1000 steps/rev motor
  • 10 uStep - For each step the drive receives the G901X issues  a single step resulting in a 2000 steps/rev motor

The G203V without the multiplier board is a 10uStep drive giving  2000 steps/rev.The G901X reduces the resolution .

"The result of this is that microsteps are not linear between full steps, so the accuracy is not there." I am not clear on this. did you mean the steps are not linear in that they are not accurate angular movements of the shaft when microstepped? or that the holding power is not linear as it pertains to the differing holding torques available to "real" steps and their associated detents vs. those available to artificial sub steps.

Have a read of this;
http://www.geckodrive.com/support/step-motor-basics/accuracy-and-resolution.html


"The accuracy of the machine should be the distance that an axis moves for a full step" Why? if I can make the motor turn in 2000 steps, with my gearing ratio, I will get a movement of .00002" correct? that is after all the goal.

See above. The full step position is the only true accurate position. resolution is not accuracy.

"The purpose of the G901X microstepping multiplier board is to cater for computers or systems such as PLC or Arduinos that cannot generate a high enough step rate. So you should remove the step multiplier board from the G203V." Again, regardless of the designers intent, if 10x microstepping makes a move of .00002", their intent is irrelevant to me.

The G901X reduces resolution rather than increase it.

"The best way to get the accuracy you need is to mechanically gear down the axis with belts so that the accuracy of a fullstep position provides the accuracy you need." Not sure I follow. The "best" way is one that works, as I intend it to. If it involves a step pulse multiplier, so be it.

I agree that the best way is the one that works. Unfortunately the step multiplier is not one of the ways, nor is relying on microstepping.


Microstepping way first used by astronomers. The needed a way to smooth out the stepper motion as they used stepper motors to drive telescope tracking systems. Microstepping was designed to smoother the motor movement at low speeds. It was never intended to improve the position accuracy of the motor.

Cheers,

Peter
----------------------------------------------------
Homann Designs
http://www.homanndesigns.com
email: peter at homanndesigns.com