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

    Flaky BL-Touch

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    3
    9
    444
    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.
    • zemlinundefined
      zemlin
      last edited by

      I have two printers that are, theoretically, identical. CoreXY Duet 3 6HC with Pi SBC. BL-Touch is wired to IO_7. I have issues with the BL-Touch on both machines, but it's much worse on one than on the other.

      • BL-Touch deploys during printing. It's not a GCODE issue. I can run the same code multiple times. Sometimes the probe is bent at the end of the print. Sometimes it isn't.

      • After running a job or sitting idle for a while, the BL-Touch is not responsive. Reset commands run without error, but there is no response - the sensor doesn't blink or deploy. I have to cycle power on the machine to get the probe to wake up.

      • I've had a few times where the probe deploys for home Z. Bed doesn't stop rising when probe is hit. Printer reports probe not activated (or whatever it says) and Z axis crashes the nozzle, but it looks like all was working as expected.

      I added probe RESET commands to the HOME and HOMEALL gcode files. I've replaced the probes.

      What are some other troubleshooting steps I can take here to try to ID the issue.

      droftartsundefined zemlinundefined 2 Replies Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @zemlin
        last edited by

        @zemlin Quick answer: https://docs.duet3d.com/en/User_manual/Troubleshooting/BLTouch_troubleshooting

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        zemlinundefined 1 Reply Last reply Reply Quote 0
        • zemlinundefined
          zemlin @droftarts
          last edited by

          @droftarts Been through all that. Have not been able to ID any issues with wiring or codes.

          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @zemlin
            last edited by

            @zemlin Okay, will need more info. M115 for firmware version, config.g, homing files.

            Some other thoughts:
            Big bed heater, strong magnets affecting BLTouch? Try probing cold, or with heater off.
            BLTouch wiring picking up interference from motor wires or heater PWM?
            Drop in power to the BLTouch? Are you powering the RPi from the Duet? Or running something else off 5V, like a lot of LEDs? What changes at the end of a job that causes the BLTouch to be unresponsive? Post your end gcode.

            I doubt it will be the firmware or the Duet board; I can't think of a BLTouch issue (which are common) that hasn't been configuration, wiring or the BLTouch itself.

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            zemlinundefined 1 Reply Last reply Reply Quote 0
            • zemlinundefined
              zemlin
              last edited by

              @droftarts - not a code guy - just fumble my way through, so pardon any sloppy work here.

              M115
              FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.4.5 ELECTRONICS: Duet 3 MB6HC v1.02 or later FIRMWARE_DATE: 2022-11-30 19:35:23
              
              G21						;Work in millimetres
              G90						;Send absolute coordinates...
              M83						;...but relative extruder moves
              M552 I1 S1
              M550 P"D2"
              
              ; Axis and motor configuration
              ;M569.1 P50.0 T2 C5 R70 I3000 D0.05 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
              ;M569.1 P51.0 T2 C5 R80 I4500 D0.07  ; Configure the 1HCL board at CAN address 51 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
              ;m569.1 P50.0 T2 C5 R82 I2500 D0.32
              ;m569.1 P51.0 T2 C5 R82 I2500 D0.32
              m569.1 P50.0 T2 C5 R82 I2500 D0.24
              m569.1 P51.0 T2 C5 R82 I2500 D0.24
              ;M569 P0 S1					;Drive 0 X / Rear
              ;M569 P1 S1					;Drive 1 Y / Front
              M569 P2 S1					;Drive 2 Z Front Left
              M569 P3 S1					;Drive 3 Z Rear Left
              M569 P4 S1					;Drive 4 Z Right
              M569 P5 S1					;Drive 5 Extruder
              M669 K1						;corexy mode
              M569 P50.0 D4 S0 ; Configure the motor on the 1HCL at can address 50 as being in closed-loop drive mode (D4) and not reversed (S1)
              M569 P51.0 D4 S0 ; Configure the motor on the 1HCL at can address 51 as being in closed-loop drive mode (D4) and not reversed (S1)
              M917 X10 Y10
              
              M584 X51.0 Y50.0 Z2:3:4 E5			; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5
              ;Leadscrew locations
              ;M671 X-38:-38:340  Y62.5:247.5:139 S7.5		;X -38, -38, 340
              ;Leadscrew locations
              M671 X-24:-24:325  Y32:287:159 S7.5			;X -38, -38, 340
              
              M350 X16 Y16 Z16 E16 I0				;set 16x microstepping for axes with interpolation
              M92 X101.002 Y101.002 Z1600 E400		;steps/mm 0.9 z
              
              ;M350 X64 Y64 Z64 E64 I0			 	;set 64x microstepping for axes without interpolation
              ;M92 X404.0080 Y404.0080 Z6400 E1600		;steps/mm 0.9 z
              
              ;M350 X128 Y128 Z16 E16 I1			 	;set 128x microstepping for axes with interpolation
              ;M92 X808.016 Y808.016 Z1600 E400		;steps/mm 0.9 z
              
              M906 X2100 Y2100 Z1200 E600 I60			;Set motor currents (mA)
              M201 X3000 Y3000 Z600 E6000				;Accelerations (mm/s^2)
              M203 X24000 Y24000 Z900 E3600			;Maximum speeds (mm/min)
              M566 X300 Y300 Z100 E250				;Maximum jerk speeds mm/minute
              M208 X310 Y310 Z345				;set axis maxima and high homing switch positions (adjust to suit your machine)
              M208 X0 Y-3 Z-2 S1				;set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
              
              
              
              ; End Stops
              M574 X1 S1 P"io3.in"				;Map the X endstop to io3.in
              M574 Y2 S1 P"io1.in"				;May the Y endstop to io1.in
              
              ; Filament Sentinel 
              M591 P1 C"io4.in" S1   D0; filament monitor connected to E0 endstop
              
              ; Thermistors
              M308 S0 P"temp0" Y"thermistor" A"bed_heat" T100000 B4240 H0 L0 		;Bed thermistor - duet 3, connected to temp0
              ;M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.060000e-8 ; sensor 1 
              M308 S1 P"temp1" Y"pt1000" ; configure sensor 1 as PT1000 on pin temp1
              M308 S2 P"temp2" Y"pt1000" A"enclosure"; configure sensor 2 as PT1000 on pin temp2 - Enclosure
              
              
              ;Define Heaters
              M950 H0 C"out0" T0				;Bed heater is on out0
              M950 H1 C"out1" T1				;Hotend heater is on out1
              M950 H2 C"out2" T2				;Enclosure heater is on out2
              
              M307 H0 A90.0 C700.0 D10.0 S1.00 B1 		;Bed Heater duet 3 configuration
              M307 H1 A548.8 C298.6 D4.6 S1.00 B0 		;Hotend  duet 3 configuration
              ;M307 H2 R0.060 D89 S1.00 B1 				;Enclosure Heater duet 3 configuration
              M307 H2 B1 C96000 D1000 R0.01
              
              M570 H1 P4 T15					;Hot end may be a little slow to heat up so allow it 180 seconds
              M143 S350						;Set max hotend temperature	
              
              ; Fans
              M950 F0 C"out4"					;Hotend fan on "out4" connector
              M106 P0 S255 H1 T50 			;enable thermostatic mode for hotend fan
              M950 F1 C"out5"					;Layer fan on "out5" connector
              M106 P1 S0 						;Layer Fan
              M950 F2 C"out6"					;Layer fan on "out6" connector
              M106 P2 S0 						;Layer Fan
              M950 F3 C"out7"					;Enclosure fans on "out7" connector
              M106 P3 S255 H2 T35	 			;enable thermostatic mode for enclosure circ fans
              M950 F4 C"out3"					;Exhaust blower on "out3" connector
              M106 p4 h-1 S0					;Exhaust blower off
              ;M106 P4 T{heat.heaters[2].active + 2} H2
              
              ; Tool definitions
              M563 P0 D0 H1 F1:2                        	;Define tool 0
              G10 P0 S0 R0                        		;Set tool 0 operating and standby temperatures
              
              ;R3D Probe  
              ;M558 P5 C"io7.in" H2.5 A10 S0.02 F120 T12000  ; set Z probe type to EZ ABL and the dive height + speeds
              ;G31 X28 Y0 Z1.1 P25		;Z offset can be adjusted here 
              
              ;BL Touch
              M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
              M558 P9 C"io7.in" H3.5 A10 F60 T12000 ; set Z probe type to bltouch and the dive height + speeds
              G31 X30 Y0 Z1.0 P25 ; ;set the offsets for the bltouch
              
              ;Accelermeter
              ;M955 P0 C"spi.cs3+spi.cs2" I20 ; all wires connected to temp DB connector
              
              M593 P"zvdd" F64.2
              
              M575 P1 S1 B57600
              
              ;G29 S1
              
              M557 X30:300 Y10:300 P7
              
              M501
              M140 H0					;set bed heater as H0
              M143 H0 S120			;set max bed temp
              M141 H2 S0 R0			;set enclosure heater as H2
              M143 H2 S65 T2 			;set enclosure max temperature
              T0						;select first hot end
              
              M556 S100 X-0.0495		; Skew Correction
              M579 X0.9913 Y0.9923	; Scale Correction
              

              HomeAll

              M280 P0 S160 ; reset BL Touch
              G4 P500
              M280 P0 S90 ; retract BLTouch
              G4 P500
              M280 P0 S10 ; deploy BLTouch
              G4 P500
              M280 P0 S90 ; retract BLTouch
              M98 P"homexy.g"			; Home X and Y together
              G90 G1 X125 Y145 F6000 ; Move to the center of the bed
              ; M558  Fxxx sets the probing speed.
              ; Probe rapidly to get us in the right ballpark.
              ; This brings the bed up quickly but may be less accurate.
              M558 F250
              G30
              ; Probe again slowly for precision
              M558 F50
              G30
              ;G1 H1 Z-340 F360        ; move Z down stopping at the endstop
              ;G90                     ; absolute positioning
              ;G92 Z0                  ; set Z position to axis minimum (you may want to adjust this)
              
              ; Uncomment the following lines to lift Z after probing
              G91                    ; relative positioning
              G1 Z10 F500             ; lift Z relative to current position
              G90                    ; absolute positioning
              

              HomeZ

              M280 P0 S160 ; reset BL Touch
              G4 P500
              M280 P0 S90 ; retract BLTouch
              G4 P500
              M280 P0 S10 ; deploy BLTouch
              G4 P500
              M280 P0 S90 ; retract BLTouch
              G91 G1 Z10 F800 H2 ; lift z so we don't crash
              G90 G1 X125 Y145 F6000 ; Move to the center of the bed
              ; M558  Fxxx sets the probing speed.
              ; Probe rapidly to get us in the right ballpark.
              ; This brings the bed up quickly but may be less accurate.
              M558 F250
              
              ; Probe again slowly for precision
              M558 F50
              G30
              
              ; homez.g
              ; called to home the Z axis
              ;
              ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 02 2020 20:26:36 GMT-0600 (Central Standard Time)
              ;G91               ; relative positioning
              ;G1 H2 Z5 F6000    ; lift Z relative to current position
              ;G1 H1 Z-305 F1800 ; move Z down until the endstop is triggered
              ;G92 Z0            ; set Z position to axis minimum (you may want to adjust this)
              
              ; Uncomment the following lines to lift Z after probing
              G91              ; relative positioning
              G1 Z10 F500       ; lift Z relative to current position
              G90              ; absolute positioning
              

              Bed heater is Keenovo 300x300 24V 400W, which does push the limit on the bed output current. I've watched the 24V level as reported by the board and don't see any voltage drops from when the heater is on. PSU is a Meanwell 24V 25A. 5V for the Pi comes from a Daygreen DC converter with a 5V 10A output rating. I have one small strip of LEDs on the machine that is wired to the Duet.

              I could move the bed to an SSR to take the current draw off the board. I have those parts on hand. Not blowing the 15A fuses though, so figured I should be good.

              The bed is magnetic, but I have 3 other machines with identical mag bed designs that have never had issues. Enclosure is heated to 55C, but again I have other machines that I run at 60C without issues.

              Interference from motor wires or heater PWM is a possibility. Any suggestions on how to diagnose that? Wiring to print head goes through a cable chain. My Raise machines have similar wiring and much longer bundles to the print head, but they are Duet2, not 3. I think the Raise hot end is 40W vs the 50W Slice on these machines. I could strip the probe ribbon cable from the print head harness and run it loose for a while.

              Probing with the bed heating is never a problem. If I cycle power on the printer before starting a job, machine will heat up, home, probe the bed, all without issue. I have a 10 minute dwell in my start script to let the bed soak/settle before probing. I usually let the machine soak for 30 minutes before rechecking the Z-offset and startup is always fine.

              It's somewhere mid-print that the probe will sometimes drop and get bent. Starting the next print is sketchy. If the probe appears to be responding, it may or may not keep working through the homing/probing sequence. If I cycle power, it's always solid for the print startup.

              1 Reply Last reply Reply Quote 0
              • zemlinundefined
                zemlin @droftarts
                last edited by

                @droftarts I finally witnessed the probe misbehaving during a print. Was just popping up and down pretty frequently while running the first layer ... then it seemed to settle down. So maybe EMI from the stepper?

                I have some 5-conductor shielded cable on order. I'll make up new cables, and will route them along the filament tube initially to keep it clear of the wire harness. We'll see if that makes a difference.

                Could that cause the probe to be come unresponsive?

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @zemlin
                  last edited by

                  @zemlin Yes, I think it's picking up inductive interference from something, and it's hitting the PWM frequency on the servo wire that matches deploy and retract. It may also be why it goes out of service; there are various PWM frequencies for the codes the BLTouch responds to. This table lists the instructions that different PWM frequencies call, but I don't know which, or if it's a combination of them, are making it unresponsive:
                  alt text
                  Source: https://www.antclabs.com/bltouch-v3

                  Shielded twisted pair wiring on the motor wires (and possibly heater wires) would help, as well as shielding the BLTouch wiring, or moving them further apart, if you can.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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

                    It could also be intermittent power causing it to do the startup test?

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • zemlinundefined
                      zemlin @zemlin
                      last edited by

                      Yesterday I made up new leads for the BL-Touch using shielded cable, and I routed the lead along the filament feed tube rather than through the print head harness.

                      All issues have cleared up on both machines. Gone a whole day without bending a pin!!!

                      Thanks for your time and assistance @droftarts & @Phaedrux

                      Have a couple more issues to clear up on these machines, but those will be different threads.

                      karl

                      1 Reply Last reply Reply Quote 1
                      • Phaedruxundefined Phaedrux marked this topic as a question
                      • Phaedruxundefined Phaedrux has marked this topic as solved
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA