[Anleitung] Watterott TMC 2209 mit SKR 1.3 Board im UART-Modus

Hier werden Anleitungen und Tutorials für verschiedene Themenbereiche bereitgestellt!
Antworten
Benutzeravatar
Borg
Silver - Mitglied
Beiträge: 519
Registriert: Mo 14. Aug 2017, 19:52
Drucker: Zaubermaschine
Hat sich bedankt: 1 Mal
Danksagung erhalten: 56 Mal

[Anleitung] Watterott TMC 2209 mit SKR 1.3 Board im UART-Modus

#1

Beitrag von Borg » Sa 13. Jul 2019, 00:55

Hallo!

Hier erkläre ich kurz, wie man die TMC 2209 von Watterott im SKR 1.3 Board im UART-Modus zum laufen bekommt. Die Dokumentation, die ich bislang gefunden habe, ist da nur eingeschränkt hilfreich...
(Ich gehe hier vor allem auf die Hardware ein, und nur am Rande auf die Marlin-Konfiguration)

Wir müssen "nur" dafür sorgen, dass die UART-Leitung vom TMC am Controller ankommt. Also los...

Ich nenne das ganze die "vertikaler Jumper Methode".

Erst mal die Modifikationen an der TMC-Platine:

TMC2209-cut.jpg

Zuerst verlöten wir das grün markierte dreiteilige Lötpad. Das verbindet die UART-Leitung vom TMC mit einer von zwei Pins der Platine.
Nach welcher Seite wir es verbinden ist egal. Grobmotoriker können auch ruhig alle drei Pads miteinander verbinden. Auf dem SKR-Board Board werden eh beide Pins miteinander verbunden.

Dann trennen wir den rot markierten Pin ab. Wenn man das nicht macht, wird das UART-Signal wieder auf einen "falschen" Pin zurück geführt. Der Motor läuft dann zwar, macht aber regelmäßig unschöne Tock-Tock-Geräusche. Wollen wir ja nicht...

Jetzt zu den Jumpern auf den SKR 1.3:
TMC-Jumper.JPG
(Das Bild zeigt den letzten Steckplatz, die Jumper für die anderen Treiberplätze sind analog)

Zuerst die Punkte, die Identisch zur Anleitung mit dem UART-Betrieb vom TMC 2208 sind:
- Der Block mit der blauen gestrichelten Linie bleibt leer, der ist nur für Treiber mit SPI-Steuerung.
- Wie schon beim TMC2208 muss der rote UART-Jumper (blaue Linie) bei jedem Treiber gesetzt werden.

Für den Watterott TMC2209 muss der grün eingekreiste, vertikale Jumper gesetzt werden.

Der Jumper mit der gestrichelten orangen Linie wird in der Regel weg gelassen. Dann hat der TMC die "Slave Adresse" 0. Mit dem Jumper wie auf dem Bild ist es die Adresse 1. Laut Marlin-Doku können nur vier TMC2209 die gleiche Adresse nutzen. Die Adressen werden in der Configuration_adv.h festgelegt.

Hier nochmal im Schaltplan, was wir da eigentlich gemacht haben:

plan-mod.png
Die UART-Leitung vom TMC kommt über RST/SLP an (X)DR1 an. Der vertikale Jumper leitet es um (die grüne Markierung) auf den (X)UART-Jumper (rot gestrichelt) zum Controller. Die Leitung, die wir an der TMC-Platine abgetrennt haben, ist mit einem roten X markiert.

Ich übernehme weder Haftung noch Gewähr, dass es nicht abfackelt... :mrgreen:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benne
Neuling
Beiträge: 2
Registriert: Sa 13. Jul 2019, 22:01
Wohnort: Bucholz
Drucker: Anet A8
Slicer: Cura 4.1
CAD - Software: Blender
Hat sich bedankt: 0
Danksagung erhalten: 0

#2

Beitrag von Benne » Do 18. Jul 2019, 20:34

