Controling cylindrical grinder.

More
6 years 7 months ago #161715 by zoni
Controling cylindrical grinder. was created by zoni
Hi i want to install linuxcnc on a cylindrical grinder i want to know is it possible that one axis oscillate independently with its own feed rateand rest of the program goes on like if g200 is for oscillating the

n20 g200 p50 q150 h300 (where p and q are the points between which it oscillates and h is feed rate of oscillating axis)
.....
rest of the program
and when we want to stop oscillation

g201

is some thing like this possible
More
6 years 7 months ago #161785 by bbsr_5a
Replied by bbsr_5a on topic Controling cylindrical grinder.
if you can modifi your postprocessor to output not particular the G-code numbers you present you are on
as you can remap some Gcode and ofcause use Mcodes that is the easy way to adchive your oszilation
you also can use 9 Axis syncronised movement so your oszilating axis woudt be rather UVW as parallel to the main

so in genral there is a way to do it
and ofcause help is around here
The following user(s) said Thank You: tommylight
More
6 years 7 months ago #161847 by andypugh
Replied by andypugh on topic Controling cylindrical grinder.
One way to do this would be to use siggen
linuxcnc.org/docs/2.7/html/man/man9/siggen.9.html
To send a triangle wave to the wheel axis.

Probably with the amplitude and offset hooked up to GUI controls.

Though it might be better to do it with a G-code loop, so that the wheel moves are programmed motion.

This is very much like lathe roughing, so you might be able to use G71.
linuxcnc.org/docs/devel/html/gcode/g-code.html#gcode:g71-g72

There are docs for a different version of the cycle here (This uses a different letter convention, so is not directly applicable, but the pictures might make it clearer what is going on)
github.com/LinuxCNC/linuxcnc/blob/andypu...ughing-cycle-turning
More
6 years 7 months ago #161912 by zoni
Replied by zoni on topic Controling cylindrical grinder.
hi if i use mcodes then can i define the area of oscilation ie between 50 and 150?

on the other hand if we use uvw do they work indipendent of xyz and and help how to implement them
More
6 years 7 months ago #161961 by andypugh
Replied by andypugh on topic Controling cylindrical grinder.

zoni wrote: hi if i use mcodes then can i define the area of oscilation ie between 50 and 150?

Yes. Or you could set up a system to oscillate between X and U.

on the other hand if we use uvw do they work indipendent of xyz and and help how to implement them

Not entirely. This is where it gets a bit complicated, but all moves in XYZABCUVW are coordinated, so every program block is run one at a time, then the next move starts at the end of the previous move. So you can't set the wheel head moving in one G-code line and then start another move while that one is ongoing.

If you need a continuous oscillation indpependent of coordinated axis motion then it has to be derived from some other source (but there are many ways to achieve this)

But you can use G-code subroutines that automatically calculate a set of wheelhead moves and infeed passes between two X axis limits and the required dimension.

Here is an example that I use for external turning on a lathe, it's almost exactly what you would need, and it can be called simply as a routine with a number of parameters.

On my machine it is called from a GUI but can be also called from MDI as O<turning>CALL [final-dia] [sfm] [increment] [feed] [end-z] [run-out-rad] [taper-angle] [tool-no]
Code:
;Turning O<turning> sub G8 ; Radius mode (easier maths) G18 ; XZ Plane G21 ; Metric Units G90 ; Absolute Distance G91.1 ; but not for arcs M6 T#8 G43 #1 = [#1 / 2] ; because of radius mode #14 = [#<_x>] (starting X) #13 = #<_z> (starting Z) #20 = [#6 * SIN[#7]] #21 = [#6 * COS[#7]] #22 = [#6 / COS[#7]] #23 = [#5 + #6 - #20] #24 = [[#13 - #23] * TAN[#7]] G96 D1500 S#2 ; Constant Surface Speed Mode m3 ;Start Spindle g95 F#4 ; Feed-Per-Rev Mode g4p1 ; Wait to reach speed / (debug, Turning finish rad #1 start rad #14 start length #13 finish length #5) / m1 O100 WHILE [#14 GT [#1 + #3 / 2]] g0 X #14 #14=[#14-#3 / 2] G1 X #14 G1 Z #23 X[#14 + #24] O101 IF [#6 GT 0] G2 Z#5 X[#14 + #24 + #21] I#21 K#20 G1 X[#14 + #24 + #21 + #3/2] O101 ELSE G1 X[#14 + #24 + [#3 * .6]] O101 ENDIF O104 IF [#7 LT 0] G0 X#14 O104 ENDIF G0 Z[#13] O100 ENDWHILE G0 x#1 G1 Z #23 X[#1 + #24] O102 IF [#6 GT 0] G2 Z#5 X[#1 + #24 + #21] I#21 K#20 G1 X[#1 + #24 + #21 + #3] O102 ELSE G1 X[#1 + #24 + #3] O102 ENDIF O106 IF [#7 LT 0] G0 X#14 O106 ENDIF G0 Z #13 G0 X #1 ; For touch-off M5 G7 O<turning> endsub M2
More
6 years 4 weeks ago #184610 by M1g13
Replied by M1g13 on topic Controling cylindrical grinder.

andypugh wrote:


If you need a continuous oscillation indpependent of coordinated axis motion then it has to be derived from some other source (but there are many ways to achieve this)


Tell me what methods exist? This problem is also of interest.

Time to create page: 0.950 seconds
Powered by Kunena Forum