Hello Guest it is April 20, 2024, 09:52:19 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - brysny

Pages: 1
1
Feature Requests / Fix CV by pre-processing the g-code
« on: May 05, 2012, 01:12:27 AM »
After having worked thru many different bugs with CV and living with the ones that are still in there, it seems to me that fixing the core purpose of mach3 (generate clean pulse trains from g-code) should be priority 1. 

Here is a thought on how to both possibly help produce better tracking, give the user more info, and provide a much easier way to find and report bugs in path generation back to the programmers:  have Mach3 go thru a pre-processing step after loading g-code where it does a pre-processing step and takes the motor tuning data, cv settings, backlash settings, etc and generates new intermediate toolpath points for all the spots where it is going to modify the base g-code path.  It could be color coded and inserted right in the g-code window.   For instance, you have a max x and y speed of 50 but your g-code is a square with a feed of 60 and CV is enabled.  The feedrate would show red and be overridden to 50, then near each corner new g-code lines in green would be displayed which would be arcs showing the corner rounding.  The original corner would be greyed out because it was replaced by the end of the arc g-code line.  Etc.  One funky item would be that it would be really useful to add a new code word to the language that would be a decel value.  Then could have lines that the preprocessor added that basically show both the initial feed rate and then a decel rate from there to the next point.

Not only would then it be clear to the user what Mach is going to command, it would be easier to see bugs or issues, AND the code would run better because the PC no longer is calculating CV on the fly, it would just have a simpler command interpreter and run straight thru the 'updated' g-code.

A similar and much simpler tool that would be very useful for checking code quality would be to have a test mode where MACH 3 runs thru the code and the driver produces fake pulses that get displayed on a graph of frequency.  You could have a sort of oscilloscope displaying the frequency of all axis and also the derivative (the accel).  Then you could watch the graph and see if all looks good or if there are bad spikes or stalls where the pc can't keep up with the needed block rate. 

2
I bumped up to the latest development release (3.043.062) because my cam tool produces a lot of short helical arcs during lead in moves.  The lockdown version (3.043.022) would produce bursts of pulses at the max frequency in these cases.  Very nasty with a stepper setup. The dev release doesn't do this anymore, but still has something not quite right.

If you try and use the 'CV disable for angles > x' in the general settings tab you get erratic results.  In particular when going from a line to an arc sometimes CV will slow down for the entry of the arc.  Within a simple program it will do it for some arcs and not for others, but repeats which ones it does it on exactly.  It seems like it may be a round off error where it sees a tiny transition between the line and the arc and says it is a tight turn?  For example  see the attached code for a very simple 3 pass face mill operation.  Set the CV disable on angles> = 88 deg and on the first 2 retract arcs I get a max decel, accel at the entry to the arc, but the last pass is fine.   

CV disable on angle would be a really useful feature if it worked right.

I'm new to the forum, so is this the right way/place to post a bug report?

Pages: 1