by increasing electronic gearing and reducing steps per unit, you are losing resolution, correct? Specifically i mean the minimum amount of rotation you can input. If you double electronic gearing and half steps per unit, your minimum amount of movement doubles
In other words, if I want to command the servo to rotate 0.005 degrees, I can't if there's any electronic gearing used, right?
You have to calculate the correct number of Step / Per Rev just like setting up any new control or you won't get the correct rotation or positioning
You don't loose any Resolution no matter what way you want to do it, the Encoder Resolution does not change only how you drive it
If you want to command the servo to rotate 0.005 degrees it will do it or any position you want to move it
Mactec54
I'm still not getting it. I understand you need to set correct number of steps per rev based on electronic gearing, how does this not reduce resolution? Let's say with no electronic gearing it's 72,000 steps per rev. With this a single step coming from mach3 will rotate the servo .005 degrees. If I set the servo to 10-1 electronic gearing, steps per unit goes down to 7,200 steps per rev. At this setting a single step from mach3 will rotate the servo .05 degrees and I am no longer able to move in smaller increments than that, resolution has been reduced 10 fold. What am I missing?
I don't know what you are missing, your electronic gearing is just a ratio so lets say you did have 7,200 step/per rev setting which is highly unlikely. The Encoder16,384 has not changed only how you are driving it ,so if you commanded .0001 it is going to move .0001 or any number you want it to move
Here is a video for you https://www.youtube.com/watch?v=fyKB...Uj6f4Q&index=9
Mactec54
It still doesn't make sense to me. Mach3 can not send a partial step to the servo drive. If you have 7200 steps per rev, how is it possible for mach3 to tell the servo drive to rotate the servo less than .05 degrees? It can only send full steps. Even with no electric gearing, an actual move of .0001 degrees at the servo isn't possible. A single encoder pulse is around .005 degrees.
Watched the video, isn't really relevant to resolution vs electrical gearing.
Edit: I got mixed up on that last part, a move of .0001 rev is possible for the servo, but not .0001 degrees, but still not a possible move with 7200 steps per rev coming from mach3. The part that doesn't make sense to me is how mach3 can send less than 1 full step
"If you want to command the servo to rotate 0.005 degrees it will do it or any position you want to move it"
This is only possible with at least 72000 steps per rev in mach3, which would be one single step. If electronic gearing is changed and steps per rev reduced, how can you command that small of a move?
No it does not work like that, how do you think all controls work you have a handwheel that can move your machine with different resolutions, Mach3 is the same way and can move in .0001" increments the readout in Mach3 has 4 decimal places 0.0000 there would be not point if it can't do that
The video is just one of many that shows accurate positioning with inertia
Mactec54
Seriously, for an extra grand you get:
Heavier duty than you are likely to build
All controls sorted out and able to fully integrate in to your machine
Spindle brake - very important for milling operations or drilling off-axis
Tech support and soem sort of warranty
5C collet and D1-4 spindle nose built-in - dime a dozen chucks will fit
Your machine won't notice half a tenth of spindle runout - the spindle belt vibration will induce that much or more
Spindle taper ground in place
And you'll have it working and making parts much sooner than if you build this thing yourself, even with a preassembled cartridge spindle.
A grand for all that? Holy smokes. The only reason I built my own is that I could do it for an order of magnatude less - $400 for mine vs. $3800, not $2600 vs. $3800.
And you can bore your own housings. Make the frame, pre-bore the bearing seats with an end mill. Then clamp the assembled frame to an angle block and use a boring head to put the final bearing pockets right where you want them. If they don't come out exact, shim the components until it's dead on. Like clamp a 1" ground rod in a v-block and indicate it parallel with the X axis and perpendicular with the Z. Then lock the spindle to the bar with a 1" 5C collet and use epoxy to shim the components while the spindle is held in alignment. Epoxy sets up, tighten screws, and you're all set.
For the total DIY with the spindexer route, you're looking at about $900 all in, including a 1kw servo. That 1.8kw is likely overkill if you're sticking with a fixed pulley ratio. $600 for servo, $60 for bearings, $50 for the spindexer, Some bearings and figure another $100 for belts and pulleys.
I don't know what type of motor he's using in the instagram post.
By <.0001 degrees, I was referring to the DMM servo. Servo encoders are usually classified by 2 to the power of "XX" steps per revolution, with "XX" being the 16 in 16 bits, or 17 bits, or whatever. So a 16 bit encoder is 2^16=65536. 1/65536=0.0000152 degrees per encoder pulse.
1/65536 revolutions? per encoder pulse. Multiply by 360 to get degrees per encoder pulse.
Doh. Apparently I can't math this week.
.005 degrees per pulse.
I understand that mach3 has 4 decimal places on the dro, it's irrelevant, it can actually use up to 12 decimal places (maybe it's 10), 4 is just what's shown on the dro, that doesn't mean it can send partial steps to a servo drive. The limitation for resolution is based on steps per unit. The minimal output it can give (actual movement) is limited by the distance of a single step. In most machines, running in inch mode, moving 0.0001 is not usually a problem. On my machine for example, I have 5mm pitch screws and 2000 micro step, comes out to about a tenth of linear axis movement so moving .0001 in inch is fine, however I do most of my work in metric, so mm for units. In this case a single step is .0025mm (400 steps per unit in mm) and I assure you, mach3 does not allow a smaller move than that since I only have 400 steps per mm, it would if i had finer resolution motors and higher step per unit. I can take a video to demonstrate if you like. If I set the step jog to .0001mm, I have to give 25 clicks of the handwheel before mach3 will actually send a microstep to move the motor. Obviously servos can have finer resolution than steppers, but a minimum move is still limited by a single step. I'm sure any machine on servos and most on steppers has a fine enough step to move .0001 inches, but we are talking much smaller moves, .005 "degree" at the servo shaft, not .0001" (inch linear) on a linear axis which is a MUCH larger move. Mach3 will not output a partial step, if 1 step is larger than .005 "degrees" at the servo shaft, mach3 will not do it. You would need 72000 steps per rev minimum (revolution, not inch) to command the servo to make that small of a move. Im not sure where we are getting mixed up, i think it's because you are thinking linear inches, in which case .0001 inch moves is not usually limited by a single step. I'm talking much smaller moves.
Are you comparing Steppers to Servos there is no comparison between the 2 systems ( 1 ) click of the handwheel would mean the servo would move what ever that resolution was set at inch or metric makes not difference
Even it something was to move .005 degrees you would not have anything you could verify the measurement with, the mechanic's that you posted for your build would be the deciding factor not what you are driving it with
I have a Megatorque motor that I use for a 4th axes it has a 20Bit Encoder which is over 1million CPR and it can move and hold any position you can dream up, these motors only do 500 RPM though
Mactec54
I think you are missing my point. Answer me this, mach3 can only communicate with the servo drive with full step pulses, true or false? I think we can agree that's true right?
We are talking specifically about a 16 bit encoder and a servo drive capable of a max frequency of 500khz. This means it will not be capable of BOTH 3000rpm and .005 degree steps(single encoder pulse) at the servo shaft. For the servo drive to handle 3000 rpm at less than 500khz input, it needs electronic gearing of roughly 10 to 1 to handle that. This means a single step coming from mach3 is going to rotate the servo 10 encoder pulses. The resolution will in fact be reduced by a factor of 10 and a single step move becomes .05 degrees. Mach3 can not output a tenth of a step to tell the drive to rotate a single encoder pulse. Which part of this are you saying is incorrect? It is not dependent on the mechanics of the machine or mechanical gearing. I am talking purely resolution of rotation at the servo shaft vs electronic gearing and steps per revolution
Mactec: although the servo is capable of infinitely small resolution and the driver is capable of crazy small resolution to the point where the limit is usually the encoder resolution, when you're driving with Mach3 AFAIK you're limited to a step pulse. Which can be configured to be anything, .000001º if you like, but then the limit becomes how fast Mach3 can reliably pulse those step signals which determines top speed. If you set up the electronic gearing in the servo loop to increase the speed, you're saying "when Mach3 sends 1 pulse, move n steps". Which means every move is a multiple of n steps in that arrangement, regardless of the resolution of the components.
Most people are not using Mach3 with a PP these days, the servo loop is closed in the servo drive the control can be anything you want it to be in most cases Mach3 is doing very little when you use a external CPU that sends the commands to the Servo Drive, Mach3 today does very little when connected to an external CPU
The whole idea of having electronic gearing is so the supply CPU does not have to be maxed out to match any encoder resolution
For those that don't know a SmoothStepper, there default I is 256 KHz this is more than enough to run any servo motor at max RPM this also depends on the voltage of the Servo Drive as to the max RPM
The lowest electronic gear setting for a Dmm servo drive is 500 Gear number this equals to 2000 Steps/Per Rev using this setting the motor has no trouble reaching it's max RPM for any of there 120v/240v Servo Drives motor combinations
The UC100 will run this setup at max RPM also with this 16Bit encoder resolution
Mactec54
Using a parrallel port has nothing to do with it. The issue in question remains the same. In your case of 2000 steps per rev, the smallest move mach3 can command to the servo is 0.18 degrees, whether your using a PP, uc100, ess, or whatever. Mach3 is still communicating with that device using FULL step pulses, one step at a time. In your example, it's gonna send 2000 step pulses for each rev. It doesn't chop them up into something smaller. For the type of accuracy I would want on my 4th, that's far too low of a resolution, even if I have 4 to 1 mechanical gearing, that's still .045 degrees per step which is too much, that would be about a thou and a half step on the circumference of a 4 inch gear.
So then why are you fixated with Mach3 if it is not going to do what you want
I guess you are never going to build this, and are just wasting everyone's time, as there is nothing out there that you could buy or put together that is going to satisfy your needs, you seem to have all the answers but can't figure it out how to do it
There is nothing new about a 4th axes, manufacturers have been doing this for years and with even more accuracy than what you are trying to do, my 20Bit 4th Axes are what dreams are made of, 1,048,576 PPR or another one I have at 23Bit 8,388,608 PPR
You want a better resolution without spending much money, then start with a harmonic drive than you can add a stepper motor and you would be done just as may hobby users do
As I said you won't even be able to build the mechanical part accurate enough to do what you want and you are talking about step/per what about +/-10v or digital using fiber optics
Mactec54
Not sure where that came from. When did I say mach3 was not going to do what i want? This back and forth debate about resolution started when someone else and myself stated that resolution is lost when electric gearing is increased and you replied with "you dont lose anything", which is incorrect. Resolution is lost proportionally to the increase in electronic gearing. Has nothing to do with a shortcoming of mach3, it's the same with any control software communicating with step/dir. It simply means a balance needs to be chosen between speed and resolution along with other possibilities like multiple gear ratios. This whole time ive just been trying to understand what I'm missing since you insist resolution isn't lost with increase in electrical gearing, but I don't think I'm the one missing something.
Building a 4th axis with high resolution is not the problem. If that's what I was trying to do, I would give it 1 to 1 electronic gearing and have 5 times the resolution i could ever need and mach3 would have no problem doing it. The challenge is building a mill turn spindle which is what this thread is about. Finding a balance of accuracy, holding torque, and max rpm. The options for achieving this were being discussed until it went off the rails starting with your comment of "you don't lose anything". Not sure what the attack is about. Just trying to get the facts straight. You started off saying you don't lose resolution by increasing electronic gearing and now your switching to it doesn't matter since you cant build something that accurate anyway.
Lol, mactec's interpersonal skills shine upon us once again. QuinnSjoblom: I don't think he even means it as a personal attack, forget it and move on. There's nothing to be gained by continuing down that dead end.
Still, whilst we're on the Mach3 hatewagon... Will it even support a mill/turn? Looking at the config section, it doesn't look like it supports multiple independent spindles. Or have I missed something? So from what I can see the best you could hope for is you'd need to switch back and forth between C and A spindles using its SwapAxis() function and have either the mill spindle or the lathe spindle running and the other one stepping as a 4th axis. Seems a PITA and is probably why the machine I'm looking at is using GRBL instead (may get an upgrade to LinuxCNC). Just a thought.