Well I finally got a chance to play again and now the Z probe is back to going the wrong way. I cleared the g54x offset by setting it to zero. Homed the machine then jogged over to the middle of the table. Tried running the touch plate widget in Chilipeppr and CNCJS and it goes up instead of down. ztm=0, ztn=-115
Yeah, the G38.2 command ALWAYS uses absolute G53 co-ordinates. It ignores G54-G59 offsets and G90/91.
When you're at the top of the Z axis the G53 value is 0 so it goes down, i.e. seeks absolute -10. When you jog below the G53 -10 point, say at -20, it is going to seek up.
To get the Chilipeppr touch plate widget to work right try this:
1) put a thick sponge under the touch plate to prevent bit/plate damage
2) home machine
3) set G54 Z to zero i.e. clear out the offset
4) jog down close to your touch plate
5) G28.3 Z0
6) run the touch plate widget (be ready with the ! just in case)
Thanks SteveD! I'll have to work on this tomorrow. So by homing the machine I'm setting G53 to 0,0,0, right? Then by setting g54z=0 I'm essentially making g53 and g54 the same? What does G28.3 Z0 do right before running the widget?
Sorry for the dumb questions. I have a lot to learn.
Hi Reeve,
you are correct. It's an absolute versus relative co-ordinate thing. The TinyG developers have decided to implement G38.2 in G53 absolute terms, ignoring any user offsets (G54-G59) and absolute/incremental modes. This is confusing because other commands like G0/G1 don't work this way.
Working through an example, assume the WCS is G54 and mm (G21). The block "G0 Z-10" can mean one of two things. If you're working in absolute mode (G90) then this means move the Z axis to position -10 in G54 space (an absolute move). If you're in incremental mode (G91) then this means move the Z axis down by 10mm from its current position (a relative move).
G38.2 Z-10 F25 always means move the Z axis to position -10 in G53 space.
It doesn't help that the GCODE from the touch plate widget and CNCJS are mixing useless G91's into the sequence. Using your previous example:
; Z-Probe
G91
G38.2 Z-10 F50
G90
; Set the active WCS Z0
G10 L20 P1 Z19
; Retract from the touch plate
G91
G0 Z4
G90
This can be rewritten as:
; Z-probe
G38.2 Z-10 F50
; Set the active WCS Z0
G10 L2 P1 Z19
; Retract from the touch plate
G91 G0 Z4 G90
The first G91/G90 pair have no effect. G38.2 ignores the current absolute/incremental mode setting i.e. it is hardcoded to be G90. The current WCS is ignored and G53 is always used.
I am trying to figure out why the touch probe widget in ChilliPeppr goes up instead of down!
On tinyG V8 with 440.20 firmware. Here is my process
1) Home the machine NC limits top for Z, Left for X and Front for Y
2) Position the milling tool at the "origin" of the stock I set up in Fusion 360
3) Position the tip of the tool about 10 mm from my stock surface
4) Set G54 Zero
5) Run the Touch Plate widget and the z axis goes up!!!!!!!!!
Some how I occasionally get touch plate to work but I don't know how, HELP
[fb] firmware build 440.20
[fv] firmware version 0.97
[hp] hardware platform 1.00
[hv] hardware version 8.00
[id] TinyG ID 5X0850-VPK
[ja] junction acceleration 100000 mm
[ct] chordal tolerance 0.0100 mm
[sl] soft limit enable 0
[st] switch type 1 [0=NO,1=NC]
[mt] motor idle timeout 2.00 Sec
[ej] enable json mode 0 [0=text,1=JSON]
[jv] json verbosity 4 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[js] json serialize style 1 [0=relaxed,1=strict]
[tv] text verbosity 1 [0=silent,1=verbose]
[qv] queue report verbosity 1 [0=off,1=single,2=triple]
[sv] status report verbosity 1 [0=off,1=filtered,2=verbose]
[si] status interval 100 ms
[ec] expand LF to CRLF on TX 0 [0=off,1=on]
[ee] enable echo 0 [0=off,1=on]
[ex] enable flow control 2 [0=off,1=XON/XOFF, 2=RTS/CTS]
[baud] USB baud rate 5 [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400]
[net] network mode 0 [0=master]
[gpl] default gcode plane 0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode 1 [0=G20,1=G21]
[gco] default gcode coord system 1 [1-6 (G54-G59)]
[gpa] default gcode path control 2 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91]
[1ma] m1 map to axis 0 [0=X,1=Y,2=Z…]
[1sa] m1 step angle 1.800 deg
[1tr] m1 travel per revolutio