Machsupport Forum
Mach Discussion => Mach4 General Discussion => Topic started by: wgpeters on February 25, 2019, 06:33:07 PM
-
I have had no luck with Mach4 jogging correctly.
Setup is Mach4 hobby, UC100, Sherline motor drivers, Sherline lathe, Backlash disabled (set to 0.0000)
Jogging increment set to 0.001 inch.
Jogging .001 should require 16 steps.
Testing done on Z axis.
Axis homed to 0.000
Onscreen Z+ jog button clicked, and diagnostic screen shows for motor 2 (my Z axis motor)
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 3, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 3, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 4, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 4, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 4, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 5, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 6, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 6, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 7, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 7, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 8, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 8, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 9, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 10, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 10, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 11, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 11, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 12, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 12, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 13, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 13, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 13, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 14, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 14, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 14, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 15, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 15, 0, 0, 0, 0, 0
EX_STOP_REQ, 0, 0, 16, 0, 0, 0, 0, 0
EX_NONE , 0, 0, 0, 0, 0, 0, 0, 0
DRO shows position at 0.001 correctly.
When clicking Z+ again, diagnostics show
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 0, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 3, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 3, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 4, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 4, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 4, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 5, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 6, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 6, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 7, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 7, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 8, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 8, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 9, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 10, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 10, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 11, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 11, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 12, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 12, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 13, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 13, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 13, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 14, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 14, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 14, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 15, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 15, 0, 0, 0, 0, 0
EX_STOP_REQ, 0, 0, 16, 0, 0, 0, 0, 0
EX_NONE , 0, 0, 16, 0, 0, 0, 0, 0
DRO still shows 0.001, instead of 0.002
Jogging again moves Z by .001
Every other jogging move results in no actual movement.
A couple more diagnostic logs with the intermediate lines removed:
...
EX_JOG_INCR, 0, 0, 16, 0, 0, 0, 0, 0
EX_STOP_REQ, 0, 0, 32, 0, 0, 0, 0, 0
------ lines removed
EX_NONE , 0, 0, 16, 0, 0, 0, 0, 0
...
EX_JOG_INCR, 0, 0, 16, 0, 0, 0, 0, 0
------ lines removed
EX_STOP_REQ, 0, 0, 32, 0, 0, 0, 0, 0
EX_NONE , 0, 0, 32, 0, 0, 0, 0, 0
...
Also, setting jog increment to 0.100 inch and jogging Z+ should output 1600 pulses, but outputs only 1599. Then jogging Z- by 0.1 outputs 1600 pulses in reverse direction, so it does not return to zero. Every time jogging Z+ and then Z- leaves the position farther off from zero, so a cumulative error is introduced.
BTW, what does EX_NONE indicate
-
Hi,
that looks like the Sim(ulator) diagnostic output.
Are you sure that you have the UC100 plugin enabled and selected as the current motion control?
Craig
-
Hi,
that looks like the Sim(ulator) diagnostic output.
Are you sure that you have the UC100 plugin enabled and selected as the current motion control?
Craig
Yes, enabled and current.
-
Hi,
can you post a screen shot of the diagnostic page?.
I have a ESS and the diagnostic page is distinctly different to the example you have posted.
It may be the UC100 diagnostics looks very similar to the Sim plugin diagnostic.
Do your stepper drivers have an Enable input and is that input working?
Craig
-
Its not UC100 diagnostics, its the built in Mach4 diagnostics selected from the Mach4 main menu bar.
I'll try to grab a screen shot tomorrow, since I am not in my shop at present.
Stepper drivers do have enables, and they do work. Everything works correctly as far as I can tell except jogging and backlash compensation. Backlash compensation is a real disaster and is unusable.
-
Hi,
Backlash compensation is a real disaster and is unusable
The UC100 (or the UC300 or the UC400) DOES NOT support backlash compensation in Mach4. CNCDrive is a relatively
recent newcomer to the Mach4 market. Their Mach4 plugin is underdeveloped, no backlash comp, lathe threading,
THC etc. All the basic functions it does have like probing and homing seem to work fine. Given CNCDrive has their
own CNC software (UCCNC) it may be some while, if ever that they develop those features.
Its not UC100 diagnostics, its the built in Mach4 diagnostics selected from the Mach4 main menu bar.
That is the Sim plugin diagnostic. It does not reflect what the UC100 is doing. The diagnostic page is specifically
tied to, and written by the same developer as the motion control plugin it is supposed to be diagnosing.
In your case you need to display the UC100 diagnostic. As I don't have it I cant tell you what it looks like.
I'm even more suspicious that the Sim diagnostic that you have displayed suggests that the Sim plugin is working.
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 1, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 2, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 3, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 3, 0, 0, 0, 0, 0
EX_JOG_INCR, 0, 0, 4, 0, 0, 0, 0, 0
The incrementing number in the motor2 column suggest that the axis is incrementing. But this is of course the Sim plugin and
specifically CANNOT cause motion. This suggests to me that despite your belief that the UC100 is the current motion plugin
the evidence you have posted suggests otherwise.
Would you be kind enough to double check the current motion device per the attached picture. Note that I have the Sim plugin
running on my laptop. I have the ESS plugin loaded but as the ESS is in the workshop I cant plug it in and therefore
Mach bombs because it can't communicate with its designated motion device if I select the ESS as current motion device.
Craig
-
I have never enabled the sim plugin. I have a dial indicator set up and I watch the handwheels spin on the lathe as I jog.
As I said, I have backlash turned off, set to 0.000 so that is not the issue I posted about.
UC100 does not have much in the way of diagnostic screens. They are limited to indicator lights for the signal lines, but no logging of commands or steps.
Just by watching the handwheels verifies that the jogging is not correct.
Tomorrow, I will get some screen grabs to show how Mach is set up and how I got the diagnostic file.
With the lathe, I can live without backlash comp, as most of the cutting I do is in one direction, and backlash doesn't matter during tool retraction. Its a must for my mill though.
It would be very helpful to know what Mach sends to the UC100 and what it sends back. I don't see the protocol documented anywhere.
-
Hi,
It would be very helpful to know what Mach sends to the UC100 and what it sends back. I don't see the protocol documented anywhere.
Nor will you, that's like looking under the hood, there is proprietary information there, not just NFS's but CNCDrives as well.
I have never enabled the sim plugin
The Sim plugin is enabled and selected as motion controller by default. Please double check the selected motion controller.
I am very surprised that the UC100 does not have a well developed diagnostic page. I have attached a picture of the
diagnostic screen for the ESS, with the note that the latest build of the ESS plugin diagnostic is even more loaded with stuff.
With the lathe, I can live without backlash comp, as most of the cutting I do is in one direction, and backlash doesn't matter during tool retraction. Its a must for my mill though.
To my knowledge none of the UC***** series has backlash comp nor does PMDX. That leaves PoKeys 57CNC, Warp9 ESS
and Vital Sytems Hicon that do have it.
Craig
-
To my knowledge none of the UC***** series has backlash comp nor does PMDX. That leaves PoKeys 57CNC, Warp9 ESS
and Vital Sytems Hicon that do have it.
According to their documentation it does have backlash comp, at least for Mach3
I have attached a screenshot of my motion device selection, a screenshot of the UC100 diagnostic screen which is pretty useless.
I also attached a portion of a diagnostic logfile which was made by continuously jogging Z+ by .001 (16 steps)
I removed all the intermediate steps for each jog, as only the first and last are interesting.
When I jog, the first jog moves the stepper correctly. The next jog just jiggles the stepper, then the next jog moves the stepper again.
Every other step works ok.
The correct jog ends with the line EX_NONE set to the beginning step.
The next jog starts again where the previous EX-NONE says.
This is exactly what the stepper does. A good jog, then the next jog backs up to the start position of the previous jog and repeats the steps.
-
Hi,
According to their documentation it does have backlash comp, at least for Mach3
That may be the case for Mach3 but my understanding is that is not the case for Mach4. You will have to check with CNCDrive
directly on that matter.
Thanks for the double check of the active motion device status.
Did you notice in the logfile that the increment between successive time slices are 16. I'm wondering if the motion controller is
not responding fast enough. May I suggest lowering the Jog Rate (in Mach) down to a very slow speed, say 2% and try
again.
Craig
-
Yeah, I can do that. 16 is the number of steps that moves my Z or X by 0.001 inch. So 16 is correct.
I deleted the intermediate steps from the log, but they showed that the axis ramped up and down in speed, so the acceleration parameter does work.
It doesn't matter how long I wait between jogs. I get the same result. I have also tried slowing down the acceleration which also produced the same result.
I'll try that tomorrow.
-
Hi,
maintain the acceleration as high as your steppers allow. That gives your machine the best possible chance
to maintain any given toolpath. Reducing velocity is beneficial if your machine is struggling to keep to a given
toolpath.
How long have you had the UC100?
When you got it did you have to install the CNCDrive USB driver?
I'm beginning to think there is a problem with the UC100. There are a ton of Chinese UC100 rip-offs on
EBay, Amazon etc. Is it possible that you have inadvertently picked up such a device?.
My understanding is that genuine UC100's require a special driver be installed on the PC prior to the UC 100 being
able to communicate with Mach. The Chinese made units rely on the standard Windows USB drivers and require no
installation on your part.
I would recommend that you contact CNCDrive or the CNCDrive forum to get some help.
Craig
-
I bought 2 UC100s about a year ago. I got them from DPP based on Sherline's suggestion, and they are made by cncdrive.
Yes, I installed the software usb drivers from cncdrive. I did have to install special drivers using their installer.
Since Mach can operate my steppers, and gcode runs ok, I'm confident that I have real UC100s.
Once, when I started Mach, cncdrive downloaded an updated firmware to the UC100.
I have turned morse tapers using Mach's lathe wizards to make tool holders for my mill, and that worked perfectly.
What doesn't work is jogging small increments, like .001 or .0001 inches, and backlash. So I can't touch off using my pendant, or the screen jogs.
There are a few other minor bugs I found in Mach, like when changing a motor parameter on one axis, the other axis becomes slaved to the motor I just changed. IE: sometimes, not always, changing the max feed rate will link the Z and X axis together until I restart Mach or hit the reset button a few times. Thats pretty weird, Mach4 gets confused!
If I set up a dial indicator to check Z movement, and then do a lot of jogging Z back and forth, the axis does not track correctly and Z ends up in the wrong position. But if I issue G0 Z0, it returns to its 0 position correctly. I can't trust jogging, but gcodes seem to work properly.
For instance. If I run gcode like this:
g0 z .001
g0 z .002
g0 z .003
...
g0 z .010
Z axis moves correctly.
then
G0 z0
returns to the Z position correctly
By the way, cncdrive has been 0 help, and just say its Mach4's fault.
I think I will try the motion simulator tomorrow and see if the same thing happens.
I appreciate the help and suggestions :)
Bill
-
Hi,
Yes, I installed the software usb drivers from cncdrive. I did have to install special drivers using their installer.
Since Mach can operate my steppers, and gcode runs ok, I'm confident that I have real UC100s
Good news.
I use Machs 4 axis mill profile, or at least an individualized copy of it, and I have no trouble jogging in increments
down to 0.001 mm, ie 1 um, the limiting resolution of my machine. Its not impossible that the lathe profile differs somehow
but IF that were the case I imagine every man and his dog would be complaining about it. To my knowledge that is not the case.
There are a few other minor bugs I found in Mach, like when changing a motor parameter on one axis, the other axis becomes slaved to the motor I just changed.
I have not encountered that problem either throughout a number of builds of Mach. I have just within the last few minutes
downloaded and installed build 4095. Time will tell if a bug has crept in since the previous 3084 build I had.
By the way, cncdrive has been 0 help, and just say its Mach4's fault.
To be fair to CNCDrive Mach4 is a competing product to their own software. Having said that I have heard several users
make similar comments....'The fault is in Mach4....not our controller or plugin'.
So I can't touch off using my pendant, or the screen jogs
What pendant do you use? Even if the pendant was faulty somehow it still would not describe the behavior of the button jogs.
The only other question I have is 'does the UC100 plugin have the numerical resolution to enact such small increments?'.
Even if the jogging problem can be solved you still have the problem of backlash compensation. At this stage I'm 95%
confident CNCDrive devices DO NOT support backlash comp in their Mach4 plugin.
Craig
-
Craig,
I just had some time to do some more experiments.
I took your suggestion and lowered the jogging rate to 1%
At 1%, jogging works perfect from the onscreen buttons. At 3% it fails, and at 2% fails sometimes.
Perhaps this is a communication problem with the speed of the USB causing lost or garbled coms from the UC100.
Also, at 1%, the backlash comp works! It seems the backlash problem was actually caused by the jogging problem.
With the backlash set to .0034, the positioning is right on the money according to my dial indicator. Without it, positioning is off by .003+ when changing directions.
So, I have proved that the UC100 does do backlash compensation with Mach4.
This was verified by my dial indicator on the Z axis tested with jogs of .001 .010, .1, and 1 inch travels in both directions.
But, there is still a problem that happens with the pendant. (VistaCNC P1A). If I click the pendant in one direction, and back up a click while the axis is moving, it generates way to many pulses and the axis won't stop. I am going to assume that this problem belongs to the pendant, and not to Mach4 or UC100. It could also be speed problems with the USB ports. Unfortunately, Mach4 is licensed to my laptop, so it will be dificult to test that idea with another computer.
So now, I can use my pendant to accurately touch off on my work piece.
Thank you for your help. (of course any more ideas and suggestions are welcome :)
Bill
-
Hi,
can you confirm what jog mode (continuous or incremental) that you are using.
I have the identical pendant and what you have described sounds like it is jogging in continuous (Velocity) mode.
Craig
-
Craig,
I used incremental mode with the pendant and Mach with both set to 1% jog rate. My pendant reverts to 50% everytime I start up Mach or do a reset.
Works fine as long as I don't reverse the pendant wheel while the axis is moving.
Bill