CR-10 Z Probe with Servo Arm by Festivejelly 3d model
3dmdb logo
Thingiverse
CR-10 Z Probe with Servo Arm by Festivejelly

CR-10 Z Probe with Servo Arm by Festivejelly

by Thingiverse
Last crawled date: 3 years, 1 month ago
This here is a collaboration between myself and @jonathans1212
Its a Z probe designed for the CR-10 which uses a microswitch on an arm that can be moved by a servo.
Initial attemps to amount to the microswitch directly to the servo resulted in inaccurate probing. Jonathan had the idea to mount the microswitch direct to the printer frame. After doing some testing we got phenomenal results. So I thought about maybe we can use an elbow of some sort to move the arm to be stowed between probes. This is the result of that.
See the pictures as to how it all fits together. You'll need some m3 screws and nuts i'll be uploading a video on it soon.
We're getting standard deviations of like 0.001 which is insane.
The microswitch we used was the spare one that comes with the CR-10, although of course you can use the existing switch thats on the Z endstop if you wish.
A few notes about how to get this to work:
You'll need Marlin and you'll need to enable servos just like you do with the BL touch, but dont enable the BL touch, you need to enable these options:
#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
#define Z_SERVO_ANGLES {60,120} // Z Servo Deploy and Stow angles
The stow angles are what ive calculated myself. You want stow to be up obviously and deploy to be down, they may vary per motor so id advise working out what they are for yours.
Offsets from extruder (if using the heavy duty customisable mount:
#define X_PROBE_OFFSET_FROM_EXTRUDER -42 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Y offset: -front +behind [the nozzle]
Probe clearences ive set at:
#define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points
For maximum accuracy id advise a slower probing speed:
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4)
And id enable this so that its not constantly acting on the arm:
#define DEACTIVATE_SERVOS_AFTER_MOVE
Id keep the bolts as tight as possible but obviously not too tight that the servo motor cant move the arms.
Any questions just drop a comment and ill answer. Again thanks for Jonathan for coming up with the idea and for adding a pull request to marlin that gets rid of the annoying micro jump the CR-10 does between probing.
Video of it in action
https://www.youtube.com/watch?v=bPZjkGWimg0

Tags