Super Beschreibung. Funktioniert auch sehr gut. Was ist mit sensorless homing? Funktioniert bei mir nicht. Die Achse lassen sich zwar bewegen. Beim homing aller Achsen bewegen sich x und y nur ein kleines Stück und stellen die Koordinaten auf Null.
Das Selbe mit TMC2130 Treibern mit spi funktioniert einwandfrei. Gibt es irgend eine Idee dazu?

Benne
Neuling
Beiträge: 2
Registriert: Sa 13. Jul 2019, 22:01
Wohnort: Bucholz
Drucker: Anet A8
Slicer: Cura 4.1
CAD - Software: Blender
Hat sich bedankt: 0
Danksagung erhalten: 0

#3

Beitrag von Benne » Do 25. Jul 2019, 14:08

Sensorless Homing funktioniert mit den Treibern TMC2209 von Fysetc (offenbar anderes Layout als Watterott) vollständig. Einziger Unterschied ist, es muss kein Pin abgezwickt werden, lediglich der grüne Jumper muss gesetzt sein.
Beim sensorless homing ist noch zu beachten, dass die Werte für die Empfindlichkeit bei 255 am sensibelsten reagieren. Bei einer Einstellung von 150 lässt sich der Motor durch blockieren stoppen. Bei 180 läuft der Motor gar nicht richtig an und bei 10 kann man ihn nicht mehr mit der Hand stoppen.
Gelötet werden muss hier nicht.

bigrip
Neuling
Beiträge: 2
Registriert: Fr 2. Aug 2019, 18:35
Hat sich bedankt: 0
Danksagung erhalten: 0

#4

Beitrag von bigrip » Sa 3. Aug 2019, 21:26

hallo
bei mir gehts nicht.
Es kommt die fehlermeldung "TMC CONNECTION ERROR" beim einschalten des druckers.
auf der watterott seite steht :
SKR v1.3 boards use MS3 as UART pin, which is SPREAD on the TMC2209 SilentStepStick. For UART mode the xxxUART pin 1 has to be connected to xxxSPI pin 1 and no jumpers set for UART or SPI on the SKR board.

ich habe keine ahnung was das zu bedeuten hatt.
ich bräuchte da hilfe.

Benutzeravatar
Borg
Silver - Mitglied
Beiträge: 519
Registriert: Mo 14. Aug 2017, 19:52
Drucker: Zaubermaschine
Hat sich bedankt: 1 Mal
Danksagung erhalten: 56 Mal

#5

Beitrag von Borg » So 4. Aug 2019, 00:09

Also da finde ich meine Anleitung jedenfalls verständlicher als die von Watterott... :mrgreen:
Die benutzen wohl statt Jumper eine fliegende Leitung von XUART-Pin1 nach XSPI-Pin1. Kann man auch machen.

Hast du alles so gemacht wie von mir beschrieben?
Gib mal im Terminal M122 ein. Dann siehst du schon mal, ob alle Treiber Probleme haben, oder nur einer.

Zum "Sensorless Homing": da hab ich mich noch nicht richtig mit beschäftigt. Bislang bekomme ich da noch Fehler beim compilieren...

bigrip
Neuling
Beiträge: 2
Registriert: Fr 2. Aug 2019, 18:35
Hat sich bedankt: 0
Danksagung erhalten: 0

#6

Beitrag von bigrip » So 4. Aug 2019, 01:29

ja hab alles so gemacht.
habe aber erst nur eine lötbrücke gemacht danach hab ich alle drei pads verbunden mit gleichen fehler.
M122 spuckt :
Testing X connection... Error: All LOW
Testing Y connection... Error: All LOW
aus.
In Marlin muss ich ja nur das andern sonst nix oder?
#define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE TMC2209

Benutzeravatar
Borg
Silver - Mitglied
Beiträge: 519
Registriert: Mo 14. Aug 2017, 19:52
Drucker: Zaubermaschine
Hat sich bedankt: 1 Mal
Danksagung erhalten: 56 Mal

#7

Beitrag von Borg » So 4. Aug 2019, 14:00

