BLTouch driving me bonkers...
-
Hey, long time, no post...
Okay, so I'm using a Duet 3 6HC mainboard, and decided for SOME reason to use a BLTouch instead of the IR sensor that I could have scavenged from a defunct printer. At this point, the IR sensor is starting to look pretty good.....
I have a CoreXY printer with 3 Z motors. Most things are working acceptably, except getting that Z=0. My BLTouch is attached to io4. I read that io4 or io7 work, not sure why others say they don't.
If I home everything (Homing Z moves to maximum position, trying to use sensorless homing there because it's just a rough guess. I'm having some trouble with that, too, but it doesn't matter because at 25% current (which does seem to be working) it's not doing any harm.
First, it doesn't seem to care what the offset is, G30 probes in whatever position the head is in, even if I specify X and Y coordinates. (the probe is 36mm "in front" of the print head, X=0, Y=-36.) I would expect that the probe would move the print head to the Y position + 36mm to probe, but that's not too important...
If I just use
G30
, the BLTouch deploys, and the bed is probed, and the zero is adjusted. and the Z is liftedIf I use
G30 S-1
the BLTouch is deployed, the bed is probed, and I'm told that it triggers at the 2.5mm (Which is what I told the firmware the Z offset is, so that means that the first adjustment worked.If I try to set a point with
G30 P0
the probe does not deploy and the bed is not probed, and I get no error.If I manually deploy the probe with
M280 P0 S10
(The automatically generated contents of deployprobe.g from the configuration tool) the probe deploys (And if the height is too low, the BLTouch starts flashing error.)G30 P0
still does not probe the bed (even if there is no error) and does not report an error.G30
still works as expected.So... I'm stymied.
Okay, relevant details:
M115 FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.4.5 ELECTRONICS: Duet 3 MB6HC v1.01 FIRMWARE_DATE: 2022-11-30 19:35:23
The BLTouch is connected to io4, with +5V to vin, io4.out connected to the servo pin, GND to both the servo ground and the IO ground, and the stop input connected to io4.out (5 wires to 4 pins.)
config.g:
; Configuration file for Duet 3 MB 6HC (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Tue Feb 21 2023 20:05:02 GMT-0800 (Pacific Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"DMG3D03" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; physical drive 0.0 goes backwards M569 P0.1 S0 ; physical drive 0.1 goes backwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M569 P0.5 S1 ; physical drive 0.5 goes forwards M584 X0.0 Y0.1 Z0.2:0.3:0.4 E0.5 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z100.00 E395.45 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z3000.00 E2700.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z1500.00 E3000.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S60 ; Set idle timeout ; Axis Limits M208 X-15 Y0 Z0 S1 ; set axis minima M208 X235 Y250 Z243 S0 ; set axis maxima M671 X-30.3:276.3:222.5 Y34.5:34.5:307.8 S5 ; Motor positions: -30.3,34.5; 276.3,34.5; 222.5,307.8 ; Endstops M574 X1 S1 P"^io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin ^io0.in M574 Y1 S1 P"^io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ^io1.in M574 Z2 S3 ; configure sensorless endstop for high end on Z ; Z-Probe M950 S0 C"io4.out" ; create servo pin 0 for BLTouch M558 P9 C"io4.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X0 Y-36 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:195 Y15:195 S20 ; define mesh grid ; 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 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M307 H0 R0.155 D15.47 ; set PID parameters for heated bed M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 S"Hemera" D0 H1 F0:1 ; 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 ; Custom settings are not defined ; Miscellaneous T0 ; select first tool
And in case someone can tell me why this doesn't work...
homez.g:; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Tue Feb 21 2023 20:05:02 GMT-0800 (Pacific Standard Time) G91 ; relative positioning M913 Z25:25:25 ; set motor current to 25% M915 P0.2:0.3:0.4 S3 F0 R0 ; configure stall detection M574 Z2 S3 ; Set endstop configuration to stall detection G1 H1 Z250 F2400 ; move Z up until the endstop is triggered G92 Z250 ; set Z position to axis maximum (you may want to adjust this) M913 Z100:100:100 ; restore motor current ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position G90 ; absolute positioning
Any help appreciated...
Edit:
G29
works... -
@SupraGuy it looks like your probe is working fine. I think you are misunderstanding how G30 with a P parameter works. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#description
G30 with a P parameter
This is used for operations that are performed after the printer has been homed and that require the height error at more than one probe point to be measured.G30 P… is usually used in a macro to level a bed with multiple independent motors. For a guide to bed plane levelling with three Z motors see https://docs.duet3d.com/User_manual/Connecting_hardware/Z_probe_auto_levelling
Ian
-
Okay, I've got it sorted...
What was confusing me is that I was trying to use it the
G30 P0
... set the exact same way as I do on my printer that has the DC42 IR probe, which doesn't deploy. It does work the way that I was using it, though I can see from the "proper" use of it that I am doing it a bit weird, by manually accounting for the probe offset.@droftarts said in BLTouch driving me bonkers...:
usually used in a macro to level a bed with multiple independent motors.
Which is exactly what I wanted to use it for, as I have 3 independent Z motors (On drives 2, 3, and 4)
Took me a while to get back to this, but it's all good now.
-
-