Typically, you would home Z to this point and then do a Z_ENDSTOP_CALIBRATE
to define your needed Z offset.
Thatās not 100% true - in the beginning with the TriGorilla v3.0.6 they did use real TMC2208, I have several mobos of those. It seems to be the version with the black heatsinks as the one Iām showing here.
But then they switched to using GC6609 at the v3.0.6 instead, seems like those ones are being used at the mobos which are using the silver heatsinks (instead of the black heatsinks).
Now with the v3.0.7 it might be that theyāre still using the GC6609 - dunno, I donāt have that one and canāt check on itā¦
I find this quite intriguing. I now have both boards, but Iāve only had a chance to examine the one with the black heatsinks. Iāll take a look at the other one when I switch them out. Itās not that I doubt your findings; Iām just curious. Iāve been planning to use an SKR3 to replace it.
Whatās particularly interesting is that Iāve encountered a strange resonance or surface artifact issue that doesnāt occur with the silver heatsink board. I initially thought it might be some unique problem with the other board, but now Iām considering if they could be connected in some way. Iām not a big believer in coincidences, but itās a possibility.
Have you already explored the UART mod? Iāve located the pins on the board, the second from the far right in the empty resistor spot on each chip when the board text is right side up.
One thing I didnāt quite grasp from the original post i read was how the old signal that ties all the pins together was cut. Iām simply curious about that aspect. At this point, my curiosity has gotten the better of me, and Iāve decided to purchase some things instead of engineering them to save time.
Not really.
During the bed mesh calibration nozzle moves to this point and probes it to find a z offser automatically. It noves the nozzle exactly at the center and then bumps into it kinda like into an endstop.
As this thread is about the Kobra 2 Neo anyway and you were referring to the mobo of the Neo/Go, letās talk about this in private if you want to not clutter up this thread even moreā¦
The stock Marlin does have ABL, as well as that circle button is used to set the z offset automatically.
Itās not used as a Z endstop, the ABL sensor is used for that
The cheaper (v1) BTT USB version has been working good for me and was fairly easy even on a non-standard setup (no r-pi, Deepin Linux, x86)
Model: S2DW v1.0. They are around $13 shipped in US.
In response to your post about getting a failed unit and trying to make one.
IMO this is a misunderstanding how homing and meshing works:
- Bed mesh is not related to the z-offset
- The ācircle buttonā is providing a āstable z referenceā that ideally never changes
- For meshing purposes this could be used, leveraging Klipperās zero_reference_position
- Neither Klipper nor Marlin can magically know the offset from your nozzle to the bed after homing to this circle button
- The distance that is relevant after touching down to this button needs to be determined and set as
z_offset
I may have gotten my terms wrong:
The button is an āoffset measurement switchā, and is used to detect when the nozzle touches the button as part of the stock abl process.
It assumes the button is installed perfectly level with the bed.
https://wiki.anycubic.com/en/fdm-3d-printer/kobra-2/how-to-maintain-the-offse-measurement-switch
I think this is the part in the original code - Kobra2_Neo/Marlin/src/lcd/menu/menu_probe_offset.cpp at 496e6bcfe0bef7d885ddc30d41c333331dc5da61 Ā· ANYCUBIC-3D/Kobra2_Neo Ā· GitHub
This is highly unlikely, but of course you could adjust the button position in a way that its trigger point is absolutely level with the bed but this sounds like no fun at all.
Because rarely such switch can be adjusted in the needed precision (relative to the bedās surface) the way commonly used in 3D printer is to have it slightly lower (to avoid crashes with the nozzle) and then calibrate the actual z-offset to the bed within the software.
Generally this concept is well known in the CNC world, e.g. What is a Z Probe & How do I Use it? - SainSmart Resource Center and always needs proper calibration
Why would you ever get a crash with the nozzle, youāre not going to be approaching the button from the side?
And Iām just going by what all the documentation says about putting it exactly level with the bed.
That may not be the best way to do it, but thatās how anycubic says to set it up.
The link you sent was for the z probe, and there any cubic uses an induction zprobe which is different than the button weāve been talking about.
I had a problem with this sensor in K2N and I had to position it manually. It must be set to the table level as in this guide:
Anycubic exchanged a printer for a new and a few other because of the factory -installed sensor in the first batch of printers sold.
After setting the sensor level, in Marlin you need to set programmatically set on the X and Y axes so that the nozzle goes exactly into the middle of the sensor, i.e. the eye on it. Otherwise, Z-offfet at Auto Level will not be properly set.
@AJolly and @Sineos Iāll try to clarify some things about the two different parts z-offset switch and the inductive probe here.
-
The z-offset switch (that round silver button at the back of the bed) is being pushed down by the nozzle during the calibration procedure. When being pushed down ~2mm, it closes a contact.
Thatās what AC then uses as a reference for calculating the z-offset (so itās not 100% the same like at a CNC where the drillbit touches the metal contact of that āsensorā which is rigid and an electric circuit will be closed due to the metal drillbit touching the contact - at least thatās how it works at my CNCā¦).
This calculated z-offset value can change, e.g. when rests of filament are still stuck at the nozzle after wiping it across that silicone block (which would have a negative effect of course), when the position of the nozzleās tip changed due to swapping out parts etc (so one should re-calibrate in that case as well).
The top surface of that button should be the same height as the surface of the PEI plate and therefore it has to be checked and adjusted if one uses e.g. a different PEI plate which might be thicker or thinner. If the surface of that button switch is too low in relation to the PEI plateās surface, itāll drive the nozzle into the bed when starting a print as the z-offset wonāt be correct. So here itās not about adjusting the button in the way that itās trigger point (= when the switch closes the contact) is at the same height level as the PEI plateās surface.
However, besides that, one still has to keep an eye on the first layer as one might (most likely) still has to finetune the z-offset and dial it in on the fly. Unfortunately (due to the marketing and a lack of knowledge at the userās side) many new users arenāt aware of this and face the problem that the z-offset doesnāt fit and the nozzle is either too far away or is being driven into the plateā¦
This one only comes into account for the z-offset = when printing the initial layer, it doesnāt have any effect on neither the bedmesh probing nor the homing. -
The inductive probe (that part with the round yellow-orange-ish tip) at the head is the one which is being used for the ABL and which acts as a virtual endstop as well, as the K2Neo (as well as e.g. the K2Pro/Plus/Max) doesnāt have a physical Z minimum limit switch anymore.
This one has to be leveled in relation to the nozzleās tip as well, because if the tip of the probe is too far up, then it can happen that it doesnāt detect the steel PEI plate and the nozzle will be driven into the plate - both during homing and when trying to start an ABL bedmesh measurement sequence.
Usually itās position when coming from the factory is ok, but one still should keep an eye on it, especially after working at the hotend (e.g. changing from the proprietary stock nozzle&heatbreak setup to a Volcano one).
So this one comes into account when probing for the bedmesh and when homing (as it acts as a virtual z-endstop) as it detects the metal in the PEI plate, but it doesnāt affect the z-offset.
Thanks for the feedback.
Essentially the same as stated previously ā See Getting orange pi 3 lts + klipper working with anycubic kobra 2 neo - #189 by Sineos :
- A (hopefully) stable Z-reference
- Fine tuning needs to be done via z-offset
In fact, there is simply no other way it can work unless you could secure that your trigger point is 100% level with the bed and even then this would NOT take into account factors like thermal expansion, e.g. heated bed vs cold bed, heated chambers etc.
WRT to your point 2, again the zero_reference_position is noteworthy as this is unique to Klipper.
Thanks. Yes, itās correct what youāre saying - I just thought it might be helpful to describe (and differenciate between) those two hardware parts at this point as it felt like there might be some sort of misunderstanding somewhere at someoneās end (and also for users who might come across this post in the future)ā¦
I donāt know if it will help, but in octoprint there is a plugin for level leveling and it works with K2N in Marlin.
Octoprint just sends a connamd for printer to calibrate and then gives you the values of the points that was probed. All the probe logic is still in the marlin firmware. It looks like this:
send: calibrate_the_bed_mesh
wait: bed_calibration_finishes
read: eeprom:bed_mesh
This is all the simplified logic that plugin does. On the other hand you have klipper whoās manually controlling each step of bed mesh calibration and you can change almost all of itās logic. You can change things like z hop when moving between points, quantity of points, speed of moving nozzle up and down and etc. This gives you much more possibilities than the marlin did. For the same reason you cannot just make the printer calibrate the z offset in one click. Octoprint can do that because he just tells the printer āgo calibrate yourselfā and marlin just does all the hard stuff. The klipper tells printer āmove to x10 y10, move nozzle down, wait untill the sensor has found the bed, stop moving nozzle, write down current z positionā¦ā and etc.
I have a question.
I made an auto level on the original software and the optimal setting is for Z -Offse -2.16.
Can this value be used in the Klipper?
If so, where should I enter it?
Will the printer use this value work properly?
If I write the X and Y settings to the table level sensor, can I use them?
If so, where to enter them so that the Klipper uses these values?
You can use it as a start value.
Depends on if you use endstop switches or a probe.
It is very much recommended to do a calibrate to a new Z-offset.
I already have working configs that has implementations for all of it. All youāll need to do is set the z offset in the very end of printer.cfg file. If your layers arenāt perfect you should babystep it. But i recommend you to find the z offset manually because the homing position of my configs and marlinās homing position are not the same and because the z offset is relevant to z0 position it will require diffrent calibrating approach. You should do the bed mesh first and then babystep your z offset using the sheet of paper.