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

    Weird behaviour after first print

    Scheduled Pinned Locked Moved
    Beta Firmware
    8
    29
    1.8k
    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.
    • MartinNYHCundefined
      MartinNYHC
      last edited by MartinNYHC

      Guys, I think i really need some help. Pulling my hairs out since three days 😅

      Voron2.4, Duet 3 6HC with tool board 1LC v1.1, RRF 3.3.0.

      As z-probe I'm using Klicky probe (https://github.com/jlas1/Klicky-Probe). It's just an endstop switch located under the tool head.

      After powering up the printer everything works like charm. When a print is finished or aborted and I start a new print Klick probe regularly fails with "Probe already triggered before probing move started" when doing gantry leveling or bed mesh. When doing gantry leveling it simply infinite goes to the four probe points without going down and probe the bed. When doing a bed mesh it just aborts the procedure. The interesting thing is (as I can say for now), that also an emergency reset doesn't fix the issue! Only after switching off the printer and powering it up again everything works fine (but again only for the first print).

      Config snippets are attached.

      May I ask for you help please. I'm lost 😂

      #
      #
      #
      G4 S1   ;wait for expansion boards to start
      
      ; General preferences
      M111 S0                     ; Debugging off
      G21                         ; Work in millimetres
      G90                         ; Send absolute coordinates...
      M83                         ; ...but relative extruder moves
      
      M669 K1                     ; Select CoreXY mode
      M564 S1 H1                  ; Forbid axis movements when not homed
      
      ; --- Z Drive map ---
      ;     _______
      ;    | 3 | 4 |
      ;    | ----- |
      ;    | 2 | 5 |
      ;     -------
      ;      front
      ;
      
      ; Drive directions
      M569 P0 S1 ; A (X)
      M569 P1 S1 ; B (Y)
      M569 P2 S1 ; Z1
      M569 P3 S0 ; Z2
      M569 P4 S1 ; Z3
      M569 P5 S0 ; Z4
      M569 P121.0 S1 ; E
      
      ; Motor mapping and steps per mm
      M584 X1 Y0 Z2:3:4:5 E121.0
      M350 X16 Y16 Z16 E16 I1         ; Use 1/16 microstepping with interpolation everywhere
      M92 X80 Y80 Z400 E760.22        ; Set XYZE steps per mm (1.8deg motors)
      
      ; Drive currents
      M906 X1500 Y1500 Z1500 E850     ; XYZ and E current
      M906 I30                        ; Idle current percentage
      M84 S120                        ; Idle timeout
      
      ; Accelerations and speed
      M566 X600 Y600 Z60 E600        ; Set maximum instantaneous speed changes (mm/min)
      M203 X18000 Y18000 Z3000 E1200 ; Set maximum speeds (mm/min)
      M201 X5000 Y5000 Z250 E5000     ; Set maximum accelerations (mm/s^2)
      
      ; PA, DAA
      M572 D0 S0.026                       ; Pressure Advance
      ;M593 P"zvd" F54.4
      M593 P"daa" F54.4
      
      ; Accelerometer
      ;M955 P121.0 I05
      
      ; Axis travel limits
      M208 X5 Y-5 Z0 S1               ; Set axis minima
      M208 X350 Y350 Z375 S0          ; Set axis maxima
      
      ; Endstops
      M574 X2 S1 P"^io1.in"          ; Xmax endstop on hall effect board
      M574 Y2 S1 P"^io2.in"          ; Ymax endstop on hall effect board
      M574 Z0 P"nil"                  ; No Z endstop
      
      ; Z probes
      M558 P8 C"^121.io0.in" T18000 F300 H2.5 A31 S0.003			; Klicky Probe
      G31 K0 P500 X0 Y19.75 Z15			  ; Klicky Probe
      M558 K1 P8 C"^io3.in" T18000 F240:120 H5 A10 S0.005 R0.2
      
      ; Filament Sensor
      ;M950 J1 C"121.io2.in"
      ;M581 P1 T2 S0 R1
      
      ; Bed leveling
      M671 X-53:-53:400:400 Y-5:420:420:-5 S20      ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right)
      M557 X20:330 Y20:300 P5:5                     ; Define bed mesh grid (inductive probe, positions include the Y offset!)
      
      ; Bed heater (dual thermistor setup)
      M308 S0 P"temp0" Y"thermistor" T100000 B3950             ; configure sensor 0 as thermistor on pin temp1
      M950 H0 C"out1" T0                                       ; create bed heater output on out1 and map it to sensor 0
      M307 H0 B0 S1.00                                         ; disable 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
      
      ; Hotend heater
      M308 S1 P"121.temp1" Y"thermistor" T100000 B3950
      M950 H1 C"121.out0" T1                                      ; create nozzle heater output on out2 and map it to sensor 1
      M307 H1 B0 S0.8       		                                ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S350                                                ; Set temperature limit for heater 1 to 350C
      
      ; Chamber Thermistor
      M308 S2 P"temp1" A"Chamber" Y"thermistor" T100000 B3950
      
      ; MCU sensors
      M308 S3 Y"mcu-temp" A"MCU"
      M308 S4 Y"drivers" A"Drivers"
      M912 P0 S-13					                       ; MCU temp calibration
      
      ; Fans
      M950 F0 C"121.out1" Q10000                                 ; create fan 1 on pin out5 and set its frequency
      M106 P0 C"Bed" S0 H-1
      M950 F1 C"121.out2"                                     ; create fan 1 on pin out5 and set its frequency
      M106 P1 C"Hotend" L1 X1 H1 T50 S1
      M950 F2 C"out7" Q10                                    ; create fan 1 on pin out5 and set its frequency
      M106 P2 C"Filter" S0 H-1 B0.2
      M950 F3 C"out4" Q24000                                     ; create fan 2 on pin out6 and set its frequency
      M106 P3 S0.50 H-1 B1 C"Bay Left"                                ; set fan 2 value. Thermostatic control is turned off
      M950 F4 C"1.out3" Q24000                                     ; create fan 2 on pin out6 and set its frequency
      M106 P4 S0 H-1 B1 C"Bay Right"                                ; set fan 2 value. Thermostatic control is turned off
      M950 F5 C"out5"	                                    ; create fan 3 on pin out7 and set its frequency
      M106 P5 S0.2 H-1 C"SBC"
      M950 F6 C"out6"							 			   ; create fan 2 on pin fan2
      M106 P6 S1 H-1 C"Light"
      
      ; Tools
      M563 P0 S"Hotend" 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
      
      ; Enable debugging via USB
      ;M111 S1 P0												; Platform
      ;M111 S1 P1												; Network
      ;M111 S1 P2												; Webserver
      ;M111 S1 P3												; GCodes
      ;M111 S1 P4												; Move
      ;M111 S1 P5												; Heat
      ;M111 S1 P6												; DAA
      ;M111 S1 P7												; Roland
      ;M111 S1 P8												; Scanner
      ;M111 S1 P9												; PrintMonitor
      ;M111 S1 P10												; Storage
      ;M111 S1 P11												; PortControl
      ;M111 S1 P12												; DuetExpansion
      ;M111 S1 P13												; FilamentSensor
      ;M111 S1 P14 											; Wifi
      ;M111 S1 P15												; Display
      ;M111 S1 P16												; LinuxInterface
      ;M111 S1 P17												; CAN
      
      M575 P1 S1 B115200	                ; enable support for PanelDue
      M501                                ; load config-override.g
      T0                                  ; select tool 0
      
      ### bed.g
      M558 K0 H10
      
      M561 ; clear any bed transform
      
      G28 ; home
      
      if move.axes[1].machinePosition > 270:
              G1 Y250 F9000
      
      G1 X282.5 Y350 F9000
      
      G91
      G1 Z5
      G90
      
      G1 Y300 F9000
      
      while iterations <=1                                            ; Perform 2 passes.
              G30 P0 X20 Y25 Z-99999 F9000                                                                    ; probe Z left front
              G30 P1 X20 Y320 Z-99999 F9000                                                           ; probe Z left rear
              G30 P2 X330 Y320 Z-99999 F9000                                                      ; probe Z right rear
              G30 P3 X330 Y25 Z-99999 S4 F9000                                                                ; probe Z right front
              G1 H2 Z12 F2600                                                                                                 ; raise head 4mm to ensure it is above the Z probe trigger height
              M400                                                                                                            ; finish move, clear buffer
              M558 K0 H2.5                                                                                            ; VINDA  height to 2.5mm after first run
      
      while move.calibration.initial.deviation >= 0.003          ; Perform additional leveling if previous deviation was over 0.01mm.
              G30 P0 X20 Y25 Z-99999 F9000                                                                    ; probe Z left front
              G30 P1 X20 Y320 Z-99999 F9000                                                           ; probe Z left rear
              G30 P2 X330 Y320 Z-99999 F9000                                                      ; probe Z right rear
              G30 P3 X330 Y25 Z-99999 S4 F9000                                                                ; probe Z right front
              G1 H2 Z12 F2600                                                                                                 ; raise head 4mm to ensure it is above the Z probe
       trigger height
              M400                                                                                                            ; finish move, clear buffer
      
      echo "Gantry deviation of " ^ move.calibration.initial.deviation ^ "mm obtained."
      G1 Z12                                         ; Raise nozzle 8mm to ensure it is above the Z probe trigger height.
      
      G1 X282.5 F9000
      G1 Y350 F9000
      G1 X300 F9000
      
      G28 ; Homing again for accurate Z offset
      
      ### mesh.g
      if !move.axes[0].homed && !move.axes[1].homed && !move.axes[2].homed
              G28 ; home
      
      M561 ; clear any bed transform
      
      if move.axes[1].machinePosition > 270:
              G1 Y250 F9000
      
      G1 X282.5 F9000
      G1 Y350 F9000
      G1 Y300 F9000
      
      G29 K0
      
      M564 S1
      
      G1 Z12                                                      ; Raise nozzle 8mm to ensure it is above the Z probe trigger height.
      
      G1 X282.5 F9000
      G1 Y350 F9000
      G1 X300 F9000
      
      ### homeall.g
      M913 X50 Y50 Z50                   ; set X Y Z motors to 70% of their normal current
      
      G91                                 ; relative positioning
      G1 Z8 F800 H2                       ; lift Z relative to current position
      G90
      
      G1 H1 X999 F6000                    ; move quickly to X axis endstops and stop there (first pass)
      G1 H1 Y999 F6000                    ; move quickly to Y axis endstops and stop there (first pass)
      
      if move.axes[1].machinePosition >= 329:
              G1 Y325 F3600
      
      G1 X231 F3600
      G1 Y345.8 F3600                                 ;position of Z swtich
      G30 K1 Z-99999
      
      G1 Z10 F6000
      G1 X177 Y166 F6000                  ; put head over the centre of the bed
      M913 X100 Y100 Z100                 ; set X Y Z motors to 100% of their normal current
      
      ### Slicer Start Code
      M104 S[first_layer_temperature_[current_extruder]]
      M140 S[first_layer_bed_temperature]
      M109 S[first_layer_temperature_[current_extruder]]
      M190 S[first_layer_bed_temperature]
      M83 ;relative extrusion
      G21                                         ; metric values
      M290 R0 S0                 ; reset baby stepping
      M220 S100                  ; reset speed
      M106 S0            ; turn off fan 0
      M561            ; Disable any current bed compensation
      G32
      G1 X82 Y350 Z4.50 F9000
      G1 X122 F6000
      G1 X82 F6000
      G1 X122 F6000
      G1 X82 F6000
      G1 X122 F6000
      G1 X177 Y166 Z6 F9000
      M564 S0         ; disable axis limits
      G90 G1 Z3 F400
      M400
      G92 Z4                  ; Reset z to 8 to allow jogging up to touch bed to nozzle
      M291 P"Jog the Z Axis until the bed and nozzle are touching and click OK" R"Setting Z=0" Z1 S3
      M400
      G92 Z0                  ; Set z = 0
      G1 Z15
      G1 X282.5 F9000
      G1 Y350 F9000
      G1 Y300 F9000
      G1 X177 Y166 F9000
      M400
      G30 S-1
      M400
      G1 Z15
      M400
      G30 S-1
      M400
      G1 Z15
      M400
      G30 S-1
      M400
      G1 Z15
      M400
      G30 S-1
      M400
      G1 Z15
      M400
      G30 S-3 ; measure probe height and set it.
      M400
      M500 P31 ; save trigger height to config-override.g
      M564 S1         ; enable axis limits
      M557 X20:335 Y20:300 P5:5  ; mesh grid dummy
      G29     K0 S0      ; mesh bed leveling
      G29 S1             ; load bed mesh
      G1 X282.5 F9000
      G1 Y350 F9000
      G1 X300 F9000
      M109 S[first_layer_temperature_[current_extruder]]
      M190 S[first_layer_bed_temperature]
      G92 E0 ; reset extrusion distance
      G1 Y320 F9000
      G1 X45 Y330 Z4.50 F9000
      G1 Y350 F9000
      G1 E10 F300
      G92 E0 ; reset extrusion distance
      G1 X82 F9000
      G1 X122 F6000
      G1 X82 F6000
      G1 X122 F6000
      G1 X82 F6000
      G1 X122 F6000
      G1 X82 F6000
      G1 Z10 F6000
      G1 X177 Y166 Z10 F6000
      
      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @MartinNYHC
        last edited by dc42

        @martinnyhc is it a normally open or a normally-closed switch? A possible explanation is that you are using a normally open switch and you have run the wires close to the extruder motor cable, with no shielding between the two, so that the switch wire is picking up interference from the extruder motor cable.

        Normally closed endstop switches and Z probes are much less susceptible to capacitive interference pickup. So if the switch has both NO and NC contacts, I suggest you change to using the NC contacts. If it has only NO contacts, then you can either shield the switch wire, or use M18 to disable the extruder motor before probing.

        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
        • MartinNYHCundefined
          MartinNYHC
          last edited by

          Whew....that had never come to my mind. The switch has NO and NC contacts. Before changing this (I have to put off the complete tool head) I'll try with disabling the extruder motor when using the probe.

          Thanks!

          1 Reply Last reply Reply Quote 0
          • MartinNYHCundefined
            MartinNYHC
            last edited by

            Oh...and yes, wires are running close. The switch is connected to the tool board io0 beside the stepper port.

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

              @martinnyhc said in Weird behaviour after first print:

              Oh...and yes, wires are running close. The switch is connected to the tool board io0 beside the stepper port.

              I would not normally expect it to be a problem when using a tool board, assuming the tool board is mounted on the print head, because the wires are so much shorter. But try the M18 test.

              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
              • MartinNYHCundefined
                MartinNYHC
                last edited by

                Just tried with M18 E0 but that doesn't change anything. Beside of that I observed the following after doing an emergency stop and moving the tool head up to deattach the probe:

                https://drive.google.com/file/d/1xjToNHtGSHgUNfDPdsizFRtVbSMX8VJ_/view?usp=sharing

                Very strange.

                1 Reply Last reply Reply Quote 0
                • MartinNYHCundefined
                  MartinNYHC
                  last edited by

                  Just got "Error: Probe already triggered before probing move started" directly after switching off/on the printer. That was the first time.

                  DIY-O-Sphereundefined 1 Reply Last reply Reply Quote 0
                  • DIY-O-Sphereundefined
                    DIY-O-Sphere @MartinNYHC
                    last edited by

                    @martinnyhc
                    Could get a bit tricky with a detached probe...then the cuircit is open....

                    (UTC+1)

                    1 Reply Last reply Reply Quote 0
                    • MartinNYHCundefined
                      MartinNYHC
                      last edited by

                      I know t his is wokring for many many guys. And it already worked for me too 😉

                      1 Reply Last reply Reply Quote 0
                      • MartinNYHCundefined
                        MartinNYHC
                        last edited by

                        Hold on. Perhaps I've found the problem. DWC showed status 1000 when the probe is disconnected and 0 if connected. That should be the other way around. Changed C"^121.io0.in" to C"!^121.io0.in".

                        1 Reply Last reply Reply Quote 0
                        • MartinNYHCundefined
                          MartinNYHC
                          last edited by

                          Since the change it goes to the probe points but not down to probe the bed at all.

                          I'm at my wits end.

                          1 Reply Last reply Reply Quote 0
                          • MartinNYHCundefined
                            MartinNYHC
                            last edited by

                            That was bullsh****. All was properly installed. So I have no more ideas.

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

                              This is a detachable probe that must be docked, correct?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • MartinNYHCundefined
                                MartinNYHC
                                last edited by

                                Yes, correct.

                                1 Reply Last reply Reply Quote 0
                                • MartinNYHCundefined
                                  MartinNYHC
                                  last edited by MartinNYHC

                                  Maybe I found the problem. Just upgraded to 3.4-b2 to test input shaping and recognized that the accelerometer on the toolboard was not recognized. M122 B121 reported that no accelerometer could be found. Took the tool board from my other printer and it worked. Also currently it looks like the probe problems are gone. To be sure I'll test this a little bit more today.

                                  1 Reply Last reply Reply Quote 0
                                  • MartinNYHCundefined
                                    MartinNYHC
                                    last edited by MartinNYHC

                                    Problem is still there 🤕

                                    There is a new additional error message after the upgrade.

                                    **Error: G32 has thrown an exception: [NullReferenceException] Object reference not set to an instance of an object.**
                                    Error: Probe already triggered at start of probing move
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • MartinNYHCundefined
                                      MartinNYHC
                                      last edited by

                                      And with G29 I now get

                                      Screenshot 2021-08-15 at 19.48.23.png

                                      chrishammundefined 1 Reply Last reply Reply Quote 0
                                      • chrishammundefined
                                        chrishamm administrators @MartinNYHC
                                        last edited by

                                        @martinnyhc There must be an exception or cancelled code somewhere in your bed.g which is why you get that exception. I've got a fix ready that will be included in 3.4-b3. Also you seem to call G29 without S parameter in mesh.g, which will invoke mesh.g over and over again until you get a stack overflow.

                                        Duet software engineer

                                        1 Reply Last reply Reply Quote 0
                                        • MartinNYHCundefined
                                          MartinNYHC
                                          last edited by

                                          Yep, already fixed that. I need to do some further testing regarding the probe. In the meantime if did a fresh SBC install.

                                          1 Reply Last reply Reply Quote 0
                                          • MartinNYHCundefined
                                            MartinNYHC
                                            last edited by

                                            OK, spent the day with doing a clean SBC install (RRF 3.3.0) and rewriting all config files and macros. The main issue I have still persists. Gantry and bed leveling works like charm if it is the first print. As soon as a print finished or where cancelled and I start a new print it fails.

                                            Fails means for example: The first thing of course is homing. Second thing is gantry leveling.

                                            ; bed.g
                                            ; called to perform automatic bed compensation via G32
                                            
                                            if !move.axes[0].homed && !move.axes[1].homed && !move.axes[2].homed
                                            	G28 ; home
                                            
                                            M558 K0 H10 F400												; set trigger height
                                            
                                            M561 															; clear any bed transform
                                            
                                            M98 P"0:/macros/sys/undock_klicky_probe.g"						; undock clicky probe
                                            
                                            while iterations <=1											; first pass
                                            	G30 P0 X20 Y25 Z-99999 F9000 								; probe Z left front
                                            	G30 P1 X20 Y320 Z-99999 F9000      							; probe Z left rear
                                            	G30 P2 X330 Y320 Z-99999 F9000 							    ; probe Z right rear
                                            	G30 P3 X330 Y25 Z-99999 S4 F9000 							; probe Z right front
                                            	G1 H2 Z12 F2600 											; raise head
                                            	M400 														; finish move, clear buffer
                                            	M558 K0 H2.5 F200											; trigger height to 2.5mm after first run
                                            
                                            while move.calibration.initial.deviation >= 0.003          		; Perform additional leveling if previous deviation was over 0.03mm.
                                            	G30 P0 X20 Y25 Z-99999 F9000 								; probe Z left front
                                            	G30 P1 X20 Y320 Z-99999 F9000      							; probe Z left rear
                                            	G30 P2 X330 Y320 Z-99999 F9000 							    ; probe Z right rear
                                            	G30 P3 X330 Y25 Z-99999 S4 F9000 							; probe Z right front
                                            	G1 H2 Z12 F2600 											; raise head
                                            	M400 														; finish move, clear buffer
                                            
                                            echo "Gantry deviation of " ^ move.calibration.initial.deviation ^ "mm obtained."
                                            
                                            G1 Z12                                         					; Raise nozzle
                                            
                                            M98 P"0:/macros/sys/dock_klicky_probe.g"						; dock clicky probe
                                            	  
                                            G28 															; Homing again for accurate Z offset
                                            

                                            It probes the four points for the first time, changes the probing height and probes for the second time. Suddenly it is just going to the probe points but don't lower Z to probe the bed.

                                            Here's an archive of my complete config. I've spent so many days with this problem now and did everything which came to my mind, I'm definitely stuck and don't now what to do.

                                            Help please! 🤕 Thanks in advance!

                                            Complete Config

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