Hello Guest it is April 17, 2021, 11:49:39 AM

Author Topic: Mach3 Major Bug?  (Read 5927 times)

0 Members and 1 Guest are viewing this topic.

Re: Mach3 Major Bug?
« Reply #10 on: June 23, 2015, 11:46:10 AM »
another thread about mach leaving me pulling my hair.

im just a guy with an old dos based knee mill cnc and an old fanuc engine lathe.  both controls down, too old, dont want to fool with them,
i want to go to mach and an external motion control device and modern computer with modern software.  something i can put
together thus learning the internals so i (with help) can maintain my own stuff rather than calling the $$ fanuc man.

every time i think im ready to move a little, i get cold feet.  i sense that most of the many many problems seen on these forums
come from someone wanting to couple a laptop to a $10 chinese bob, and drive steppers stolen from god knows where and
wired improperly.  so i get inspired, until i see a post like TP's above.

other very knowledgeable folk on this forum have seemingly incorporated mach3 into machine tools and are very satisfied.

leaves me very confused.  what version of mach3 is the least buggy, and what are those bugs?  can i at least depend on
one version to act in a stable manner if i am willing to avoid certain programming techniques?  is mach4 really better?  reading
the mach4 forum section leaves me pulling my hair too.  is there any mach version buttoned down and ready to roll, if the machine
is properly built from good quality components?  TP said "the competition zoomed right by..", TP, do you mean that systems
like Eding, usbcnc, others may be better alternatives than mach?

are there any threads i have missed that serve as a faq for all the above questions?

i welcome all input, in this thread, on this forum, or via pm.
thank you,
ken

Re: Mach3 Major Bug?
« Reply #11 on: June 23, 2015, 07:31:16 PM »
Hi Ken,
The issues I have found nearly always come from the setup and the GCode speed. Also the need to reboot the machine daily helps. This may be a windows issue, as XP and most other versions of windows have memory leaks(memory over time is lost or corrupted while in use). I push my Machine to its limits on accuracy, so errors i predominately see are related to this. TP's comments on G2-G3 issues may be true, i have not found that to be the case, however I always put G04 P250 Moves after all Z moves and G2-3 moves. I do this because reading to many lines ahead and not having error correcting Ram in your machine is just a disaster waiting to happen. And quite honestly I have witnessed the same issue happen on top range machines(unexplained crashes) and the only thing we can put it down to is Hardware feedback or memory glitches. A lot of this latter can be eliminated by ensuring the Power input to your device is as glitch free as possible(use a UPS at a bare minimum).
So go for it Ken, get a kit, start fiddling. Its  fun, its frustrating, however there are a multitude of people on this and other forums that have been there and done that.
As for Buggy versions of Mach3, they are documented in the Known bugs section. I use version .67.

Wes

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: Mach3 Major Bug?
« Reply #12 on: June 24, 2015, 06:17:25 AM »
I am trying to pass a value from a script to Mach3. The Value is 13.846153846154. However, instead of passing this value it passes 13.8567.

I don't see this here. If we take this snippet from your macro and enter your 26

Code: [Select]
Teeth = Question ("How Many Teeth on the Gear?")
Gear1=Val(Teeth)
Gear1 = 360/Gear1
Print Gear1
SetVar(1, Gear1)

The value that is printed is 13.846153846154 and the value in var 1 is exactly what it should be i.e. 13.8461538461538 so I don't understand where your 13.8567 is coming from.
Re: Mach3 Major Bug?
« Reply #13 on: June 24, 2015, 07:11:57 AM »
I am trying to pass a value from a script to Mach3. The Value is 13.846153846154. However, instead of passing this value it passes 13.8567.

I don't see this here. If we take this snippet from your macro and enter your 26

Code: [Select]
Teeth = Question ("How Many Teeth on the Gear?")
Gear1=Val(Teeth)
Gear1 = 360/Gear1
Print Gear1
SetVar(1, Gear1)

The value that is printed is 13.846153846154 and the value in var 1 is exactly what it should be i.e. 13.8461538461538 so I don't understand where your 13.8567 is coming from.

Hi Stirling,
All the above I have resolved. The 13.8567 is what appears in Mach3 DRO as #1 after it is passed. The Value in the Macro is exactly as you state. Im not 100% sure where the 13.8567 comes from either, however if you check the bottom of the previous page you will see how I used a rounding function and Increasing the DRO decimal places actually fixed the Issue. My personal belief is that there "appears" to be a double rounding when you pass the Var back to Mach3. And Just for clarity the rounded Number as it should round is 13.8462, and this is applied when I use the Round function and actually appears in the DRO as such.

Wes

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: Mach3 Major Bug?
« Reply #14 on: June 24, 2015, 08:35:08 AM »
Hi Wes

