Duet3MB6HC with Duet3 scanning Z probe
-
@droftarts
okay, thanks.I am having trouble selecting the input port for the scan probe in the RRF configuration tool.
I am only using a scanning Z probe for auto-levelling and mesh bed compensation, but I am confused about how to configure it. (it's possible with scan Z probe?)
Could you please explain how to set this up and provide example files for bed.g and config.g?
and which input pin i have to used from Duet3 EXP1XD?
-
@R006 said in Duet3MB6HC with Duet3 scanning Z probe:
I am having trouble selecting the input port for the scan probe in the RRF configuration tool.
The SZP is CAN connected, so it should have a CAN address. If your CAN wiring is correct, and you haven't changed the CAN address on the SZP, it should be 120. You can check in DWC if it is showing up, in Settings > Machine-Specific, or look under 'boards' in the Object Model plugin.
I am only using a scanning Z probe for auto-levelling and mesh bed compensation, but I am confused about how to configure it. (it's possible with scan Z probe?)
Could you please explain how to set this up and provide example files for bed.g and config.g?The example I gave above is the bed.g file, using the second probe. You already have it set up in config.g. However...
and which input pin i have to used from Duet3 EXP1XD?
This makes me think you haven't understood how to wire the SZP. Please post a picture of your wiring to the SZP.
You need to connect:
- the CAN wires from the CAN OUT of the EXP1XD to the SZP. This will be an RJ11 connector from the 1XD, wired to the 4-pin JST PA connector on the SZP. Make sure you connect CAN_L from the 1XD to CAN_L on the SZP, and CAN_H from the 1XD to CAN_H on the SZP
- the power wires, which require 5V and GND. You could connect these from IO0, IO1 or IO2 on the 1XD, to the 4-pin JST PA connector on the SZP.
Lastly, CAN termination. Assuming you have the termination jumpers on the last 1XD on the CAN bus, then:
- if then CAN wire to the SZP is LESS than 1m, you should be able to connect the SZP as a 'stub', and leave the CAN termination jumpers on the 1XD.
- if the CAN wire between the 1XD and SZP is MORE than 1m, you will need to remove the CAN termination jumpers from the 1XD, and solder the CAN termination jumper on the back of the SZP, see https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Scanning_Z_Probe#terminating-resistor
Ian
-
@droftarts
Thank you for the explanation.
Please check the code below.M558 P11 C"41.EXP1XD" F36000 T36000 G31 Z2 Y0 X0 M558.2 S15 R101133 M557 X0:550 Y0:550 S20
-
@R006 said in Duet3MB6HC with Duet3 scanning Z probe:
M558 P11 C"41.EXP1XD" F36000 T36000
This is incorrect. The SZP is a completely separate CAN board from the 1XD, so the C parameter should reference the SZP directly, not the 1XD. Your C parameter isn't even a real pin. The SZP should show up in the list of CAN boards in DWC > Settings > Machine-specific. Please show how you have wired it.
If you have another probe, eg BLTouch, you need to specify the SZP as another probe with the K parameter. So it should look like the documentation https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Scanning_Z_Probe#scanning-z-probe ie:
M558 K1 P11 C"120.i2c.ldc1612" F36000 T36000
Ian
-
@droftarts @dc42
hey, sorry for the late reply.I have attached an image of the wiring for the SZP with the Duet3 and its configuration.
SZP configuration in config.g
M558 K0 P11 C"120.i2c.ldc1612" F36000 T36000 ; Configure SZP as probe 1, type 11, on CAN address 120 M308 A"SZP coil" S10 Y"thermistor" P"120.temp0" ; Thermistor on SZP coil G31 K0 Z2 Y-17 ; Define probe 1 offsets and trigger height M558.1 K0 S1.7. M558.2 K0 S15 R101133 ; Set drive current and reading offset
I am doing the following steps using DWC. Please check this. However, when I run G30 K0 S-1, it gives the following error:
G30 K0 S-1
Error: M300: Probe already triggered at start of probing moveDWC Commands & it's output:
G30 K0 S-1 Error: M300: Probe already triggered at start of probing move M558.1 K0 Scanning probe coefficients [-4.805e+0, -3.410e+0, 0.000e+0, 0.000e+0] Scanning probe coefficients [-4.805e+0, -3.410e+0, 0.000e+0, 0.000e+0], reading at trigger height 9050, RMS error 4.143mm M558.2 K0 S-1 Calibration successful, sensor drive current is 15, offset is 135750 M558.2 K0 Sensor drive current is 15, offset is 101133 M558 Z Probe 0: type 11, input pin 120.i2c.ldc1612, min interval 2ms, dive heights 5.0,5.0mm, probe speeds 36000,36000,36000mm/min, travel speed 36000mm/min, recovery time 0.00 sec, heaters normal, max taps 1, max diff 0.03
I have some questions:
1. Is it necessary to connect the BL-Touch the first time to calibrate the Z height?
2. I am doing tabletop testing. Is this the correct way to calibrate the SZP, or should it be done on the machine?
3. Please check my configuration and wiring of the SZP. Is it correct?
4. Could you please explain a simpler way to calibrate it? I have read the documentation, but it is quite difficult to understand. -
@R006 said in Duet3MB6HC with Duet3 scanning Z probe:
1. Is it necessary to connect the BL-Touch the first time to calibrate the Z height?
No, but you need to set the Z height somehow. As we say here https://docs.duet3d.com/en/User_manual/Tuning/scanning_z_probe_calibration#calibration
Set the Z datum (Z=0), either by homing Z using another probe, or by moving the nozzle to just touch the bed and send G92 Z0.
2. I am doing tabletop testing. Is this the correct way to calibrate the SZP, or should it be done on the machine?
It should be done on the machine. The SZP coil needs to be set at the correct height ie 4-5mm above the bed surface for calibration.
3. Please check my configuration and wiring of the SZP. Is it correct?
There's an extra full stop after the M558.1 line in your config.g. Probably not that important:
M558.1 K0 S1.7.
I can't tell regarding the wiring. Have you soldered the SZP 5V, GND and CAN wires to the back of the 1XD? Do the CAN synchronisation LEDs flash in time? Does the SZP show up in the list of boards in DWC, and are the firmware versions the same? Do you get a response if you send
M122 B120
?I can't see the coil. Is it under the SZP board? If so, most likely it is picking up the SZP board, and is too close, which is why you get the 'already triggered' message.
4. Could you please explain a simpler way to calibrate it? I have read the documentation, but it is quite difficult to understand.
It's going to be impossible to calibrate it fully in a bench set up. It needs to be mounted to a machine. See the mounting instructions here: https://docs.duet3d.com/en/User_manual/Tuning/scanning_z_probe_calibration#mounting
You might just be able to do the M558.2 calibration (drive level and reading offset) on a bench setup, if you can hold the coil securely 4mm above a surface that mimics the bed (it must be metallic). But the M558.1 calibration (height vs reading) will be impossible unless you have it set up on a Z stage for accurate movement. And, most likely, both of these calibrations will change once you put it on the machine.
If there's a specific part you are struggling with, please let me know.
Ian
-
Thank you @droftarts
There's an extra full stop after the M558.1 line in your config.g. Probably not that important:
M558.1 K0 S1.7.
it's typing mistake.
In my setup, I am using only the SZP. When I run G30 K0 S-1, it gives me the error "Probe already triggered at start of probing move."
Can I use G30 K0 S-1 to measure the height from the bed to the SZP?
I have mounted the SZP 4mm above the bed, and at X0 Y0 Z0, the calibration data is:
"Scanning probe coefficients [4.546e-1, -3.829e-4, -8.222e-10, 1.247e-15]"Where should I set this calibration data?
@droftarts @dc42 @Phaedrux -
@droftarts, I am waiting for your response.
Please check my config.g file:
M558 K0 P11 C"100.i2c.ldc1612" F36000 T36000 ; configure SZP as probe 1, type 11, on CAN address 120 M308 A"SZP coil" S10 Y"thermistor" P"100.temp0" ; thermistor on SZP coil G31 P500 K0 Z3 Y-17 H10 ; define probe 1 offsets and trigger height M558.2 K0 S23 R164530 M558.1 K0 S2
Let me know if I am doing something wrong.
At some points, I get trigger heights like 3.00, -2.55, or -2.99.
In DWC, my Z-probe value is not steady; it fluctuates between 0, 9097, and 999999.
why does it fluctuate? @droftartsI am using a proximity sensor for homing the Z-axis.
-
@droftarts
i am waiting for your reply. -
@R006 Apologies for the slow reply, I was away for an extended period of time over Christmas and New Year, and have finally caught back up.
I have mounted the SZP 4mm above the bed, and at X0 Y0 Z0
If you mean the SZP is 4mm above the bed when the nozzle is touching the bed, this is wrong. Yes, the SZP should be calibrated 4mm above the bed, but the nozzle should not be on the bed. Ideally, the SZP should be 4mm above the bed when the nozzle is 2mm above the bed, ie at Z2, so that it doesn't hit the bed when scanning. See https://docs.duet3d.com/en/User_manual/Tuning/scanning_z_probe_calibration#mounting
Where should I set this calibration data?
We advise NOT setting this, but calibrating each time you do a SZP scan. This is because the SZP coil readings change with temperature. It is possible to set it and add it to config.g; see https://docs.duet3d.com/User_manual/Reference/Gcodes#m5581-calibrate-set-or-report-height-vs-reading-of-scanning-z-probe
When setting, ignore the first parameter reported from the calibration. The 2nd, 3rd and 4th are A, B and C. Your result of "Scanning probe coefficients [4.546e-1, -3.829e-4, -8.222e-10, 1.247e-15]" would become:
M558.1 K1 A-3.829e-4 B-8.222e-10 C1.247e-15
Please check my config.g file
M558.2 K0 S23 R164530
This calibration seems high, and is probably causing the fluctuating readings. I'd guess that you moved up from Z0 to Z2 or Z4, so the SZP is actually 6 or 8mm from the bed when you did the calibration. A typical drive level is around 15 for the 12mm coil. Which coil are you using? Higher or lower drive level settings may cause sporadic 999999 readings. If you get these, try adjusting the Z height you do the M558.2 K1 S-1 calibration at.
Ian
-
@droftarts thank you for reply.
i am try both coil 12mm and 15mm, but the value is fluctuates between 0, 9097, and 999999.
-
@R006 What is the bed surface? It needs to be metal on, or near the surface (under a PEI sheet is okay), ie not have glass on top.
Are you setting the M558.2 calibration with the SZP coil around 4mm from the bed?
When you say "the value is fluctuates between 0, 9097, and 999999" are these the only three readings? Or does it give other readings? I'd usually expect to see readings in the range 1500 (Z6) to 15000 (Z0.3). You shouldn't get 0 or 999999 readings.
Random 999999 readings can be caused by:
- Interference on the SZP ribbon cable (from SZP to coil). Makes sure to route the SZP ribbon cable away from the coil, ie make sure it doesn't go over the coil
- Poor ribbon cable contact. Ensure it is FULLY inserted into the tiny connector, at both ends. Try reseating this if you continue to get erratic readings
- Make sure there is no metal in the 30mm ABOVE the coil, or it will pick this up and give false readings
What firmware version are you running on the 6HC and SZP?
Ian