Bigtreetech SKR V1.3 / TMC2130 SPI und Marlin 2.0 - StealthChop auf Z2 funktioniert nicht

Diskussionen Rund um die Firmware eurer 3D Druckerer wie Marlin, Skynet, Repetier etc.
Antworten
Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

Bigtreetech SKR V1.3 / TMC2130 SPI und Marlin 2.0 - StealthChop auf Z2 funktioniert nicht

#1

Beitrag von Tom0906 » Fr 9. Aug 2019, 07:44

Guten morgen,

habe eine sehr spezielle Frage. Ich hab mir einen AM8 gebaut. Ich schmeiß jetzt das Anet Board mit Marlin 1.1.9 raus und bau den Drucker mit einem SKR V1.3 neu auf. Grund ist einfach, er muss flüsterleise werden da er direkt unterm Schlafzimmer steht und mich der Lärm beim Schlafen nervt. Abgesehen davon reizt mich die technische Herausforderung so etwas zu machen.
Soweit so Gut. Board hab ich gestern das erste mal mit Strom versorgt und die Stepper angeschlossen. Funktioniert alles recht anstandslos bis auf den 2.ten Z Motor. Er dreht sich aber die Tücke liegt im Detail, Er ist laut. Mit M569 geprüft und siehe da, er lauft nicht im StealthChop Modus sondern im Spread Cycle Modus. Mit M569 S1 I1 Z2 bring ich ihn in den Stealthchop Modus und er wird leise. M122 bringt als Ergebniss dass X Y Z Z2 gefunden wird. Einstellungen passen alle.