bigrip hat geschrieben:
So 4. Aug 2019, 01:29
ja hab alles so gemacht.
Dann würde es funktionieren, oder? :mrgreen:
In Marlin muss ich ja nur das andern sonst nix oder?
#define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE TMC2209
Ja, das sollte eigentlich reichen. (Zumindest, wenn du den Jumper für die Slave Adresse weg gelassen hast.)

schnilz
Neuling
Beiträge: 1
Registriert: Mo 26. Aug 2019, 22:01
Drucker: Cetus3D
CAD - Software: FreeCAD
Hat sich bedankt: 0
Danksagung erhalten: 0

#8

Beitrag von schnilz » Mo 26. Aug 2019, 22:19

Moin,

danke für die Info, hab das sonst (außer bei Watterott, was ich da nicht verstanden habe) nirgens gefunden.
Borg hat geschrieben:
Sa 13. Jul 2019, 00:55
- Der Block mit der blauen gestrichelten Linie bleibt leer, der ist nur für Treiber mit SPI-Steuerung.
Ich glaube das ist falsch, die Jumper in der blau gestrichelten Linie verbinden die diag1 pins vom TMC mit den Endstop-Pins.
Kann man sich auf der BTT GitHub Seite angucken...

Hab die Treiber noch nicht, kann also nur Spekulieren, aber denke damit sollte Sensorless homing dann auch funktionieren.

p1ngb4ck
Neuling
Beiträge: 1
Registriert: Mi 28. Aug 2019, 08:50
Hat sich bedankt: 0
Danksagung erhalten: 0

#9

Beitrag von p1ngb4ck » Mi 28. Aug 2019, 12:47

Borg hat geschrieben:
So 4. Aug 2019, 00:09
Also da finde ich meine Anleitung jedenfalls verständlicher als die von Watterott... :mrgreen:
Die benutzen wohl statt Jumper eine fliegende Leitung von XUART-Pin1 nach XSPI-Pin1. Kann man auch machen.

Hast du alles so gemacht wie von mir beschrieben?
Gib mal im Terminal M122 ein. Dann siehst du schon mal, ob alle Treiber Probleme haben, oder nur einer.

Zum "Sensorless Homing": da hab ich mich noch nicht richtig mit beschäftigt. Bislang bekomme ich da noch Fehler beim compilieren...
Sorry ich finde die Lösung von Watterott besser, man muss sie nur korrekt verstehen - dann muss man keine Pins abknipsen und alles läuft sauber (auch Sensorless Homing) :

"Note: To enable UART communication, the jumper on the driver has to be bridged from the middle to the respective position.

SKR v1.3 boards use MS3 as UART pin, which is SPREAD on the TMC2209 SilentStepStick. For UART mode the xxxUART pin 1 has to be connected to xxxSPI pin 1 and no jumpers set for UART or SPI on the SKR board."

Nett von dir, dass du helfen willst, aber ich versuch das Ganze mal aufzudröseln. Wenn mans richtig macht, braucht man keine Pins abkneifen - man muss schlicht bei den TMC2209 anders als bei den 2208ern den UART-Jumper komplett weglassen. Dieser führt bei den TMC2209ern zu einer Verbindung auf SPREAD (siehe unten verlinktes Layout-File). Wenn man den UART-Jumper nicht setzt, braucht man den auch nicht abkneifen ;)

Also :
Wichtig : TMC2208 Config-Videos ignorieren. Der Pinout der TMC2209 StepSticks ist ANDERS!!! (nur um sicher zu gehen, dass das jeder weiß!)
Das Schwierigste (auch nicht schwer, der Rest ist nur noch simpler) : Lötbrücken auf dem TMC korrekt setzen.

Hier ist das Schema-File der TMC2209v2.0: https://github.com/watterott/SilentStep ... 09_v20.pdf

Hier mal den Component-Side-View (Bottom) genauer anschauen, macht meine Erklärung hier verständlicher, hoffe ich.


