Machsupport Forum
G-Code, CAD, and CAM => G-Code, CAD, and CAM discussions => Topic started by: Mountainman on December 06, 2013, 06:29:27 AM
-
OKay I am not sure what is wrong with thsi program, but what I am trying to do is have the program send teh ball end mill down to zero and I raise teh knee so the workpiece just touches teh cutter and now I have a good z axis zero. Problem is that when M0 comands a single block move the spindle does not seem to continue running till I hit cycle start for teh proghram to go on. This is lines N10-N30
Then in lines N30 -N50 I want the cutter to go down into the middle of the part, retract, and then I can measure to verify we are in the middle with my calipers. then I hit cycle start program carries on from N70 and all is well.
Then there is this message I get. 'Compensation too complex' or something like that. All I am trying to do is rough out a pocket that is less than .211 X .381 and then clean it all up lines N200 to lines N270
(Tool 3/16” ball 4Fl Carbide)
(Work piece .495 diam suit blank )
N10 G20 G17 G90 G54 S2000
N20 G0 Z-.1 X0 Y0 M3
N30 G98 M0
N40 G73 Z-.275 R-.095 Q.030 S6000 M3 F10
N50 G80
N60 G0 Z0 X0 Y0 M2
N70 X.089 Z-.1 M3 F34
N80 G1 X-.089 Z-.252
N90 x.089 Z-.403
N100 X-.089 Z-.355
N110 x.089 Z-.406
N120 X.010
n130 G41 x-.182 P.0935
N140 Y-.097
N150 X.182
N160 Y.097
N170 X-.182
N180 Y0 X-.1905
N190 Y-.117 F15
N200 G3 X-.0968 Y-.1055 R.09375
N210 G1 X.0968
N220 G3 X.1905 Y-.0118 R.09375
N123 G1 Y.0117
N240 G3 X.0968 Y.1055 R.09375
N250 G1 X-.0968
N260 G3 X-.1905 Y.0118 R.09375
N270 G1 Y-.117
N280 G0 Z0
N290 G40
N300 X0 Y0 M5 M30
As always thansk for all teh help
-
What is the M2 on N60 for? I had to delete it just to get Mach to load the gcode.
-
What is the M2 on N60 for? I had to delete it just to get Mach to load the gcode.
so that the machine will stop after making that peck. I pull out the part and then measure to see that everything is in the right location ( centered) put the part back in adjust my DRO's and hit cycle start for the program to continue. I didn't have to delete that.
-
You are not giving Mach ROOM to do COMP (;-) It has to be able to do the comp moves.
Take and SCALE mach in the X and Y axis set it to say 10. THEN run the program and you will SEE the comp in action.
Also NOT a good idea to be resetting the DROS during a program. The idea is to KNOW where you are when you start the program not try and figure it out mid program.
Rule is you need at least tool diam X .625 of free space motion for mach to comp correctly. You may want to try comping mach above the part then bring it down into the part to run the final profile.
Just a thought, (;-) TP
-
What is the M2 on N60 for? I had to delete it just to get Mach to load the gcode.
so that the machine will stop after making that peck. I pull out the part and then measure to see that everything is in the right location ( centered) put the part back in adjust my DRO's and hit cycle start for the program to continue. I didn't have to delete that.
Well if it works for you, then so be it, but.... as far as I've read:
M0 = stop with no questions asked.
M1 = stop if the Optional Stop LED is activated
M2 = END the program
M30 = END the program and REWIND
M2 or M30 are intended for the last line of the gcode.
-
OK so lines N130-180 I will get rid of cutter comp and reprogram for cent to cent.
BR549 I ain't got the dough for reliable encoders and my machine never really knows where it is within .005" I used to touch off the part to cutter using MDI now I wanna do it quicker. Think of this as 2 different continuous programs. In one I finds my origin and in the other I am cutting the part.
My problem is that when running a demo of this program Before the touch off in lines n10-n30 and n30-n50 the cutter seems to stop rotating before the block stop or cycle stop. I don't see why?
-
Encoders have nothing to do with anything. You can find positions simply by touching off at key points. Once you set the origin it is a matter of programming the correct moves and the machine will follow the moves.
With stepper that machine never KNOWS where it is at it jusr assumes it is at positions based on the moves given. The controller knows where it SHOULD be based on the number of step commanded and that is all.
Run the code under single step and SEE on what line the spindle starts to slow down. That should answer that question.
(;-) TP
-
If teh machine could return to the commanded position within .0005 every time, I wouldn't have to touch off every time I hit cycle start. Servo drivers don't command a given number of steps like stepper drivers. They command the difference between what they are told to command and the movement that has occured as measured by the encoder. Steppers are more accurate than servo with encoders that can't keep up.
-
Steppers are more accurate than servo with encoders that can't keep up.
Therein lies your problem, you have a poorly designed/setup servo system.
Also if I recall this is a Bridgeport, so dont expect the accuracy and repeatability that you might expect with a nice heavy rigid VMC.
Hood
-
Therein lies your problem, you have a poorly designed/setup servo system.
Also if I recall this is a Bridgeport, so dont expect the accuracy and repeatability that you might expect with a nice heavy rigid VMC.
Hood
Yes it is a BP, but, my ballscrews have max of .001 backlash on Y axis and .0005 on X axis. I know my encoders are (r@p. I wanna get a whole new package I can't afford till I get some money saved up.
-
SOUNDS like you need to get someone to TUNE the servos so they run correctly.
(;-) TP
-
I would also like to point out that your stepper analogy is not as accurate as you think. Microstepping is not accurate, it is somewhere between the commanded microstep and the one next either way so at the very best all you can say you are +- 1 microstep and that is before you take any of the parts of the machine into equation.
If your servo system has 500 line encoders then the theoretical resolution would work out to the same as a stepper system with 10 microsteps, which would be more accurate would depend on the tuning you can achieve in your servo system. If you have higher count encoders 2000+ line count then, assuming your servo drives are capable, you will have a much better chance of having much more accuracy than you could hope for with stepper.
However as I mentioned before a Bridgeport is not a rigid machine and personally I would be happy at +-0.0005" accuracy.
Hood
-
However as I mentioned before a Bridgeport is not a rigid machine and personally I would be happy at +-0.0005" accuracy.
Hood
I too would be ecstatic. I am afraid that I need more than just a servo tune. Then the $500 for a servo tune and the extra $500 for new encoders and god knows what else will end up being money in the lake. I rather have the $10,000 for teh complete package from Mach motion and call it a day with self tuning AC brushless servos, closed loop controller etc etc.