In Marlin gibt es die Möglichkeit den StealthChop Modus für die jeweiligen Achsen zu definieren (#define STEALTHCHOP_Z) zum Beispiel. Jetzt hab ich vermutet (aufgrund der Logik dahinter) dass ich mit #define STEALTHCHOP_Z2 auch die zweite Ache leise bekomme, aber dem ist nicht so. Ich verwende die aktuellste Marlin 2.0 Version von Github, auch meine TMC2130 Treiber sind aktuell (0.4.6). Ich könnte nun im Start G-Code den M569 Befehl mit aufnehmen und die Achse damit zum flüstern zwingen aber irgendwie ist das nur ein Workaround und nicht die Lösung die ich gerne hätte. Kann da wer einen Lösungsansatz anbieten?

mfg
Tom
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#2

Beitrag von riff-raff » Fr 9. Aug 2019, 07:51

Lad mal bitte deine config.h und config_adv.h hier hoch.

Nachdem die Achsen bei dem Board X, Y, Z, E0 und E1 sind und du E1 auf Z2 umlegst, sollte nicht

Code: Alles auswählen

#define STEALTHCHOP_Z2
sondern

Code: Alles auswählen

#define STEALTHCHOP_E1
dein Problem lösen. Unabhängig davon kannst du eh für alle Achsen den Stealthchop aktivieren, ob es beim Extruder läuft (Retractions) ist fraglich. Hierzu evtl. den Hybrid Threshold, wenn aktiv, anpassen.
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#3

Beitrag von Tom0906 » Fr 9. Aug 2019, 08:40

Verstehe deinen Lösungsansatz. Sobald ich die Dual Z Option auswähle wird in der Configuration.h aus E1 Z2. Dort hab ich auch den TMC2130 zugewiesen und der Befehl M122 liest mir dann auch den 4ten TMC2130 (Z2) sauber aus. Ich hatte den Denkfehler drin dass bei mir dann E1=2tes Z ist.
Mein Lösungsansatz war beide (E1 und Z2) mit einem DEFINE STEALTHCHOP zu versehen. Wenn eine Achse keinen Stealthchop unterstützt wird's nicht machen, war aber erfolglos. Egal ob ich den define Stealchchop für Z2 oder E1 definiere oder für beide, Problem bleibt bestehen. Hybrid Threshold ist für Z und Z2 ident definiert.

Kann die originalen Configs erst am Nachmittag hochladen...

Ich glaub ich hab das so definiert:

Config ADV:

Code: Alles auswählen

 #define Z_DUAL_STEPPER_DRIVERS
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
  //#define Z_DUAL_ENDSTOPS
  #if ENABLED(Z_DUAL_ENDSTOPS)
    #define Z2_USE_ENDSTOP _XMAX_
    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
  #endif
#endif

Code: Alles auswählen

   #define TMC_USE_SW_SPI
  //#define TMC_SW_MOSI       -1
  //#define TMC_SW_MISO       -1
  //#define TMC_SW_SCK        -1

Code: Alles auswählen

   /**
   * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
   * Use Trinamic's ultra quiet stepping mode.
   * When disabled, Marlin will use spreadCycle stepping mode.
   */
  #define STEALTHCHOP_XY
  #define STEALTHCHOP_Z
  #define STEALTHCHOP_Z2
  #define STEALTHCHOP_E
  #define STEALTHCHOP_E1

Code: Alles auswählen

  #define HYBRID_THRESHOLD

  #define X_HYBRID_THRESHOLD     100  // [mm/s]
  #define X2_HYBRID_THRESHOLD    100
  #define Y_HYBRID_THRESHOLD     100
  #define Y2_HYBRID_THRESHOLD    100
  #define Z_HYBRID_THRESHOLD      30
  #define Z2_HYBRID_THRESHOLD     30
  #define Z3_HYBRID_THRESHOLD     30
  #define E0_HYBRID_THRESHOLD     30
  #define E1_HYBRID_THRESHOLD     30
  #define E2_HYBRID_THRESHOLD     30
  #define E3_HYBRID_THRESHOLD     30
  #define E4_HYBRID_THRESHOLD     30
  #define E5_HYBRID_THRESHOLD     30

In der Config.h:

Code: Alles auswählen

#define X_DRIVER_TYPE  TMC2130
#define Y_DRIVER_TYPE  TMC2130
#define Z_DRIVER_TYPE  TMC2130
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE TMC2130
//#define Z3_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
Kannst du hier ein offensichtliches Problem erkennen?
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#4

Beitrag von Tom0906 » Fr 9. Aug 2019, 11:08

Hab dazu noch etwas gefunden, ist mir aber zu sehr C++ lastig, das versteh ich nicht auf die schnelle..

https://github.com/MarlinFirmware/Marlin/issues/13092

Ich habe gesehen dass es vor 3 Tagen ein Treiberupdate für Marlin und die TMC Stepper gegeben hat, evtl.
wurde das dort behoben, ich tippe nämlich auf einen Fehler im Treiber...

Aktueller Treiberstand sollte 0.4.6. sein, ich hab 0.4.5 installiert (leider kein Changelog):
https://github.com/teemuatlut/TMCStepper

Heute am Abend mal ein Update machen und schaun ob's besser wird mit meiner Z2 Achse :)
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#5

Beitrag von Tom0906 » Fr 9. Aug 2019, 11:23

Hab bei Github parallel einen Issue eröffnet, mal schaun ob da wer helfen kann:

https://github.com/teemuatlut/TMCStepper/issues/58
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Borg
Silver - Mitglied
Beiträge: 501
Registriert: Mo 14. Aug 2017, 19:52
Drucker: Anet E10, getuned
Hat sich bedankt: 0
Danksagung erhalten: 49 Mal

#6

Beitrag von Borg » Fr 9. Aug 2019, 15:24

Ich hab auch auf SKR1.3 umgebaut, allerdings mit TMC2209 und UART-Modus. Ich weiß daher nicht, wie weit ich helfen kann. Aber ich probiers mal...
Ich hab auch Dual-Z, sogar mit zwei Z-Endstops. Das ist schon irgendwie geil... :mrgreen:

Was mir auffällt ist, dass du in deinen Configs noch von "E1" redest. Ich könnte mir vorstellen, dass das ein Teil des Problems ist.
[mantra]Du hast keinen E1 mehr! Du hast nur noch einen Z2![/mantra]

Ich hab in meiner pins_BIGTREE_SKR_V1.3.h bei jeder entsprechenden Pinbelegung aus E1 ein Z2 gemacht. Aber wie gesagt habe ich UART-Modus, und kein SPI. Im Detail wirst du es etwas anders machen müssen als ich. Aber im Endeffekt läuft es aufs gleiche hinaus: du hast keinen E1 mehr, also sollte er auch in den Configs nicht mehr auftauchen.

Desweiteren musst man die Stealthchop-Einstellungen nicht jedes mal per gcode neu einstellen. Wenn man die Konfiguration ins eeprom speichert, werden die TMC-Einstellungen mitgesichert.
(Ich kann die TMCs auch bequem über das Druckermenü einstellen. Finde allerdings gerade die entsprechende Configzeile nicht mehr...)

Den Leise-Hype verstehe ich trotzdem nicht. Bei mir übertönen die Lüfter locker den Rest der Mechanik...

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#7

Beitrag von Tom0906 » Fr 9. Aug 2019, 16:12

Danke für eure Hilfe soweit. Bei mir schauts nun so aus:

Hab alle Libraries auf aktuellem stand. Neu kompiliert und auf den Drucker gespeichert. M569 bringt folgendes Ergebnis:

Code: Alles auswählen

>>>m569
SENDING:M569
X driver mode:	stealthChop
Y driver mode:	stealthChop
Z driver mode:	stealthChop
Z2 driver mode:	spreadCycle
Meine Configs hab ich angehängt.

Hab eben den Menüpunkt im LCD Menü gefunden, Config, Advanced, TMC Menü, dort kann man das auch einstellen, funktioniert also derzeit
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#8

Beitrag von riff-raff » Fr 9. Aug 2019, 16:29

Hast du mal die Treiber getauscht? Z2 gegen X z.B.?
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Benutzeravatar
lixxbox
Super Moderator
Beiträge: 1303
Registriert: Mi 25. Jan 2017, 15:12
Wohnort: Koblenz
Drucker: AM8
Slicer: PrusaSlicer
Firmware: Marlin-bugfix2.x
CAD - Software: Fusion360
Hat sich bedankt: 50 Mal
Danksagung erhalten: 104 Mal

#9

Beitrag von lixxbox » Fr 9. Aug 2019, 17:05

Ich hab bei mir nur die Folgenden aktiviert:

Code: Alles auswählen

  #define STEALTHCHOP_XY
  #define STEALTHCHOP_Z
  #define STEALTHCHOP_E // Im Moment kein TMC Treiber

Z2 ist damit bei mir ebenfalls direkt im stealthchop.

Code: Alles auswählen

Send: M569
Recv: X driver mode:	stealthChop
Recv: Y driver mode:	stealthChop
Recv: Z driver mode:	stealthChop
Recv: Z2 driver mode: tealthChop
Ansonsten sehe ich jetzt keine großen Unterschiede.
Ich würde ebenfalls mal die Treiber untereinander vertauschen. Watterott oder Fuschtec?
Begriffe unklar? Schaut mal im Glossar vorbei.
Druckobjekte zur Kalibrierung / Fehleranalyse
Nutzt die Bedankenfunktion bei hilfreichen Antworten.
👍

Benutzeravatar
7eggert
Gold - Mitglied
Beiträge: 875
Registriert: Fr 3. Mär 2017, 15:45
Wohnort: HH
Drucker: Anet A8
Slicer: Slic3r 1.3.1, (Cura)
Firmware: Marlin 2.0
CAD - Software: FreeCAD / Linux
Hat sich bedankt: 19 Mal
Danksagung erhalten: 48 Mal

#10

Beitrag von 7eggert » Fr 9. Aug 2019, 20:02

Tom0906 hat geschrieben:
Fr 9. Aug 2019, 11:23
Hab bei Github parallel einen Issue eröffnet, mal schaun ob da wer helfen kann:

https://github.com/teemuatlut/TMCStepper/issues/58
Ist die richtige Seite nicht github.com/MarlinFirmware/Marlin/issues ?
Befolge niemals Ratschläge aus Foren, wenn Du sie nicht verstehst. Frag nach.
Meine Aussagen treffe ich nach meinem Wissensstand, kann aber darüber hinaus sowie für Flüchtigkeitsfehler und Irrtümer keine Haftung übernehmen.

Benutzeravatar
th33xitus
Admin
Beiträge: 3273
Registriert: Sa 17. Dez 2016, 00:31
Drucker: AM8
Slicer: PrusaSlicer
Firmware: Marlin-bugfix-2.0.x
CAD - Software: Fusion 360
Hat sich bedankt: 133 Mal
Danksagung erhalten: 437 Mal

#11

Beitrag von th33xitus » Fr 9. Aug 2019, 20:04

Wäre es, ja.
TMCStepper ist da wirklich die falsche Adresse.

teematlut ließt auch bei Marlin fleißig mit bzw ist auch Entwickler dort. Würde sich also im Marlin Repository dazu äußern können wenn es nen Fehler der TMC Stepper wäre.

Glossar - 3D-Druck-Begriffe


Gebt bei jeglichen Problemen immer euren verwendeten Slicer + dessen Einstellungen, eure genutzte Firmware und etwaige Modifikationen vom Drucker an!

Tom0906
Bronze - Mitglied
Beiträge: 84
Registriert: Do 23. Mär 2017, 08:55
Wohnort: Österreich
Drucker: ANET A8 -> AM8
Slicer: Cura 4.2.1.
Firmware: Marlin 2.0 Bugfix
CAD - Software: Thinkercad
Hat sich bedankt: 17 Mal
Danksagung erhalten: 1 Mal

#12

Beitrag von Tom0906 » Mo 12. Aug 2019, 09:41

Guten morgen,

danke nochmals für eure Hilfe. Drucker läuft nahezu lautlos, bin begeistert. Musste den Current noch von 750 auf 600 reduzieren damit die Stepper Temperatur halbwegs erträglich bleibt bei einem 6 Stunden Druck. Ich bin begeistert von den neuen Treibern und dem SKR, war relativ einfach zu tauschen. Hab noch ein Problem mit meinem Heatbed, mache dazu ein neues Thema auf damit es wer anderer auch findet wenn das selbe Problem auftauchen sollte.

Zurück zu diesem Thema, Stepper tauschen bringt nichts meiner Meinung nach da sich der Stepper ja per Gcode umschalten lässt. Wenn ich das manuell mache läuft er auch sauber im Stealthchop Mode. Hab die Einstellung nun ins EEProm gespeichert. Es kann natürlich auch sein dass hier das Problem war. Ich habe das EEProm per Display nie auf Firmware Standard gesetzt, ich war immer der Meinung dass solange ich nicht speichere auch nicht gelesen wird, eventuell liegt oder lag hier das Problem...

mfg
Tom
Meine Druckumgebung: A8 umgebaut auf AM8, SKR V1.3, Marlin 2.0, Boden Extruder, E3D Clone, BLTouch, TMC2130 im SPI Mode, LCD12864, Glasplatte als Druckoberfläche, Janbex PLA Filamente @ 210°/60°, Octoprint 0.16.0.

Benutzeravatar
riff-raff
Unterstützer
Beiträge: 758
Registriert: Do 19. Apr 2018, 14:35
Wohnort: Leipzig
Drucker: ANET A8, CoreXY
Slicer: Prusa Slic3r
Firmware: Marlin 2.0-bugfix
CAD - Software: Fusion360, Inventor
Hat sich bedankt: 30 Mal
Danksagung erhalten: 64 Mal

#13

Beitrag von riff-raff » Mo 12. Aug 2019, 09:52

Das Tauschen sollte eigentlich zeigen, ob es an der Software oder einem defekten Treiber (CFG) liegt.
Chaos is found in greatest abundance wherever order is being sought.
It always defeats order, because it is better organized.
Terry Pratchett

Antworten