Auf der linken Seite im Bild, zwischen den STEP und SPREAD Pins sieht man, dass die PDN/UART - Beschriftung sich auf beide Pins daneben bezieht (daher die mittige Beschriftung) - diese beiden Pins sind jene, die wir nutzen können um den UART-Modus zu aktivieren. Es reicht vollkommen, einen dieser Pins zu aktivieren - um das zu tun, reicht es, diesen zu GND zu pullen. Watterott meint mit XUART-PIN1 zu XSPI-Pin1 genau das - das kann aber ganz einfach per Jumper erledigt werden. Zuerst die Bridge zu dem PDN/UART-Pin zu schließen, der neben dem "Step"-Pin liegt (der obere PDN/UART-Pin auf dem verlinkten Bottom-Side-View-Bild). Dann den Jumper den Borg grün eingekreist hat setzen - damit macht man nämlich genau das was Watterott sagt. Ohne Kabel. Man muss sich nur die Verbindungen auf der Unterseite des SKR1.3 genauer anschauen um das zu sehen. Der untere grün eigekreiste Pin ist auf dem SKR mit dem oberen PDN/UART-Pin verbunden. Dieser wird dann per Jumper mit dem darüber liegenden GND Pin verbunden.
Wer Sensorless-Homing nutzen möchte, der sollte außerdem an dieser Stelle einen weiteren Pin in den "DIAG" - Port des StepSticks löten, auf die Oberseite (!!). Im Gegensatz zu den BIQU/BTT-Varianten der TMC2208UART v3 und TMC2209 sind bei den Watterotts die Positionen der "Index" und "Diag" Pins vertauscht - bitte das bereits bekannte Layout zum Vergleich benutzen.
Das SKR1.3 ist auf das andere Layout - also das, was von BIQU/BTT genutzt wird ausgelegt - da würden die DIAG-Pins jedes StepperDrivers auf je einen Pin in der oberen Reihe des roten Pin-Connectors gehen. Bei den Watterotts sind das jedoch die Index Pins - diese bleiben frei. Bei den Watterott TMC2209v2.0 einfach einen Pin in DIAG auf die Oberseite löten und diesen per Dupont-Kabel direkt mit dem Endstop-Pin verbinden ! Achtung : die SPI-TMCs die sensorless-homing beherrschen, triggern mit low, die TMC2209 mit HIGH level. D.h. die Endstop-Trigger-Level-Invertierung in Marlin ist, anders als bei den SPIs, nicht an !
Kurzfassung :
Man muss NUR die "obere" Lötbrücke im gelinkten TMC2209 Layout Bild (Bottom Side View) schließen - so, dass der obere PDN/UART-Pin "verbunden" ist.
Wer nur 4 StepperDriver braucht (z.B. Delta-User) kann und sollte alle (!!) Jumper, außer dem auf Borgs Bild grün eingekreisten, bei JEDEM StepperDriver weglassen. Auch alle anderen Jumper zB. auf den mit UART markierten Ports und dem roten "DIAG-Connector"-Feld entfernen. Wirklich nur noch den grün eingekreisten für jeden StepperDriver.
Wer einen 5. Stepper nutzt (zB DualExtruder oder Z2) : Der muss für 1en(!) StepperDriver den in Borgs Bild orange gestrichelt eingekreisten Jumper setzen - also wahrscheinlich am besten für E0, wenn man den 5. als Z2 nutzen will, oder bei E1 bei DualExtruder-Setups. Wer mag kann natürlich auch bei Dual-Extruder-Setups beide Extruder auf Address 1 setzen (bei beiden den Jumper) - aber das ist Spielerei.
Wer Sensorless-Homing will : den DIAG-PIN mit einem Pin zur Oberseite des TMCs verlöten und diesen direkt mit dem Endstop-Pin des SKR1.3 verbinden. Beim justieren noch beachten, dass bei den TMC2209 ein höherer Wert für die Bump Sensivity, anders als bei den SPI-Varianten, eine höhere Sensivität bedeutet - Also mit der maximalen Sensivität 255 beginnen (maximal empfindlich) und dann langsam den wert verringern, bis man die gesamte Achse ohne Stalls abfahren kann, aber ein Hindernis sofort den Stall auslöst.

So viel mal von mir dazu :)

Benutzeravatar
Nico740
Unterstützer
Beiträge: 427
Registriert: So 14. Apr 2019, 14:20
Wohnort: Nottuln
Drucker: Anet A8 Marlin 2.X
Slicer: Cura
Hat sich bedankt: 13 Mal
Danksagung erhalten: 1 Mal

#10

Beitrag von Nico740 » Mi 9. Okt 2019, 13:41

Hat die neue Anleitung mal jemand getestet?
Außerdem gibt es noch das hier, dort ist aber wieder der Pin abgekniffen, wobei auch wieder der Jumper gesetzt ist:
https://github.com/bigtreetech/BIGTREET ... /issues/59

Was den Endstop-Trigger angeht sprecht Ihr von dem Teil hier, oder:

Code: Alles auswählen

 #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
    // TMC2209: 0...255. TMC2130: -64...63
    #define X_STALL_SENSITIVITY  8
    #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
    #define Y_STALL_SENSITIVITY  8
    //#define Z_STALL_SENSITIVITY  8
Und dort dann die "8" erstmal zum testen durch 255 ersetzen, korrekt?

Benutzeravatar
Nico740
Unterstützer
Beiträge: 427
Registriert: So 14. Apr 2019, 14:20
Wohnort: Nottuln
Drucker: Anet A8 Marlin 2.X
Slicer: Cura
Hat sich bedankt: 13 Mal
Danksagung erhalten: 1 Mal

#11

Beitrag von Nico740 » Do 10. Okt 2019, 20:53

Kann mir jemand sagen ob der auch am USB Port Funktionieren sollte oder genügt das als Stromversorgung nicht? Also das SKR rein am USB Port ohne eine extra Stromversorgung über 12 oder 24V...

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

#12

Beitrag von th33xitus » Do 10. Okt 2019, 21:03

Afaik funktioniert das nicht.
Ich hatte mal irgendwo gelesen, wo jemand ein ähnliches Problem hatte. Weiß aber nicht mehr genau wo.

Ist aber doch auch kein Problem das Netzteil anzuschließen oder?

Benutzeravatar
Nico740
Unterstützer
Beiträge: 427
Registriert: So 14. Apr 2019, 14:20
Wohnort: Nottuln
Drucker: Anet A8 Marlin 2.X
Slicer: Cura
Hat sich bedankt: 13 Mal
Danksagung erhalten: 1 Mal

#13

Beitrag von Nico740 » Do 10. Okt 2019, 21:16

Habe auch grad mal gemessen über USB kommen nur 1,15V an Stepper an.. Hab jetzt mal ein Netzteil rausgesucht und sieh da Vm-GND 13V und Vio-GND 3,6V... Aber immer och Bad Response... Aber ein Motor muß doch dazu nicht dran sein, es geht doch dabei nur um die Kommunikation zwischen SKR und TMC oder verstehe ich das falsch?

Benutzeravatar
Nico740
Unterstützer
Beiträge: 427
Registriert: So 14. Apr 2019, 14:20
Wohnort: Nottuln
Drucker: Anet A8 Marlin 2.X
Slicer: Cura
Hat sich bedankt: 13 Mal
Danksagung erhalten: 1 Mal

#14

Beitrag von Nico740 » Fr 11. Okt 2019, 17:00

Soo also, Ergänzung... Ohne 12V und Umjumpern auf externe Spannung geht nix mit M122...
Außerdem geht auch die 2. Anleitung nicht, also ohne einen UART-Jumper (Blaue-Linie) geht es nicht. Erst wenn der Jumper gesetzt ist geht es...
Was das Sensorless Honig angeht so kann ich zur 2. Anleitung noch nichts bestätigen... Gemacht habe ich alles was das Löten angeht, aber getestet noch nicht....

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag