Just Another GridBot v2 Build

maybe put a tnut up there with a small screw to fill the gap a little. Or print a spacer maybe

1 Like
  1. The weight of the bed and all that will keep it down. Gravity is excellent at holding down backlash.

I did lift my screw a little and retighten the pulley. Just because the bottom of the hole was adding enough resistance and noise to bother me. But it is still away from the top a good distance. Leadscrews are very fickle and it doesn’t take much to bind the nuts. So you always leave the top end free, so it wont bind. The rods have the responsibility of keeping the bed straight. The leadscrews only need to keep it at the right height.

  1. I don’t remember how I got that right. I think my square tubes are just enough of a press fit to stay in place on the z middle bars and they are 1/8" too short, so it stays rigid.
1 Like

I think I continue this topic with my mistakes. I believe that I am not the only one unexperienced person interested in completing this build and it would be better if they would not repeat my mistakes.

Soo… Mistake 01:
For some weird reason I ordered E3D clone for direct drive instead of bowden. Actually, I ordered bowden correctly some time ago for another printer, don’t know why I did this mistake this time. Probably, it has some connection with misleading naming on Aliexpress:
SHORT = Direct
LONG = Bowden

Please, pay some attention while ordering.

As a result, I am going for a Direct Drive for the time being.

1 Like

Mistake 02:
The manual for using SKR 1.4 with TMC2209 clearly states that you must remove DIAG pin from the driver in order to be able to use endstops on the axis this driver corresponds to. I was obviously lulled by the fact that X and Y are using sensorless homing in my current configuration and Z is using something named “touch sensor” (and not “endstop”) and I did not remove this pin on the Z-axis driver. It cost me 1 day in terms of time and one burnt (later about this) touch probe.

Z-axis endstop started operating only after removing the DIAG pin on TMC2209 driver (I heated it with the soldering iron and moved up):

1 Like

Mistake 03:
Grrr… During my dances with non-operational Z-stop I connected the SERVO connector of the probe in a wrong way. As a result, the SIGNAL line of the probe is burnt. The only mildly positive thing is that it was not the original BLTouch but relatively cheap chinese clone 3D Touch.
BE CAREFUL!

As a result, I am going to use a classic endstop on the Z-axis for the time being.

UPD.: And X and Y sensorless homing are not working too…

I made another version of the direct drive here. I’m not sure what changed with SKR 1.4, but with 1.3 you did not need to make any modifications to the 2209 driver for any reason. Sensorless homing is a bit of a pain to setup and requires careful attention to the firmware compilation options.

1 Like

Hmm, from what I can see, there should be no reason for treating Z any different than X and Y wrt homing.

@ Stewart What compilation options are you referring to?

for 2209 in Configuration_adv.h, you need to enable:

#define STEALTHCHOP_XY
#define STEALTHCHOP_Z
#define HYBRID_THRESHOLD
#define SENSORLESS_HOMING

the first gives you the M913 speed threshold command for spreadcycle vs stealthchop. power + noise vs quiet + smooth.

the second one gives you the M914 sensitivity control command. without that, sensorless homing is almost certainly useless.

1 Like

Mistake 04 (Sensorless homing not working):
Ok… this was simple and stupid. I was changing the sensitivity settings in the firmware (in my case, lowering it from 90 to 35), BUT I did not press “Initialize EEPROM” in my LCD menu (probably there are other ways to do it). As a result, there configuration was still using old values, and the sensitivity stayed at 90, which was too high.
For some reason I thought that new firmware setting should override the EEPROM stored value, but this obviously was not the case. And Marlin menu was totally new for me and I did not check TMC driver settings via LCD.

Now X and Y homing is working rather quiet and smooth and at the moment I do not see any reason to use endstop sensors. What is your reasoning that you add endstops?

Will try #define QUICK_HOME later.

1 Like

I do not know about other setups, but in my configuration SKR 1.4 and TMC2209 v1.2 made by BigTreeTech you should treat sensorless axis in a different way then the axis using end stop sensor.

Here is why.
this is the driver:

this is pinout:
2020-10-09_11-42-55
the DIAG pin is responsible for “Diagnostic and StallGuard output. Hi level upon stall detection or;driver error. Reset error condition by ENN=high.”

this is the board and here is the trick:


the DIAG pin of the driver’s panel on the board is electrically connected via the PCB with the corresponding axis end-stop pin like I connected them in the drawing. Probably it was done for convenience (as I understand, one has to connect this pins with the extra external wire manually on SKR 1.3, correct?). BUT, if you use the end stop, the DIAG pin output from the driver is interfering with the end stop signal. Therefore, you should physically disconnect the driver’s DIAG pin and the board, either by cutting it, bending, lifting, etc.

So, let us clarify where one should connect BLTouch sensor output - to Z-axis endstop pin or to the “Probe” connector. “Probe” was not working for me, and I am pretty sure that “#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN” option requires the probe output to be connected to Z-endstop connector in the board. In last case, we need to take care of DIAG pin of Z-axis TMC2209 driver. Unfortunately, my probe did not survive long enough to check if it works…

What version of Marlin are you using?
Afaik, you would connect the BKTouch to they probe port on main 2.0.5 and higher. You should use and endstop port on Marlin 2.0.4 or lower. And then you’re right that the pin on the driver needs to be cut.

I am on 2.0.7

And it did not work on probe port. May be for some other reason.

Hmm, interesting.
My build has been sitting in the basement pretty much completed for a while, but now I can’t seem to find the time to put on the belts, finish the firmware and start testing. Once I find the time, I will let you know what I can find out. I’ll keep an eye on this thread in case you find anything new.

The new skr boards wire the diag pin right into the zmin endstop pin. If you want the bl toich to have control of that pin, you need to cut the diag pin, unless the tmc can leave it floating when not configured for sensorless homing.

The Z axis is going through a lead screw and has a ton of torque. Sensorless homing will be harder and you will risk deforming your Z axis couplers. There’s nothing different from the electronics standpoint, but the mechanics are much different.

Agree that sensorless z homing is, at best, risky. It looks like the v1.4 boards changed significantly. I had to make no changes to the board or drivers to get it all working. In v1.3, the bltouch connection uses both a servo connection next to the y/z drivers and the zmin endstop pins.

Did you have to use external wires to provide DIAG signal from 2209 to X and Y endstops in SKR 1.3? Or there are any jumpers for that purpose there?

I did not. Those connections are routed on the board. Odd that they would make that change.

1 Like

Linear advance test.

#1 (top is 0.4, step is 0.04):

#2 (top is 0.1, step is 0.01):


another view of #2

this is 1.75 ABS with direct dual drive and pretty big NEMA17 42mm motor (still waiting for pancake to arrive)
looks like 0.015 for me… should I switch it off?

it has minimal effect with direct drive unless you’re running a very flexible filament

1 Like

yes… I switched linear advance off because it was adding some artefacts
will try another test with SBS filament later. have some stock on the shelves. it is more flexible
and…
MANY THANKS, STEWART!!! WTG!
obviously, I will have to make a lot more adjustments, fine tuning and modifications, I still have some temporary parts it my build, but IT IS PRINTING! Many thanks again:)

i will add some photos later

2 Likes