Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Is this a known bug with multiple probes

    Scheduled Pinned Locked Moved
    General Discussion
    3
    9
    1.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Rimesyundefined
      Rimesy
      last edited by

      Hi again,

      After trouble shooting the issue of using multiple probes (unable to print due to the offset always being to high) and after speaking with some others, they mentioned that it is a bug in the firmware. It seems that the mesh leveling is using the wrong offset. Its using the nozzle offset from the mechanical switch and not the offset from the inductive probe. This would explain why i can't calibrate it correctly. And currently have to turn the mesh leveling off to print.

      It was mentioned that DC42 is aware of this issue? I just thought I'd put it out there incase this wasn't the case.

      Regards,

      Rimesy

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        If the Z=0 position determined by homing is different from the Z=0 position determined by the Z probe, then the bed height map generated by G29 will have a Z offset. The known issue is that if you then home the printer using the Z probe with bed compensation already in effect, the Z=0 position is incorrect after that. This issue is fixed in all the 2.0RC releases.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • SputnikOC3dundefined
          SputnikOC3d
          last edited by SputnikOC3d

          I really need to understand this better i think ... I have been battling improper Z height on print start - between prints since Day 1 with Duet Wifi .. and I have yet to be able to understand why my z height for first layer is wrong at the onset of every print. i now have to Baby Step into every print via a 8 perimeter "skirt" at 15mm/s in order to get z height accurate enough to print any small circles or not have huge elephant foot or poor adhesion.

          Ive always felt like one or two layer heights of offset have "carried" over by the firmware and effected mesh grid comp.

          Now to battle this - Ive added leadscrew compensation and dual z motors on separate drivers to battle any X tilt. This is an i3 MK3 based Cartesian Zaribo Mod if that matters.

          My routine now is to ...

          1. turn on printer
          2. Home All - uses BL Touch to home Z to bed ....
          3. G32 using bed.g and the Auto bed Compensation button in the DWC
          4. Repeat Step 3 until the mean error differentiation is nominal between left and right
          5. Run Mesh Grid Compensation - - to get 64 point heightmap

          Note - should I be clearing any exiting mesh grid comp before running this for the day ?
          6. Slice part
          7. Upload .gcode file
          8. Start Print ...

          Sliced files have a Start Gcode that includes ... in this order ...

          A. Clear all mesh grid compensation
          B. Home All with No Compensation
          C. Load default Heightmap.csv and Enable Mesh Grid Compensation

          This routine leaves me wondering about my New Leadscrew X tilt compensation efforts ... is that FW/software based or does it mechanically straighten out the leadscrew deviation by turning them and then theyre set - or is that done On Top of or before mesh grid comp - constantly during the entire print job?

          Any help getting me closer to a dialed in routine here would be most aprpeciated - as bay sitting my first layers with 8 permiters of baby stepping is NOT what I envisioned when I purchased a high end 32 bit board for 3D printing

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            1. How are you homing the printer? Please post your config.g, homeall.g and homes.g files.

            2. When you display the height map in DWC, does it show a general height offset, or a height offset at the XY position at which you home Z?

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            SputnikOC3dundefined 1 Reply Last reply Reply Quote 0
            • SputnikOC3dundefined
              SputnikOC3d @dc42
              last edited by

              @dc42 said in Is this a known bug with multiple probes:

              1. How are you homing the printer? Please post your config.g, homeall.g and homes.g files.

              2. When you display the height map in DWC, does it show a general height offset, or a height offset at the XY position at which you home Z?

              First off .. thanks for your reply !!!

              homeall.g

              ; homeall.g
              ; called to home all axes
              ;
              ; generated by RepRapFirmware Configuration Tool on Wed Jan 31 2018 09:50:41 GMT-0800 (Pacific Standard Time)
              M561 ; Disable any prior Mesh Bed Compensation
              G91 ; relative positioning
              G1 Z5 F6000 S2 ; lift Z relative to current position
              G1 S1 X-225 Y-225 F2400 ; move quickly to X and Y axis endstops and stop there (first pass)
              G1 X5 Y5 F1800 ; go back a few mm
              G1 S1 X-225 Y-225 F360 ; move slowly to X and Y axis endstops once more (second pass)
              G90 ; absolute positioning
              G1 X80 Y110 F6000 ; go to first bed probe point and home Z
              G30 ; home Z by probing the bed
              G1 Z5 F8000 S2 ; uncomment this line to lift the nozzle after homing

              I dont have a homes.g ? Perhaps homez.g is what was meant ...

              homez.g

              ; homez.g
              ; called to home the Z axis
              ;
              ; generated by RepRapFirmware Configuration Tool on Wed Jan 31 2018 09:50:41 GMT-0800 (Pacific Standard Time)
              G91 ; relative positioning
              G1 Z5 F6000 S2 ; lift Z relative to current position
              G90 ; absolute positioning
              G1 X80 Y110 F6000 ; go to first probe point
              G30 ; home Z by probing the bed

              ; Uncomment the following lines to lift Z after probing
              G91 ; relative positioning
              G1 Z5 S2F3000 ; lift Z relative to current position
              G90 ; absolute positioning

              Custom Start GCode in slicer: Im thinking the G28 W here is redundant - but need to confer with my prior steps before each

              ;Start GCode v1
              ;Print Area is X28 Y10 to X225 Y208
              G21 ; set units to millimeters
              G90 ; use absolute positioning
              M83 ; relative extrusion mode
              M140 S[first_layer_bed_temperature] ; set bed H0 temp,
              M104 S[first_layer_temperature] ; set Noz H1 temp
              M561 ; Disable ANY and ALL Mesg Bed Level Compensation
              G28 W ; home X / Y w/out mesh bed level
              G29 S1 ; Load and use latest heightmap for Mesh Bed Compensation
              G92 E0.0 ; reset extruder distance position
              G1 X15 Y5 Z20 F3000 ; go to Steve's Dribble Zone
              M109 S[first_layer_temperature] ; wait for extruder temp
              M190 S[first_layer_bed_temperature] ; wait for bed temp
              G1 Z0.20 F3000 ; drop to print height
              G1 X10 Y5 F3000 ; move to purge strip start position
              G1 X185 E12 F2000 ; print purge strip
              G92 E0.0 ; reset extruder distance position

              I dont know about an offset being displayed - but heres what I see - is this what info u need ?

              alt text

              1 Reply Last reply Reply Quote 0
              • SputnikOC3dundefined
                SputnikOC3d
                last edited by SputnikOC3d

                ; Configuration file for Duet WiFi (firmware version 1.21)
                ; executed by the firmware on start-up
                ;
                ; generated by RepRapFirmware Configuration Tool on Wed Jan 31 2018 09:50:41 GMT-0800 (Pacific Standard Time)

                ;---------------------------
                ; General preferences
                ;---------------------------
                M111 S0 ; Debugging off
                G21 ; Work in millimeters
                G90 ; Send absolute coordinates...
                M83 ; ...but relative extruder moves
                M555 P2 ; Set firmware compatibility to look like Marlin
                ;M669 K0 ; Set Kinematics K=0=Cartesian
                M208 X0 Y0 Z0 S1 ; Set axis minima
                M208 X243 Y220 Z215 S0 ; Set axis maxima
                ;M208 X-15 Y-5 Z0 S1 ; [[ BuildTak ]] Set axis minima for the 220 x 220 Buildtak Bed
                ;M208 X215 Y215 Z215 S0 ; [[ BuildTak ]] Set axis maxima for the 220 x 220 Buildtak Bed
                M564 H0 ; Permits ALL Axis movement prior to or without ANY Homing require [ over-rides default of no movement until all homed ]

                ;---------------------------
                ; Endstops
                ;---------------------------
                M574 X1 Y1 S1 ; Set low-end [ min ] endstops || S1 = NC / Active High S0 = NO / Active Low
                M574 Z2 S1 ; Set high-end [ max ] endstops || S1 = NC / Active High S0 = NO / Active Low

                ;---------------------------
                ; Z Probe / BL Touch Smart
                ;---------------------------
                M307 H3 A-1 C-1 D-1 ; *** Heater 3 *** PIN reassignment for 3.3v BL Touch SMART [ BL Touch Specific settings ]
                M558 P9 X0 Y0 Z1 H5 F200 T6000 B1 A5 S0.02 ; Set probe type [P9] | Axis to probe[1=in use / 0=not used ] | [H5]dive height | [F5 ]Probe Speed | T=Travel Spd |A= #attpts | S= deviation
                G31 X-29 Y-9 Z3.525 P25 ; Set X/Y Horiz offset from probe || Set Z probe trigger height || Trigger Sensitivity Value [ P ]
                M557 X0:175 Y25:200 S25 ; Define the bed x/y min max mesh grid probing area for Mesh Bed Leveling
                ;M557 X0:175 Y25:200 S25 ; [[BuildTakSheet ]] Define the bed x/y min max mesh grid probing area for Mesh Bed Leveling

                ;---------------------------
                ; Drives
                ;---------------------------
                M584 X0 Y1 Z2:4 E3 P3 ; Dual Z Motor Mapping
                M671 X0:175 Y100:100 S2 ; Z Lead Screw Leveling probe Point Mapping
                M569 P0 S0 ; Drive 0 goes reverse [ X Axis ] [ S0 = Rev / S1 = FWD ]
                M569 P1 S0 ; Drive 1 goes reverse [ Y Axis ]
                M569 P2 S0 ; Drive 2 goes reverse [ Z Axis - LT ]
                M569 P4 S0 ; Drive 4 goes reverse [ Z Axis - RT ]
                M569 P3 S1 ; Drive 3 goes forward [ E0 ]
                M572 D0 S0.06 ; Set Pressure Advance [ need to check Jerk and Accel Settings to properly coincide here ]
                M350 X16 Y16 Z16:16 E16 I1 ; Configure microstepping with interpolation
                M92 X100.30 Y100.250 Z1600:1600 E140.64 ; Set steps per mm
                M566 X900 Y900 Z25:25 E250 ; [ Jerk Settings ] Set maximum instantaneous speed changes (mm/min)
                M201 X500 Y500 Z280:280 E250 ; Set accelerations (mm/s^2)
                M203 X6000 Y6000 Z280:280 E1200 ; Set maximum speeds (mm/min)
                M906 X1600 Y1600 Z1600:1600 E1600 I30 ; Set motor currents (mA) and motor idle "power saving" decrease factor as percentage [ I30=30% ]
                M84 S30 ; Set idle timeout

                ;---------------------------
                ; Heaters
                ;---------------------------

                ; *** Bed H0
                M301 H0 S1.00 P185.1, I5.911, D291.4 T0.4 W180 B0 ; H0 Bed Heater use PID || Last Auto-tune results --> [ P185.1, I5.911, D291.4 ]
                M305 P0 T100000 B3988 C0 R4700 ; Set thermistor + ADC parameters for heater 0
                M143 H0 S110 ; Set temperature limit for heater 0 to 110C
                ;M307 H0 A194.3 C463.7 D2.2 B0 ; Saves this models parameters || B0 = Use PID / B1 = Bang Bang || PWM 1.00 || No more M301 4 H0 after this

                ; *** Extruder / HotEnd H1
                M301 H1 P11.0, I0.391, D41.0 B0 ; H1 Hotend E0 use PID || Last Auto-tune results 260C --> [ P11.0, I0.391, D41.0 ]
                M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
                M143 H1 S275 ; Set temperature limit for heater 1 to 265C
                ;M307 H1 A254.4 C144.6 D4.4 B0 ; Saves this models parameters || B0 = Use PID / B1 = Bang Bang || PWM 1.00 || No more M301 4 H1 after this

                ;---------------------------
                ; FANS [ See Docs Here ] : https://duet3d.com/wiki/G-code#M106:_Fan_On
                ;---------------------------

                M106 P0 S0 H-1 ; Setup Fan0 [ P0 ] || S = PWM Pwr Level 0.0 to 1.0 || || H1 = Thermost CNTRL OFF [-1] & Heater #
                M106 P1 T45 H1 ; Setup Fan1 [ P1 ] || T45 = 45*C Nozz Temp Trigrz fan || S = PWM Pwr Level 0.0 to 1.0 || || H1 = Thermost CNTRL ON & Heater #
                ;M106 P2 S1 I0 F500 H1 T45 ; Setup Fan2 [ P2 ] || PWM signal inversion and frequency. Thermostatic control is turned on

                ;---------------------------
                ; Tools
                ;---------------------------
                M563 P0 D0 H1 ; 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

                ;---------------------------
                ; Network
                ;---------------------------
                M550 PZaribo220 ; Set machine name
                M551 P***** ; Set password
                M552 S1 ; Enable network
                M587 S"zzzzzzzz" P"xxxxxxxxx" ; Configure access point. You can delete this line once connected
                M586 P0 S1 ; Enable HTTP
                M586 P1 S0 ; Disable FTP
                M586 P2 S0 ; Disable Telnet

                ; Custom settings are not configured

                1 Reply Last reply Reply Quote 0
                • SputnikOC3dundefined
                  SputnikOC3d
                  last edited by

                  As an update: Ive just gotten the X Tilt / Z-Leadscrew setup working now, and I think this was 90% of my issue! Ive run 4 prints now using the x tilt correction before each print and Ive NOT needed to babystep in with PLA [ only filament tested so far ] .... Amazing! At most it may need .02 / .04 tweek to be PERF.

                  1 Reply Last reply Reply Quote 1
                  • dc42undefined
                    dc42 administrators
                    last edited by

                    I'm glad you solved it. You can make fine adjustments to the Z=0 height using the G31 Z parameter (the Z probe trigger height).

                    Yes I did mean homez.g. My smartphone persists in "correcting" homez.g to homes.g despite me having told it many times that I want homez.g.

                    One other tip: choose the XY position that you execute the G30 at in your homeall.g and homez.g files to correspond to one of the mesh probe points defined by M557. To do this, work out the XY coordinates of the mesh probe point closest to the centre of the bed, then subtract the Z probe X and Y offsets (as specified in the G31 command) from those coordinates.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • SputnikOC3dundefined
                      SputnikOC3d
                      last edited by

                      Thank you dc42 ... Dave or David ?

                      I will noodle on your last suggestion here and sort out how to implement that as well ... seems like a groovy idea!

                      thanks a million.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA