Bltouch oddity



  • Hello, hope someone could clear up something about bltouch problem i am having.
    "The bltouch works perfectly no problems, but sometimes after running a bed mesh or probe code, uploading new print file or leaving the printer for a while without use. The bltouch seems to go "inactive", this means if it just probed perfectly at a bed mesh then it will not probe again later before a 3d printing file.

    It is very strange, i need to reset the printer to make the probe work again.
    The Z probe is at 0 all the time, except when deployed

    Wiring should be correct, the board i am using i a duet maestro

    M558 P9 H5 F100 T2000
    G31 P9 X30 Y-5 Z3.6
    M280 P64 S90
    M280 P64 S10

    in config.g
    M98 Pmachine_zprobe.g


  • Moderator

    Can you post the entire contents of config.g (and any macros that get called there)?

    What firmware version are you running?

    Can you post the results of sending M122 and M98 P"config.g" from the gcode console?

    How exactly do you have it wired?



  • alt text

    0:/sys/config.g
    ; CONFIGURATION FILE for Duet Maestro
    ; Compound Nozzle
    ; Last modified January 16, 2019
    
    ; Executed by the firmware on start-up
    
    ; Headers within parenthesis are headings in Duet3D documentation=https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer
    ; Visit https://reprap.org/wiki/G-code for an explanation of G-code commands
    
    ; --- SECTION: GENERAL PREFERENCES ( ) ---
    
    M564 S1 H1									; Enables Homing Requirement For Motor Activation and set axes limits
    
    ; --- SECTION: Z-PROBE & MESH COMPENSATION ---
    
    M98 Pmachine_zprobe.g	; configure the z probe
    
    M98 Pmachine_bedmesh.g						; configure the bed mesh
    
    						; Load heightmap after power cycle
    
    ; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS ---
    
    M667 S1										; Enable coreXY mode
    M569 P0 S0 D3 V0							; Drive 0 goes forwards, CoreXY_1, stealth chop, disable spread cycle
    M569 P1 S1 D3 V0							; Drive 1 goes forwards, CoreXY_2, stealth chop, disable spread cycle
    M569 P2 S1 D3 V0							; Drive 2 goes forwards, Z Motor, stealth chop, disable spread cycle
    M569 P3 S0 D3 V800							; Drive 3 goes forwards, Left Extruder, stealth chop, spread cycle only on retractions (basically)
    M569 P4 S1 D3 V800							; Drive 4 goes forwards, Right Extruder, stealth chop, spread cycle only on retractions (basically)
    M569 P5 S1 D3 V0 ; Drive 5 goes forward, Z Motor 2, stealth chop, disable spread cycle 				NY
    M569 P6 S1 D3 V0 ; Drive 6 goes forward, Z Motor 3, stealth chop, disable spread cycle 				NY
    M584 X0 Y1 Z2:5:6 U5 V6 E3:4 ; three Z motors connected to driver outputs 2, 5 and 6 				NY
    M671 X170:410:-58 Y400:0:0 S4 ; leadscrews at rear middle, front left and front right 				NY
    M98 Pmachine_endstoptypes.g					; set endstop types
    M98 Pmachine_steppercurrent.g				; set stepper currents
    M98 Pmachine_stepperspeed.g					; set stepper speeds
    M584 Z2:5:6 P3 ; three Z motors connected to driver outputs 2, 5 and 								NY
    M98 Pmachine_axisdimension.g				; configure the axes dimensions
    M98 Pmachine_axissteps.g					; configure the axes steps per mm
    M98 Pmachine_extruderstep.g					; configure the extruder steps
    G21											; Work in millimetres
    G90											; Set to absolute coordinates...
    M84 S1										; Set idle timeout
    
    ; --- SECTION: HEATERS, BED & THERMISTOR ---
    ; H0 is bed
    ; H1 is left heater
    ; H2 is right heater
    
    M570 H0 P25 T30								; Allow heater to be off by as much as 30C for 25 seconds
    M570 H1 P15 T30								; Allow heater to be off by as much as 30C for 15 seconds
    M570 H2 P15 T30								; Allow heater to be off by as much as 30C for 15 seconds
    M305 P0 T100000 B4138 C0 R2200				; Set thermistor + ADC parameters for heater 0, For heated Bed thermistor
    M305 P1 X501 R2200							; Define left side extruder PT1000 
    M305 P2 X502 R2200							; Define right side extruder PT1000 
    M307 H0 A78.9 C265.2 D9.5 S1.00 V24.0 B0	; Forcing heated bed PID control after power-cycle. Basic bed heating auto-tune
    M307 H2 A241.4 C104.5 D3.5 S1.00 V23.9 B0	; Set PID values use M303 auto-tune calibration settings
    M302 P1										; Allow Cold extrudes
    M98 Pmachine_maxtemp.g						; set bed and extruder max temperatures
    
    ; --- SECTION: FANS ( ) ---
    
    M106 P0 S0 I0 F0 H-1 L0.3					; Filter fan. Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100%
    M106 P1 S0 I0 F4 H-1 L0.3					; Cold-Section fan. Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100%
    M106 P2 S0 I0 F4 H-1 L0.3					; Nozzle fan. Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off, Minimum fan value 0.3, Speed 100%
    
    ; --- SECTION: TOOLS ( ) --- 
    
    ; Comment: Remember! H0 is the heated bed!
    ; Comment: D0 is the first driver after movement (X, Y and Z) drives, which is left extruder
    ; D1 is right extruder
    
    M98 Pmachine_nozzle_tools.g				; Define compound tools
    
    T											; Automatic tool select
    
    ; --- SECTION: NETWORKS (PROLOGUE & COMMUNCATIONS SECTION) ---
    M98 Pmachine_access.g						; set machine name and IP
    M586 P0 S1									; Enable HTTP
    M586 P1 S0									; Disable FTP
    M586 P2 S0									; Disable Telnet
    
    ; --- SECTION: MISCELLANEOUS --- 
    
    M572 D0:1 S0.07								; Extruder Pressure Advance
    ;M98 Pqc.g									; Do NOT uncomment unless you really know what you're doing
    
    m122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.05.1 running on Duet Maestro 1.0
    Board ID: 08DAM-9F9GA-J24TD-6J1F8-3SW6R-K41LV
    Used output buffers: 3 of 24 (17 max)
    === RTOS ===
    Static ram: 19804
    Dynamic ram: 87616 of which 20 recycled
    Exception stack ram used: 484
    Never used ram: 23148
    Tasks: NETWORK(ready,740) HEAT(blocked,1272) MAIN(running,1876) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 03:23:12 ago, cause: power up
    Last software reset at 2020-12-11 00:32, reason: User, spinning module GCodes, available RAM 23184 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04418000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 10
    Free file entries: 10
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 1015.9ms, max retries 0
    MCU temperature: min 19.8, current 39.4, max 43.6
    Supply voltage: min 0.0, current 24.1, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, read errors 0, write errors 0, ifcount 19, reads 65358, timeouts 78
    Driver 1: standstill, read errors 0, write errors 0, ifcount 19, reads 65351, timeouts 85
    Driver 2: standstill, read errors 0, write errors 0, ifcount 19, reads 65334, timeouts 102
    Driver 3: standstill, read errors 0, write errors 0, ifcount 12, reads 65353, timeouts 90
    Driver 4: standstill, read errors 0, write errors 0, ifcount 9, reads 65364, timeouts 82
    Driver 5: standstill, read errors 0, write errors 0, ifcount 19, reads 65354, timeouts 81
    Driver 6: standstill, read errors 0, write errors 0, ifcount 19, reads 65340, timeouts 95
    Date/time: 2020-12-12 02:01:47
    Slowest loop: 120.49ms; fastest: 0.05ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 160, MinFreeDm: 100, MaxWait: 140726ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.4
    === GCodes ===
    Segments left: 0
    Stack records: 4 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 1016.60ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex
    
    m98 P"config.g"
    

    Error: Bad command: speed changes/jerk
    The M568 command is no longer needed
    The M568 command is no longer needed
    Tool 2 offsets: X0.00 Y0.00 Z0.00
    No tool is selected
    HTTP is enabled on port 80
    FTP is disabled
    TELNET is disabled
    12.12.2020, 02:03:46 HTTP is enabled on port 80
    FTP is disabled
    TELNET is disabled


  • Moderator

    Most of your config is down one more layer of macros. Can you upload all of the macros called with M98?



  • This post is deleted!


  • ; machine_probe.g
    ; June 29, 2018
    
    ; This document tells the printer which Z probe to use and what the offsets of that probe are.
    ; For X and Y offset, use a caliper and measure the distance between the center of the nozzle
    ; and the part of the probe that measures the bed.
    ; If the probe is to the right of the nozzle, the X value is positive
    ; If the probe is to the left of the nozzle, the X value is negative
    ; If the probe is behind the nozzle, the Y value is positive
    ; If the probe is in front of the nozzle, the Y value is negative
    
    ; To select which probe to use, comment / uncomment ONE of the two M558 lines below.
    
    ; Determine the Probe Z Offset:
    ;  1. Heat the bed to 60C and the nozzle to 150C
    ;  2. Move the head near the center with G1 X200 Y200
    ;  3. Move the bed near the nozzle with G1 Z20
    ;  4. Disable the bed mesh with G29 S2, do this twice
    ;  5. Move the bed in small steps so it just touches the nozzle, 1mm steps first, then 0.1mm steps
    ;  6. Set the Z0 position with G92 Z0
    ;  7. Move the bed back to Z20, with G1 Z20
    ;  8. Deploy the probe if necessary
    ;  9. Get the Z Probe value with G30 S-1
    ; 10. Note the Z value in the Web UI and update it in the G31 Z parameter below
    ; 11. Put the Z probe away if necessary
    
    ; Toggle by uncommenting, depending on preference
    ; M558 P1 X0 Y0 Z1 H5 F120 T5000  ; Set Z probe type -- Enable IR_PROBE
    ; M558 P4 I1 X0 Y0 Z1 H5 F100 T5000 ; Set Z probe type -- Enable LIMIT SWITCH
    M558 P9 H5 F100 T2000
    
    ; Remember to update your Z-probe offset with the Z parameter below
    G31 P9 X30 Y-5 Z3.6   ; Set Z probe (limit switch) trigger value, offset
    
    0:/sys/machine_bedmesh.g
    ; machine_bedmesh.g
    ; October 1, 2018
    
    ; This file defines the extent and density of the bed mesh.
    ; The way this is calculated is by taking the max X, subtract the Z probe X offset
    ; from it and use that as the second of the X values.
    ; For example, if max X is 383 and the Z probe X offset is -43, the parameter would be X0:340
    ; For the Y parameter, make sure you don't start too far to the front or you will hit
    ; the bed clips with the hot end.  Anywhere between 35 and 40 is probably a good start.
    ; The S parameter defines the distance between two mesh points in mm.
    
    M557 X30:330 Y5:300 S60 ; Define heightmap mesh
    M376 H10 ; Define height(mm) over which to taper off heightmap compensation
    
    ; machine_endstoptypes.g
    ; July 17, 2018
    
    ; This file defines what type of end-stops the printer is using.
    ; Make sure you set the correct end-stop type or your printer will grind the belts trying to reach an end-stop that isn't responding!!!
    
    ; Use this if you have an optical Z endstop
    ;M574 X2 Y2 S0 ; Set xy end-stops types (S0 is active low, applied to XY)
    ;M574 Z2 S1 ; Set z end-stops types (S1 is active high, applied to Z)
    
    ; Use this if you have a mechanical Z endstop
    M574 X2 Y2 Z2 S0 ; Set xy end-stops types (S0 is active low, applied to XY)
    
    0:/sys/machine_steppercurrent.g
    ; machine_steppercurrent.g
    ; October 1, 2018
    
    ; This document sets the stepper motor currents.
    ; This is an advanced feature and should only be changed if you REALLY know what you're doing!
    ; Increasing stepper motor currents beyond their limit can result in damage to them!
    
    ;M906 X680 Y680 Z600 E680 I60; Set motor currents (mA) and idle current percentage
    
    M906 X680 Y680 Z800 U800 V800 E400 I60; Set motor currents (mA) and idle current percentage			NY
    
    0:/sys/machine_stepperspeed.g
    ; machine_stepperspeed.g
    ; October 1, 2018
    
    ; This sets the different speed limits of the X Y and Z steppers.
    ; A higher acceleration value makes for faster print speeds, but can also introduce ghosting and other artifacts.
    ; The maximum linear speed should only be changed if hardware has changed
    ; The maximum instantaneous speed change determines how slow the print head has to move before it can make
    ; abrupt direction changes.
    ; These are advanced feature values and should only be changed for good reason and if you know how they impact prints.
    
    M201 X3000 Y3000 Z75 U75 V75 E150 ; Set accelerations (mm/s^2)
    M203 X9000 Y9000 Z700 U700 V700 E5000 ; Set maximum linear speeds
    M566 X350 Y350 Z50 U50 V50 E60 ; Set maximum instantaneous
    speed changes/jerk (mm/min)
    
    0:/sys/machine_axisdimension.g
    ; machine_axisdimension.g
    ; October 4, 2018
    
    ; Set the minimum and maximum extent for each axis here.
    ; The minimum for the Z axis should not be more than 0.5mm past 0 under normal operation
    ; otherwise you risk crashing the bed when moving it too far into the nozzle.
    
    ; The max X and max Y should not need to be changed.
    ; The max Z needs to be at least the next higher integer than what the value was in the
    ; Z end stop configuration.  For example, if the Z end stop was at 376.4, max Z needs to be 377
    ; if the Z end stop was 377.2, max Z needs to be 378 etc.
    
    M208 X0 Y0 Z0.0 S1    ; Set axis minima
    M208 X345 Y315 Z269 S0 ; Set axis maxima
    
    ; machine_axissteps.g
    ; October 9, 2018
    
    ; These values define how many steps make 1mm of movement.
    ; Please note, only change the calibration if the measurements are always
    ; off by the same amount, no matter what the material, layer height or print speed.
    
    ; Here is a link on how to properly calibrate your step values.
    ; http://print.theporto.com/posts/how-to-calibrate-your-3d-printer-for-accurate-printing/
    
    M350 X16 Y16 Z16		       ; Confirming default 1/16 microstepping mode for calculation, in case firmware default changes
    
    ;M92 X79.8 Y79.8 Z565,3922  ; Set axis steps/mm
    M92 X80 Y80 Z800 U800 V800 ; Set axis steps/mm			NY
    
    
    ;M350 X32 Y32 Z32           ; Setting microstepping to 1/32.
    M350 X32 Y32 Z32 U32 V32 I1 ; Setting microstepping to 1/32.
    
    ;Z282,6961
    
    0:/sys/machine_extruderstep.g
    ; machine_extruderstep.g
    ; October 1, 2018
    
    ; This document allows you to calibrate the extruder steps.
    ; This is important to verify as it can lead to over or under extrusion if the values are wrong.
    ; Here is a link to how to calibrate extruder steps:
    ; http://print.theporto.com/posts/how-to-calibrate-your-3d-printer-extruder-steps/
    
    M350 E16		; Confirming default 1/16 microstepping mode for calculation, in case firmware default changes
    
    M92 E415.0 ; Extruder microteps/mm
    
    M350 E32    ; Set microstepping mode to 1/128.
    
    ; machine_maxtemp.g
    ; October 19, 2018
    
    ; This document sets the maximum temperatures for the bed and the hot ends.
    ; This should only be changed if hardware modifications have been made that
    ; can handle the higher temperatures!
    ; FIRE HAZARD - USE AT YOUR OWN RISK!!!!!!
    
    M143 H0 S120 ; Set maximum bed temperature to 120 C
    M143 H1 S280 ; Set maximum heater temperature to 280C for hot end 1
    M143 H2 S280 ; Set maximum heater temperature to 280C for hot end 2
    
    0:/sys/machine_nozzle_tools.g
    ; machine_nozzle_tools
    ; July 9, 2018
    
    ; Compound Nozzle Tools
    
    ; Mixing Tool T0
    ;M563 P0 D0:1 H2 F2 S"Mixing" ; Define mixing tool
    ;G10 P0 X0 Y0 Z0 ; Set axis offsets
    ;G10 P0 R0 S0 ; Set active (S0) & standby temp (R0) at 0.
    ;M567 P0 E0.5:0.5 ; Set tool mix ratios for extruder
    ;M568 P0 S1 ; Turn on tool mixing for the extruder
    
    ; Left Only T1
    M563 P1 D0 H2 F0 S"Nozzle" ; mixing nozzle only using left extruder motor
    ;M568 P1 S0 ; Turn off tool mixing
    G10 P1 X0 Y0 Z0 ; Set axis offsets
    G10 P1 R0 S0 ; Set active (S0) & standby temp (R0) at 0.
    
    ; Right Only T2
    M563 P2 D1  S"Clay extruder" ; mixing nozzle only using right extruder motor
    ;M568 P2 S0 ; Turn off tool mixing
    G10 P2 X0 Y0 Z0 ; Set axis offsets
    G10 P2 R0 S0 ; Set active (S0) & standby temp (R0) at 0.
    
    ; machine_access.g
    ; June 29, 2018
    
    ; Set the machine name and IP address in here
    ; Follow http://promega.printm3d.com/books/user-manual/page/network-setup, for more help
    
    M111 S0                       ; Debugging off
    M550 PPromega                 ; Set machine name, type promega/ in your browser!
    
    ; M551, No Machine Password
    ; M540 PBE:EF:DE:AD:FE:ED     ; Set MAC address, this can be used to assign a given IP in the DHCP
    M552 P0.0.0.0 S1             ; Use this to enable DHCP
    ; M552 P192.168.1.112 S1        ; Set Static IP address and enable networking
    
    0:/sys/qc.g
    ; Network access override
    M550 PQC_Promega					;Set machine name
    M552 P192.168.1.240 S1				;Set Static IP address and enable networking
    
    ; Start QC
    M106 S255							;Nozzle cooling fan check
    G92 X200 Y200 Z200					;Fake coordinates to test Z-probe
    G30									;Test Z-probe
    G28									;Home to check limit switches and establish real coordinates
    M104 T0 S230						;Begin heating nozzle
    ;M104 T1 S230						;Begin heating second nozzle, for K'Tana
    M140 S40							;Begin heating bed
    
    ; Configure motion testing variables
    M201 X3200 Y3200 Z120 E250:250		;Set max acceleration, above recommended
    M203 X9200 Y9200 Z2500 E5000:5000	;Set max Speed, above recommended
    M566 X500 Y500 Z50 E300:300			;Set jerk, above recommended
    M208 X0 Y0 Z20 S1					;Set axis minima
    M208 X370 Y342 Z377 S0				;Set axis maxima
    M564 S1 H1							;Enable limits
    
    ; Move through buildspace
    G1 X0 Y0 Z25 F9000					;Move to origin, front left, Z up
    G1 X0 Y342 Z375 S1 F9000			;Move to back left, Z down
    G1 X370 Y0 Z25 F9000				;Move to front right, Z up
    G1 X370 Y342 Z375 S1 F9000			;Move to back right, Z down
    
    ; Move through buildspace again
    G1 X0 Y0 Z25 F9000					;Move to origin, front left, Z up
    G1 X0 Y342 Z375 S1 F9000			;Move to back left, Z down
    G1 X370 Y0 Z25 F9000				;Move to front right, Z up
    G1 X370 Y342 Z375 S1 F9000			;Move to back right, Z down
    
    ; Center extruder for convenience
    G1 Y220.5 X189.5 Z150 F9000
    
    ;Extrusion
    T0									;Select appropriate tool
    M109 T0 S230						;Finish heating nozzle
    M83									;Set relative extrusion mode
    G1 T0 E200 F200						;Test extrusion
    M104 T0 S0							;Turn off heater
    G1 T0 E-120 F600					;Retract filament
    
    ;Secondary extrusion, for K'Tana
    ;T1									;Select appropriate tool
    ;M109 T1 S230						;Finish heating nozzle
    ;M83								;Set relative extrusion mode
    ;G1 T1 E150 F240					;Test extrusion
    ;M104 T1 S0							;Turn off heater
    ;G1 T1 E-120 F600					;Retract filament
    
    
    ; Probe deployment routine, not used for ProMega
    
    M280 P64 S10
    
    0:/sys/retractprobe.g
    ; Probe retraction routine, not used for ProMega
    
    M280 P64 S90 
    

    I think that should be all of them



  • @BjornH said in Bltouch oddity:

    . The bltouch seems to go "inactive", this means if it just probed perfectly at a bed mesh then it will not probe again later before a 3d printing file.

    What do you mean it will not probe again? do you mean it will not deploy the pin?
    This is most likely a problem with the bltouch. the extension of the bltouch wiring is notoriously bad.
    check for bad crimps.

    The Z probe is at 0 all the time, except when deployed

    that is normal. the bltouch will only trigger for a split second, you will not see it in the ui.



  • What i mean is that the probe will stop probing. It will work a few times, then stop responding.


  • Moderator

    Wow that's convoluted. M3D really went all out.

    @BjornH said in Bltouch oddity:

    0:/sys/machine_stepperspeed.g

    speed changes/jerk

    One of the errors is from that file. You're missing a ; in front of the comment text.

    I don't see anything obvious in the configs that would interfere with the BLTouch.

    What's in your homeall? That's the only macro we're still missing.



  • Promega
    Send code...
    Status
    Processing
    Tool Position
    X
    31.3
    Y
    129.2
    Z
    0.50
    Extruder Drives
    Drive 0
    885.1
    Drive 1
    0.0
    Speeds
    Requested Speed
    8 mm/s
    Top Speed
    8 mm/s
    Sensors
    Vin
    23.3 V
    MCU Temperature
    43.9 C
    Fan RPM
    0
    Z-Probe
    0
    Tools
    Extra
    Control All
    Tool Heater Current Active Standby
    Nozzle
    T1 - Load Filament Heater 2
    active 235.3 C
    235
    235
    Clay extruder
    T2 - Load Filament n/a n/a
    Bed Heater 0
    active 60.3 C
    60
    0
    Temperature Chart
    System Directory
    0:/sys/homex.g
    ; homex.g
    ; called to home the X axis
    ; October 4, 2018

    ; same as homey.g because of coreXY
    ; Front left corner is (0,0)

    ; ============= PRE-HOMING =====================

    ; Ignore Machine boundaries
    M564 H0 S0

    ; Turn off bed leveling during homing
    G29 S2 ; Does the same as M561!

    ; Switch to Origin Tool
    T0

    ; Relative positioning
    G91

    g1 x-5

    ; Provide Z height clearance
    G1 Z10 F750 S1

    ; ================== HOME Y ============================

    ; Rapid Y until limit switch triggers
    G0 Y450 F1500 S1

    ; Back off to release limit switch
    G0 Y-6 F1500

    ; Slow advance to trigger limit switch
    G0 Y10 F120 S1

    ; ============= HOME X ====================

    ; Rapid X until limit switch triggers
    G0 X450 F1500 S1

    ; Back off to release limit switch
    G0 X-6 F1500

    ; Slow advance to trigger limit switch
    G0 X10 F120 S1

    ; Move away from the limit switch, to prevent damage to it upon next move
    G0 X-12 F1500

    ; Set this location as X = 380mm
    G92 X340

    ; Move the gantry slightly away from back of printer, to allow travel past the bolt mounting the gantry bracket
    G0 Y-10 F1200

    ; Set this location as Y = 384mm
    G92 Y315

    ; ============ Post-Homing ==============

    ; Revert to absolute coordinates
    G90

    ; Re-enable mesh leveling
    ;G29 S1

    M98 Pmachine_axisdimension.g ; Set Axes Limits

    ; Stop movement across limits, enable boundaries, homing requirement
    M564 H1 S1

    Promega
    Send code...
    Status
    Processing
    Tool Position
    X
    69.7
    Y
    99.7
    Z
    0.50
    Extruder Drives
    Drive 0
    900.3
    Drive 1
    0.0
    Speeds
    Requested Speed
    8 mm/s
    Top Speed
    8 mm/s
    Sensors
    Vin
    23.9 V
    MCU Temperature
    43.8 C
    Fan RPM
    0
    Z-Probe
    0
    Tools
    Extra
    Control All
    Tool Heater Current Active Standby
    Nozzle
    T1 - Load Filament Heater 2
    active 234.4 C
    235
    235
    Clay extruder
    T2 - Load Filament n/a n/a
    Bed Heater 0
    active 60.1 C
    60
    0
    Temperature Chart
    System Directory
    0:/sys/homey.g
    ; homey.g
    ; called to home the Y axis
    ;

    ; Same as homex.g because of coreXY
    ; Front left is (0,0)

    M98 Phomex.g

    ; homez.g
    ; called to home the Z axis
    ;

    ; ============= PRE-HOMING =====================

    ; Ignore Machine boundaries
    M564 H0 S0

    ; Turn off bed leveling during homing
    G29 S2 ; Does the same as M561!
    G29 S2 ; Do it twice because once just isn't enough

    ; Switch to Origin Tool
    T0

    ; Relative positioning
    G91

    ; Provide Z height clearance
    G1 Z10 F750 S1

    ; ============ HOME Z ==============

    ; Rapid Z until limit switch triggers
    G0 Z450 F1500 S1

    ; Back off to release limit switch
    G0 Z-15 F1500

    ; Slow advance to trigger limit switch
    G0 Z20 F120 S1

    M98 Pmachine_zendstop.g ; Set Z Endstop height
    M98 Pmachine_zprobe.g ; Set Z Probe distance

    ; ============ Post-Homing ==============

    ; Revert to absolute coordinates
    G90

    ; Re-enable mesh leveling
    ;G29 S1

    M98 Pmachine_axisdimension.g ; Set Axes Limits

    ; Stop movement across limits, enable boundaries, homing requirement
    M564 H1 S1


  • Moderator

    @BjornH said in Bltouch oddity:

    M98 Pmachine_zendstop.g ; Set Z Endstop height
    M98 Pmachine_zprobe.g ; Set Z Probe distance

    Ok now how bout these ones so we can see what it's doing to home z?



  • Promega
    Send code...
    Status
    Processing
    Tool Position
    X
    27.0
    Y
    237.3
    Z
    0.50
    Extruder Drives
    Drive 0
    2861.8
    Drive 1
    0.0
    Speeds
    Requested Speed
    8 mm/s
    Top Speed
    8 mm/s
    Sensors
    Vin
    23.3 V
    MCU Temperature
    43.7 C
    Fan RPM
    0
    Z-Probe
    0
    Tools
    Extra
    Control All
    Tool Heater Current Active Standby
    Nozzle
    T1 - Load Filament Heater 2
    active 234.9 C
    235
    235
    Clay extruder
    T2 - Load Filament n/a n/a
    Bed Heater 0
    active 60.1 C
    60
    0
    Temperature Chart
    System Directory
    0:/sys/machine_zendstop.g
    ; machine_zendstop.g
    ; June 29, 2018

    ; IMPORTANT: should you drop the bed or skip a tooth, this value might change and has to be recalibrated!!!

    ; This file sets the Z position of the Z end stop. It is used to determine the height of the build volume.
    ; If this value is incorrect, you either have a nozzle that drags on the bed or is too far from the bed that
    ; the filament won't stick to the surface. It is the single most important file to get right so do spend
    ; some time verifying the Z position after making changes here.

    ; Instructions
    ; 1. Home All
    ; 2. Disable the bed mesh with G29 S2 twice
    ; 3. Run G1 X200 Y200 Z20 F1500
    ; 4. Manually jog the bed up using the <Z-10 to <Z-0.1 using smaller steps as you get close to the nozzle
    ; 5. Have bed touching the nozzle, do not leave a gap. If you can't reach the nozzle, estimate how far the
    ; bed is from the nozzle and add that value to the Z value in the G92 command below and start over.
    ; 6. Record your Z height number as shown in the DWC Machine Status Head Position Window
    ; 7. Calculate the new Z value for the G92 command below:
    ;
    ; If your Z value was positive, subtract the value from the current Z value in the G92 command below.
    ; Example: If the measured Z value of the bed touching the nozzle was 2.5 and the current Z value was
    ; 376.4, the new Z value would be 376.4 - 2.5 = 373.9
    ; Don't forget to set the Max Z value in machine_axisdimension.g to 374

    ; If your Z value was negative, add the value to the current Z value in the G92 command below.
    ; Example: If the measured Z value of the bed touching the nozzle was -0.7 and the current Z value was
    ; 376.4, the new Z value would be 376.4 + 0.7 = 377.1
    ; Don't forget to set the Max Z value in machine_axisdimension.g to 378

    ; If your Z value was 0, congratulations, no changes to this file are needed.

    ; 8. Re-enable your bed leveling compensation with G29 S1

    ; Set this location as Z = 376.4mm (Normally the Default Factory Number for Compound)
    ;G92 Z376.6 ; With glass bed and Compound

    endstop should be disabled

    ; machine_probe.g
    ; June 29, 2018

    ; This document tells the printer which Z probe to use and what the offsets of that probe are.
    ; For X and Y offset, use a caliper and measure the distance between the center of the nozzle
    ; and the part of the probe that measures the bed.
    ; If the probe is to the right of the nozzle, the X value is positive
    ; If the probe is to the left of the nozzle, the X value is negative
    ; If the probe is behind the nozzle, the Y value is positive
    ; If the probe is in front of the nozzle, the Y value is negative

    ; To select which probe to use, comment / uncomment ONE of the two M558 lines below.

    ; Determine the Probe Z Offset:
    ; 1. Heat the bed to 60C and the nozzle to 150C
    ; 2. Move the head near the center with G1 X200 Y200
    ; 3. Move the bed near the nozzle with G1 Z20
    ; 4. Disable the bed mesh with G29 S2, do this twice
    ; 5. Move the bed in small steps so it just touches the nozzle, 1mm steps first, then 0.1mm steps
    ; 6. Set the Z0 position with G92 Z0
    ; 7. Move the bed back to Z20, with G1 Z20
    ; 8. Deploy the probe if necessary
    ; 9. Get the Z Probe value with G30 S-1
    ; 10. Note the Z value in the Web UI and update it in the G31 Z parameter below
    ; 11. Put the Z probe away if necessary

    ; Toggle by uncommenting, depending on preference
    ; M558 P1 X0 Y0 Z1 H5 F120 T5000 ; Set Z probe type -- Enable IR_PROBE
    ; M558 P4 I1 X0 Y0 Z1 H5 F100 T5000 ; Set Z probe type -- Enable LIMIT SWITCH
    M558 P9 H5 F100 T2000

    ; Remember to update your Z-probe offset with the Z parameter below
    ; Follow this guide or the instructions above: http://promega.printm3d.com/books/user-manual/page/bed-leveling-probing#bkmrk-the-limit-switch-pro
    ; G31 P450 X30.4 Y30.7 Z10 ; Set Z probe (IR) trigger value and offset
    ; G31 P999 X-42 Y31 Z15.0 ; Set Z probe (Metrol switch) trigger value, offset
    G31 P9 X30 Y-5 Z3.6 ; Set Z probe (limit switch) trigger value, offset



  • I have yet cleaned up all the files from M3D yet, as i have been strugling just to get this piece to work correctly. Bltouch to work optimal will be last piece


  • Moderator

    I can't see anything in there that should cause the bltouch to stop, but it's a bit hard to follow.

    For troubleshooting I would suggest generating a basic config using the web configurator and see if you can get it working with a basic config. If it works, then you know it was a config problem. If it still has the same problem then it's a BLtouch hardware problem. Either the probe itself or the wiring.



  • Thank you for looking into it, i will clean up the files and try the configurator.



    • Update to those who may have the same problem.

    I can now confirm this is a wiring problem, as the dupont connection/wire is very bad.

    After several tries and then squeezing the cable more onto the bltouch it suddenly worked fine again.



  • @BjornH
    yes as i said earlier, the extension wire is causing a lot of headaches.



  • @Veti I will swap out all, but i think the main problem is in the dupont connector itself, i will open it and tighten the connectors.



  • just swap to a different connector.

    these are the ones i use for small wires

    https://de.aliexpress.com/item/32856368582.html



  • I have a CR10 that does this too. Once in a while, like every 20 prints or so the bltouch simply checks out and goes on vacation for the initial home. Gives a message about already triggered but the Duet isn’t bothered by probe issues...it drives the Z into the bed until I stop it. Never fails during the 81 probe mesh, just the initial home. I’ve changed the BLTouch, swapped a new wire to the daughterboard then ditched it altogether and ran a new wire all the way to the Duet. Still does it with the same seldom frequency.

    Though I have changed all of it, I get that it could still be a BLTouch issue or a wiring issue and have nothing to do with the Duet but the firmware should halt the Z when it knows the probe has failed. I find it odd that it doesn’t, though it is entirely possible I just haven’t found how to make it do so yet.



  • @TampaPrinter I have not corrected my fault yet, since i have to dissasemble my extruder. I belive the problem lays in the pins (dupont) connection to the bltouch as they are not thight enough



  • @TampaPrinter

    Though I have changed all of it, I get that it could still be a BLTouch issue or a wiring issue and have nothing to do with the Duet but the firmware should halt the Z when it knows the probe has failed. I find it odd that it doesn’t, though it is entirely possible I just haven’t found how to make it do so yet.

    You can check for BLTouch sensor error before probing to detect some errors.

    if sensors.probes[0].value[0]!=1000 ; if probe is not in error state
    	M291 P"BLTouch ready to use" S1 T2
            G30
    

Log in to reply