I’m in the process of adding auto bed leveling to my K8200 with the help of another thread on this board as well as a number of other resources.
Most of it is working very well but one very major and mysterious issue remain. Hopefully someone, possibly magu who created the other thread, can help me solve it.
My current status is that I’m using the very latest Marlin version taken from the K8200 github branch to avoid having to do all the configuration manually. All servo angles, offset and everything is configured and seems to be alright. M401 and M402 works perfectly and I don’t have any jitter, although I had to increase the PROBE_SERVO_DEACTIVATION_DELAY to 600 because I used a fairly slow servo.
The problem occurs when the servo is extended and I move the z axis or when running G28 or G30.
As previously noted the M401 command extends the servo perfectly. G28 is homing X and Y perfectly and then moves the Z axis up by the defined amount (25mm) and moves the bed to the safe probe point, it then lowers the servo. G30 obviously takes is as red that a safe point is already arrived at and lifts the Z axis and then lowers the servo. After this if i either lift or lower the Z axis manually or when either G28 or G30 lowers the Z axis to probe the servo is retracted past the retraction angle until I press the button to fool it that it has triggered after which it returns the servo to the correct retraction angle.
If i disable PROBE_SERVO_DEACTIVATION_DELAY completely this doesn’t occur and the probe works perfectly, except that the servo jitters so much that a blind carpenter with alzeimers could level the bed manually with better result.
Also, if I define PROBE_SERVO_DEACTIVATION_DELAY to something ridiculously high, like 10000, it actually lowers the probe, waits for the delay and then retracts it and starts lowering the Z axis (or possibly the other way around).
At this point the only two things I can think of is that there’s some bug in Marlin or that whoever made the K8200 branch made a terrible mistake somewhere. As both these are really cumbersome to try out I figured I could try here first and hope for the best.
I’m happy to report that this has been resolved. Pretty much by itself unfortunately so I’m not entirely sure what the cause actually was.
After a couple of weeks I decided to try and get this working again. I downloaded a clean Marlin firmware to try and see if I could find the error and after trying a lot of stuff I decided to give up and flash the K8200 fork again as it was the best working one if you use the regular end stop. By accident i flashed it with bed leveling enabled and all of a sudden it was working. I still had a little jitter (but nowhere near as much as a few weeks ago) but it seemed to get worse when I jiggled the cables so I shortened them down (they were pretty long before as they were only temporary) and the last jitter stopped as well.
I was also able to disable PROBE_SERVO_DEACTIVATION_DELAY entirely.
As of right now I have bed leveling working although it is not perfect and needs some more calibration to actually be able to print anything.
If anyone else stumbles across this thread with issues, sorry that it isn’t of much help but feel free to contact me.
Do you have a link to the original post for this?
Here is the thread by magu about servos. PCB pinout question for Servo wiring
It does as i recall not say much about the actual process of converting to auto bed level. To give you an outline:
Watch this three part video for the Prusa i3 youtube.com/watch?v=awsI9bMndJA
Remove the original endstop.
Fit a servo with an appropriate endstop, preferably one with a roller from what I have gathered. (See this one by magu thingiverse.com/thing:262892)
Connect the endstop to the Z-enstop connector on the board.
Connect the servo to 5V and ground and the signal to pin 53 which is the second one from the top on the right side of the lcd connector when seeing the board from the front and orientated so that the lcd connector is on the top right corner. It is marked SS.
Flash this updated marlin firmware with config for K8200 (also by magu) github.com/magu/Marlin/tree/K8200
Sounds nice, Can you make a video of your printer autoleveling in action? I’m curious to see this
That would be quite a waste of time as Alex Borro has made a really good one here: youtube.com/watch?v=x8eqSQNAyro
There’s a lot of hard work getting there though, it’s not the magic quick fix one would imagine but I recon it is worth it in the end.