Det här var inte det lättaste att felsöka men jag tror jag hittat nästa grej att testa.

Det är detta jag tror händer:
När munstycket har flyttat sig till den nionde probpunkten och G29-probningen genomförs, sker följande sekvens i praktiken:
Proben fälls ut och Z går ned tills proben triggar.
Detta är själva mätögonblicket där Marlin fastställer den logiska Z-nollan (med hänsyn till probe-offset).
Proben fälls in och Z går upp till ett säkert höjdläge (”safe Z”).
Detta läge kan vara 10–20 mm ovanför byggplattan beroende på Marlin-inställningar.
Efter avslutad G29 sker en absolut Z-positionering, till exempel:
G1 Z5 F300
Detta betyder gå till den absoluta Z-koordinaten Z = 5.00 mm
Om munstycket just då står exempelvis 20 mm ovanför plattan, innebär detta alltså en nedåtgående Z-rörelse på ca 15 mm i ett enda steg.
Vad som styr hastighet respektive acceleration i detta läge
För just denna rörelse gäller följande uppdelning:
Hastighet (feedrate)
Styrs av G-koden:
F300 → 5 mm/s
Detta är en låg och i sig helt rimlig hastighet för Z-axeln.
Acceleration
Styrs inte av slicerns travel-inställningar i detta läge, utan av:
Marlins aktiva max-acceleration för Z (M201 Z…)
antingen från firmware-default eller EEPROM
Det betyder att även om hastigheten är låg, kan startaccelerationen vara mycket hög.
Om Z-accelerationen exempelvis ligger på 300–500 mm/s², försöker Marlin nå 5 mm/s mycket snabbt, vilket ger ett kraftigt initialt vridmoment.
Varför detta orsakar problem just här
I den här maskinen finns två Z-motorer på samma driver. Det gör systemet extra känsligt för:
höga accelerationspulser i starten av en rörelse
mekanisk torsion mellan de två Z-skruvarna
Om stegmotorerna tappar steg redan i början av rörelsen, så:
tappar Marlin positionsreferensen direkt
rörelsen fortsätter men från fel fasläge
det uppstår skorrande ljud och gungning i gantryn
munstycket hamnar inte där Marlin tror att det är
Detta förklarar varför problemet uppstår just efter sista probningen, trots att själva G29-mätningen fungerar korrekt och lugnt.
Nästa logiska test: hård gräns i firmware
Nästa rimliga steg är därför att lägga ett absolut tak på Z-acceleration i Marlins firmware, så att ingen G-kod eller slicerinställning kan begära mer än vad mekaniken klarar.
Detta görs med M201 och M500 via terminal:
M201 Z50
M500
Detta innebär:
Max Z-acceleration = 50 mm/s²
Spara max acc i Eeprom
Ett värde runt 50 mm/s² är ofta en bra start för dubbla Z-skruvar på samma driver.
Om det behövs kan man senare testa exempelvis 75 eller 100 mm/s², men poängen här är att först eliminera accelerationsstall som felkälla.
Om detta eliminerar gungandet/knastret och utskriften startar på rätt höjd, vet vi att orsaken är för aggressiv Z-acceleration.
Då är nästa steg att låsa detta permanent i Marlins firmware-konfiguration.