Mach 4 Acceleration/ Deceleration

I want to see your machine cutting on video. Then I can help you.

This isn’t about anyone being “right” or being smarter that anyone else. I would like to help folks out. Nothing more.

Problem is everything I am hearing doesn’t make sense. Kind of like that guy in the video.

As to the dude and his video, the configuration that AvidCNC came up with went out the window with those motors.

Some background and transparency; I am an OEM for Teknic. All product I ship uses their motors and controllers.

And sorry for being pedantic but you can’t call the Teknic SD motors “servos” because they are Step and Direction which is a stepper motor. A really nice and expensive stepper! But a stepper by any measure.

We call them servos because Teknic calls them servos…

“INTEGRATED SERVO WITH STEP & DIRECTION INTERFACE”

“A State-of-the-Art Servo with the Low Cost and Simplicity of a Stepper”

I guess you missed that part. You do not have access to the PID or feedback. It is a stepper motor.

I just realized that you might be mistaking closed loop and open loop systems and the marketing hype isn’t helping you.

There are two ways to control a CNC system; step and direction (which is what you have, open loop) and servo based (closed loop).

There is a gray area where you use servos with no feedback but I have no idea why you would want to use that on a machine that clearly does not have the rigidity to handle it like the AvidCNC systems.

Anyways…

So step and direction is pretty straight forward. That is what you have right now with the steppers, ESS and Mach4 from AvidCNC. That is what you have if you use the Technic SD motors line as well. The SD stands for “step and direction.” There are two wires for each motor driver.

Servo based systems are said to be “closed loop” because the servo talks to the controller and tells the controller the motor position and the power output to hold that position. That two way communication is paramount in closed loop systems. That is what makes them more accurate and more performant. The wiring for servos can be very complex because of the bidirectional communication.

So if you have a true servo system from Technic you have the Teknic SC line of motors paired with their Meridian controllers; Motion controls and servo/stepper drive | $199 & up

Teknic DOES NOT provide CNC control software. That software would need to be written by you (and happens to be how I make make money, that is my living).

In a Step and Direction system, if you disable your motors and you push the axis around by hand and then re-enable the motors, you will have to re-home the machine. Right?

The reason is the motors cannot tell the controller they moved. They can only take commands, they cannot report.

Same with the Teknic SD line of motors.

In my two CNC that are servo based and most systems I design, if I disable the motors and push the axis around by hand, I do not need to re-home the machine. In fact, one machine does not do a homing sequence at all. The moment I start that bad boy up it already knows where it’s at!

That is closed loop.

Hope that helps. I know the marketing stuff sounds cool but alas, Teknic doesn’t make a servo system controller for CNC machines. Their Meridian controllers are only the “loop” part and not the motion planner.

Thank you for the lovely bit of man-splaining but it was not needed. I’m aware of all that already. I’m also in the middle of designing my second custom bldc servo controller board, so I’m not an idiot in this field. We simply disagree on terms. To me, a stepper motor is a physical stepper motor, and a servo motor is a physical servo motor. Adding electronics doesn’t change the motor type, it just amends the system description. Hence, “step and direction servo system” is not the same as “stepper motor”.

“There is a gray area where you use servos with no feedback but I have no idea why you would want to use that”

They never lose steps, use less electricity, and run quieter. At least that’s why I’m using them.

This is a technical conversation. I suggest keeping it technical.

Glad to hear, but I don’t call people names. I produce about 30 custom PCB a week in-house for my clients so I respect the effort that takes.

Steppers take step and direction no matter how fancy their internals are. That is how the “stepper” got its name. Teknic can market their stuff how they want but at the end of the day that motor has two wires, step and direction.

Technically you could argue that the HLFB is feedback and I would grant you that exception but you didn’t bring it up so I will let you research that on your own time.

And that first thing listed is why I would not use it on my AvidCNC machine. I want my steppers to stall and not rip my poor machine apart like wet tissue paper.

Have a wonderful night!

I have so many CNC machines because they each do something different. My AvidCNC was specifically purchased for sheet aluminum, foam, plastic and wood. The smallest (and my oldest privately owned, but more advanced electronically) is an X3 conversion, it shapes blocks of steel into cool things.

Myself I would have gone out and purchased some 8020, G2 belts, NEMA 17, GRBL controller and used LightBurn; https://lightburnsoftware.com/

I think laser machines are the simplest of the CNC to build. By their very nature they have to be low mass devices. That small dot needs to move really, really fast to get anything done.

