BLTouch does not deploy for a print



  • Hello all,

    I'm having trouble with my newly installed BLTouch. Firstly it works fine for all diagnostics, I can use the M401 to deploy and M402 to retract. I can also use the M280 commands. Additionally I can send an M30 command and it will do a single probe, I can then run the G29 command to do a mesh probe of the bed. That all works fine. I have even setup some macros to run the G30 followed by the G29, but where I am having trouble is getting the pin to deploy when I start a print job. I have in my starting script a G30 in the center of the bed followed by the G29 to do a bed mesh but the pin does not deploy. I'm wondering if there is interference from the heater PWM's and the servo PWM. Shy of pulling out an oscilloscope to prove that is the issue, can anyone offer me some suggestions?


  • Moderator

    If the heater is the cause, you can add B1 to your M558 command to temporarily disable heaters during probing.

    Otherwise, please share your config.g and homing files along with an example sliced gcode file. Also what firmware version are you using?



  • I'm not certain what the cause is. Right after I posted the original post I did some testing where I would manually put on the heater then run a M401 followed by the M402 and both worked. Then I tried the various PWM fans and was still able to run the M401 and M402. To take it one step further I added the M401 into my starting script before and after each PWM item was turned on, and it still worked.

    Now after that print completed three days ago I tested the M401 and M402 and they still worked a few hours after the print completed. I have waited now two days and I just tried the M401 and M402 and M280 commands and the BLTouch is not responding.

    Here is my firmware config
    Board: Duet 3 MB6HC (MB6HC)
    DSF Version: 1.2.4.0
    Firmware: RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 3.0 (2020-01-03b3

    Here is the probe portion of my config.g
    ; Z-Probe
    M950 S0 C"io4.out" ; Set pin4 out as servo out 0
    M558 P9 C"^io4.in" H3 F200 T12000 ; set Z probe type to BL touch and the dive height + speeds
    G31 P500 X55 Y48 Z2.776 ; set Z probe trigger value, offset and trigger height
    M557 X-115:185 Y-120:120 S60 ; define mesh grid
    M280 P0 S160 I1 ; Reset Probe just in case
    M402 ; Retract probe just in case

    Here is the starting script of my slicer
    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe

    M106 P4 S100 ;Turn on chamber circ fan

    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe

    M104 S[extruder0_temperature] T0 ; Set nozzle 1 to temp
    M104 S[extruder1_temperature] T1 ; Set nozzle 2 to temp

    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe

    M140 S[bed0_temperature] ; Set bed to temp
    M141 S[extruder2_temperature] ; Chamber heaters

    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe

    G28 ; Home all

    G0 Z10 F700 ; Bring up Z
    G1 X-55 Y-48 F12000 ;Move probe to center of bed

    G30 ;Probe bed single point and set offset of Z
    M400 ; wait until all gcode is executed to proceed
    G29 ;Bed mesh probe
    G1 Z25 F400 ;Lower bed while heating
    G1 X-185 Y-175 F12000 ;move head out of the way while heating
    M400

    M109 T0 S[extruder0_temperature] ; Hold until nozzle 1 at temp
    M109 T1 S[extruder1_temperature] ; Hold until nozzle 2 at temp
    M190 S[bed0_temperature] ; Hold until bed at temp

    T0 ; First nozzle
    G21 ; Metric values
    G90 ; Absolute positioning
    G92 E0 ; Set extruder to 0

    T1 ; First nozzle
    G21 ; Metric values
    G90 ; Absolute positioning
    G92 E0 ; Set extruder to 0

    M106 P4 S[extruder3_temperature] ; Turn set chamber fan speed (speed depends on Filament)

    G0 Z0.5 F900 ; Raise nozzle to .5mm over bed

    ;M201 X600 Y600 Z100 E10000 ; Set acceleration
    ;M207 X5 ; Set Jerk
    M400

    There really seems like there is actually a glitch in the firmware, or some combination of commands is affecting the servo action of the pin I'm trying to use. The BLTouch works fine until either a print is started, at which point it stops working, or if a print is started right after a reboot it works fine for the print and then stops working sometime after the print is completed. This really doesn't seem like a configuration gcode issue but more of a glitch in the firmware.

    I'll be back in the office tomorrow and with any luck there won't be a power outage so I will be able to connect an oscilloscope to the servo pin and see if there is a problem withe the signal wire.


  • Moderator

    So this entire section is your starting script?

    Here is the starting script of my slicer
    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe
    
    M106 P4 S100 ;Turn on chamber circ fan
    
    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe
    
    M104 S[extruder0_temperature] T0 ; Set nozzle 1 to temp
    M104 S[extruder1_temperature] T1 ; Set nozzle 2 to temp
    
    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe
    
    M140 S[bed0_temperature] ; Set bed to temp
    M141 S[extruder2_temperature] ; Chamber heaters
    
    M401 ; Deploy probe
    G4 S2 ; Wait 2 seconds
    M402 ; Retract probe
    
    G28 ; Home all
    
    G0 Z10 F700 ; Bring up Z
    G1 X-55 Y-48 F12000 ;Move probe to center of bed
    
    G30 ;Probe bed single point and set offset of Z
    M400 ; wait until all gcode is executed to proceed
    G29 ;Bed mesh probe
    G1 Z25 F400 ;Lower bed while heating
    G1 X-185 Y-175 F12000 ;move head out of the way while heating
    M400
    
    M109 T0 S[extruder0_temperature] ; Hold until nozzle 1 at temp
    M109 T1 S[extruder1_temperature] ; Hold until nozzle 2 at temp
    M190 S[bed0_temperature] ; Hold until bed at temp
    
    T0 ; First nozzle
    G21 ; Metric values
    G90 ; Absolute positioning
    G92 E0 ; Set extruder to 0
    
    T1 ; First nozzle
    G21 ; Metric values
    G90 ; Absolute positioning
    G92 E0 ; Set extruder to 0
    
    M106 P4 S[extruder3_temperature] ; Turn set chamber fan speed (speed depends on Filament)
    
    G0 Z0.5 F900 ; Raise nozzle to .5mm over bed
    
    ;M201 X600 Y600 Z100 E10000 ; Set acceleration
    ;M207 X5 ; Set Jerk
    M400
    

    Can you post your full config.g and homeall as well as a sample sliced gcode file?

    It also looks like you are on FW version 3.0. Please update to 3.1.1



  • Is it also worth mentioning that there isn't blue light on my BLTouch ever. I'm not sure if there is supposed to be or not but I have read that the blue LED indicates if the servo line is active.


  • Moderator

    The fact that it seems to be intermittent makes me think wiring. BLTouch wiring and crimps are a very common cause of issues. Double and triple check.



  • @Phaedrux Yes that is the starting script from my slicer. The M401 G4 S2 and M402 was just thrown in for diagnostics so that I could see if the probe was going to work or if it is related to the some other output channel being active.

    It doesn't appear to be the case and I will eventually remove all those. Some of it is pointless and left over from the printer manufacturer that built the printer originally. I have since modified it heavily and moved to the Duet 3 board.

    I popped into the office to have a look at the BLTouch and I tried disconnecting the BLTouch and reconnecting it. When I reconnected it, it did the two probe deploy and retract that it does when it powers up. But I could still not deploy or retract manually with the M401 and M402 respectively. I then connected my oscilloscope to the servo wire and I could see that there was a signal being generated and the signal was different for the M401 and the M402, so the servo pin seems to be functioning. The BLTouch however did not respond to the servo signals, even though I did a power cycle to the BLTouch.

    I then reset the Duet 3. After everything homed and the config.g finished executing I was then able to send the M401 and M402 command and they worked correctly. I still had the oscilloscope connected and the signals were the same as before I power cycled.

    This makes no sense. If it was the BLTouch you would think that the power cycle to it would have gotten it working. If it was the Duet 3 board then I should have seen some difference in the servo signal as that should be the only thing that the BLTouch can see with respect to the board.



  • @Phaedrux I'm not using any of the BLtouch factory crimps. I removed the dupont connectors and added my own Molex connectors and the crimps are tight.

    I agree that he issue is intermittent but it is not intermittent in a way that would indicate loose wires. It seems to be time sensitive, the longer the duet has been running (and so too the BLTouch) the greater the probablity that the probe will not deploy or retract. Additionally once it fails to deploy or retract there is no bringing it back without a Duet 3 restart.


  • Moderator

    Before we can do much other troubleshooting the obvious thing to do is update the firmware to 3.1.1 and see if the behaviour is persisting.

    What version of BLtouch is it?



  • Here is the whole config.g that you requested in case there is something in here. I had everything working with an IR sensor before I switched to the BLTouch, so perhaps I missed something when I changed the Z probe type.

    Duet 3
    Send code...
    Status
    Idle
    Mode: FFF
    Tool Position
    X
    0.0
    Y
    0.0
    Z
    458.10
    Extruder Drives
    Drive 0
    0.0
    Drive 1
    0.0
    Speeds
    Requested Speed
    0 mm/s
    Top Speed
    0 mm/s
    Sensors
    Vin
    24.9 V
    MCU Temperature
    40.0 C
    Z-Probe
    0
     Tools
     Extra
     Control All
    Tool	Heater	Current	Active	Standby
    Primary
    T0 - PLA	Heater 1
    active	24.8 C	
    0
    0
    Secondary
    T1 - Load Filament	Heater 2
    off	24.8 C	
    0
    0
    Bed	Heater 0
    off	25.6 C	
    0
    0
    Chamber	Heater 3
    off	26.9 C	
    0
    0
    Temperature Chart
    System Directory
    0:/sys/config.g
    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Apr 24 2020 14:40:15 GMT-0600 (Central Standard Time)
    
    ; General preferences
    G90                                             ; send absolute coordinates...
    M83                                             ; ...but relative extruder moves
    M550 P"Duet 3"                                  ; set printer name
    
    M667 S1                                         ; select CoreXY mode
    
    ; Drives
    M569 P0.0 S1                                    ; physical drive 0.0 goes backwards
    M569 P0.1 S0                                    ; physical drive 0.1 goes backwards
    M569 P0.2 S0                                    ; physical drive 0.2 goes backwards
    M569 P0.4 S0                                    ; physical drive 0.4 goes backwards
    M569 P0.5 S0                                    ; physical drive 0.5 goes forwards
    M584 X0.2 Y0.1 Z0.4 E0.5:0.0                    ; set drive mapping
    M350 X32 Y32 Z32 E16:16 I1                      ; configure microstepping with interpolation
    M92 X200.00 Y200.00 Z1600.00 E837:837           ; set steps per mm
    M566 X800.00 Y800.00 Z100.00 E240.00:240.00      ; set maximum instantaneous speed changes (mm/min)
    M203 X15000.00 Y15000.00 Z1200.00 E2400.00:2400.00 ; set maximum speeds (mm/min)
    M201 X800.00 Y800.00 Z40.00 E300.00:300.00      ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z1200 E1000:1000 I30           ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                         ; Set idle timeout
    
    ; Axis Limits
    M208 X-186.5 Y-175 Z-2.8 S1                     ; set axis minima
    M208 X186.5 Y175 Z583.1 S0                      ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"io0.in"                            ; configure active-high endstop for low end on X via pin io0.in use a NC switch
    M574 Y1 S1 P"io1.in"                            ; configure active-high endstop for low end on Y via pin io1.in use a NC switch
    M574 Z2 S1 P"io2.in"                            ; configure active-high endstop for high end on Z via pin io2.in use a NC switch
    
    ; Z-Probe
    M950 S0 C"io4.out"								; Set pin4 out as servo out 0
    M558 P9 C"^io4.in" H3 F200 T12000     			; set Z probe type to BL touch and the dive height + speeds
    G31 P500 X55 Y48 Z2.776	                		; set Z probe trigger value, offset and trigger height
    M557 X-115:185 Y-120:120 S60              	    ; define mesh grid
    M280 P0 S160 I1									; Reset Probe just in case
    M402											; Retract probe just in case
    
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138    ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                              ; create bed heater output on out0 and map it to sensor 0
    M143 H0 S165                                    ; set temperature limit for heater 0 to 165C
    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
    
    M308 S1 P"temp1" Y"pt1000" R2200                ; configure sensor 1 as PT1000 on pin temp1
    M950 H1 C"out1" T1                              ; create nozzle heater output on out1 and map it to sensor 1
    M143 H1 S340                                    ; set temperature limit for heater 1 to 340C
    M307 H1 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
    
    M308 S2 P"temp2" Y"pt1000" R2200                ; configure sensor 2 as PT1000 on pin temp2
    M950 H2 C"out2" T2                              ; create nozzle heater output on out2 and map it to sensor 2
    M143 H2 S340                                    ; set temperature limit for heater 2 to 340C
    M307 H2 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
    
    M308 S3 P"temp3" Y"thermistor" T100000 B4138    ; configure sensor 3 as thermistor on pin temp0
    M950 H3 C"out3" T3                              ; create chamber heater output on out3 and map it to sensor 3
    M143 H3 S75                                     ; set temperature limit for heater 3 to 75C
    M307 H3 B1		 		                        ; disable bang-bang mode for heater  and set PWM limit
    M141 H3											; map heated chamber to heater 3
    
    ;Heater Tuning parameters
    M307 H0 A253.1 C685.6 D0.7 V24.9 B0				; PID model for Heater 0
    M307 H1 A529.2 C249.3 D5.7 V24.8 B0				; PID model for heater 1
    M307 H2 A418.3 C213.8 D3.6 V24.8 B0				; PID model for heater 2
    M307 H3 A90 C1500 D600	V24.8 B1				; BANG-BANG model for heater 3
    
    ;Virtual Heaters
    M308 S4 P"MCU" Y"mcu-temp"						; create mcu temperature
    M308 S5 P"Stepper driver" Y"drivers"			; create driver temperatures
    
    ; Fans
    M950 F0 C"out7" Q500                            ; create fan 0 on pin out4 and set its frequency used for Radiator cooler fan
    M106 P0 T85 S1 H1:2                             ; set fan 0 value. Thermostatic control is turned on
    M950 F1 C"out8" Q500                            ; create fan 1 on pin out5 and set its frequency used for Water circ pump
    M106 P1 T45 S1 H1:2                             ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"out4" Q500                            ; create fan 2 on pin out7 and set its frequency used for Part cooling fan
    M106 P2 S0.0                                    ; set fan 2 value. Thermostatic control is turned off
    M950 F3 C"out5" Q500                            ; create fan 3 on pin out8 and set its frequency used for board cooling fan
    M106 P3 T35:55 H4:5						        ; set fan 3 value. Thermostatic control is proportional to the CPU or driver temps
    M950 F4 C"out6" Q500							; create fan 4 on pin out 6 and set its frequency used. for bed cooling fan
    M106 P4 S0.0									; set fan 4 value. Thermostatic control is turned off.  Controlled by Gcode only
    
    ; Tools
    M563 P0 S"Primary" D0 H1 F2                   	; 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
    M563 P1 S"Secondary" D1 H2 F2                	; define tool 1
    G10 P1 X25.25 Y0 Z0                             ; set tool 1 axis offsets
    G10 P1 R0 S0                                    ; set initial tool 1 active and standby temperatures to 0C
    
    ; Custom settings
    M572 D0:1 S0.03:0.03							; Set Pressure advance settings
    G28	Z											; Home Z
    G28 X Y											; Home X and Y
    M280 P0 S120 I1									; Probe Self test
    T0												; Set tool 0 active
    G1 X0 Y0 F12000									; Move print head to middle of bed
    ; Miscellaneous
    M911 S22.0 R24.0 P"M913 X50 Y50 G91 M83 G1 Z3 E-5 F1000	; Set the power loss resume parameters
    

  • Moderator

    I would recommend removing the homing commands from your config.g. Definitely not best practice to have movement commands executed at startup.



  • @Phaedrux it is the Smart 3.1 BLTouch, I think that is the newest version.

    I will try the update to 3.1.1 for the Duet.



  • @Phaedrux That is sound advice, I will do that.



  • @baird1fa if the update doesnt help:

    I read in another thread that the heater disturbed the bltouch. One solution was to assemble the bltouch at a different position. The other means was to protect the cables with a shield, which can be bought separately and is around the cable.

    It looked similar like the shielded cable on the left here in this link https://www.antclabs.com/wiring



  • @Phaedrux I have completed the upgrade to the latest version of the firmware. I tested the BL touch and after the update I was still able to deploy and retract the probe, so I started a print and the probe did not deploy. I hit the E-stop and then started the print again and the probe worked fine.

    Now that the print has completed, I cannot activate the probe. I'm going to replace the BLTouch with a spare one and see if that has any effect.


  • Moderator

    @baird1fa said in BLTouch does not deploy for a print:

    I'm going to replace the BLTouch with a spare one and see if that has any effect.

    Good next step. Redo the wiring if possible as well if just changing the probe doesn't help. The intermittency really seems like a wiring fault.



  • @Phaedrux It really seems like something other than wiring. I can do exactly one print before it the servo signal doesn’t work. It really makes me think it is something that is in my slicer code but I don’t have anything strange there.

    I have noticed since my upgrade to firmware 3.1.1 that I have a termination error at line 106 of my config.g macro. Line 106 is the latest line of my config.g


  • Moderator

    Ok that's something worth looking into.

    Send M98 P"config.g" and report the results.

    Maybe include your current config.g as well.



  • @Phaedrux
    I’m just in the middle of a print so I will do that once it’s done. Also the config is the same as previously posted.

    Regards.



  • @Phaedrux I found that issue, It was my M911 command, I seem to have forgotten to close the quotations (") and so it wasn't understanding that command. So I'm pretty sure that is a completely unrelated issue.

    But back to the matter at hand. The BLTouch will not deploy after I start a print job.

    ; G-Code generated by Simplify3D(R) Version 4.1.2
    ; Jun 27, 2020 at 4:19:50 PM
    ; Settings Summary
    ;   processName,Process1
    ;   applyToModels,Float switch Jbox cover,Float switch Jbox cover(2)
    ;   profileName,Custom 22 (modified)
    ;   profileVersion,2020-06-23 08:44:31
    ;   baseProfile,Default
    ;   printMaterial,PC
    ;   printQuality,Medium
    ;   printExtruders,Extruder 2 Only
    ;   extruderName,Extruder 1,Extruder 2
    ;   extruderToolheadNumber,0,1
    ;   extruderDiameter,0.8,0.4
    ;   extruderAutoWidth,1,1
    ;   extruderWidth,0.96,0.48
    ;   extrusionMultiplier,1,1.05
    ;   extruderUseRetract,1,1
    ;   extruderRetractionDistance,1,2
    ;   extruderExtraRestartDistance,0,0
    ;   extruderRetractionZLift,0.4,0.6
    ;   extruderRetractionSpeed,2400,2400
    ;   extruderUseCoasting,0,1
    ;   extruderCoastingDistance,0.2,0.2
    ;   extruderUseWipe,1,1
    ;   extruderWipeDistance,1,1
    ;   primaryExtruder,1
    ;   layerHeight,0.25
    ;   topSolidLayers,4
    ;   bottomSolidLayers,3
    ;   perimeterOutlines,3
    ;   printPerimetersInsideOut,1
    ;   startPointOption,2
    ;   startPointOriginX,0
    ;   startPointOriginY,0
    ;   sequentialIslands,0
    ;   spiralVaseMode,0
    ;   firstLayerHeightPercentage,120
    ;   firstLayerWidthPercentage,100
    ;   firstLayerUnderspeed,0.65
    ;   useRaft,0
    ;   raftExtruder,1
    ;   raftTopLayers,3
    ;   raftBaseLayers,2
    ;   raftOffset,3
    ;   raftSeparationDistance,0.14
    ;   raftTopInfill,100
    ;   aboveRaftSpeedMultiplier,0.3
    ;   useSkirt,1
    ;   skirtExtruder,1
    ;   skirtLayers,1
    ;   skirtOutlines,1
    ;   skirtOffset,2
    ;   usePrimePillar,0
    ;   primePillarExtruder,999
    ;   primePillarWidth,12
    ;   primePillarLocation,7
    ;   primePillarSpeedMultiplier,1
    ;   useOozeShield,0
    ;   oozeShieldExtruder,999
    ;   oozeShieldOffset,2
    ;   oozeShieldOutlines,1
    ;   oozeShieldSidewallShape,1
    ;   oozeShieldSidewallAngle,30
    ;   oozeShieldSpeedMultiplier,1
    ;   infillExtruder,1
    ;   internalInfillPattern,Fast Honeycomb
    ;   externalInfillPattern,Rectilinear
    ;   infillPercentage,30
    ;   outlineOverlapPercentage,40
    ;   infillExtrusionWidthPercentage,100
    ;   minInfillLength,5
    ;   infillLayerInterval,1
    ;   internalInfillAngles,0
    ;   overlapInternalInfillAngles,0
    ;   externalInfillAngles,45,-45,0,90
    ;   generateSupport,0
    ;   supportExtruder,1
    ;   supportInfillPercentage,45
    ;   supportExtraInflation,2
    ;   supportBaseLayers,2
    ;   denseSupportExtruder,1
    ;   denseSupportLayers,3
    ;   denseSupportInfillPercentage,70
    ;   supportLayerInterval,1
    ;   supportHorizontalPartOffset,0.8
    ;   supportUpperSeparationLayers,1
    ;   supportLowerSeparationLayers,1
    ;   supportType,0
    ;   supportGridSpacing,4
    ;   maxOverhangAngle,45
    ;   supportAngles,0
    ;   temperatureName,Extruder 1,Extruder 2,Heated Bed,Chamber circ fan,Chamber heater,Standby temp
    ;   temperatureNumber,0,1,0,3,2,4
    ;   temperatureSetpointCount,1,1,1,1,1,1
    ;   temperatureSetpointLayers,1,1,1,1,1,1
    ;   temperatureSetpointTemperatures,0,300,120,200,60,0
    ;   temperatureStabilizeAtStartup,0,1,1,1,1,1
    ;   temperatureHeatedBed,0,0,1,0,0,0
    ;   fanLayers,1,5,10,30,40
    ;   fanSpeeds,0,10,15,20,25
    ;   blipFanToFullPower,0
    ;   adjustSpeedForCooling,1
    ;   minSpeedLayerTime,15
    ;   minCoolingSpeedSlowdown,50
    ;   increaseFanForCooling,0
    ;   minFanLayerTime,45
    ;   maxCoolingFanSpeed,100
    ;   increaseFanForBridging,1
    ;   bridgingFanSpeed,40
    ;   use5D,1
    ;   relativeEdistances,0
    ;   allowEaxisZeroing,1
    ;   independentExtruderAxes,0
    ;   includeM10123,0
    ;   stickySupport,1
    ;   applyToolheadOffsets,0
    ;   gcodeXoffset,0
    ;   gcodeYoffset,0
    ;   gcodeZoffset,0
    ;   overrideMachineDefinition,1
    ;   machineTypeOverride,0
    ;   strokeXoverride,355
    ;   strokeYoverride,334
    ;   strokeZoverride,578
    ;   originOffsetXoverride,177.5
    ;   originOffsetYoverride,175
    ;   originOffsetZoverride,0
    ;   homeXdirOverride,-1
    ;   homeYdirOverride,-1
    ;   homeZdirOverride,1
    ;   flipXoverride,1
    ;   flipYoverride,-1
    ;   flipZoverride,1
    ;   toolheadOffsets,0,0|0,0|0,0|0,0|0,0|0,0
    ;   overrideFirmwareConfiguration,1
    ;   firmwareTypeOverride,RepRap (Marlin/Repetier/Sprinter)
    ;   GPXconfigOverride,r2
    ;   baudRateOverride,250000
    ;   overridePrinterModels,0
    ;   printerModelsOverride
    ;   startingGcode,M106 P4 S100	;Turn on chamber circ fan,,M104 S[extruder0_temperature] T0	 ; Set nozzle 1 to temp,M104 S[extruder1_temperature] T1	 ; Set nozzle 2 to temp,M140 S[bed0_temperature]	 ; Set bed to temp,M141 S[extruder2_temperature]	 ; Chamber heaters,,G28 	; Home all,M401,G0 Z10  F700	; Bring up Z,M402,G1 X-55 Y-48 F12000,,G30	;Probe bed single point and set offset of Z,M400,G29	;Bed mesh probe,G1 Z25 F400	;Lower bed while heating		,G1 X-185 Y-175 F12000 ;move head out of the way while heating,M400,,M109 T0 S[extruder0_temperature]	; Hold until nozzle 1 at temp,M109 T1 S[extruder1_temperature]	; Hold until nozzle 2 at temp,M190 S[bed0_temperature]	       	; Hold until bed at temp,,T0	; First nozzle,G21	; Metric values,G90	; Absolute positioning,G92 E0	; Set extruder to 0,,T1	; First nozzle,G21	; Metric values,G90	; Absolute positioning,G92 E0	; Set extruder to 0,,M106 P4 S[extruder3_temperature]	; Turn set chamber fan speed (speed depends on Filament),,G0 Z0.5 F900		; Raise nozzle to .5mm over bed,,;M201 X600 Y600 Z100 E10000	; Set acceleration,;M207 X5		; Set Jerk,M400,
    ;   layerChangeGcode,
    ;   retractionGcode,
    ;   toolChangeGcode,
    ;   endingGcode,G28 Z,G28 X Y,M106 S0 ; Turn off cooling fan,M98 P"0/macros/Slow_cool.g"	;Slowly cools the bed and build chamber  *comment for non PC or ABS parts,M104 S0 ; turn off extruder,M140 S0 ; turn off bed,M141 S0 ; Turn off chamber heater,
    ;   exportFileFormat,gcode
    ;   celebration,0
    ;   celebrationSong,Random Song
    ;   postProcessing,
    ;   defaultSpeed,2700
    ;   outlineUnderspeed,0.7
    ;   solidInfillUnderspeed,0.9
    ;   supportUnderspeed,0.9
    ;   rapidXYspeed,12000
    ;   rapidZspeed,1200
    ;   minBridgingArea,5
    ;   bridgingExtraInflation,1
    ;   bridgingExtrusionMultiplier,1.1
    ;   bridgingSpeedMultiplier,0.75
    ;   useFixedBridgingAngle,0
    ;   fixedBridgingAngle,0
    ;   applyBridgingToPerimeters,1
    ;   filamentDiameters,2.88|2.88|1.75|1.75|1.75|1.75
    ;   filamentPricesPerKg,46|46|46|46|46|46
    ;   filamentDensities,1.04|1.25|1.25|1.25|1.25|1.25
    ;   useMinPrintHeight,0
    ;   minPrintHeight,0
    ;   useMaxPrintHeight,0
    ;   maxPrintHeight,60.1
    ;   useDiaphragm,0
    ;   diaphragmLayerInterval,20
    ;   robustSlicing,1
    ;   mergeAllIntoSolid,0
    ;   onlyRetractWhenCrossingOutline,0
    ;   retractBetweenLayers,1
    ;   useRetractionMinTravel,1
    ;   retractionMinTravel,3
    ;   retractWhileWiping,1
    ;   onlyWipeOutlines,0
    ;   avoidCrossingOutline,0
    ;   maxMovementDetourFactor,5
    ;   toolChangeRetractionDistance,12
    ;   toolChangeExtraRestartDistance,-0.5
    ;   toolChangeRetractionSpeed,600
    ;   externalThinWallType,1
    ;   internalThinWallType,1
    ;   thinWallAllowedOverlapPercentage,25
    ;   singleExtrusionMinLength,3
    ;   singleExtrusionMinPrintingWidthPercentage,50
    ;   singleExtrusionMaxPrintingWidthPercentage,200
    ;   singleExtrusionEndpointExtension,0.2
    ;   horizontalSizeCompensation,0
    G90
    M82
    M106 S0
    M106 P4 S100	;Turn on chamber circ fan
    M104 S0 T0	 ; Set nozzle 1 to temp
    M104 S300 T1	 ; Set nozzle 2 to temp
    M140 S120	 ; Set bed to temp
    M141 S60	 ; Chamber heaters
    G28 	; Home all
    M401
    G0 Z10  F700	; Bring up Z
    M402
    G1 X-55 Y-48 F12000
    G30	;Probe bed single point and set offset of Z
    M400
    G29	;Bed mesh probe
    G1 Z25 F400	;Lower bed while heating		
    G1 X-185 Y-175 F12000 ;move head out of the way while heating
    M400
    M109 T0 S0	; Hold until nozzle 1 at temp
    M109 T1 S300	; Hold until nozzle 2 at temp
    M190 S120	       	; Hold until bed at temp
    T0	; First nozzle
    G21	; Metric values
    G90	; Absolute positioning
    G92 E0	; Set extruder to 0
    T1	; First nozzle
    G21	; Metric values
    G90	; Absolute positioning
    G92 E0	; Set extruder to 0
    M106 P4 S200	; Turn set chamber fan speed (speed depends on Filament)
    G0 Z0.5 F900		; Raise nozzle to .5mm over bed
    ;M201 X600 Y600 Z100 E10000	; Set acceleration
    ;M207 X5		; Set Jerk
    M400
    ; process Process1
    ; layer 1, Z = 0.300
    T1
    G92 E0.0000
    G1 E-2.0000 F2400
    ; feature skirt
    ; tool H0.300 W0.480
    
    Just regular Gcode for the tool paths here that I removed
    
    ; layer end
    G28 Z
    G28 X Y
    M106 S0 ; Turn off cooling fan
    M98 P"0/macros/Slow_cool.g"	;Slowly cools the bed and build chamber  *comment for non PC or ABS parts
    M104 S0 ; turn off extruder
    M140 S0 ; turn off bed
    M141 S0 ; Turn off chamber heater
    ; Build Summary
    ;   Build time: 0 hours 41 minutes
    ;   Filament length: 1726.4 mm (1.73 m)
    ;   Plastic volume: 11246.52 mm^3 (11.25 cc)
    ;   Plastic weight: 14.06 g (0.03 lb)
    ;   Material cost: 0.65
    
    

    Here is a sample file that I just printed.


  • Moderator

    I still haven't seen your homeall.

    G28 	; Home all
    M401
    G0 Z10  F700	; Bring up Z
    M402
    G1 X-55 Y-48 F12000
    G30	;Probe bed single point and set offset of Z
    

    I don't know what's in your homeall, but it should be homing Z with the probe already, so you should remove everything after G28.

    M401
    G0 Z10  F700	; Bring up Z
    M402
    

    I'm not sure what that's trying to accomplish.



  • @Phaedrux no my home Z does not use the probe, nor does my home all. As you can see in my config.g I'm using a limit switch as the maximum Z for the home Z. The probe is only used for the bed mesh.
    that is why I haven't posted it sooner is it has nothing to do with the probe.

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Apr 24 2020 14:40:15 GMT-0600 (Central Standard Time)
    G91              ; relative positioning
    ;G1 H2 Z-10 F750 ; lift Z relative to current position
    G1 H1 Z585 F1000 ; move Z up until the endstop is triggered
    G1 H2 Z-5 F600  ; back off of limit for second pass
    G1 H1 Z8 F500   ; Second pass at limit switch
    G92 Z583.1        ; set Z position to axis maximum (you may want to adjust this)
    
    ; Uncomment the following lines to lift Z after probing
    ;G91             ; relative positioning
    ;G1 Z10 F100     ; lift Z relative to current position
    ;G90             ; absolute positioning
    

    and home all

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Apr 24 2020 14:40:15 GMT-0600 (Central Standard Time)
    G91                     ; relative positioning
    G1 H1 Z2 F6000         ; lift Z relative to current position
    G1 H1 X-361 Y-355 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 H1 X-361             ; home X axis
    G1 H1 Y-355             ; home Y axis
    G1 X5 Y5 F6000          ; go back a few mm
    G1 H1 X-361 F360        ; move slowly to X axis endstop once more (second pass)
    G1 H1 Y-355             ; then move slowly to Y axis endstop
    G1 H1 Z585 F750         ; move Z up stopping at the endstop
    G90                     ; absolute positioning
    G92 Z583.1                ; set Z position to axis maximum (you may want to adjust this)
    
    ; Uncomment the following lines to lift Z after probing
    ;G91                    ; relative positioning
    ;G1 Z10 F100            ; lift Z relative to current position
    ;G90                    ; absolute positioning
    

    The issue is 100% repeatable so it is not the wiring. If I use the probe a few times or use the macro, before I print a file, the probe will not deploy. If I print a file, after the file is complete the probe will not deploy. And when I say deploy, I mean it won't respond to commands at all. After I reset the board either by hitting the emergency stop button or via power cycle, the BLTouch will respond. It is a very strange issue.


  • Moderator

    @baird1fa said in BLTouch does not deploy for a print:

    It is a very strange issue.

    Agreed. Are the BLtouch wires running next to anything else?

    Can you connect the BLTouch directly to the board with it's short leads and see how it behaves then?



  • @baird1fa do you use the chamber heater, as there are settings for one in the config? BLTouch is sensible against heat if I remember well from another thread. I can't remember the exact temperature.

    BLTouch uses Hall effect, so it will have a magnet also. Neodym magnets loose magnetism at 80°, so you must take care that you don't destroy it (I don't know whether they use neodym, there are ferrite magnets with resistence up to 200 °C)

    M141 S60 is at the start of your g-code, maybe this already weakens the magnet enough so that BLTouch doesn't work as expected.

    This highly technical paper https://www.kjmagnetics.com/blog.asp?p=temperature-and-neodymium-magnets tells that 60°C is still ok, but I think together with the bed heat of 120°C from below going up the total temperature for the BLTouch could be higher than 60°C. And the magnet gets weaker after some overheats. I just read that thin magnet's limit is 60°C. So it depends on the shape and type of the magnet with is built into the BLTouch, both unknown to me.



  • @JoergS5 yes I do have a heated chamber. It only operates up to 70 (65 really). That is something I’ve been concerned about weather the temperature would affect the sensor. I have had the same issue weather I use the heat or not. I don’t use the sensor when the changer is hot.

    I think they use a ferrite core (the small setscrew on the top of the BLTouch is the core) so it should be good for reasonably high temps.

    It is worth mentioning that I noticed this strange behavior of the BLTouch before I ever turned on the chamber heat.


Log in to reply