CR-10 Z Probe with Servo Arm

CR-10 Z Probe with Servo Arm

thingiverse

I'm collaborating with @jonathans1212 on this project. We've designed a Z probe for the CR-10 that uses a microswitch mounted to an arm, which is moved by a servo. Initially, we tried connecting the microswitch directly to the servo, but it resulted in inaccurate probing. Jonathan suggested mounting the microswitch to the printer frame instead, and after testing, we got outstanding results. I thought about using an elbow to move the arm between probes, and this is what I came up with. You can see how everything fits together in the pictures below. To assemble it, you'll need M3 screws and nuts. I'll be uploading a video on it soon. We're getting standard deviations of around 0.001, which is incredibly accurate. The microswitch we used was the spare one that comes with the CR-10, but you can also use the existing switch on the Z endstop if you prefer. #### Some notes to get this working: You'll need Marlin and you'll need to enable servos just like you do with the BL touch, but don't enable the BL touch. Instead, you need to enable these options: ```c #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 I've calculated myself. You want the arm to be up when it's stowed and down when it's deployed. They may vary per motor, so I recommend finding out what works best for yours. Offsets from the extruder (if using the heavy-duty customizable mount): ```c #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] ``` I've set probe clearances to: ```c #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, I recommend a slower probing speed: ```c #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4) ``` And I suggest enabling this to prevent the arm from constantly acting on the servo motor: ```c #define DEACTIVATE_SERVOS_AFTER_MOVE ``` Keep the bolts as tight as possible, but not so tight that the servo motor can't move the arms. If you have any questions, just drop a comment and I'll answer. Thanks to Jonathan for coming up with this idea and for adding a pull request to Marlin that eliminates the annoying micro jump the CR-10 does between probing. ### Video of it in action https://www.youtube.com/watch?v=bPZjkGWimg0

Download Model from thingiverse

With this file you will be able to print CR-10 Z Probe with Servo Arm with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on CR-10 Z Probe with Servo Arm.