That is true, but I don’t have room for a special CNC machine for each task, nor do I want to deal with multiple machines :blush:. I am a hobbyist so I can slow things down a little when needed. The AVID is nice because it can do a lot of different things, and as usual with something like that, it is not optimum for some of them.

I know you use vcarve and I do not. In vcarve you do have the ability to define your machine, right?

For helping folks who are messing with max accel, they have to redefine their machine profile in the CAM to avoid things like rubbing and chatter. You have to tell your CAM package that is happening so that it can account for it in the tool paths.

I can do that in the Fusion 360 no problem but when I google vcarve I have no idea what I am looking at :rofl:

So you have set that up I assume so that would be a huge video to produce for folks. I see that is never mentioned above (or maybe I missed it).

UPDATE: I went in to see what it would take to do a tutorial on making this happen in Fusion and it told me my machine profile is “legacy” and wanted to change it. So I said sure! Why not. Wow, they have simplified that UI! :stuck_out_tongue: I can’t find any of that stuff in the new machine profile. I will need to see if they even support it anymore (aka, contacting Autodesk). Which at that point, futzing with your max accel is an even worse idea.

Ya, and I have done zero CAM in F360, so i have no idea about that side of it :slight_smile:

I did look at the post processor for F360 once and I can tell you its at least an order of magnitude more complicated than Vectric’s, so I suspect it has a lot more capabiilty than Vectric’s as well.
Vectric doesn’t really have much of a machine profile. You just have basics like feedrate, plunge rate, and spindle rpm for the tool itself. It will calculate chip load for you so you know what you have, but it doesn’t act on it.
All the other stuff, like CV profiles, accellerations settings, rapid rate, are coming from Mach 4. Below is a pic of the machine configuration, its pretty basic and is mostly related to picking the right post processor.

So in F360, how does the CAM affect the acceleration profiles? I didn’t think there was any Gcode to set the motor parameters other than feedrate.

I have been planning on doing a video on accelleration (where it can help, where it doesn’t), but I haven’t had time. I also have to do some experiments first, because I haven’t found a good set of documentation on CV mode in Mach4. One thing about doing Vcarve toolpaths (not the SW Vcarve, but the Vcarve toolpath with a Vbit), and laser work is that there are a lot of Rapid moves, and I think most of the acceleration benefit (if not all) is in the rapids, not in the feed rate…but w/o good documentation I have to play around with a bunch to sort that all out.

Sorry, I just realized what you meant by CAM controling the acceleration. F360 must actually be able to take the detailed motor settings of your machine ( which you enter in a config file) and it will adjust the step resolution and type of Gcode commands used to control speed around corners for the best cut?
Vectric doesn’t have any kind of sophistication in the tool path creation like that. You get the same G0/G1/G3 codes no matter the machine configuration or your feed rate or anything else. It’s pretty much up to how you have your controller set up on the machine for acceleration and CV mode tuning and your basic feed rate in the Gcode file.

What I was asking about is in advanced CAM packages you have a profile of your machine. You kind of give it some specs on your machine’s performance and then it comes back and tells you how long it will take to complete the program.

My Autodesk rep said they removed it because like me, most people though it was a parameter for determining chip load and it wasn’t. So it was purely for simulation time calculation.

Cool, great question! Don’t confuse the motor parameters in the controller with commanding the motors to do something.

WARNING! I haven’t run this code, its not to be taken literally, it is a concept or strategy.

If I say to the machine something like this (always starting from X0.000 in all example unless explicitly stated otherwise and we are using absolute moves);

G01 X1000.0 F500

In that move you will find that the feed of zero to the feed of 500 and back to zero is achieved at the “maximum acceleration” specified in your config.

Now, how do you give it your own acceleration curve?

G01 X100 F50
G01 X200 F100
G01 X300 F250
G01 X500 F500
G01 X800
G01 X850 F100
G01 X900 F75
G01 X950 F50
G01 X1000 F25

Like I said, I haven’t run this code, just winging it to explain the concept. Use a shorter series of moves and less jumps in feed rate to get a smoother accel/decel. Now you can do whatever you want as long as it is BELOW the maximum acceleration.

Just remember that once that cutter has engaged the stock, quit monkeying with the feed rate :stuck_out_tongue:

If you are not a g-code programmer, just keep the ramps and plunges the same or close to the cutting feed in your CAM. If your CAM package has smoothing, turn it on and properly configure it.

If your machine has a long resonance period (nice way of saying “it rings like a friggin church bell”) then start the lead in/out further away from the stock so that the machine can settle before the cutter is engaged.

