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. Ebenfalls waren die Treiber, auch ohne aktive Kühlung nach 20 Minuten Lasern noch kalt. Die DRV8825 wären dabei ohne aktive Kühlung schon überhitzt und hätten Schrittverluste gehabt.

Nützliche Links:

20 Gedanken zu „TMC2209 Treiber an der MPCNC“

  1. 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
  2. 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
  3. 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

  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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

Schreibe einen Kommentar