Brief:
I've been converting a Creality CR-X Pro to a DuetPi build (using an rPi4 and Duet 3 6HC controller) for the last few weeks (a combination of limited time and prerequisite knowledge exacerbated the timeframe), and I've run into a couple of snags that I haven't quite figured out, namely the BLTouch doesn't appear to be receiving power.
I've gone through the forum and found a similar situation with another user that had the same model BLTouch, but using a Duet 2 Wifi (Link Here) where the most recent speculation was a lack of power being supplied to the system. From my embarrassingly limited knowledge of what I'm actually doing, I've attempted to replicate what I've been able to source from here, BLTouch's manual for v3.1, and BeTrue3D Blog Posts.
Attempted Trouble Shooting:
1. Improper Wiring of BLtouch to the Duet 3 port IO_7
- Following This Guide: Connecting a Z-probe/BLTouch/Duet 3:
Signal wire (White) to IO_7 IN,
BLTouch Grounding Wires (Black and Blue) to IO_7 GND,
BLTouch Control (Yellow) to IO_7 OUT,
and BLTouch +5V (Red) to IO_7 +5V
I Soldered the Grounding Wires to a 3rd wire segment to make the GND connection since my amazing crimping skills and equipment are only amazing in Name. It's possible that this is preventing a closed loop from occurring on the board, but a Continuity check seems to dispute this, along with my first iteration of this connection having the two wires twisted and crimped to the same terminal with no 3rd wire resulting in the same issue.
The CR-X Pro has this connection point that is taped to the Ribbon cable feeding up from IO_7. The Male end of the Connection feeds to the BLTouch itself:
2. Confirm Continuity at all Connection Points
- Continuity Checks on all involved wires indicate that the wiring is accurate based on the Wiring Diagram for the Duet 3 6HC
3. +5V line isn't making contact with IO_7 +5V pin
- I saw this mentioned in the previous post that I linked above; I'm not exactly sure how I would go about checking to confirm that to be the case. I suspected that may have been the case, so I clipped, stripped, and recrimped the connection in addition to a little solder material to ensure a solid connection with the crimp had been made, along with (hopefully) preventing a bad terminal to pin connection from occuring.
4. BLTouch damaged/shorted out in the transition
- I ended up harvesting cable that was used for the LCD panel on the CR-X Pro to rig up a connection to the BLTouch to see if the problem was with the Probe. To my surprise, the BLTouch is still operational, which would indicate the issue residing in the connection between the BLTouch and Duet 3:
Here's the Config.g:
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 02 2020 14:53:32 GMT-0400 (Eastern Daylight Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name
; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards ---- X Motor
M569 P0.1 S1 ; physical drive 0.1 goes forwards ---- Y Motor
M569 P0.2 S1 ; physical drive 0.2 goes forwards ---- Z0 Motor (Left)
M569 P0.3 S1 ; physical drive 0.3 goes forwards ---- Z1 Motor (Right)
M569 P0.4 S1 ; physical drive 0.4 goes forwards ---- E0 Motor (Left)
M569 P0.5 S1 ; physical drive 0.5 goes forwards ---- E1 Motor (Right)
M584 X0.0 Y0.1 Z0.2:0.3 E0.4:0.5 ; set drive mapping
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X77.37 Y82.34 Z396.43:396.43 E140.00:140.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00:12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z300.00:300.00 E1500.00:1500.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z100.00:100.00 E1000.00:1000.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800:800 E800:800 I30 ; 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 X300 Y300 Z400 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"io6.in" ; configure active-high endstop for low end on X via pin io6.in
M574 Y1 S1 P"io8.in" ; configure active-high endstop for low end on Y via pin io8.in
; Z-Probe
M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
M558 P9 C"io7.in" H10 F120 T3600 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X45 Y5 Z3.57 ; set Z probe trigger value, offset and trigger height
M557 X50:290 Y20:280 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 nozzle heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create bed heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H1 ; map heated bed to heater 1
M143 H1 S100 ; set temperature limit for heater 1 to 100C
; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S1 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 H1 T45 ; set fan 1 value. Thermostatic control is turned on
; Tools
M563 P0 S"Left Extruder (E0)" D0.0 H0 F0:1 ; Define tool 0 as "Nozzle 0" using Driver 0 Heater 0 and Fans 0 and 1
G10 P0 S0 R0 X0 Y0 ; Set tool 0 operating and standby temperatures
M307 H0 ; PID tuning settings for H1
M563 P1 S"Right Extruder (E1)" D0.5 H0 F0:1 ; Define tool 1
G10 P1 S0 R0 X0 Y0 ; Set tool 1 operating and standby temperatures
; Custom settings are not defined
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool
And the Homeall.g:
; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 02 2020 18:52:45 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
G1 S2 Z5 F6000 ; lift Z relative to current position
G1 S1 X300 Y300 F1800 ; move quickly to X or Y endstop and stop there (first pass)
G1 S1 X300 ; home X axis
G1 S1 Y300 ; home Y axis
G1 X5 Y5 F6000 ; go back a few mm
G1 S1 X300 F360 ; move slowly to X axis endstop once more (second pass)
G1 S1 Y300 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X15 Y9 F6000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed
; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning
deployprobe.g:
; deployprobe.g
; called to deploy a physical Z probe
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 02 2020 14:53:32 GMT-0400 (Eastern Daylight Time)
M280 P0 S10 ; deploy BLTouch
and retractprobe.g:
; retractprobe.g
; called to retract a physical Z probe
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 02 2020 14:53:32 GMT-0400 (Eastern Daylight Time)
M280 P0 S90 ; retract BLTouch
M115:
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.1.1 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2020-05-19b2
SBC: Raspberry Pi 4 Model B
Interesting Tidbit
I'm not sure if @knosence 's setup has this same quirk, but my zprobe keeps flashing irregularly in DWC. I can't say I have any knowledge to base a guess off of, but the VIN seems to fluctuate at similar intervals that the Z-Probe is flashing (I have a screenshot, but can't seem to get it to load atm.)
It may also be worth noting that the BLTouch v3.1 has a "Logic Voltage Free(Open Drain Output): 3.3V / 5V The desired
output logic voltage is stored in the EEPROM of the probe and can
be selected by commands"
Scrolling through the manual for the BLTouch, you can find the M280 commands that will make the probe switch between 3.3V and 5V settings. While I had it wired up to the old Creality board, I tried to set the probe back to the default but couldn't get the LEDs to trip one way or another.
Any thoughts? Sorry for the massive post, but hopefully there's enough information here to maybe point me in the right direction for this problem, and others who are having similar issues as well