Why is chilipeppr adding a z-axis offset by itself?

Servus,

since yesterday I have a strange problem with chilipeppr.

I use the touch-plate function to zero out the z-axis. This seems to work fine.

But at the moment, when I start the toolpath, chilipeppr is adding an offset to to the z-axis values. so the bit is flying through the air instead of cutting into my plastic-sheet.

If I use the same G-code file with UGS, everything works fine. But UGS does not have an auto-level- nor the touchplate-feature.

Two days ago, I used the aoutlevel-function to mill a pcb and the touch-plate feature and everything works just fine.

Does anybody has any idea, why chilipeppr is adding this z-axis-offset (about 20 mm) and how to avoid this?

Have a nice day

Wolfgang

I have had almost the exact same issue in reverse, actually. My probe puck is 15mm thick, I enter that, and order the probe. The axis will probe correctly, and retract. Then announce (most of the time, not always!) that my cutter tip is at 15.077mm. The correct value is 16.958mm (as I reflect on this, should probably actually be 17mm, I’ll have to check that). Sometimes the returned value will be higher, sometimes lower. I generally just copy the command it sends for offset to the tool after the probe cycle, change the value to 16.958, and send it manually. Funny thing, after I do that once on a job, it usually zeroes properly for the other tools.

I’d just chalked it up to an oddity with the X-Controller and it’s different version of GRBL’s interaction with CP, but you’re having it happen too on a stock system? Most interesting!

@WolfgangEgger

You can setup a touch plate in UGS using the macro tab…mine works great. I can send the macro when I get home if you would like…I got it from the forum, so you could search for it if you want to try before this evening.

@ErikJenkins: that would be great!
But one of main-reasons I used chilipeppr is the auto-level-feature, that is very very usefull for PCBs. There are differences of about 0.2mm and that is the depth that I am carving into the PCB, so it is vital to eleminate this differences …

@DanBrown: yes, I have an “ordinary” x-carve.
If I say “go to zero” afer probing it is going exactly to zero. Then, if I look quick enough, I think, that I can see, that the first second after starting a toolpath, the z-values are still ok and then something is happening and the offset is added. Very strange …

Now that is weird! If I order mine to “go to zero” on the Z after probing, it will try to drive the cutter into the stock to put the tip where it thinks it should be. If I send my own offset of 16.958mm after probing, it goes precisely to the surface as it should.

@DanBrown: yes, it’s rather weird.
I can move around by G91 G0 Z10 or G91 G0 Z20 and so on and everything works fine. But after starting to run a g-code-file, the offset is added.

But as I wrote, if I take the same g-coe-file and run it out of UGS, everything works fine. So I imagine, that chilipeppr is adding some offset, but I do not know why and where it might be stored.

I have changed the browser, but that didn’t help. So it seems to be, that the offset is stored anywhere in the grbl-shield.
But I am to new to that whole g-code field, so I currently do not know, how to ask the shield about its values.
A $$ does not tell anything usefull concernig this behaviour …

My problem has (and continues to be, to an extent) figuring out exactly what is controlled on the GRBL, and what is controlled by external software. I’ve largely been having good luck, just with the occasional challenge!

It is something in conjunction with the touch-plate-feature.
If I zero out the z-axis manually erything works fine …

Yeah, it acts oddly. I really need to test UGCS with Erik’s code for probing, I very strongly suspect that it’s entirely a CP issue.

My code is not for probing, just for Z-Axis touch plate…I’ll be home in about an hour…

To use the macro for a Z-Axis Touch Plate:

I use inches and NOT millimeters…this makes a difference.

Make sure UGS is set to jog in inches

enter this command in the macro tab (I use the 1st one) tip of bit must be within 1/2" of the plate:
G38.2 Z-.5 F1;G92 Z0.76

This command tells the machine to go down 1/2" very slowly, and reset Z-Zero to 0.76" below where contact was made.

My plate is 0.76"…change this value to the thickness of your plate.

Some folks add the command to retract 0.25", I manually jog the machine after it is zeroed.

That’s what I meant, I only wish I could actually use a proper touch probe on a GRBL! … Of course, I don’t want to PAY for a real touch probe either! lol

1 Like

Any hunk of flat metal can be a touch plate. :wink:

1 Like

Oh yes, I’m using Inventables’ own really nice one. But I would really like to be able to probe properly, for location of features, etc when changing sides, or bits… Would be awesome!

Can you post the Gcode from your serial port console in ChiliPeppr so we can all see the Gcode being sent to your Grbl device to help you solve your problem. Many people are using the Touch Plate with good success, so the fact that you’re experiencing this does seem to be just your configuration and your Gcode log can help us figure it out.

@JohnLauer: I am not sure, if the data I have copied from the serial port console are the complete data of may file, but here is what I have so far:

Besides that, as you can see in tis thread, I am not the only one, and as I wrote at g+, there are 3 files with this problem and the problem only occures, if I use touch-plate. If I zero out my axis manually, averything works fine.

