Surface Grinder cnc conversion advise

More
2 years 1 week ago #312807 by digiex_chris
Hi there,

I have a small manual surface grinder. It's hard on the carpal tunnel! I'm in the process of automating it. I do want CNC capability for the most part, but the majority of the stuff I do right now would be satisfied by the hydraulic semi-automatic type surface grinders. I'm trying to figure out a good way to emulate that semi-automatic functionalty where I can operate it largely by hand, just tuning parameters like how far the bed travels, what the stepover size is, what the Y and Z ultimate dimensions are, feed rates, etc. 

I started with ngcgui, and that seems like what I almost want, except for the standard cnc workflow of generating the gcode, then starting the program. It seems like the parameters are fixed after the program starts, so even if I tie some of them to HAL parameters, I'm not sure how that's going to work if I want to change the stepover or depth of cut mid-cycle, or adjust the X feed while keeping the Z feed the same. 

I've started with this ngcgui sub, but I'm thinking I may actually need something like a series of gcode macros that can be operated by an additional UI page I've made myself.

Ultimately, I don't know what a typical CNC surface grinder workflow looks like. I'm familiar with a CNC sheet metal brake, with a UI that lets you set parameters, and then you hit a foot pedal to make it go. I'm also familiar with a mach3 cnc mill, and mach3 had a fairly nice face milling wizard that could work, but again that's not really giving me the mid-run parameter change thing that I want to borrow from the hydraulic grinders.

Any clever ideas and advice? Any good UIs people have made?

Here's the NGCGUI sub I'm working with. Have yet to test it but it does generate code!
Code:
(info: facing -- face in x/y only. X and Y distance will be related to 0/0 -- Ctrl-U pour éditer/) (inline: <facing>) o<facing> sub (AXIS,stop)   #<facing-length>       = #1 (=11 X distance) ; Example of parameter with a comment   #<facing-width>        = #2 (=6 Y distance)  ; Example of parameter without comment   #<facing-stepover>     = #3 (=0.05 stepover distance) ; Example without preset   #<facing-x-feedrate>   = #4 (=20 X feedrate)   #<facing-y-feedrate>   = #5 (=20 Y feedrate)   #100 = #<facing-length>       ; Workpiece length   #101 = #<facing-width>        ; Workpiece width   #102 = #<facing-stepover>     ; Step-over amount   #110 = #<facing-x-feedrate>   ; X-axis feed rate   #111 = #<facing-y-feedrate>   ; Y-axis feed rate   #100 = #<facing-length>       ; Workpiece length   #101 = #<facing-width>        ; Workpiece width   #102 = #<facing-stepover>     ; Step-over amount   #110 = #<facing-x-feedrate>   ; X-axis feed rate   #111 = #<facing-y-feedrate>   ; Y-axis feed rate   #105 = [#101 MOD #102]        ; Calculate remainder of width / step-over   #104 = [FUP[#101 / #102]]       ; Calculate total passes, rounded up   G0 X0                        ; Move to X0 first   G0 Y0                         ; Then move to Y0   G90                           ; Switch to absolute positioning ; Loop for facing passes   #200 = 0                      ; Initialize Y position tracker   #120 = 0 ; continue looping until it's 0 o101 while [ #120 LT 1 ]   G1 X#100 F#110 ; Move forward along X to workpiece length   G1 X0 F#110                 ; Move back along X to start   ; #<currentY> = #5022                         ; Get the current Y position in work coordinates   o102 IF [[$5022 + #102] GT #101]       #200 = #101                 ; Set Y to final width if next step exceeds   o102 ELSE       #200 = [#5022 + #102] ; Increment Y by step-over   o102 ENDIF   o103 IF [#200 GE #101] ;GOTO loop_end ; Exit loop if final Y position is reached       #120 = 2   o103 ELSE       G1 Y#200 F#111   o103 ENDIF o101 endwhile G90                           ; Confirm absolute positioning o<facing> endsub

 

Please Log in to join the conversation.

More
2 years 1 week ago #312856 by bkt
  o102 IF [[$5022 + #102] GT #101]
      #200 = #101                 ; Set Y to final width if next step exceeds
  o102 ELSE
      #200 = [#5022 + #102] ; Increment Y by step-over
  o102 ENDIF


may be is too expensive .... $5022

Please Log in to join the conversation.

More
2 years 1 week ago #312867 by digiex_chris
hah indeed, stupid typos.

Though, $5022 would solve my problem...

Please Log in to join the conversation.

More
2 years 1 week ago #312898 by bkt

hah indeed, stupid typos.

Though, $5022 would solve my problem...
 
my side stupid typos is real normal ..... so I loose a lot of time ....   .... thanks

Please Log in to join the conversation.

Time to create page: 0.077 seconds
Powered by Kunena Forum