I appreciate you've sorted it but I'm just interested in why you had to do what you had to do. Any chance you could post your xml so I can set my system exactly as yours. Also the values you're inputting to your macro prompts?
Re: Mach3 Major Bug?
« Reply #15 on: June 24, 2015, 09:28:05 AM »
the XML is included in the zip file here - http://www.machsupport.com/forum/index.php/topic,30351.0.html
the input for this particular gear is 26 tooth gear, 22 wide, 6.014138 Deep and 1 for the cut depth.
You can play with the tooth numbers and you will notice the inaccuracy at higher numbers is quite high(for gear cutting)

The full Code for the Macro and GCode is here - http://www.machsupport.com/forum/index.php/topic,29895.0.html
I have altered it a little for precutting the gears, however this issue relates to what's in this code.

This is the macro I used to run through the different number outputs - http://www.machsupport.com/forum/index.php/topic,30344.0.html

I have noticed when I set all my X,Y,Z and A axis DRO's to six decimal points for some reason a very small discrepancy in cutting that I have had since the machine was built appears to disappear.(only talking fractions of mm's here over 20-30 repeated cuts, which i assumed was backlash in the belt drive system)

Hope this helps.

Wes

Offline stirling

*
  • *
  •  2,188 2,188
  • UK
    • View Profile
    • www.razordance.co.uk
Re: Mach3 Major Bug?
« Reply #16 on: June 25, 2015, 09:25:46 AM »
Hi Wes

I ran your code and macro and recorded the actual step pulse output. the first .pdf shows the numbers:

The largest positional error as defined by your machine setup for A is 0.001998759mm.

I then ran it again with your round() modification and the second .pdf shows the numbers:

The motion was virtually identical except for a couple of cases where the step numbers 4923 and 4922 were reversed. The maximum error was 0.001776495mm so about 1/20,000ths of a mm difference over the first run.

Your machine's (theoretical/mathematical) precision according to your motor tuning is 0.0028126... mm/step so in both cases Mach has done its job and kept the error inside your machine's resolution.

Note that this is what your machine is ACTUALLY doing. It matters not how many decimal places the DROs show, changing the DRO "precision" does not cause Mach to alter its step pulse output.

Anyway - hope this is useful or at least interesting.

Offline ger21

*
  • *
  •  6,289 6,289
    • View Profile
    • The CNC Woodworker
Re: Mach3 Major Bug?
« Reply #17 on: June 25, 2015, 09:49:17 AM »
Quote
what version of mach3 is the least buggy, and what are those bugs?

Not sure if anyone knows, or if it's documented anywhere. Since 3.043.066 is the one currently on the download page, I'd assume that the developers feel that is the least buggy. However, many users have found that version unusable.

Imo, Mach3 is not nearly as bad as you';re being led to believe.

Yes, comp (G41/G42) has bugs. But I use it for 90% of my parts, and have only had an issue with an incorrect toolpath once or twice. Don't use it in subs or with offsets other than G54, though.

You need to be careful when using subs, especially with offsets.

I'm not aware of the G2/G3 bug Terry refers too, and I would expect that 99% of mach3 users aren't either.

Quote
can i at least depend on one version to act in a stable manner if i am willing to avoid certain programming techniques?

Yes. One thing to consider is that if you're using an external motion controller, it's plugin may be based on a specific version of Mach3, and it will probably work best with that version.

I've had good luck running older 3.042.*** versions, and most versions after 3.043.028 are OK as well.


Quote
Iis mach4 really better?  reading the mach4 forum section leaves me pulling my hair too.

You're not alone there. Many longtime Mach3 users are very disappointed with the current state of Mach4, and some of the decisions that the developers have made.


Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html
Re: Mach3 Major Bug?
« Reply #18 on: June 25, 2015, 10:06:01 AM »
Hi Wes

I ran your code and macro and recorded the actual step pulse output. the first .pdf shows the numbers:

The largest positional error as defined by your machine setup for A is 0.001998759mm.

I then ran it again with your round() modification and the second .pdf shows the numbers:

The motion was virtually identical except for a couple of cases where the step numbers 4923 and 4922 were reversed. The maximum error was 0.001776495mm so about 1/20,000ths of a mm difference over the first run.

Your machine's (theoretical/mathematical) precision according to your motor tuning is 0.0028126... mm/step so in both cases Mach has done its job and kept the error inside your machine's resolution.

Note that this is what your machine is ACTUALLY doing. It matters not how many decimal places the DROs show, changing the DRO "precision" does not cause Mach to alter its step pulse output.

Anyway - hope this is useful or at least interesting.


Thanks for testing this Striling.
A couple of points though that may be of interest.
The error i get from rounding is as I said is quite good, however passing a Val without rounding causes the error on rounding to compound to the point of being outside of my work Parameters. This issue I am seeing is not in the machine setup or the degree of accuracy but in the handling of the value being passed from the macro to the Gcode. Of interest is if you use the rounding Function 180 and 360 are seen as 180.000000 and 360.000000 in my setup, yet in yours I see values quite different. My error without the rounding if I Remember correctly(deleted the XL file i was using sorry)was small. yet accumulative quite large from actual. Once again it may be a version specific thing, however passing the Val from the Macro to the GCode is were the error started and by using the round function it was eliminated.

Wes