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

    Unable to set Z offset with PINDA probe

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    24
    1.1k
    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.
    • CarbonVirusundefined
      CarbonVirus @Phaedrux
      last edited by CarbonVirus

      @Phaedrux Apologies, I'm quite shite at explaining the situation...
      It is a Core X/Y, and positive should move the bed down away from the gantry I believe (jogging positive results in the bed descending).

      Here's the process resulting in failure:

      • Home X + Y
      • Home Z (with updated homing code provided above)
      • Send gantry to x150, y150
      • Send gantry to z0
      • Observe nozzle is still ~4mm away from print bed
      • Observe this distance is right where the PINDA sensor triggers
      • Cannot raise bed (send negative movement commands) without disabling axis endstops (M564 S0)
      1 Reply Last reply Reply Quote 0
      • CarbonVirusundefined
        CarbonVirus
        last edited by

        config.g

        ; Configuration file for Duet WiFi (firmware version 3)
        ; executed by the firmware on start-up
        ;
        ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jun 28 2020 17:19:16 GMT-0400 (Eastern Daylight Time)
        
        ; General preferences
        G90                                                	; send absolute coordinates...
        M83                                                	; ...but relative extruder moves
        M550 P"CarbonCube"                                 	; set printer name
        M669 K1                                            	; select CoreXY mode
        
        ; Network
        M552 S1                                            	; enable network
        M586 P0 S1                                         	; enable HTTP
        M586 P1 S0                                         	; disable FTP
        M586 P2 S0                                         	; disable Telnet
        
        ; Drives
        M569 P0 S1                                         	; physical drive 0 goes forwards
        M569 P1 S0                                         	; physical drive 1 goes forwards
        M569 P2 S0                                         	; physical drive 2 goes forwards
        M569 P3 S0                                         	; physical drive 3 goes forwards
        M584 X0 Y1 Z2 E3                                   	; set drive mapping
        M350 X16 Y16 Z16 E16 I1                            	; configure microstepping with interpolation
        M92 X160.00 Y160.00 Z800.00 E418.60                	; set steps per mm
        M566 X1800.00 Y1800.00 Z400.00 E4000.00            	; set maximum instantaneous speed changes (mm/min)
        M203 X12000.00 Y12000.00 Z2000.00 E120000.00       	; set maximum speeds (mm/min)
        M201 X1000.00 Y1000.00 Z400.00 E2000.00            	; set accelerations (mm/s^2)
        M906 X1450 Y1450 Z1450 E1450 I30                   	; Set motor currents (mA) and motor idle factor in per cent
        M84 S30                                            	; set idle timeout
        
        ; Axis Limits
        M208 S1 X0 Y0 Z0                                 	; set axis minima
        M208 S0 X300 Y300 Z300                             	; set axis maxima
        
        ; Endstops
        M574 X1 S4                                         	; configure sensorless endstop for low end on X
        M574 Y1 S4                                         	; configure sensorless endstop for low end on Y
        
        ; Z-Probe
        M574 Z1 S2 ; Set endstops controlled by probe
        M558 P5 C"^zprobe.in" I1 H0.7 F1000 T6000 A20 S0.005; PINDA
        G31 P500 X30 Y-20 Z-0.490							; set z-probe offset height
        M557 X100:200 Y100:200 P2                           ; 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 B1 S1.00                                   	; enable bang-bang mode for the bed heater and set PWM limit
        M140 H0                                            	; map heated bed to heater 0
        M143 H0 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 B0 S1.00                                   	; 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 S0 H-1                                     	; set fan 0 value. Thermostatic control is turned off
        M950 F1 C"fan1" Q500                               	; create fan 1 on pin fan1 and set its frequency
        M106 P1 S1 H1 T45                                  	; set fan 1 value. Thermostatic control is turned on
        
        ; Tools
        M563 P0 D0 H1 F0                                   	; define tool 0
        
        ; Custom settings are not defined
        
        ; Miscellaneous
        M501                                               	; load saved parameters from non-volatile memory
        M911 S10 R11 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
        
        

        homeall.g

        ; homeall.g
        ; called to home all axes
        ;
        ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jun 28 2020 17:19:16 GMT-0400 (Eastern Daylight Time)
        
        G91                     										; relative positioning
        G1 H2 Z5 F6000          										; lift Z relative to current position
        
        ; set motors to homing settings
        M400 															; make sure everything has stopped before we make changes
        M574 X1 Y1 S4 													; set endstops to use motor stall
        M913 X30 Y30 													; drop motor current to 20%
        M915 X Y S1 F0 H400 R0 											; set sensitivity , do nothing when stall, unfiltered
        
        
        ; home x
        G1 H1 X-1000 F4000 												; move 1000mm, stopping at the endstop
        
        
        ; home y
        G1 H1 Y-1000 F4000 												; move 1000mm, stopping at the endstop
        
        
        ; home z
        G91              												; relative positioning
        G1 H2 Z5 F6000   												; lift Z relative to current position
        
        G90              												; absolute positioning
        G1 X150 Y150 F6000 												; go to first probe point
        
        G30 															; use probe to find Z 0
        
        G91             												; relative positioning
        G1 Z10 F6000      												; lift Z relative to current position
        G90             												; absolute positioning
        
        
        ; set motors to print settings
        M400 															; make sure everything has stopped before we reset the motor current
        M913 X100 Y100 													; motor current back to 100%
        
        G91             												; relative positioning
        G1 Z10 F6000      												; lift Z relative to current position
        G90             												; absolute positioning
        G1 x10 y10 F6000      											; move x/y relative to current position
        

        homez.g

        ; homez.g
        ; called to home the Z axis
        ;
        ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jun 28 2020 17:19:17 GMT-0400 (Eastern Daylight Time)
        
        
        G91              												; relative positioning
        G1 H2 Z5 F6000   												; lift Z relative to current position
        
        G90              												; absolute positioning
        G1 X150 Y150 F6000 												; go to first probe point
        
        G30 															; use probe to find Z 0
        
        G91             												; relative positioning
        G1 Z10 F6000      												; lift Z relative to current position
        G90             												; absolute positioning
        
        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator @Phaedrux
          last edited by Phaedrux

          @Phaedrux said in Unable to set Z offset with PINDA probe:

          Z+ should move the bed up towards the nozzle and Z- should move the bed down away from the nozzle, correct? Flip that. Z- to the nozzle, and Z+ away from nozzle.

          Sorry. My mistake there.

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            @CarbonVirus said in Unable to set Z offset with PINDA probe:

            It is a Core X/Y, and positive should move the bed down away from the gantry I believe (jogging positive results in the bed descending).

            Yes. That is correct. Sorry for the confusion.

            @CarbonVirus said in Unable to set Z offset with PINDA probe:

            Cannot raise bed (send negative movement commands) without disabling axis endstops (M564 S0)

            I think this is because of your odd trigger height.

            @CarbonVirus said in Unable to set Z offset with PINDA probe:

            Send gantry to z0
            Observe nozzle is still ~4mm away from print bed

            What your G31 Z-0.4 trigger height is saying, is that when you send G30 to probe the bed, when the probe triggers the nozzle is at -0.4mm inside the surface of the bed. You can't send a negative value after that because it already thinks you're touching the bed.

            If your nozzle is still far away from the bed at that point, you need to redo the trigger height calibration because something went wrong.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • CarbonVirusundefined
              CarbonVirus
              last edited by

              alright, achieved proper z-offset with following configs
              config.g

              ; Configuration file for Duet WiFi (firmware version 3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jun 28 2020 17:19:16 GMT-0400 (Eastern Daylight Time)
              
              ; General preferences
              G90                                                	; send absolute coordinates...
              M83                                                	; ...but relative extruder moves
              M550 P"CarbonCube"                                 	; set printer name
              M669 K1                                            	; select CoreXY mode
              
              ; Network
              M552 S1                                            	; enable network
              M586 P0 S1                                         	; enable HTTP
              M586 P1 S0                                         	; disable FTP
              M586 P2 S0                                         	; disable Telnet
              
              ; Drives
              M569 P0 S1                                         	; physical drive 0 goes forwards
              M569 P1 S0                                         	; physical drive 1 goes forwards
              M569 P2 S0                                         	; physical drive 2 goes forwards
              M569 P3 S0                                         	; physical drive 3 goes forwards
              M584 X0 Y1 Z2 E3                                   	; set drive mapping
              M350 X16 Y16 Z16 E16 I1                            	; configure microstepping with interpolation
              M92 X160.00 Y160.00 Z800.00 E418.60                	; set steps per mm
              M566 X1800.00 Y1800.00 Z400.00 E4000.00            	; set maximum instantaneous speed changes (mm/min)
              M203 X12000.00 Y12000.00 Z2000.00 E120000.00       	; set maximum speeds (mm/min)
              M201 X1000.00 Y1000.00 Z400.00 E2000.00            	; set accelerations (mm/s^2)
              M906 X1450 Y1450 Z1450 E1450 I30                   	; Set motor currents (mA) and motor idle factor in per cent
              M84 S30                                            	; set idle timeout
              
              ; Axis Limits
              M208 S1 X0 Y0 Z0                                 	; set axis minima
              M208 S0 X300 Y300 Z300                             	; set axis maxima
              
              ; Endstops
              M574 X1 S4                                         	; configure sensorless endstop for low end on X
              M574 Y1 S4                                         	; configure sensorless endstop for low end on Y
              
              ; Z-Probe
              M574 Z1 S2 ; Set endstops controlled by probe
              M558 P5 C"^zprobe.in" I1 H0.7 F1000 T6000 A20 S0.005; PINDA
              G31 P500 X30 Y-20 Z2.75							; set z-probe offset height
              M557 X100:200 Y100:200 P2                           ; 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 B1 S1.00                                   	; enable bang-bang mode for the bed heater and set PWM limit
              M140 H0                                            	; map heated bed to heater 0
              M143 H0 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 B0 S1.00                                   	; 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 S0 H-1                                     	; set fan 0 value. Thermostatic control is turned off
              M950 F1 C"fan1" Q500                               	; create fan 1 on pin fan1 and set its frequency
              M106 P1 S1 H1 T45                                  	; set fan 1 value. Thermostatic control is turned on
              
              ; Tools
              M563 P0 D0 H1 F0                                   	; define tool 0
              
              ; Custom settings are not defined
              
              ; Miscellaneous
              M501                                               	; load saved parameters from non-volatile memory
              M911 S10 R11 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
              

              homez.g

              ; homez.g
              ; called to home the Z axis
              ;
              ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jun 28 2020 17:19:17 GMT-0400 (Eastern Daylight Time)
              
              
              G91              												; relative positioning
              G1 H2 Z5 F6000   												; lift Z relative to current position
              
              G90              												; absolute positioning
              G1 X150 Y150 F6000 												; go to first probe point
              
              G30 															; use probe to find Z 0
              
              G91             												; relative positioning
              G1 Z10 F6000      												; lift Z relative to current position
              G90             												; absolute positioning
              

              I think the stem of the entire issue was the incorrect homing command (using the endstop style command instead of a probe G30); still need to determine what could be wrong with my thermistor 😕
              Thank you very much @Phaedrux for the assistance; I got all turned about when messing with the offset/axis limit/homing commands and your assistance was quite helpful (as well as all others who chimed in)!

              Phaedruxundefined 1 Reply Last reply Reply Quote 1
              • Phaedruxundefined
                Phaedrux Moderator @CarbonVirus
                last edited by

                @CarbonVirus said in Unable to set Z offset with PINDA probe:

                still need to determine what could be wrong with my thermistor

                Do you mean the pinda thermistor?

                Z-Bot CoreXY Build | Thingiverse Profile

                CarbonVirusundefined 1 Reply Last reply Reply Quote 0
                • CarbonVirusundefined
                  CarbonVirus @Phaedrux
                  last edited by

                  @Phaedrux
                  I believe @Veti was indicating the default thermistor my bed uses based off the reprap auto configuration tool is wrong. I wasn't planning on using the PINDA thermistor as I only ever print with the bed at 60c and plan to do the mesh grid probing at that temp so there shouldn't be variance, correct?
                  Reading up on the PINDA temp compensation was rather perplexing TBH.

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    Right. Do you know what kind of thermistor you have? What kind of printer is it? did it come with the hotend? What is it?

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • CarbonVirusundefined
                      CarbonVirus
                      last edited by

                      It's a fully custom printer I've been tinkering with 2+ years; Core X/Y with a single Z axis drive and a 20x20 cube chassis.
                      The thermistor is the standard thermistor included with the E3D V6 Lite. The bed thermistor is outlined in the above comments.

                      1 Reply Last reply Reply Quote 0
                      • Vetiundefined
                        Veti @CarbonVirus
                        last edited by

                        @CarbonVirus said in Unable to set Z offset with PINDA probe:

                        it has a NTC 100k 3950B thermistor.

                        So the B value for your bed is 3950

                        @CarbonVirus said in Unable to set Z offset with PINDA probe:

                        The thermistor is the standard thermistor included with the E3D V6 Lite

                        this one has 2 values B4725 C7.06e-8

                        1 Reply Last reply Reply Quote 1
                        • CarbonVirusundefined
                          CarbonVirus
                          last edited by

                          Excellent, I've updated the thermistor values and am running a test print ATM; thank you for the assistance @Veti 👍

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