Creality CR Touch Sensor with Duet 3 Mini 5+ WiFi
-
@TrafficViolation I had to post a picture because I was getting spam flagged. Here is my code:
config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Apr 15 2023 14:54:17 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"LazerGraph" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Laser M563 P1 S"Laser" M452 C"out6" R255 F200 ; Enable Laser mode, on out1, with max intensity being 255, and a PWM frequency of 200 ; Drives M569 P0.0 S0 ; 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.3 S0 ; physical drive 0.3 goes backwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M584 X0.0 Y0.1 Z0.2:0.3:0.4 ; set drive mapping M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z80.00 ; set steps per mm M566 X900.00 Y900.00 Z24.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z600.00 ; set maximum speeds (mm/min) M201 X250.00 Y250.00 Z50.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 I50 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X210 Y200 Z136 S0 ; set axis maxima ; Endstops M574 X2 S1 P"io0.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io0.in M574 Y2 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io1.in ;M574 Z2 S2 ; Z probe M950 S0 C"io3.out" ; Duet 3 Mini 5+ M558 P9 C"io3.in" H5 F120 T6000 ; Duet 3 Mini 5+ G31 X20 Y0 Z136 P25 ; set Z probe offset, trigger height, and trigger value M557 X25:210 Y0:200 S20 ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping) ; Fans ; Tools ; Custom settings are not defined
homeall.g
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Apr 15 2023 14:54:17 GMT-0400 (Eastern Daylight Time) G91 ; relative positioning ;G1 H2 Z0 F900 ; lift Z relative to current position G1 H1 X255 Y205 F900 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X255 ; home X axis G1 H1 Y205 ; home Y axis G1 X-5 Y-5 F300 ; go back a few mm G1 H1 X255 F300 ; move slowly to X axis endstop once more (second pass) G1 H1 Y205 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X110 Y100 F900 G30 ;G92 Z0 ; set Z position to axis minimum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing G91 ; relative positioning G1 Z-5 F5 ; lift Z relative to current position G90 ; absolute positioning
homez.g
; homez.g ; called to home the Z axis ; G90 ; absolute positioning G1 X105 Y100 F900 G30
deployprobe.g
M280 P0 S10
retractprobe.g
M280 P0 S90
When I try to home all, I get the following error:
G28 Error: Probe already triggered at start of probing move
Here is the output of
M122
:=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.4.5 (2022-11-30 19:41:16) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NK03G-LN6KL-K65J0-409NJ-NR02Z-R7MVJ Used output buffers: 1 of 40 (14 max) === RTOS === Static ram: 103652 Dynamic ram: 110180 of which 92 recycled Never used RAM 27716, free system stack 134 words Tasks: NETWORK(notifyWait,14.5%,237) LASER(notifyWait,0.0%,38) HEAT(notifyWait,0.0%,374) Move(notifyWait,0.0%,279) CanReceiv(notifyWait,0.0%,942) CanSender(notifyWait,0.0%,336) CanClock(delaying,0.0%,341) TMC(notifyWait,0.7%,82) MAIN(running,83.8%,537) IDLE(ready,0.1%,30) AIN(delaying,0.8%,272), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:04:42 ago, cause: software Last software reset at 2023-04-27 17:58, reason: User, GCodes spinning, available RAM 28004, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU revision 3, ADC conversions started 282543, completed 282543, timed out 0, errs 0 Step timer max interval 1489 MCU temperature: min 38.9, current 40.6, max 41.1 Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 44, reads 14836, writes 12, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 44, reads 14836, writes 12, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 41, reads 14839, writes 9, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 41, reads 14838, writes 9, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 41, reads 14839, writes 9, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2023-04-27 18:03:28 Cache data hit count 527977494 Slowest loop: 8.33ms; fastest: 0.12ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.2ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 3, maxWait 118797ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 8, completed 8, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Segments left: 0 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 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === CAN === Messages queued 1412, received 0, lost 0, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 18 (min 18), ts 1412/0/0 Tx timeouts 0,0,1411,0,0,0 last cancelled message type 30 dest 127 === Network === Slowest loop: 15.51ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 = WiFi = Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address e8:68:e7:e1:4d:d1 WiFi Vcc 3.39, reset reason Power up WiFi flash size 2097152, free heap 21992 WiFi IP address 192.168.41.93 WiFi signal strength -61dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
and here is
M98 P"config.g"
:m98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled
-
@TrafficViolation said in Creality CR Touch Sensor with Duet 3 Mini 5+ WiFi:
G31 X20 Y0 Z136
Z136 seems odd. Does the BLTouch actually trigger when the head is at 136mm? Maybe that is normal for a laser engraver.
@TrafficViolation said in Creality CR Touch Sensor with Duet 3 Mini 5+ WiFi:
G1 Z-5 F5 ; lift Z relative to current position
That last z move in your homeall will take a full minute to complete (5mm at 5mm per minute.) F300 or more is probably fine.
Does M401 and M402 work to deploy and retract the pin?
If you send M119 what status does it give for the probe?
-
@Phaedrux Thanks for the reply! So the Z axis moves the bed itself with 3 stepper motors while the head stays at the top of the machine. I wanted the probe to trigger at a height of 136 since this is where the focal point of the current laser diode we have on the machine is.
M401 and M402 do not work to deploy and retract the pin but do not error when sending the command. M119 gives the following:
Endstops - X: not stopped, Y: not stopped, Z: no endstop, Z probe: at min stop
-
@TrafficViolation said in Creality CR Touch Sensor with Duet 3 Mini 5+ WiFi:
I wanted the probe to trigger at a height of 136 since this is where the focal point of the current laser diode we have on the machine is.
That's not quite how it works. The trigger height is going to depend on how you define your Z0 position and there the probe is physically mounted in relation to the print head when at Z0.
The probe offsets need to be accurately measured. See here:
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testingIf the focal point is at 136, then you can move the Z axis to achieve that.
If M401 and M402 are not working we need to figure out why.
Are the deploy and retract macros located in the right place? They need to be in the sys folder.If that's not the problem, then we need to check the wiring to make sure it matches the config. Can you post some photos of how things are connected?
If that's not the problem, then we need to determine if the wire itself has continuity. A bad crimp or broken wire could be the issue.
-
@Phaedrux said in Creality CR Touch Sensor with Duet 3 Mini 5+ WiFi:
That's not quite how it works. The trigger height is going to depend on how you define your Z0 position and there the probe is physically mounted in relation to the print head when at Z0.
The probe offsets need to be accurately measured. See here:
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testingIf the focal point is at 136, then you can move the Z axis to achieve that.
Thanks! I will definitely follow this once I am able to deploy and retract the probe. I think I may have described it weirdly but the probe itself is 137 mm above the bed's 0 position. Here is a picture of the probe and bed
If M401 and M402 are not working we need to figure out why.
Are the deploy and retract macros located in the right place? They need to be in the sys folder.They are in the same folder as the homing and config files and names
deployprobe.g
andretractprobe.g
These files contain the following code in each:
retractprobe.g
M280 P0 S90
deployprobe.g
M280 P0 S10
I followed the link found here https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_connecting
If that's not the problem, then we need to check the wiring to make sure it matches the config. Can you post some photos of how things are connected?
Here are pictures of the connections:
From the first photo, you can see that the blue and red wires are swapped compared to the picture found here:
I connected these wires to the io3 and the white GND to io6 GND.
If that's not the problem, then we need to determine if the wire itself has continuity. A bad crimp or broken wire could be the issue.
I checked all the crimps and wires for continuity before connecting them to the board and probe. I doubt this is the case since the probe itself deploys and retracts twice every time the machine is powered on. I am at a lost and really appreciate the help!
-
@TrafficViolation said in Creality CR Touch Sensor with Duet 3 Mini 5+ WiFi:
the probe itself is 137 mm above the bed's 0 position.
Yes, but that's irrelevant to the trigger height. The G31 Z value is ~2mm for the BLTouch. It's the height at which the pin physically contacts the bed and triggers the probe.
@TrafficViolation said in Creality CR Touch Sensor with Duet 3 Mini 5+ WiFi:
I doubt this is the case since the probe itself deploys and retracts twice every time the machine is powered on.
That part is the automatic self test for the BLTouch that it does as long as it gets power. It doesn't mean the wiring is correct.
Based on your photos, the wiring doesn't look correct if your CR touch matches the pin out of the one from the documentation. The blue wire is OUT and you have it connected to the ground pin on the mini.
https://docs.duet3d.com/duet_boards/duet_3_mini_5_plus/duet3_mini5+_v0.5-v1.02_d1.5_wiring.png
-
@Phaedrux Thank you for clearing up the Z trigger height! I will make that firmware change. Just to be sure, this will work with the bed moving up to the head versus the conventional head moving down to the bed?
I will go ahead and try this when I am back with the machine. I did this because the documentation stated that the red and blue can be switched at times in the case of Creality.
-
The Z axis is best understood as one that increases or decreases the distance between the tool head and the build surface. It doesn't really care which part moves.
Yes te wiring for the CRTouch is a bit maddening because of the completely non-standard wiring. This is also why I suspect a wiring issue.
-
@Phaedrux I tried switching the red and blue wires and the retract or deploy still did not work. I still get the message
Error: Probe already triggered at start of probing move
and the DWC dashboard has Z -Probe at 1000. -
@Phaedrux I GOT IT!!!! So my wiring was incorrect from the photo I just needed to switch red and yellow since I was connecting the CR touch out to io3_out and CR touch in to io3_in instead of the in to out and out to in Thank you soo so much. This is my first time using Duet and its so amazing and easy.
-
Glad you got it sorted out. CRTouch is definitely a tricky one with the wacky wiring colors and no clear pinout and multiple versions.