TMC2209 Treiber an der MPCNC

Ich habe mir bei Amazon ein Set TMC2209 Treiber gekauft, um die DRV8825 Treiber auf meinem OPEN-CNC-Shield abzulösen. Hintergrund war, dass diese wesentlich leiser sein sollen, mehr Einstellungsmöglichkeiten haben und ein besseres Kühlverhalten besitzen.

Aber seht selbst:

Mein Fazit

Die Erwartungen haben sich bestätigt. Vor allem mit einem Laser an der MPCNC ist quasi nur noch der Lüfter des Netzteils zu hören.

Die TMC2209 sind für den Laserbetrieb durchaus geeignet. Bei der Verwendung im Fräsbetrieb würde ich aber weiterhin DRV8825 als Onboard-Treiber bevorzugen, da diese einfach mehr Leistung bringen.

Nützliche Links:

27 Gedanken zu „TMC2209 Treiber an der MPCNC“

    • Wenn ich die Treiber (TMC 2209 V3.1) bei mir aufstecke, dann habe ich bei A1/A2 und B1/B2 auf allen Ausgängen 12V anstehen ohne das der Motor angeschlossen ist. Ich glaube normal wäre es wenn A1 und B1 oder A2 und B2 unter Strom anstehen würden und die übrigen stromlos wären. So ist es zumindest wenn ich die DRV8825 aufgesteckt habe und nur die Ausgänge zum Schrittmortor messe, aber keine Motor dran angeschlossen ist.

      Wenn ich falsch liege berichtigt mich bitte.

      Auf dem Arduino CNC Shield laufen alle Treiber die ich hier rumliegen habe TMC2209 V1.2, TMC2209 V3.1 und die DRV8825. Der Schrittmotor läuft an allen drei Treibern, aber die Ausgänge ohne Motor und Kabel sind immer anders bestromt.

      Ich bin mal gespannt ob wir da noch etwas bei hinbekommen. Die beiden Jumper JP1 auf der Hauptplatine und an den Aufstecktreibern hatte ich auch gesetzt aber liefen trotzdem nicht.

      Antworten
  1. Hallo,

    sorry, ich brauche eure Hilfe. Ich habe mir das opencnc shield zusammen gelötet.
    Dies hat meiner Meinung nach gut funktioniert. Es leuchten alle 3 LEDs wenn ich es angeschlossen habe. Auch die Analogen Eingänge reagieren alle in Estlcam. Ich bekomme aber dummerweise die Treiber absolut nicht zum laufen bzw. es funktioniert kein einziger Motor.
    Die Software selbst gibt keine Fehlermeldungen aus, daher gehe ich auch davon aus, dass grundsätzlich die Verbindung funktioniert.

    Nun habe ich die TMC 2209 Treiber Version 3.1 von Fysitec. Nun frage ich mich, ob es daran liegen könnte. Muss ich dort den 1Kohm wiederstand zwischen GND und ENA setzen an den externen Treiberport oder muss ich noch etwas machen?

    https://www.ebay.de/itm/373420595351
    Dies sind die Treiber. Die Bilder sind recht gut zu erkennen, wie die Belegung ist.

    Danke schonmal im voraus.

    Grüße
    Markus

    Antworten
  2. Servus und Respekt an die Bastler,

    ich muss gestehen, dass ich mit Elektronik eigentlich nichts am Hut habe und deshalb vielleicht blöde Fragen stelle.
    Kurze Frage. Ich bin gerade dabei mir eine CNC Fräse zu basteln. Arduino Uno und CNC Shield von AZdelivery und Estlcam. Nun möchte ich gerne TMC2209 verwenden statt der „Standard“ A4988.
    Bin noch in der Planung. Läuft das so? Finde leider nicht viel zu dem Thema. Bei meinem 3D Drucker musste ich am 2209 einen Pin abzwicken. Hier auch?
    Danke für Info.
    LG
    Peter

    Antworten
  3. Hallo zusammen!
    Ich habe bei den TMC2209 1.3 (sitzen auf dem Tillboard) den ENA Pin abgekniffen um die Motoren über das Extensionpanel (ENA-Klemme) stromlos zu schalten. Irgendwie sind die jetzt dauerstromlos…

    Funktioniert das so mit den 2209 nicht?

    Danke und Gruß

    Antworten
    • Wer nicht lesen kann, darf auch selber antworten…
      Es funktionier auch mit den TMC2209.
      Den Widerstand R10 (10KOhm) gegen einen 1KOhm tauschen. Die 3 angelöteten EN-Drähte der Treiber an die 3 ENA Klemmen des Extension Boards. Dann den Schalter ans Panel (ENA Switch) anschließen.

      Antworten
        • Kann ich mir selber beantworten, habe die Steuerung heute zum Test aufgebaut.
          Tillboard mit Extension:
          – Auf dem Tillboard die Brücken neben X und Y Treiber gesetzt
          – TMC2209 v3.1 3x Enable mit Lötkolben durchgeschoben und per Kabel zum ENA auf dem Extension Board
          – 2x TMC2209 in Originalzustand auf das Extension Board, da hier schon auf ENA ausgeführt und nicht auf GND

          So funktionieren die Motoren per Estlcam schon ohne angeschlossenen Wireless Adapter etc. Auch keinen Switch am Extension

          Antworten
  4. Hallo Stephan,
    das zu erklären birgt eine große Gefahr des Missverständnisses. Den ENA-Pin findest Du aber am einfachsten mit dem Suchbegriff „Pinout TMC2209“ in deiner bevorzugten Suchmaschine.

    LG Stefan

    Antworten
  5. Hallo Timo.
    Da ich nicht so Elektronik erfahren bin muß auch ich nochmal wegen den TMC2209 Treibern nachfragen. Nach euren Anleitungen zusammen Löten kann ich, das wars dann aber auch schon. Die Datei mit dem Schaltplan find ich auf deiner Gitlab Seite einfach nicht zum verrecken. Ich habe auch das Problem mit dem Haltemoment, mit den alten Treibern läuft es, mit den TMC2209 gar nicht. Wo sitzt der „Ena“ Anschluß auf den Treibern und wo verbinde ich ihn mit GND ?

    LG Stephan

    Antworten
  6. Hallo zusammen,

    TMC2209 V3.0 (auch bei mir Pins wie in V3.1 beschriftet) laufen ohne Modifikation (TillBoard), Laufrichtung entgegengesetzt zu DRV (letztere induzieren Spikes auf den Signalleitungen unter Last und führen zu „falschen“ Schritten in den anderen Achsen)

    Jumper MS0,MS1,MS2(SP) sind offen, d.h. 1/8 Microstepping, Geräusch problemlos
    Kühlung: mit Kühlkörper fühlbar warm, mit Lüfter bleibt alles kühl

    eine Frage: 1/4 Microstepping (https://wiki.fysetc.com/Silent2209/) ist wohl Fehlinformation,
    deshalb wird die z-Achse auch bei 1/8 bleiben müssen?

    LG Stefan

    Antworten
    • Hallo Stefan,

      so sehe ich es auch.
      Beim 2208 kann man ueber MS1 + MS2 aud {8,2,4,16} microsteps waehlen.
      Beim 2209 ist das fuer die selbe MS1 MS2 codierung {8, 32, 64, 16} microsteps.
      Ist so auch in den Trinamics Datenblaettern fuer den pin-select Fall beschrieben

      LG – Volker

      Antworten
  7. Hallo Sebastian,

    ich bin gerade dabei, die Platine zu bestücken – kann daher noch nicht testen.
    Mit den Infos, die ich jetzt hab‘ wuerde ich jeweils den Jumper MS2 in JP{6,7,2,1,10,11} setzen, um TX wieder an +5V zu legen. Mehr nicht (bis auf die Tipps oben bzgl. ENA).
    Aber wie gesagt: kann’s noch nicht testen – das wird auch noch ein paar Tage dauern.
    Evtl. weiss ja Timo etwas mehr.

    LG – Volker

    Antworten
    • Glaube bei meinem Versuch die Treiber auszutauschen (zunächst übersehen, dass ich V3.1 habe), ist etwas kaputt gegangen bzw. ich bekomme keine Spannung mehr zur PWM-Steuerung… Wenn ich den Fehler zeitnah finde, kann ich berichten, ob es mit den obigen Einstellungen funktioniert.

      Danke und Gruß

      Antworten
  8. Hallo Timo,
    ich nutze dein OpenCNC Shield an einer MPCNC und würde auch gern von den DRV8825 auf die TMC2209 wechseln. Diese gibt es ja nun in verschiedenen Versionen (V1.2, V2.0, V3.0, V3.1 etc.). Sind diese kompatibel zu einander? Bzw. worin unterscheiden sich die einzelnen Versionen? Hintergrund ist nicht die Lautstärke der Motoren sonder der Wunsch nach einem etwas höheren Haltemoment. Durch die tolle Funktion des Autosquare deines CNC-Shield, habe ich jetzt eine winklige Fräse aber auch eine höhere Last auf den Motoren (Die Fräse wird ja durch die Motoren „gerade gezerrt“), was bei hohem Vorschub oder großer Zustellung zu Schrittverlusten führt. Die NEMA 17 sollen ja bis 2A pro Phase vertragen und nach Datenblatt können die TMC2209 bis 1,7A liefern. Ich weis nicht ob der Wert in der Praxis zu erreichen ist

    Antworten
    • Hallo Axel + hallo Timo

      @Axel: Informationen zu den einzelnen Versionen hab‘ ich unter
      https://wiki.fysetc.com/Silent2209/#v31
      gefunden.

      Die 2209 Treiber (v3.1), die ich bekommen hab, scheinen mir nicht 100% kompatibel mit den v3.0 Vorgängern zu sein. Auf Amazon gibt’s ebenfalls einen recht neuen Kommentar hierzu.

      Die motorseitige Pinleiste scheint mir gleich, die andere weicht ab:
      v3.0: EN / MS1 / MS2 / SP / RX / TX / STEP / DIR (=> auch DRV8825)
      v3.1: EN / MS1 / MS2 / TX / RX / CK / STEP / DIR
      Um die Verwirrung etwas zu steigern, hat v3.0 die Beschriftung von v3.1 – nicht aber die Beschaltung…

      Wenn ich das shield-schematic richtig lese (v1.8), dann
      v3.0: RX + TX => +5V // MS1 + MS2 + SP => JP6 (offen oder +5V)
      v3.1: RX + CK => +5V // MS1 + MS2 + TX => JP6 (offen oder +5V)

      Das heisst dann, dass ich mit J6 (… J11) die Beschaltung von RX und TX gegen +5V gleich bekommen kann.
      Bei SP und CK ist das anders:
      V3.0: SP => offen / CK => GND (am Treiber)
      V3.1: SP => floating (am Treiber) / CK => +5V

      Für CK sagt das 2209 Datenblatt: CLK input. Tie to GND using short wire for internal clock or supply external clock.
      Für SP sagt das 2209 Datenblatt:
      GND or Pin open / not available => StealthChop is selected. Automatic switching to SpreadCycle in dependence of the step frequency can be programmed via OTP.
      VCC_IO => SpreadCycle operation.

      Das sollte bedeuten, dass SP fuer die v3.1 OK ist, aber CP müsste wohl nach GND kommen anstatt +5V…

      Bevor ich mich allerdings hier ans Werk mache, muss ich mein board erstmal ueberhaupt ans Laufen bekommen und die „Papierarbeit“ überprüfen.

      Gerne Korrekturen/Kommentare!

      LG – Volker

      Antworten
      • Hallo – nochmal ich.

        Auf Nachfrage bei Trinamics, wie sich der 2209 bei CK an VDD (anstatt GND) verhält, hab‘ ich eben folgende Antwort bekommen:

        => „CLK and VCC_IO funktioniert auch – da keine Pulse kommen,
        => schaltet der 2209 auch nicht auf externen Takt um.“

        Also sollte m.M.n. auch der v3.1 Treiber funktionieren. Werde berichten.

        Gerne Korrekturen/Kommentare!

        LG – Volker

        Antworten
        • Hey Volker, wie es scheint habe ich auch die 3.1 Treiber-Version. Kannst Du, wenn Ergebnisse vorliegen, diese bitte mit uns teilen? Sprich was hast du genau geändert im vgl. zu den DRV-Treibern? Zugeben, als Maschinenbauer ist mein Verständnis bzgl. Treibersteuerung/Elektrik begrenzt…

          Danke im Voraus und Gruß

          Antworten
          • Hallo Sebastian,

            kurzes update von gestern Abend: prinzipiell drehen sich alle 5 Motoren – auch ohne TX jumper – mit JP muss ich noch checken.
            Will spaeter noch nach den Treiberströmen schaun.

            LG – Volker

  9. Hallo Timo,
    Versuche gerade die MPCNC PRIMO am laufen zu bekommen.
    Habe direkt die Treiber TMC 2209 Genommen die du empfohlen hast.
    Platineversion 1.5 open cnc shield.
    Leider funktionieren die motoren nicht wie gewünscht.
    Meinst du die ENA externe Anschlüsse mit GND verbinden ?
    Bin gerade ratlos. Habe das gleiche Verhalten wenn die Antriebsriemen nicht mit die motoren verbunden sind. Manchmal bewegt sich ein motor, aber nur in eine Richtung.

    Besteht eventuell die Möglichkeit den Schaltplan (pdf format) vom Open cncshield zu gekommen?

    Antworten
    • Die TMC2209 haben einen anderen default ENA State, daher kannst du einen der externen ENA Anschlüsse mit einem 1k Ohm Widerstand mit GND oder 5V verbinden.
      Schaltpläne liegen im Gitlab Repository.

      Antworten
  10. Hallo,
    Zum ersten, super arbeit was du da leistet. Ich habe probiert die Treiber auszutauschen aber ohne erfolg, funktioniert gar nicht. Habe mit mehrere probiert. Setze die DRV8825 wieder ein und schon geht es wieder. Keine Ahnung was es sein könnte ?

    Vielen Dank,
    Michel
    P.S. Sorry , bin aus Luxemburg und Deutsch ist leider nicht mein Muttersprache aber ich denke schon man versteht mich … 😉

    Antworten
    • Ich vermute mal, dass die Motoren keinen Haltemoment haben? Ich glaube die enable Einstellung war bei diesen Treibern anders. Einfach mal versuchen GND oder 5V an die ENA Leitung anzuschließen und beobachten, ob die Motoren Haltemoment bekommen. Dafür sollte aber nichts am D-SUB Anschluss angeschlossen sein.

      Antworten

Schreibe einen Kommentar