Serial Port Console
-truncated–kmark cmd-queued"> N391X173.5700
N392G0Z25.0000
N393X169.3800
N394G1Z-2.7500
N395X7.1200
N396G0Z25.0000
N397X2.9300
N398G1Z-2.7500
N399X1.5700
N400Y73.1460
N401X2.9300
N402G0Z25.0000
N403X7.1200
N404G1Z-2.7500
N405X169.3800
N406G0Z25.0000
N407X173.5700
N408G1Z-2.7500
N409X174.9300
N410Y70.0340
N411X173.5700
N412G0Z25.0000
N413X169.3800
N414G1Z-2.7500
N415X7.1200
N416G0Z25.0000
N417X2.9300
N418G1Z-2.7500
N419X1.5700
N420Y66.9220
N421X2.9300
N422G0Z25.0000
N423X7.1200
N424G1Z-2.7500
N425X169.3800
N426G0Z25.0000
N427X173.5700
N428G1Z-2.7500
N429X174.9300
N430Y63.8100
N431X173.5700
N432G0Z25.0000
N433X169.3800
N434G1Z-2.7500
N435X7.1200
N436G0Z25.0000
N437X2.9300
N438G1Z-2.7500
N439X1.5700
N440Y60.6980
N441X2.9300
N442G0Z25.0000
N443X7.1200
N444G1Z-2.7500
N445X169.3800
N446G0Z25.0000
N447X173.5700
N448G1Z-2.7500
N449X174.9300
N450Y57.5860
N451X173.5700
N452G0Z25.0000
N453X169.3800
N454G1Z-2.7500
N455X7.1200
N456G0Z25.0000
N457X2.9300
N458G1Z-2.7500
N459X1.5700
N460Y54.4740
N461X2.9300
N462G0Z25.0000
N463X7.1200
N464G1Z-2.7500
N465X169.3800
N466G0Z25.0000
N467X173.5700
N468G1Z-2.7500
N469X174.9300
N470Y51.3620
N471X173.5700
N472G0Z25.0000
N473X169.3800
N474G1Z-2.7500
N475X7.1200
N476G0Z25.0000
N477X2.9300
N478G1Z-2.7500
N479X1.5700
N480Y48.2500
N481X2.9300
N482G0Z25.0000
N483X7.1200
N484G1Z-2.7500
N485X169.3800
N486G0Z25.0000
N487X173.5700
N488G1Z-2.7500
N489X174.9300
N490Y45.1380
N491X173.5700
N492G0Z25.0000
N493X169.3800
N494G1Z-2.7500
N495X7.1200
N496G0Z25.0000
N497X2.9300
N498G1Z-2.7500
N499X1.5700
N500Y42.0260
N501X2.9300
N502G0Z25.0000
N503X7.1200
N504G1Z-2.7500
N505X169.3800
N506G0Z25.0000
N507X173.5700
N508G1Z-2.7500
N509X174.9300
N510Y38.9140
N511X173.5700
N512G0Z25.0000
N513X169.3800
N514G1Z-2.7500
N515X7.1200
N516G0Z25.0000
N517X2.9300
N518G1Z-2.7500
N519X1.5700
N520Y35.8020
N521X2.9300
N522G0Z25.0000
N523X7.1200
N524G1Z-2.7500
N525X169.3800
N526G0Z25.0000
N527X173.5700
N528G1Z-2.7500
N529X174.9300
N530Y32.6900
N531X173.5700
N532G0Z25.0000
N533X169.3800
N534G1Z-2.7500
N535X7.1200
N536G0Z25.0000
N537X2.9300
N538G1Z-2.7500
N539X1.5700
N540Y29.5780
N541X2.9300
N542G0Z25.0000
N543X7.1200
N544G1Z-2.7500
N545X169.3800
N546G0Z25.0000
N547X173.5700
N548G1Z-2.7500
N549X174.9300
N550Y26.4660

This is, whats in the console after using touch-plate:
G21G90
G49
G92Z0
G38.2Z-10F25
G43.1Z-13.238999999999997
G91G0Z2
G90

@JohnLauer: You may have a look at my short video, what the axes section shows. You can see the “jump” of the z-axis-value:

@JohnLauer: here is a video, what the x-carve does.

Have in mind, that this it should go to Z0. Here is the g-code-file of that first drive:
;PYCAM-META-DATA: Filename: /home/framlin/tinker/holzlampe/panel-test.stl
;PYCAM-META-DATA: Timestamp: 2015-12-07 17:49:56.693387
;PYCAM-META-DATA: Version: 0.5.1
;Estimated machine time: 115 minutes
G40 (disable tool radius compensation)
G49 (disable tool length compensation)
G80 (cancel modal motion)
G54 (select coordinate system 1)
G90 (disable incremental moves)
G21 (metric)
G61 (exact path mode)
F800.00000
S1000.00000
;PYCAM_TOOLPATH_SETTINGS: START
;[Bounds]
;maxz = 0.0
;maxx = 174.93
;maxy = 94.93
;minx = 1.57
;miny = 1.57
;minz = -22.0
;
;[Tool]
;torus_radius = 0.125
;speed = 1000.0
;shape = CylindricalCutter
;tool_radius = 1.57
;feedrate = 800.0
;
;[SupportGrid]
;height = 1.0
;distance_x = 23.0
;distance_y = 23.0
;adjustments_x = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
;adjustments_y = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
;thickness = 2.0
;offset_x = 0.0
;offset_y = 0.0
;type = grid
;
;[Process]
;engrave_offset = 0.0
;step_down = 3.0
;generator = PushCutter
;postprocessor = SimpleCutter
;overlap_percent = 0
;milling_style = ignore
;material_allowance = 0.5
;pocketing_type = none
;path_direction = x
;
;PYCAM_TOOLPATH_SETTINGS: END
T4 M6
G0 Z25.0000
X1.5700 Y1.5700
G1 Z0.0000
X174.9300
Y4.6820
X173.5454

Here is one way, how I can use the touch-plate-feature:
manual zero out X
manual zero-out Y
touch-plate-Z
goto zero
click ctrl+x
enter $X within the serial-console-input
click zero-out within the axes-display
run g-code-file

==> works fine, no offset

So the soft reset between touch-plate-usage and runng the g-code does the trick, I think.

Any ideas, what I should configure, to avoid this step?