G32 and weird Bltouch behaviour



  • I've been having this behaviour that happens rarely, but now it seems to happen everytime I do a G32 that I can't use the printer right now.

    This is my HEVO Hypercube Evolution. So what happens is this, it G28 fine, but right after heater and nozzle is up to temp and it issues the G32, sometimes, especially at usually the 3rd or 4th point, the probe would either deploy, but somehow before touching the bed, think it touched the bed, retract the probe (it didn't even come close to touching the bed) and then move on to the next point (I would see that the probe suddenly goes from 0 to 2000, meaning it thought it touched the bed)

    OR it would retract the pin and still continue to go down to the bed until it crashes, causing 3-4 dents in my print bed.

    I first thought it was faulty wiring, so I switched out the cables, but nope same thing. I'm at a loss here at what's going on.

    Any help is greatly appreciated.



  • It would help to know some more information.

    What firmware version?
    What probe type?
    Can you post the contents of your config.g and homing and bed files?



  • Hi firmware 1.19
    The probe is as mentioned a Bltouch, genuine smart type (still metal pin, just before the plastic version)

    Sure here is my config.g

    ; Configuration file for testing Duet Ethernet and Wifi with V1.19 firmware


    FOR TESTING ONLY! USE https://configurator.reprapfirmware.org/ to generate configuration files for your printer!


    ; Configuration file for Duet WiFi (firmware version 1.17)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Oct 08 2017 12:13:50 GMT-0500 (Central Daylight Time)

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin

    M667 S1 ; Select CoreXY mode
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X300 Y300 Z288 S0 ; Set axis maxima
    M572 D0 S0.15 ; set 0.23 pressure advance (for every 0.1mm, needs to have 1mm less retraction distance)

    ; Endstops
    M574 Z0 S0 ; Define active low and unused microswitches
    M574 X1 Y1 S1 ; Define active high microswitches
    M558 P5 X0 Y0 Z1 H5 F100 T2000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 X21.25 Y0.5 Z1.68 P100 ; Set Z probe trigger value, offset and trigger height
    M557 X15:285 Y15:285 S20 ; Define mesh grid
    M307 H3 A-1 C-1 D-1 ;

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X79.65 Y79.45 Z395 E770 ; Set steps per mm
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z180 E1200 ; Set maximum speeds (mm/min)
    M201 X3600 Y3600 Z250 E250 ; Set accelerations (mm/s^2)
    M906 X1500 Y1500 Z1200 E1200 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S280 ; Set maximum heater temperature to 280C
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 (BED)
    M305 P1 T100000 B3950 R4700 ; Set thermistor + ADC parameters for heater 1 E0 (extruder 1)

    ; Tools
    M563 P0 D0 H1 ; 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

    ; Network
    M550 PHEVO (Hypercube Evolution) ; Set machine name

    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are configured
    ; Filament Sensor
    M591 D0 P1 C4 R20 ; configure extruder drive 0 to use E1 endstop (C4) with 20% tolerance
    M591 D0 ; display filament sensor parameters for extruder drive 0

    T0



  • and here is my bed.g

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Oct 08 2017 12:13:50 GMT-0500 (Central Daylight Time)

    ; Clear any bed transform
    M561

    ; Probe the bed at 5 points
    G30 P0 X30 Y15 H0 Z-9999
    G30 P1 X30 Y285 H0 Z-9999
    G30 P2 X285 Y285 H0 Z-9999
    G30 P3 X285 Y15 H0 Z-9999
    G30 P4 X150 Y150 H0 Z-9999 S

    The problem occurs ONLY on G32, not G28, but here is my homeall.g:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Oct 08 2017 12:13:50 GMT-0500 (Central Daylight Time)

    ; Relative positioning
    G91

    ; Lift Z
    G1 Z6 F250

    ; Course home X or Y
    G1 X-305 Y-305 F1800 S1
    ; Course home X
    G1 X-305 S1
    ; Course home Y
    G1 Y-305 S1

    ; Move away from the endstops
    G1 X5 Y5 F6000

    ; Fine home X
    G1 X-305 F360 S1
    ; Fine home Y
    G1 Y-305 S1

    ; Absolute positioning
    G90

    M98 Pdeployprobe.g

    ; Go to first bed probe point and home Z
    G1 X150 Y150 F6000
    G30

    and my homez.g
    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Oct 08 2017 12:13:50 GMT-0500 (Central Daylight Time)

    ; Lift Z relatively to current position
    G91
    G1 Z6 F250
    ; Back to absolute positioning
    G90

    M98 Pdeployprobe.g

    ; Go to first bed probe point and home the Z axis
    G1 X150 Y150 F6000
    G30

    M98 Pretractprobe.g

    ; Uncomment the following lines to lift Z after probing
    G91
    G1 Z5 F100

    Appreciate the help it's been bugging me so much.



  • What version of BLTouch? Classic? Smart? V1, V2? Is it a clone? Some of the older versions and clones don't work very well, sorry to say. Not saying it's related, but it's something to consider.

    You're on fairly old firmware. There have been some improvements to BLTouch support since 1.19. Mainly it now has a dedicated probe type and some other improvements to improve sensitivity to trigger detection. The deployment and retraction are also handled properly by the system automatically. No need to called the deploy and retract macro anymore. This is more convenient, but also allows the system to keep track of the state of the probe.

    If you don't want to upgrade you can check the following things

    • is the pin clean?
    • is the 3.3v logic trace completely cut?
    • if it's an older version do you have the resistor in place?
    • is the bltouch mounted so that it's perfectly vertical?
    • is it mounted with 8mm between the nozzle tip and body of the touch?
    • is your wiring running along side high power wires like heaters or steppers?
    • you may have a loose wire or crimp

    If you do want to upgrade your firmware to the latest release your config would change to
    M574 Z1 S2 ; zmin uses probe
    M558 P9 H5 F100 T2000 R0.2 B1 A5 ; XYZ are no longer used, P9 is for bltouch, R gives a short pause after the travel move before probing to minimize chance of early trigger. B1 turns off heaters during the probe move to minimize interference, A5 will probe up to 5 times, unless 2 probe results are within tolerance of each other.
    G31 X21.25 Y0.5 Z1.68 P25 ; P25 to increase the sensitivity for trigger

    You'll also have to remove the M98 Pdeployprobe.g and M98 Pretractprobe.g from your homing and bed files. G30 will automatically deploy and retract as needed. If you need to manually retract or deploy you can use M401 and M402.

    This should give ideal performance for the BlTouch.

    Please read all the upgrade notes between 1.19 and the latest firmware. There have been a few changes that you will need to address. The big ones that will affect the working of your printer include not being able to move axis until they are homed, and a bug fix for CoreXY mode that may require you to reverse the direction of a motor.

    https://github.com/dc42/RepRapFirmware/releases
    https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW.md



  • Heyo, as mentioned, the BLtouch is a genuine one, it's the Smart one with metal pins. The 3.3V is definitely completely cut, it's absolutely vertical.

    The wire is running along side high power wires, I didn't know that could interfere o.o

    I don't think it's loose as they are all tape, and I switched wires already.

    Okay I will find time to upgrade, I'm just nervous about the upgrading because base off the wiki it seems like upgrading from 1.19 to 1.21 is a bit tricky? but I will do it and change the config.g to what you said and go from there. I upgrade the firmware first before the wifi server correct?



  • Hi @Phaedrux,

    Do you need to remove deployprobe and retractprobe if you are using p9?

    Regards
    Sam



  • @samlogan87 depends what you mean by deployprobe and retractprobe. The macros will stay in the system folder and have the servo commands in them as usual. But you don't have to call those macros with M98 anymore. G30 will automatically control the probe pin.

    @iamthebest22 it might be a good idea to upgrade in a few stages. Start with 1.20 and then 1.21. if you read the notes for the major changes you can account for them each time.


  • administrators

    If the pin deploys fully and it thinks it touched the bed (i.e. there are no "Z probe was not triggered" messages) and otherwise it behaves normally, then I think the most likely cause is a bad crimp on the white wire.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.