Changes in feed while the cutter is engaged will cause chatter, rubbing, breakage and all sorts of bad. So that is why the factory says to not touch the max acceleration parameter. It is set to give the shortest time to speed to reduce chatter and rubbing.

Ok, cool we are talking about the same thing as far as being able to manipulate the trajectory in the toolpath. Vectric doesn’t do that, and you can’t really do that by hand except for pretty simple stuff. Even if Vectric could, I would hate to see the file size and compute time for the result on some of the bigger jobs (I have had panel carvings that had a few million lines of Gcode).

That can be done for relatively simple parts, and to be honest, I don’t have much problem with simple geometric stuff as far as vibration goes. Its the carvings and laser stuff that have a ton of short vectors, tight turns, and a lot of rapids in between that cause problems.

So I am at the mercy of my feedrate, accelleration and constant velocity tuning.

That can be done for relatively simple parts, and to be honest, I don’t have much problem with simple geometric stuff as far as vibration goes. Its the carvings and laser stuff that have a ton of short vectors, tight turns, and a lot of rapids in between that cause problems.

I can’t find a really detailed video or documentation on CV tuning for Mach4. Everything that I see is very old (and they made a lot of improvements on this after that documentation it seems). So I guess its time to play with it a bit and see if there is any improvement to be had. For example, in wood, I can easily accept radius errors on tight corners (that would not be tolerable for most people making metal parts) for the purpose of smoothing things out. I feel like there is some possibility here as long as one understands the tradeoffs.

If you’ve ever run across detailed documentation on CV tuning for Mach 4 that is up to date, I would really appreciate a link to it . Might save me some time :slight_smile:

Ever notice that all professional level CAM packages include a text editor and give you a button to open that g-code for editing?

Generate your g-code with your CAM package. Edit the points you don’t like.

You have a choice. You either accept what CAM gives you and you put your machine in sub-optimal configuration states trying to chase imperfections around or you just learn to code. Fix it by hand.

Your CAM package will never fully understand the machine peculiarities like vibration and rigidity. If you want to take your product to the next level, you are programming.

EXTRA:

Ever notice that controllers like Mach, LinuxCNC, Hass, Doosan all show the g-code it is executing and the line number it is at?

If the g-code was something never meant to be touched once generated why would these controllers show it?

The truth is it helps you go back in and fix things you don’t like about the program by hand if necessary.

UPDATE: somebody PM me, I forget this but all of these controller applications have g-code editors as well. I never use them personally but it is true you can edit it in place.

I forget that is even a thing…

Another reason to dump this awful Mach4 + ESS stuff :rofl:

Oops, I forgot to add the follow up on that video;

Thanks. I found those the other day and they were interesting. He does a good job of explaining how CV mode works and some of the tradeoffs. However, it was for Mach3 which is somewhat different in the setup, and he didn’t go over anything specific about rapid moves vs. feed moves.

I’m going to have to do some experiments with feedrate, accelleration, and CV tuning and see how it affects both rapid and feed moves. Like all other engineering problems, I’m sure there is a tradeoff between speed, accuracy, and vibration, and I’m (fairly) sure the best answer isn’t the same for every machine. Should be a fun day in the garage :-).

The concept is the same though. It’s just squirreled away in a wizard in Mach4.

From what I saw in Mach4 is it looked like a bunch of rules in a list.

I have a nice accelerometer coming in the mail. It has taken forever to get here. I missed the part about it being an export controlled component so it’s been a hassle for the past 2 weeks but!

It should be here this week. I will graph the ringing in the machine from multiple points and see what is really going on. I got it for another project but why not take a peek at the other devices I have too?

Give me two weeks and hopefully I will have some graphs and we can talk science and technology to resolve it.

Everything is fixable, if you know what you are fixing.

Sounds good. The nice thing about a laser is it will plot the ringing right were I care. Looking forward to comparing notes.

It looks to me that the Mach4 CV wizard has a lot less controls to set than Mach3 did. Not sure how to duplicated what CNCnutz did in Mach4. It is nice to know the capabilities in Aspire to smooth up curves and tighten up the code.

Take a look at the other thread I started on RAS with regards to clear paths.

The issue is that mach4 has a trapezoidal path planner and cannot smooth the 3rd derivative transitions in the toolpaths.

This means that there are moments when the machine experiences jerk due to the command for the motor to produce torque instantly.

The clear paths have their own way of dealing with this, and the steppers AVID sells just don’t have this issue as much with their machines. But, you need to handle this in the motion control as much as possible.

In fusion 360, you can also play with the “reduced feed distance” settings for some kinds of toolpaths.

1 Like