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

    SZP in touch mode

    Scheduled Pinned Locked Moved
    General Discussion
    4
    14
    258
    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.
    • CaiJonasundefined
      CaiJonas
      last edited by

      Hello all,

      I have designed a completely new print head on my printer because of the SZP.

      I'm a little disapointed, the working hight is very limited. If it is too low I get 999999 readings and if it is too high too, I was able to find a working corridor of only 2mm.

      I'm also not able to setup a Z offset with touch mode. I tried a work around within the beg.g file but this looks not the right way to me.

      In addition to that I'm not shure if I understood the whole topic well enough. Maybe some of you found a mistake or better way to do in my attached files.

      Thank you very much.

      Best Regards

      ; bed.g
      ; called to perform automatic bed compensation via G32
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.2 on Sun Sep 26 2021 18:00:56 GMT+0200 (Mitteleuropäische Sommerzeit)
      M561 							; clear any bed transform
      G90								; absolute postioning
      G28                             ; home
      G1 X60 Y5 Z3 F20000 			;
      M558.3 K0 S1 V0.6 F100        	;
      G30 K0 S-2 Z-99999              ;
      M558.3 K0 S0                	;
      G91								; absoluterelative postioning
      G1 Z-0.025                      ;
      G92 Z0                          ;
      G90								; absolute postioning
      G29								; probe the bed and enable compensation
      
      ; mesh.g
      T0                              ;
      G90								; absolute postioning
      G29 S2                          ; clear hight map
      M557 X20:100 Y20:100 P10        ; Define grid for mesh bed compensation, origin in bed centre
      G31 K0 Z1.5 Y15.5			    ; define probe 1 offsets and trigger height
      M558.1 K0 S0.3                  ; Calibrate probe
      G1 Z5                           ; Move up at end of calibration
      G29 S0 K0                       ; Scan bed and create mesh
      
      
      ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Jan 12 2022 22:48:14 GMT+0100 (Mitteleurop ische Normalzeit)
      
      ; General preferences
      G4 S2																	; wait for expansion boards to start
      M575 P1 S1 B57600														; enable support for PanelDue
      G90																		; send absolute coordinates...
      M83																		; ...but relative extruder moves
      M550 P"COREXY"															; set printer name
      M669 K1																	; select CoreXY mode
      
      ; Network
      M552 S1		P"Brinus&Chairex 2.4"										; enable network
      M586 P0 S1																; enable HTTP
      			;
      
      ; Drives
      M569	P0.0 S0	D2 		    								    		; physical drive 0.0 goes forwards
      M569	P0.1 S1	D3 	   	V10 					    					; physical drive 0.1 goes forwards
      M569	P0.2 S1	D3 		V10				    							; physical drive 0.2 goes forwards
      M569	P0.3 S0	D2 							    						; physical drive 0.3 goes forwards
      M569	P0.4 S1	D2 					        							; physical drive 0.3 goes forwards V2000	D3
      M584	X0.1	Y0.2	Z0.3:0.4	E0.0								; set drive mapping
      M350 	X16 	Y16 	Z16 		E16 	I1							; configure microstepping with interpolation
      M92		X160	Y160	Z480		E562								; set steps per Z3200 E562
      M201 	X7500	Y7500	Z1500		E10000								; Set print accelerations (mm/s^2) Z1200
      M201.1	X500	Y500	Z500		E10000								; Set accelerations for special moves (mm/s^2)
      M204	P7500	T7500													;
      M203 	X15000	Y15000	Z15000		E10000								; Set maximum speeds (mm/min) Z1200
      M566 	X20		Y20		Z20			E10		P1						    ;
      M205 	X20		Y20		Z20			E10		P1						    ; set maximum instantaneous speed changes (mm/sec) M205 	X20		Y20		Z10			E10		P1	
      M906 	X1650	Y1650	Z1250		E600	I15							; set motor currents (mA) and motor idle factor in per cent
      M84		S60																; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1														; set axis minima
      M208 X120 Y120 Z103	 S0													; set axis maxima
      		
      ; Endstops
      M574 X1 S3																; configure sensorless endstop for low end on X
      M574 Y1 S3																; configure sensorless endstop for low end on Y
      M574 Z2 S1 P"io4.in"													; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io0.in M574 Z1 S1 P"io4.in"
      M915 X	Y	S8	R0	F0	H400											; Sensorless homing
      
      ; Scanning Z probe
      M558 K0 P11 C"120.i2c.ldc1612" F36000 T36000							; configure SZP as probe 1, type 11, on CAN address 120
      M308 A"SZP coil" S10 Y"thermistor" P"120.temp0"							; thermistor on SZP coil
      M558.2 K0 S18 R139427													; set drive current and reading offset	18, offset is 139427
      M557 X20:100 Y20:100 S10												; Define mesh grid for probe 1 (overwrites probe 0 mesh grid)
      
      ; Sensors
      M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8		; configure sensor #0
      M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4388 C7.06e-8			; configure sensor #1
      
      ; Heaters
      M950 H0 C"out0" T0														; create bed heater output on out0 and map it to sensor 0
      M143 H0 P0 T0 C0 S115 A0												; configure heater monitor #0 for heater #0
      M307 H0 R1.088 K0.626:0.000 D3.70 E1.35 S1.00 B0						; disable bang-bang mode for the bed heater and set PWM limit
      M950 H1 C"out2" T1														; create nozzle heater output on out1 and map it to sensor 1
      M143 H1 P0 T1 C0 S285 A0												; configure heater monitor #0 for heater #1
      M307 H1 R4.925 K0.407:0.472 D1.40 E1.35 S1.00 B0 V24.2					; configure model of heater #1
      
      ; Heated beds
      M140 P0 H0																; configure heated bed #0
      
      ; Fans
      M950 F0 C"out5" Q500													; create fan 0 on pin out3 and set its frequency
      M106 P0 S0 H-1															; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"out1" Q500													; create fan 1 on pin out4 and set its frequency
      M106 P1 S1 H1 T45														; set fan 1 value. Thermostatic control is turned on
      M950 F2 C"out6" Q500													; create fan 2 on pin out3 and set its frequency
      M106 P2 S0 H1 T45														; set fan 2 value. Thermostatic control is turned off
      M950 F3 C"!out4+out4.tach" Q25000										; create fan 3 on pin out4 and set its frequency												
      M106 P3 S1 X0.45 H1 T50													; set fan 3 value. Thermostatic control is turned off
      	
      ; Tools
      M563 P0 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
      
      ; Accelerometer
      M955 P120.0 I24															; Add accelerometer on SZP with CAN address 120 and specify orientation
      
      ; Custom settings are not defined
      M501																	;
      
      dc42undefined gloomyandyundefined 2 Replies Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @CaiJonas
        last edited by

        @CaiJonas when the nozzle just touches the bed, what is the distance between the probe coil and the bed? What is the bed surface?

        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

        CaiJonasundefined 1 Reply Last reply Reply Quote 0
        • gloomyandyundefined
          gloomyandy @CaiJonas
          last edited by

          @CaiJonas You may find this thread over on discord of interest. I went through most of the process of setting things up to use touch mode for homing (including using two different sensor current settings for rough homing/scanning and actual touch homing). Note that these instructions are for the "old" sensitivity setting in beta.4 not the new one used in rc.1, but the procedure is the same. Also be aware that this is just how I decided to go through the various steps, I'm sure there are better ways to do some of it. There are a couple of folks over there that have followed this process and that seem to have it working. Please make sure that you follow the steps with caution, you are after all crashing the nozzle into your bed. Please also remember that the current touch implementation is experimental and may change in future releases. Use it with care!

          https://discord.com/channels/711873626080804914/1345788631457202239

          CaiJonasundefined 1 Reply Last reply Reply Quote 0
          • CaiJonasundefined
            CaiJonas @dc42
            last edited by

            @dc42

            the distance is 4mm. If I reduce the distance I cannot use the touch mode because I get 999999 error when the nozzle touch the bed.

            It is a textured pei plate with a magnetic foil to hold it.

            Best Regards,
            Cai

            dc42undefined 1 Reply Last reply Reply Quote 0
            • CaiJonasundefined
              CaiJonas @gloomyandy
              last edited by

              @gloomyandy

              Thank you very much for your help.

              Unfortunately I cannot open the link. Could you please share again?

              Best Regards,
              Cai

              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
              • jay_s_ukundefined
                jay_s_uk @CaiJonas
                last edited by

                @CaiJonas you may need to join our discord channel before being able to open the link
                https://discord.gg/uS97Qs7

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                CaiJonasundefined 1 Reply Last reply Reply Quote 0
                • CaiJonasundefined
                  CaiJonas @jay_s_uk
                  last edited by

                  @jay_s_uk great now it works. thank you very much

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

                    @CaiJonas 2mm sounds like a very small window, I would expect more. I presume you have tried using different drive levels (M558.2). If you set the minimum drive level that doesn't give a 999999 reading with the nozzle touching the bed, how high can you raise the nozzle before you get a 999999 reading?

                    The RC1+2 firmware at https://www.dropbox.com/scl/fo/y03luwmbypirbxncla3rk/AAJFLPFsVdFylemyhkXsAac?rlkey=7cq4svp4rzl2ztdffpzq2ghjk&dl=0 may provide a larger window than RC1 does.

                    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

                    CaiJonasundefined 1 Reply Last reply Reply Quote 0
                    • CaiJonasundefined
                      CaiJonas @dc42
                      last edited by

                      @dc42 this firmware is not making a difference.

                      May I ask some general question.

                      1. I calibrated the szp when the printer was preheated, otherwise it will not work
                      2. for what do I have to calibrate the probe: M558.1 K0. Is this needed before calbritating z = 0 with this command: G30 K0 S-2 Z-99999 ?
                      3. is there aother explanation for triggert hight and offset?

                      Best Regards
                      Cai

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

                        @CaiJonas the M558.1 calibration is needed (a) to set up the probe for use in scanning mode, and (b) to calibrate the trigger height and value if you execute a G30 command using the probe without putting it in touch mode. The calibration is not used when executing G30 in touch mode.

                        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

                        CaiJonasundefined 1 Reply Last reply Reply Quote 0
                        • CaiJonasundefined
                          CaiJonas @dc42
                          last edited by

                          @dc42
                          thanks for the fast answer. As I understood now, M558.1 calibration is needed if I would home z with the SZP and it is needed for the scanning.

                          I have an end switch at z limit to home and I use SZP in touch mode for z = 0 adjust.

                          I have played today after going back to 3.6.0 Release Candidate 1.

                          I recalibrate and have now M558.2 K0 S16 R133143.

                          Now I have a much bigger reading window/corridore. I don't know why not before.

                          In addition to that I do not need any more the turn around to adjust Z = 0.

                          My files now look like that:

                          ; bed.g
                          T0                              ; se3lect tool1
                          M561 							; clear any bed transform
                          G90								; absolute postioning
                          G28                             ; home
                          G1 X60 Y5 Z3 F20000 			;
                          M558.3 K0 S1 V0.6 F100        	;
                          G30 K0 S-2 Z-99999              ;
                          M558.3 K0 S0                	;
                          G91								; absoluterelative postioning
                          G1 Z0.00                        ;
                          G92 Z0                          ;
                          G90								; absolute postioning
                          G29								; probe the bed and enable compensation
                          
                          ; mesh.g
                          T0                              ;
                          G90								; absolute postioning
                          G29 S2                          ; clear hight map
                          M557 X20:100 Y20:100 P10        ; Define grid for mesh bed compensation, origin in bed centre
                          G31 K0 Z2 Y15.5			    ; define probe 1 offsets and trigger height
                          M558.1 K0 S0.3                  ; Calibrate probe
                          G1 Z5                           ; Move up at end of calibration
                          G29 S0 K0                       ; Scan bed and create mesh
                          
                          

                          If needed where can I adjust the z offset after probing in touch mode?

                          best regards
                          Cai

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

                            @CaiJonas said in SZP in touch mode:

                            If needed where can I adjust the z offset after probing in touch mode?

                            M558.3 H parameter.

                            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

                            CaiJonasundefined 1 Reply Last reply Reply Quote 0
                            • CaiJonasundefined
                              CaiJonas @dc42
                              last edited by

                              @dc42

                              it's getting clearer. Thanks alot.

                              in which order do I have to put it

                              a)
                              M558.3 K0 S1 V0.6 F100 HXXX
                              G30 K0 S-2 Z-99999

                              or

                              b)
                              M558.3 K0 S1 V0.6 F100
                              G30 K0 S-2 Z-99999
                              M558.3 HXXX

                              and what about the S parameter in G30, do I need S-3 or S-2?

                              Best Regards
                              Cai

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

                                @CaiJonas both (a) and (b) will work. If you are using G30 to set Z=0 then don't use S-2 or S-3 in the G30 command. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#description-3.

                                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
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA