Autolevel Z-probe mount and arm for Velleman K8200 / 3Drag (5g servo) by akkenoth model
Warning. This content is not moderated and could be offensive.
m4
3dmdb logo
Thingiverse
Autolevel Z-probe mount and arm for Velleman K8200 / 3Drag (5g servo) by akkenoth

Autolevel Z-probe mount and arm for Velleman K8200 / 3Drag (5g servo) by akkenoth

by Thingiverse
Last crawled date: 3 years, 1 month ago
Overview
Designed to fit a microservo (5g) and to position the probe (microswitch) closely to the hotend (E3D v6 on my mount in particular).
Cutout for servo's arm (the small OEM one) is slightly undersized and may require enlargening after printing (or trimming the arm).
Assembly
To assemble, you'll additionally need:
M5x15 screw, M5 washer and square M5 nut (for attaching mount to printer)
M2x12 screw and M2 nut (for attaching servo to mount)
2x M3x12 screw and 2x M3 nut (for attaching microswitch to arm)
Wiring
For original K8200 controller
Plug probe's microswitch to Z endstop socket.
Wire servo to extension connector on the controller board:
Black (or brown) -> GND
Red -> 5V
Yellow -> SS pin
Tips (see picture):
I've used GND pin already for a fan so I've soldered second header on the back of the board
You can use old PC connectors for nicer management of wires
For other controllers
Figure it out yourself. Should be simpler.
Configuration
To enable automatic bed leveling/trimming, you'll need Marlin in version 1.0.2 or newer (get it from here), official K8200 software doesn't support this feature.
For general tips and hints I recommend this great video by Thomas Sanladerer. There are however differences in software used - see in 'Probe Z-distance calibration' section.
Copy your old configuration
Best option is to open your current configuration.h and the new one side-by-side and copy corresponding values, as the structure of the file has changed and new features that we'll use were added.
Instead of hard-coding motherboard type value (77) you can use following code:
#define MOTHERBOARD BOARD_3DRAG
Enable autoleveling
First, find and uncomment line:
#define ENABLE_AUTO_BED_LEVELING
Then, set up rectangle in which to probe, my recommended values (big margin for glass clamps):
#define LEFT_PROBE_BED_POSITION 40
#define RIGHT_PROBE_BED_POSITION 160
#define BACK_PROBE_BED_POSITION 160
#define FRONT_PROBE_BED_POSITION 40
Lastly, set up position of probe relative to nozzle. X and Y offsets can be rough estimates, while Z offset will be fine-adjusted further on (see 'Probe Z-distance calibration' section).
Values below are for E3Dv6 hotend mounted on my bracket and servo mount placed roughly 30mm from said bracket (see picture).
#define X_PROBE_OFFSET_FROM_EXTRUDER -35 // X_probe > X_nozzle
#define Y_PROBE_OFFSET_FROM_EXTRUDER 4 // Y_probe < Y_nozzle
#define Z_PROBE_OFFSET_FROM_EXTRUDER -50 // Not calibrated! Don't print with this value!
WARNING! Don't print with these settings, Z offset requires further tuning!
Enable servo support
In pins.h add following code to line 736:
#if MB(3DRAG)
#define SERVO0_PIN 53
#endif
This will enable servo support of SS pin of extension connector on the board.
In configuration.h, find 'R/C SERVO support' section and uncomment and adjust following lines:
#define NUM_SERVOS 1
#define SERVO_ENDSTOPS {-1, -1, 0}
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 85,170}
To check whether servo angles are correct (85 for extended and 170 for retracted) you can use following G-code:
M280 P0 S85; extend the arm
M280 P0 S170; retract the arm
Additionally, to avoid weird jerky movements of the arm (Marlin's bug?), uncomment line 427 in configuration.h:
#define PROBE_SERVO_DEACTIVATION_DELAY 300
Save, compile and upload
Self-explanatory.
Probe Z-distance calibration
General procedure is the same as in Thomas Sanladerer's video, but due to slight differences in G-code there are minor differences.
Start up the printer
Connect with your host software
Home all axes (Z must be last one)
Issue Z-probe G-code:G29
Home X&Y axes
Go to middle of your printbed
Put a piece of paper on the printbed under hotend
SLOWLY, IN SMALL STEPS lower your hotend until it just slightly holds the paper against printbed.
Write down by how much you lowered your hotend! Example: 14.2
You can also read current position from output of M114 command and subtract it from initial value after calibration (here: 50)

Open configuration.h once again and set value of probe's Z-offset:#define Z_PROBE_OFFSET_FROM_EXTRUDER 14.2
Save, compile and upload once again
Slicer configuration
In custom G-code section (for Slic3r it's in 'Printer Settings') add G29 just after G28.
Profit

Tags