As always - send your exported profile and g-code to our support. In your case we'll also need approximate line number where problem is most prominent. Short video will also help.
As always - send your exported profile and g-code to our support. In your case we'll also need approximate line number where problem is most prominent. Short video will also help.
I will.
Meanwhile the code that did not work is simple as:
X20 Y1 Z-1
X40 Y-1 Z1
X60 Y1 Z-1
X80 Y-1 Z1
X100 Y1 Z-1
X120 Y-1 Z1
X140 Y1 Z-1
X160 Y-1 Z1
X180 Y1 Z-1
X200 Y-1 Z1
This is 3 axis interpolation and it stop at every line.
In 2 axis work like it should.
X20 Z-1
X40 Z1
X60 Z-1
X80 Z1
X100 Z-1
X120 Z1
X140 Z-1
X160 Z1
X180 Z-1
X200 Z1
My code however is in 3 axis Y, Z and B a little more complicated.
I'm thinking about how it will be on 4 and 5 axes.
I have just played with this g-code and found something strange.
X20 Y1 Z-1
X40 Y-1 Z1
X60 Y1 Z-1
X80 Y-1 Z1
X100 Y1 Z-1
X120 Y-1 Z1
X140 Y1 Z-1
X160 Y-1 Z1
X180 Y1 Z-1
X200 Y-1 Z1
It worked fine and I was surprised because not worked first time when I wrote about.Then I just hit go to zero button and play again, not working, it just stop again at every line.
Opened setting and changed nothing, just hit OK, reload the code and worked fine again.
Repeated that several times to se if I get same results and yes, every time when I hit go to zero or go to zero XY, this code start to work with stops at every change direction.
Every time I go to settings and just hit OK without changing anything and reload the code it worked again fine.
I'm flabbergasted.
Unfortunately I also tested the code sent to the support and that goes interrupted as I reported the first time.
After initialization motion modal state is G80. If axis words are without motion command and motion state is G80 then G01 is used. After "GoTo Zero" motion state is G00. G00 rapid motion is not blended.
You should always define initial state in your g-code. In this case motion.
That make sense, an it worked for 3 linear axis with G01, but when a rotary axis is involved it stops at every line. Test this code please:
G01
Z20 F2000
B1 Y20 Z-1
B-1 Y40 Z1
B1 Y60 Z-1
B-1 Y80 Z1
B1 Y100 Z-1
B-1 Y120 Z1
B1 Y140 Z-1
B-1 Y160 Z1
B1 Y180 Z-1
B-1 Y200 Z1
G00
Z20
B0 Y0
Of course it does.
B1
B-1
B1
...
This motor keeps changing direction on every line. This means that it must first decelerate to stop before it accelerates in opposite direction.
You can set that coordinates A, B and C are not part of machine motion (setting Motion/Motion ABC) and set motor acceleration/deceleration for B to zero.
Now that does not make sense, in previous code where only linear axis are involved, Y and Z also change directions on every line and do interpolate the motion without stopping on every line.
Whatever, I have set coordinates A, B and C to not be part of machine motion and set motor acceleration/deceleration for B to zero and when I run the code all axis start and stop without any acceleration/deceleration with very jerky moves.
How rotary feed speed is calculated?
To me it seems to be 4-5 time slower then the same linear feed speed. Maybe for this reason interpolated motion between linear and rotary not working as it should.
Because it is possible to calculate "blend" between two linear axes to smooth transition.
But B axis does not represent linear motion and blending is not possible. Good CAM will solve this because motion will be optimized.
This question had also no answer.
I did the following test:
Moved machine in linear motion G43 G01 X100 F200 and I timed 30 seconds (obviously).
Than I zero machine to Y axis (rotary).
Than moved Z axis up at 15.922 witch is roughly the radius of a circle length of 100 mm and run the code G43 G01 B360 F200 witch was timed 108 seconds instead of 30 seconds for 100 mm at 200mm/min speed, so more than 3 time slower than linear motion.
Please test it, or if I did something wrong, tell me.
Look at G93.
A good CAM system with rotary axis capabilities should be able to do G93 moves, which are Inverse Time Feedrate moves. They work by completing a combined rotary/linear move in a certain time rather than by moving at a certain number of steps per minute.
https://www.eng-tips.com/viewthread.cfm?qid=200454
Thank you for reply. I will look at G93 sound interesting, but that does not answer to my question, rotary surface feed speed should be the same as linear feed speed for same unit witch is mm/min. Maybe I was wrong with the test, was made as described, so I am waiting for an answer from PlanetCNC.
Anyone else of course could also share their opinions.
Thank you, I managed to make the post processor to work with inverse feed rate, made only some tests on simulation mode, not tested yet on the CNC, I will see how it will work.
From what I have read from the internet, G93 is used when interpolate motion between linear axis and rotary axis, so my question with only rotary feed speed I think must be answered, there is no interpolation, it is simply rotary movement.
You can still use G93 if you only move rotary axes.