To measure the distance of the toolhead to the mesh for the klipper bed mesh (compensation), you need a probe like an BLTouch which needs to be mounted to the toolhead.
I've switched from the original Qidi Extruders to humebeam's Icarus 2.1 due to massive problems with the print quality. This switch also allowed me to add various measurement devices (like a dial gauge) to the front of the toolhead. Only a new adapter had to be designed to mount the BLTouch firmly in place. It follows the same principles as the original dial gauge holder but also uses the screw head of one of the fan screws to vertically stabilize the mount.
Additional materials required:
The BLtouch needs to be connected to the 3-Pin JST connector with the label “Leveling” and the 2-Pin in connector in the corner. It is basically following the official documentation for the BLTouch V2
S: Control - orange (WARNING: maybe not connected on mainboard; the Intercept PCB can be used as workaround)-: GND - brown+: 5V cable - redS: Zmin - white-: GND - blackIt also looks like the V4.6 mainboard didn't connect the S pin (actually the control pin) of the Leveling JST-XH terminal on the toolhead mini-PCB to the CPU/MCU. Interestingly, the S of the 2-pin JST-XH terminal next to it was connected fine to the MCU (PE3) and can be used as Zmin endstop. Initially, I've worked around the missing control pin by using some extra flex cable from the control pin of the BLTouch. But later, I've switched to an intercept PCB (see below) to extract the control pin signal from the original flex cable to either the WiFi socket of the mainboard or an raspberrypi:
The klipper configuration for for an raspberrypi on GPIO27 (not recommended due to some timing problems with the Linux MCU process of Klipper which can cause "No trigger on probe after full movement" emergency shutdowns):
[mcu rpi]
serial: /tmp/klipper_host_mcu
[adxl345]
cs_pin: rpi:None
[resonance_tester]
accel_chip: adxl345
probe_points:
150, 125, 20
[bltouch]
speed: 3
lift_speed: 10
sensor_pin: PE3
control_pin: rpi:gpio27
probe_with_touch_mode: False
sample_retract_dist: 3
samples: 1
x_offset: -25
y_offset: -53
z_offset: 2.060
[bed_mesh]
speed: 120
horizontal_move_z: 10
mesh_min: 5, 5
mesh_max: 270, 186
probe_count: 5, 5It works a lot better when removing the ESP8266EX based wifi module and use following configuration instead:
[filament_switch_sensor runout]
pause_on_runout: FALSE
runout_gcode:
M600
switch_pin: !PG1
[bltouch]
speed: 3
lift_speed: 10
sensor_pin: PE3
# WARNING: this pin is originally connected to the WiFi module (which needs to be removed first)
control_pin: PB10
probe_with_touch_mode: False
#samples: 3
x_offset: -25
y_offset: -53
z_offset: 2.030
[bed_mesh]
speed: 120
horizontal_move_z: 7
mesh_min: 5, 5
mesh_max: 270, 186
probe_count: 5, 5The PB10 pin can be found easily when looking from the top on the board:
WiFi
+------+------+------+------+
| VDD | PG1 | VDD | PB11 |
+------+------+------+------+
| PB10 | GND | NC? | GND |
+------+------+------+------+
| |
| |
| |
| ESP8266EX |
| |
| |
| |
+---------------------------+It is even easier when using the WiFi replacement IO-board to replace the WiFi board. It also allows to connect the QIDI filament sensor (without the “+” pin as shipped by QIDI for the X-Max).
Because the V4.6 mainboard doesn't connect the pin 8 of the flex cable anywhere, another way has to be be found to interact with it. To achieve this, the signal can be extracted from the cable and then be connected to the wifi socket or directly to the raspberry pi. To avoid soldering on the V4.6 mainboard, an external PCB can be glued next to the mainboard (on the wall where the flex PCB is located).
The PCB itself can be produced using the attached gerber files by JLCPCB, Aisler, PCBWay, OSH Park, ...
Please check the ibom.html inside the gerber zip files to get the list of components which need to be ordered for the PCB. I used following components:
Please double (better triple) check that there are no soldering bridges and all pins are connected. Also check again that you connected the PCB to the correct sides. Any error can lead to damages to your print head and your mainboard - even fires are possible.
You might also want to check the sketch of the print head PCB against the one you are using. An incompatible PCB can also lead to the problems mentioned earlier. The sketch shows basically the PCB which QIDI is sending out for the X-Max+X-Plus when ordering from their shop (even when the picture in their shop is not matching).
WARNING
It is not recommended to leave the ADXL345 on the Icarus after finishing the resonance measurement. Otherwise there is a chance to collide with camera mounts or similar things. It is also recommended to check manually if the mount would collide with anything. I have for example reduced my stepper_y's position_max after noticing problems with the filament guide - which also gave me enough room for this bltouch mount.
Also make sure that you disable the Extruder stepper before performing any actions with the BLtouch. Otherwise, the BLtouch will often fail to detect the pin state.
Printer:
Qidi X-Max
Rafts:
No
Supports:
No
Resolution:
0.2
Infill:
25% Gyroid
Filament:
Polymaker PC-FR
black
Notes:
5 perimeters to make it stiffer and to ensure that the insert can be melded in properly
Category: 3D Printer Accessories
The author marked this model as their own original creation. Imported from Thingiverse.