Piezo Orion + RRF 3.... Problems



  • Hi everyone. I hope you can help me with my problems. So setup: duet 2 wifi firmware 3.1, Orion pcb 2. first of all, it's connected, digital v + goes to 3.3v ground and signal to z probe in. I have to invest the signal pin to make it work. Is that bad? If so, how can I fix the problem? Polarity? How do I change it? Well, I have adjusted the orion with a light touch it deflects to 1000. Otherwise it is at 0. I also use it as an end stop. If I want to determine the height now. I drive to the middle, move up until the nozzle scratches the paper, save it as z0 and then go 0.5mm down and move up via g31 s-1. I repeat that countless times. And always a different, increasing value comes out. Can that be backlash? Incidentally, printer is a hypercube meike config looks like this., Axis Limits
    M208 X0 Y0 Z0 S1; set axis minima
    M208 X310 Y300 Z260 S0; set axis maxima

    ; End stops
    M574 X1 S1 P "xstop"; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P "ystop"; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S1; configure Z-probe endstop for low end on Z

    ; Z sample
    M558 P8 C "! Zprobe.in" R0.8 F500 Z1; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X0 Y0 Z2.5; set Z probe trigger value, offset and trigger height
    M557 X5: 305 Y5: 295 S20; define mesh grid would be very grateful if you could help me



  • @chop Invertered signal is correct for the Orion, and it sounds like you've wired it all up correctly. If you're interested, here's my config from my Duet Wifi with an Orion & RRF3.1. I have defined a few more things in my M558 (I'd recommed you look at adding the H & T). I also don't have 'Z1' in there, but think I should... In your G31 line, your Z-offset should typically be around -0.1 to -0.3, definitely not 2.5 (that would mean when your orion triggers, the nozzle is 2.5mm above the build surface in mid air!)

    M574 Z1 S2                               ; Set endstops controlled by probe
    M558 P8 C"!zprobe.in" R1 H2.5 F400 T3000 A10 S0.005              ; Set Z probe type to effector and the dive height + speeds
    G31 P500 X0 Y0 Z-0.12 ;                  ; Set Z probe trigger value, offset and trigger height
    

    I'm guessing by running 'G31 S-1', you mean 'G30 S-1'?

    When you say you 'save it as Z0', what exactly are you doing? Using G92 to declare the position or something else?

    What kind of difference do you get between subsequent probes? Also, what is your print surface. I use Ziflex (magnetic removeable plate) which is a bit soft. If I probe the same point a lot (10+ times in quick succession), I find it does increase a little bit (max 50um) as you put a small (non permanent) dimple in the surface.
    Is your nozzle clean before probing? What temperature is your hotend/bed during the probing? It's recommended to probe with the nozzle at 130deg so any plastic that is left is a little squishy - you end up flattening it with subsequent probes (hence I use the A & S parameters to probe points multiple times). Probing too hot though can damage your build surface

    There's a chance your Z-axis is losing steps, but I'd doubt it. Post your full config.g and we can check for anything else that might be wrong



  • @engikeneer

    Hi and first of all thanks for the answer. So the z2.5 yes ... ignore that. I was only testing it a bit. My config.g so far looks like this: Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Oct 15 2020 23:42:44 GMT + 0200 (Central European Summer Time)

    ; General preferences
    G90; send absolute coordinates ...
    M83; ... but relative extruder moves
    M550 P "Chop's Hypercube"; set printer name
    M669 K1; select CoreXY mode

    ; Network
    ; *** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network

    M552 S1; enable network
    M586 PO S1; enable HTTP
    M586 P1 S0; disable FTP
    M586 P2 S0; disable Telnet
    M587

    ; Drives
    M569 P0 S1; physical drive 0 goes forwards
    M569 P1 S1; physical drive 1 goes forwards
    M569 P2 S1; physical drive 2 goes forwards
    M569 P3 S1; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3; set drive mapping
    M350 X16 Y16 Z16 E16; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E404.00; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E600.00; set maximum instantaneous speed changes (mm / min)
    M203 X12000.00 Y12000.00 Z1200.00 E6000.00; set maximum speeds (mm / min)
    M201 X800.00 Y800.00 Z250.00 E800.00; set accelerations (mm / s ^ 2)
    M906 X850 Y850 Z1000 E900 I30; set motor currents (mA) and motor idle factor in per cent
    M84 S120; Set idle timeout
    M84 S0; Disable motor idle current reduction

    ; Axis limits
    M208 X0 Y0 Z0 S1; set axis minima
    M208 X310 Y300 Z260 S0; set axis maxima

    ; End stops
    M574 X1 S1 P "xstop"; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P "ystop"; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S1; configure Z-probe endstop for low end on Z

    ; Z sample
    M558 P8 C "! Zprobe.in" R0.8 F500 Z1; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X0 Y0 Z2.5; set Z probe trigger value, offset and trigger height
    M557 X5: 305 Y5: 295 S20; define mesh grid

    ; Heaters
    M308 S0 P "bedtemp" Y "thermistor" T100000 B4138; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C "bedheat" T0; create bed heater output on bedheat and map it to sensor 0
    M307 H0 A89.9 C419.7 D1.00 V24.2 B0; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0; map heated bed to heater 0
    M143 HO S120; set temperature limit for heater 0 to 120C
    M308 S1 P "e0temp" Y "thermistor" T100000 B4138; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C "e0heat" T1; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 A917.7 C197.3 D5.5 S1.00 V24.1 B0; disable bang-bang mode for heater and set PWM limit

    ; Fans
    M950 F0 C "fan0" Q500; create fan 0 on pin fan0 and set its frequency
    M106 P0 C "BTK" S0 H-1; set fan 0 name and value. Thermostatic control is turned off
    M950 F1 C "fan1" Q500; create fan 1 on pin fan1 and set its frequency
    M106 P1 C "HEK" S1 H1 T25; set fan 1 name and value. Thermostatic control is turned on

    ; Tools
    M563 P0 S "E3D" D0 H1 F0; define tool 0
    G10 P0 X0 Y0 Z0; set tool 0 axis offsets
    G10 P0 R0 S0; set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M501; load saved parameters from non-volatile memory
    M911 S22 R23 P "M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"; set voltage thresholds and actions to run on power loss
    T0; select first tool

    So far I've just been testing the orion without filament and without temperature. So the nozzle is clean. Of course you are right. I meant g30 s-1. What exactly did I do? often. m564. then x y in the middle. Put paper on the bed and drive it until it scratches. That defined as 0 G92 Z0. Then 0.5 mm down with z and up with g30 s-1. Very often. I never have an identical value. The only constant is that this value always goes into minus. A little more with each g30 s-1. I print on pertinax.



  • @chop Nothing obviously out in your config, only thing I'd mention is your M350. Add 'I1' to the end of the line to enable interpolation (as long as you're sticking with x16 microstepping). Might be the default, but best to specify.
    Unrelated, but I think 'B4138' in your thermistor settings is the default so probably not quite right for your setup - you'll want to find the right value to go in there for your thermistors.

    Back to the Z-probe. That all seems a sensible workflow to me, though obviously be very careful using M564 H0 - I'd always prefer to to home properly, or at the very least use G92 to set all positions.

    I don't know anything about pertinax as a a material so can't comment on how that will affect things. Can you see any indentation after you do several probes? Your feedrate of 500mm/min is reasonably fast, but not crazy. I wonder if it is just hitting the surface a little hard.
    What kind of values are you getting from your G30 S-1? Are we talking 5um steps, 20um steps, or full 0.5mm each time?

    Have you tried adjusting the potentiometer on the Orion? Not sure whether you'd want to go more or less sensitive. I kind of found a sweet spot when I first fitted mine and haven't adjusted it since...

    Are you using the standard mount they ship with it, or something custom?

    Not sure if it will help, but here is a macro I use from someone else on the forum to see probe repeatability. It homes everything first (G28), then probes at 151,151 ten times - you can obviously change this. It then spits out all the measurements and the mean & std dev into the console.

    M291 P"Probe will be tested 10 times and return mean and standard deviation. Ok or Cancel?" R"WARNING" S3 ; User must click OK or cancel.
    G28
    G30 P0 X151 Y151 Z-9999
    G30 P1 X151 Y151 Z-9999
    G30 P2 X151 Y151 Z-9999
    G30 P3 X151 Y151 Z-9999
    G30 P4 X151 Y151 Z-9999
    G30 P5 X151 Y151 Z-9999
    G30 P6 X151 Y151 Z-9999
    G30 P7 X151 Y151 Z-9999
    G30 P8 X151 Y151 Z-9999
    G30 P9 X151 Y151 Z-9999 S-1
    

    P.S. apologies for the brain dump and many questions... 😛



  • use the analog out, coax cable to connect it to zprobe.in and dynamic threshold configuration and if you mounted it properly it will work. using the digital output requires you to properly tune the untunable %@(^_&^ potentiometer on the pcb.



  • @arhi pls gimme a example config. I will test it



  • Don't Get me started on about the Piezo Orion.

    I bought a genuine one to test which arrived earlier in the week. Upon opening the packaging i'm met with printed parts that looked like they were printed by a blind man in an awful hurry.

    Hey ho I think, I will re-print the parts myself properly.

    then i plugged it into my test stand, a Duet 2 set up purely for testing things on the bench and it was dead, no L.E.D at boot nothing. so i take a look at the board, seems like it was hand soldered by the blind guy who did the printing with components askew an solder splashes....

    One email to Precision Piezo later with the pictures included below and they reply that they think the unit was either damaged during transit or during fitting, but they refunded me, which leads to the question if they thought it was possibly a installation issue why refund me ?

    Be very careful about buying this thing

    IMG_20201009_123302.jpg

    IMG_20201009_123332.jpg

    IMG_20201009_123357.jpg

    IMG_20201009_124806.jpg

    IMG_20201009_124900.jpg



  • @engikeneer said in Piezo Orion + RRF 3.... Problems:

    @chop Nothing obviously out in your config, only thing I'd mention is your M350. Add 'I1' to the end of the line to enable interpolation (as long as you're sticking with x16 microstepping). Might be the default, but best to specify.
    Unrelated, but I think 'B4138' in your thermistor settings is the default so probably not quite right for your setup - you'll want to find the right value to go in there for your thermistors.

    Back to the Z-probe. That all seems a sensible workflow to me, though obviously be very careful using M564 H0 - I'd always prefer to to home properly, or at the very least use G92 to set all positions.

    I don't know anything about pertinax as a a material so can't comment on how that will affect things. Can you see any indentation after you do several probes? Your feedrate of 500mm/min is reasonably fast, but not crazy. I wonder if it is just hitting the surface a little hard.
    What kind of values are you getting from your G30 S-1? Are we talking 5um steps, 20um steps, or full 0.5mm each time?

    Have you tried adjusting the potentiometer on the Orion? Not sure whether you'd want to go more or less sensitive. I kind of found a sweet spot when I first fitted mine and haven't adjusted it since...

    Are you using the standard mount they ship with it, or something custom?

    Not sure if it will help, but here is a macro I use from someone else on the forum to see probe repeatability. It homes everything first (G28), then probes at 151,151 ten times - you can obviously change this. It then spits out all the measurements and the mean & std dev into the console.

    M291 P"Probe will be tested 10 times and return mean and standard deviation. Ok or Cancel?" R"WARNING" S3 ; User must click OK or cancel.
    G28
    G30 P0 X151 Y151 Z-9999
    G30 P1 X151 Y151 Z-9999
    G30 P2 X151 Y151 Z-9999
    G30 P3 X151 Y151 Z-9999
    G30 P4 X151 Y151 Z-9999
    G30 P5 X151 Y151 Z-9999
    G30 P6 X151 Y151 Z-9999
    G30 P7 X151 Y151 Z-9999
    G30 P8 X151 Y151 Z-9999
    G30 P9 X151 Y151 Z-9999 S-1
    

    P.S. apologies for the brain dump and many questions... 😛

    16.10.2020, 22:37:21 Stopped at height -0.110 mm
    16.10.2020, 22:37:19 G30 S-1
    16.10.2020, 22:37:15 Stopped at height -0.083 mm
    16.10.2020, 22:37:12 G30 S-1
    16.10.2020, 22:37:08 G30 S-1
    Stopped at height -0.060 mm
    16.10.2020, 22:37:08 M120 G91 G1 Z0.5 F6000 G90 M121
    Stopped at height -0.060 mm
    16.10.2020, 22:37:04 Stopped at height -0.055 mm
    16.10.2020, 22:37:02 G30 S-1
    16.10.2020, 22:36:59 Stopped at height -0.032 mm
    16.10.2020, 22:36:58 G30 S-1
    16.10.2020, 22:36:54 G30 S-1
    Stopped at height -0.025 mm
    16.10.2020, 22:36:47 G30 S-1
    Stopped at height -0.002 mm
    16.10.2020, 22:36:43 G30 S-1
    Stopped at height -0.002 mm
    16.10.2020, 22:36:37 G30 S-1
    Stopped at height -0.002 mm
    16.10.2020, 22:36:32 G30 S-1
    Stopped at height 0.000 mm
    16.10.2020, 22:36:27 Stopped at height 0.000 mm
    16.10.2020, 22:36:25 G30 S-1
    16.10.2020, 22:36:24 M120 G91 G1 Z0.5 F6000 G90 M121
    Stopped at height 0.002 mm
    16.10.2020, 22:36:24 G30 S-1
    Stopped at height 0.002 mm
    16.10.2020, 22:36:17 G30 S-1
    Stopped at height 0.002 mm
    16.10.2020, 22:36:09 G30 S-1
    Stopped at height 0.002 mm
    16.10.2020, 22:36:03 G30 S-1
    Stopped at height 0.005 mm
    16.10.2020, 22:35:53 G30 S-1
    Stopped at height 0.005 mm
    16.10.2020, 22:35:44 G30 S-1
    Stopped at height 0.005 mm
    16.10.2020, 22:35:35 G30 S-1
    Stopped at height 0.007 mm
    16.10.2020, 22:35:25 G30 S-1
    Stopped at height 0.010 mm
    16.10.2020, 22:35:16 Stopped at height 0.010 mm
    16.10.2020, 22:35:15 G30 S-1
    16.10.2020, 22:35:07 G30 S-1
    Stopped at height 0.007 mm



  • @engikeneer

    16.10.2020, 22:43:59 Error: Z probe readings not consistent
    16.10.2020, 22:43:38 Error: Z probe readings not consistent
    16.10.2020, 22:43:13 Error: Z probe readings not consistent



  • @arhi

    if i use Analog DWC says Z-Probe 492 and not 0. without contact.

    how to tune?



  • @chop said in Piezo Orion + RRF 3.... Problems:

    @arhi pls gimme a example config. I will test it

    you need to run the analog output to the zprobe.in using a coax cable (I'm using balanced audio cable for e.g.)

    config:

    ; ORION ANALOG 
    M558 P1 C"!zprobe.in" R2 H6 F2400 T3600 A4 S0.03 K0 
    G31 X0 Y0 Z-0.1 P250 
    

    how to use it:
    homez.g

    ; HOME Z WITH ORION
    
    M400
    
    T0
    G90
    G0 X0Y0 F3000           ; go to center of the bed, complain if X or Y not homed
    G91                     ; relative positioning
    ;G0 Z5   F900  H2        ; drop bed for 5mm
    G90                     ; absolute positioning
    G4S3                    ; wait 3sec
    
    G31 P{sensors.probes[0].value[0] + 3}
    
    G30                     ; Probe the bed at the current XY position. 
                            ; When the probe is triggered, set the Z coordinate 
    						; to the probe trigger height.
    
    

    the G31 here takes current reading from the analog input and set treshold to +3 that value

    bed.g

    ; bed.g
    ; called to perform automatic bed compensation via G32
    
    G29 S2 ; delete compensations
    M561   ; clear any bed transform
    G28    ; home
    
    M400
    M913 X30 Y30 Z100 ; go to first test point
    M400
    G4 S1
    M400
    
    G31 P{sensors.probes[0].value[0] + 3}
    G29 S0 
    
    

    this way the issue with sh$%%^tty potentiometer on the board for setting trashold for digital output is solved.

    There's still issue with mounting ppiezo but that's another bag of worms, but this is the good start so you at least have treshold set right.

    notice that if you are having "premature trigger" with

    G31 P{sensors.probes[0].value[0] + 3}
    

    you can change to +5 or more, but that really means that you are picking up a lot of noise and you need a better cable or that your head is vibrating or .. it should work with +2 or +3



  • also note that you want probing to be "fast" as the fastes you hit the nozzle better it will react, piezo do not like to be "slowly pressure" it likes to be tapped. The problem with current firmware is that it slows down when the read value is close to treshold (and it always is as it does not change like with ir sensor). dc42 said he'll change this in one of the next versions but so far it has not happened so you need to push the speed in the m558



  • @arhi

    thanky you. but how can i adjust the trigger?



  • @chop said in Piezo Orion + RRF 3.... Problems:

    @arhi

    thanky you. but how can i adjust the trigger?

    this does it:

    G31 P{sensors.probes[0].value[0] + 3} 
    

    analog output from the orion ignores the pot, so don't touch the pot.
    this reads the current value of the analog output from the orion ( sensors.probes[0].value[0] and sets the new treshold value to read value+3



  • @arhi hm . changed from 1 to 25 and nothing changed



  • @chop what do you expect to change?



  • @arhi the trigger value in dwc its @ 492 and with s lot of preasure it Gos over 500



  • @chop what you see in DWC is the read of the analog value, that will not change by any g-code, it's what the orion is sending and it changes as the orion is deformed. the G31 I gave you changes the threshold. to see the threshold value you need to send just G31



  • @arhi ah okay. Ty! Today i will give some anti backlash nuts a shot. After install i will try your Tipps.



  • @arhi @engikeneer

    So it works! Thank you for your help. But now I have the next problem. How can I use the orion correctly? How do I set z. no matter what I do . He starts printing in the air. With rrf3 I determine z with 92z0 right? Then I create a mesh. What do I have to enter in his? I'm still new to rrf. before marlin sorry. do not quite understand all of this yet



  • @chop now you need to manually figure out the Z offset of the probe and put it in the config.

    1. super important is that you heat up your bed and nozzle before you home Z with the orion
    2. super important that you clean a nozzle before you probe (so heat up, wipe, retract, wipe is what I do, visually inspect when nozzle is sitting above center of the bed that nozzle is clean)
    3. after you home Z, you then need to find the "offset"

    this offset is normally in the range of 0 to -0.1mm depending on how sensitive your orion is and how fast you probe so it's basically the travel your bed does during a trigger delay. how to setup this offset ... ppl have different preferences, what I do is I'd leave nozzle in the center of the bed (homing position) and do

    G0Z1

    this should have your nozzle close to the bed but not touching it

    disable soft limits

    M564 S0 H0

    now I put piece of paper between nozzle and bed and start reducing this value

    G0Z0.5

    G0Z0.3
    G0Z0.2
    ...
    G0Z-0.2
    ...

    till I get to point that paper is being grabbed by the nozzle

    this position need to be your Z0 so see how far you are from it (you know what Z value you gave it), change the sign of that value and put in the config of the probe (G31, the Z value):
    e.g.:

    G31 X0 Y0 Z-0.1 P250

    hope this helps

    btw, do this while everything is HOT and nozzle is clean. Otherwise not much point in using orion, as if you probe cold those are not real value during print.... this is why I like the durable print surfaces like printbite as if you have those soft print surfaces they can dislike the hot nozzle so then you might want to work hot but heat up the bed to your print temperature but heat up the nozzle to lower temp like 100-120C enough for it to "get bigger" but not hot enough to damage the print board if you mess something up

    useful read: https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe



  • one hint, since digging hot nozzle into print bed is a real solution when you do this first time I suggest you use a PCB on top of your print bed, or use glass as your print surface for the first test... so both probe over the hard surface that's temperature resistent (pcb/FR4 or glass) and start the first print on top of such surface to be sure you got the probing and configuration (offset) properly calibrated

    going further, one other hint .. before you start printing, make sure that ORION Is ok and that you are not drowning in noise .. so run a test probing same point many times



  • @arhi ty . I will try. But, how to set z0 corect? After z0 i can set offset !? Right? Once i get the offset. I have to tell the Slicer to use the mesh?



  • @arhi said in Piezo Orion + RRF 3.... Problems:

    @chop now you need to manually figure out the Z offset of the probe and put it in the config.

    1. super important is that you heat up your bed and nozzle before you home Z with the orion
    2. super important that you clean a nozzle before you probe (so heat up, wipe, retract, wipe is what I do, visually inspect when nozzle is sitting above center of the bed that nozzle is clean)
    3. after you home Z, you then need to find the "offset"

    this offset is normally in the range of 0 to -0.1mm depending on how sensitive your orion is and how fast you probe so it's basically the travel your bed does during a trigger delay. how to setup this offset ... ppl have different preferences, what I do is I'd leave nozzle in the center of the bed (homing position) and do

    G0Z1

    this should have your nozzle close to the bed but not touching it

    disable soft limits

    M564 S0 H0

    now I put piece of paper between nozzle and bed and start reducing this value

    G0Z0.5

    G0Z0.3
    G0Z0.2
    ...
    G0Z-0.2
    ...

    till I get to point that paper is being grabbed by the nozzle

    this position need to be your Z0 so see how far you are from it (you know what Z value you gave it), change the sign of that value and put in the config of the probe (G31, the Z value):
    e.g.:

    G31 X0 Y0 Z-0.1 P250

    hope this helps

    btw, do this while everything is HOT and nozzle is clean. Otherwise not much point in using orion, as if you probe cold those are not real value during print.... this is why I like the durable print surfaces like printbite as if you have those soft print surfaces they can dislike the hot nozzle so then you might want to work hot but heat up the bed to your print temperature but heat up the nozzle to lower temp like 100-120C enough for it to "get bigger" but not hot enough to damage the print board if you mess something up

    useful read: https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe

    Make sure the dynamic test is successful (Z probe stops when it senses the bed) before doing this.
    Cancel any currently active mesh compensation with M561
    Use the X and Y jog buttons to position the nozzle over the centre of the bed
    Jog the nozzle down until it is just touching the bed or just gripping a sheet of paper. If the firmware doesn't let you jog it down far enough, send M564 S0 to disable axis limits.
    Once you have the nozzle touching the bed, send command G92 Z0 to tell the firmware that the head is at Z=0
    Jog the head up by 5 to 10mm
    Send command G30 S-1. The nozzle will descend or the bed rise until the probe triggers and the Z height at which the probe stopped will be reported. If you are using a nozzle-contact Z probe, the trigger height will be slightly negative. For any other type of Z probe where the probe triggers before the nozzle contacts the bed, it will be positive.
    Repeat from step 5 two or three times to make sure that the trigger height is consistent.
    In Duet Web Control, go to Settings -> System Editor and edit the config.g file. Set the Z parameter in the G31 command to the trigger height that was reported. Save the file.
    Open config-override.g and check that there are no G31 commands in it. If you find any, delete those lines and save the file.
    To apply the new trigger height, restart the Duet by sending M999 or pressing Emergency Stop.

    Thats what i do...print starts mid air



  • testing the repeatability - very important with piezo

    G28
    M401
    G30 P0 X151 Y161 Z-9999
    G30 P1 X151 Y161 Z-9999
    G30 P2 X151 Y161 Z-9999
    G30 P3 X151 Y161 Z-9999
    G30 P4 X151 Y161 Z-9999
    G30 P5 X151 Y161 Z-9999
    G30 P6 X151 Y161 Z-9999
    G30 P7 X151 Y161 Z-9999
    G30 P8 X151 Y161 Z-9999
    G30 P9 X151 Y161 Z-9999 S-1
    M402
    

    change X and Y values to be in the center of your bed
    more details here: https://forum.duet3d.com/topic/6962/m48-measure-z-probe-repeatability-and-print-to-serial-output/4


Log in to reply