Surface Grinder cnc conversion advise

More
21 Oct 2024 23:18 #312807 by digiex_chris
Surface Grinder cnc conversion advise was created 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!
(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 or Create an account to join the conversation.

More
22 Oct 2024 13:45 #312856 by bkt
Replied by bkt on topic Surface Grinder cnc conversion advise
  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
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
22 Oct 2024 14:57 #312867 by digiex_chris
Replied by digiex_chris on topic Surface Grinder cnc conversion advise
hah indeed, stupid typos.

Though, $5022 would solve my problem...

Please Log in or Create an account to join the conversation.

More
22 Oct 2024 20:52 #312898 by bkt
Replied by bkt on topic Surface Grinder cnc conversion advise

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
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Time to create page: 0.094 seconds
Powered by Kunena Forum