Seite 1 von 3

Schrittmotortreiber auf Trinamic umrüsten

Verfasst: Do 29. Aug 2019, 16:41
von zenox
Hallo zusammen,
Um dem Lärmpegel des RF1000 etwas zu senken, spiele ich mit dem Gedanken die DRV8711 durch Trinamic Treiber mit StealthChop™ zu ersetzen.
Da es ziemlich aufwändig ist die Wägezelle und SSR mit einem aktuellen 32bit Mainboard zu betreiben und auch die Software dafür entsprechend einzubinden, bleibt eigentlich nur ein Tausch.

Möglichkeit 1: TMC2130, gibt es fertig als Modul. Kann "nur" 1,2A RMS
Möglichkeit 2: TMC2160 mit externen MOSFETs und Shuntwiderstand, hier könnte man vermutlich die bestehenden FETs, etc. verwenden oder ein TMC2160 BOB Modul oder ähnliches verwenden.

Bei beiden würde ich das alte Treiber IC durch eine Platine mit castellated pads ersetzen, die dann entweder direkt den TMC2160 beheimatet oder zumindest Anschlüsse für die Kabel zu einem externen Modul bietet. Erste Adapterplatine ist bestellt, mal sehen ob das klappt, da bewegt man sich schon am Limit der Dimensionen von OSH Park. Ob sich das noch einigermaßen löten lässt ist das nächste. Ich werde berichten

Hat schon mal jemand ausprobiert/gemessen bis zu welchem Strom die Motoren im RF1000 noch sicher arbeiten? Also ob der TMC2130 reichen würde

Und hat jemand noch ein defektes Mainboard rumliegen, das er günstig abgeben würde?

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: Do 29. Aug 2019, 19:40
von anwofis
Hallo,

coole Idee ;) Hab' z.B. die TMC2100 in meinem Ultimaker und die sind echt leise - werden aber schnell heiß ;)

Den Schaltplan des RF1000 hast du ja sicher schon gesehen: http://www.rf1000.de/viewtopic.php?t=2516

Für Schrittmotortreiber benötigt man als Ausgänge: Enable, Step und Dir;
die TMC2130 haben glaube ich noch SPI zum einstellen, TMC2208 UART (weiß jetzt nicht wie man das in der Firmware einprogrammieren will?)

Vielleicht kannst du in der Firmware ja die freien Pins des Mega (z.B. Option-IO) einfach als Ausgänge umdefinieren und
dann da deine Treiber z.B. auf einem Stepstick-Adapter direkt anschließen? (Keine Ahnung, ob das geht?)

-

Hier ist die letzte Firmware: https://github.com/RF1000community/Repetier-Firmware

Bei meinem RF1000 sind das das alles Wantai 2.5A Stepper für X,Y,Z: als Wert ist in der Firmware 110 eingestellt mit 126 := 2A
(Weiß jetzt nicht auf die Schnelle, ob RMS oder Max current?)

Kannst ja mal imit der Community Firmware 1.2A RMS einstellen und dann testen, ob du Schrittfehler kriegst in X,Y beim Travel?

Gruß,
anwofis

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: Fr 30. Aug 2019, 01:18
von AtlonXP
Hallo zenox,
mich nerven die Stepper auch.
Dabei sind es nicht nur die Geräusche, ich sehe es auch am Druckbild.

Ich hätte es gerne gesehen, wenn Nibbels und ich bei mir im Keller der Stepper Programmierung auf den Zahn gefühlt hätten.
Einen Messplatz dafür kann ich bereitstellen.
Ich schätze, da würde noch was gehen bei den Stepper Drivern.

Nun zu deiner Idee:
Wenn ich es mir so überlege, dann wäre eine Neuentwicklung des Mainbords am sinnvollsten.
Irgendeinen guten Chinaklon nehmen und die zusätzliche Elektronik vom Schaltplan abkupfern und an schustern.
Das würde sogar ich mir in konventioneller Technik zutrauen.
Leider hapert es bei mir, an Programmierkenntnissen.

Der Vorteil wäre, man wäre unabhängig von C….. .
Ein originales Mainboard für den RF1000 kostet in der Ersatzeilbeschaffung über 300€.
Das für den RF2000 so um 250€.
Die Bretter sind nicht schlecht, aber nicht mehr Zeitgemäß (16 Bit Prozessor).
Das können die Chinesen besser!

Wenn du jedoch dein Vorhaben durchziehen möchtest, hast du auch meine Unterstützung.

Zu den möglichen Motorströmen:
Wir haben in der Community FW einiges getestet und bereits versucht diese soweit es geht zu senken.

Mein Extruder ist am RF1000 fast original.
Leider mussten wir ihn auf 110 Punkte hoch setzen, anstatt wie am RF2000 mit 105 Punkten.
Irgendwie hat der Extruder etwas mehr Verluste.

Ebenso verlangt die Z Achse auch ihre 110 Punkte.
Es sind sonst selten bemerkbare Schrittverluste möglich.

Zur X und Y Achse kann ich keine Aussage machen, ob da noch etwas zu verringern geht.
Die Move Geschwindigkeit in X Y, fahre ich mit Vollgas 200 mm/s, mit eingestellter Acceleration 1000.
Ich vermute, wir sind auch dort am unteren Limit.

LG AtlonXP

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: Sa 31. Aug 2019, 23:02
von zenox
Die Option-IO habe ich total übersehen, darüber könnte man zumindest alles was nicht SPI ist parallel anlegen und muss die alten Treiber nicht ablöten, sofern sich das SPI irgendwo auf der Platine abgreifen lässt.
Mit den Servo Pins sind das 14 IO, für die 4 Treiber braucht man 4x(EN, STEP, DIR, CS) = 16, fehlen noch 2.
Zur Not nur den 5. Kanal runter und nur da den Adapter drauf.

Das Neudesign habe ich mir auch schon überlegt. Wobei sich hier die Frage stellt ob sich das für die Hand voll Besitzer lohnt. So ein Mainboard kostet dann auch um die 100-150€ in kleinen Stückzahlen, wenn man von Hand lötet evtl. etwas billiger. Unabhängigkeit vom großen C ist auch relativ, in der Regel kann man da doch alles reparieren, wenn mal was durchbrennt.

Was hat der RF1000 was andere Drucker nicht haben:
- 230 V Heizbatt
- Wägezelle für HeatBed Auto Leveling und Visokistätsmessung/Extrudergegendruck (Wie viel bringt das überhaupt?)

-> Das SSR für das Heizbett könnte man als externes Modul ausführen, das am normalen Niedervolt Heizbettausgang angeschlossen wird.
-> Auto Leveling machen die anderen inzwischen über Taster oder Piezo, sicherlich ungenauer aber scheint ja auch zu funktionieren.
-> Visokistätsmessung macht sonst niemand, was genau wird dadurch eigentlich erreicht? (Bin nicht in dem Thema drin und habe die Firmware dazu noch nicht angeschaut, belehrt mich eines besseren falls man das wirklich braucht)

Wenn man sich aktuell so umschaut welche Software überhaupt für 32-bit entwickelt wird, bleibt Smootieware (für LPC M3 und M4) und Marlin V2 (für LPX176x und STM32F1 - F7), Marlin ist hier also derzeit offener was verschiedene HALs angeht, bei Smoothieware findet man immer weniger zum SmoothieboardV2, softwareseitig passiert aber scheinbar noch was. SmoothiewareV2 verwendet LPCopen und FreeRTOS, was in sachen Performance und Funktionsintegration (Webinterface ect.) sicherlich vorteile bringt, aber es für die Community nicht einfacher macht selbst Sachen zu integrieren. Marlin bleibt da beim klassischen Arduino-Style (bei der Hardware Vielfalt fast nicht anders möglich).

Zusammenfassung: Mit Marlin wird man derzeit besser fahren, da die Community zum einen größer ist, die Integration einfacher und generell auch ein Interesse seitens der Entwickler besteht die Hardwareunterstützung zu erweitern. Auch wenn man gegenüber Smoothieware einiges verschenkt, was theoretisch möglich wäre (aber wahrscheinlich nie richtig fertig wird).

Was bringt die Zukunft: Wie auch überall anders wird die Zahl hinterm M weiter steigen. Controller mit Cortex M7, FPGA (ist im SmoothieboardV2-pro bereits angekündigt) etc werden kommen. In wieweit die Webintegration in den Controller Einzug hält ist fraglich. Einerseits praktisch, andererseits bedroht das die Systemstabilität erheblich. Und auch hier wird der Funktionsumfang weiter steigen, dass selbst die leistungsstarken Controller wieder nicht reichen. Einen großen offenen Punkt sehe ich hier bei der Schnittstelle vom G-Code. von der SD-Karte drucken ist lästig, weil die Dateien nicht ordentlich drauf kommen, über Serial Drucken ist zu langsam. Wann kommen Controller/Software mit echten USB Support (Dateitransfer, virtual com Port)? Lösungen hierfür sind bisher eher die Nische.

Möglicher Plan: Man könnte sich mal anschauen, ob sich der Heatbedscan und Kompensation (irgend sowas kann Marlin ja schon) für den RF1000 integrieren lässt, den Messverstärker muss man halt dann extern irgendwo dazu packen, ob hier I²C weiterhin sinnvoll ist muss man überlegen.
Für das Heizbett mass man vermutlich nicht viel machen an der Software, das sollte sich nicht groß anders verhalten als PCB Heizer, außer dass es schneller geht :) Ein bisschen PIDs anpassen und gut.
Wenn das einmal in Marlin integriert ist, sollten das alle zukünftigen Versionen dann auch unterstützen. Entwickelt sich also selbst weiter.

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: Sa 31. Aug 2019, 23:58
von AtlonXP
Wau, man muss immer erst wissen mit wem man es zu tun hat. :woohoo:

In der Tat, du hast die Systeme angesprochen die ich gemeint hatte.
Ich denke natürlich auch über den RF1000 drüber hinaus.

Über unsere FW Mods werde ich gesondert noch was schreiben, falls dies nicht jemand anders schon tut.
(Heute ist es leider schon zu spät).

Wenn der nächste Drucker noch größer im Bauraum wird, dann möchte ich diese Mods nicht missen müssen.

LG AtlonXP

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: So 1. Sep 2019, 01:02
von Digibike
Wobei bei einem Redesign noch zu überlegen wäre, ob es die 230 V sein müssen.
Eigentlich hat die mit 230 V viel Zuviel Dampf - System meldet viel zu schnell eigentlich
bereit - langsamer (24 V) würde mehr durchheizen (gleichmäßigere Wärmeverteilung).
Damit wäre auch die 230 V aus dem Bauraum weg. Damit wäre man auch freier, was die
Ersatzversorgung bei Heizbetten angeht...

Dem Gegenüber steht halt, dass man ein neues Netzteil braucht (Es muß ja dann nicht mehr
ein Relais ein- und aus, sondern Dampf auf Heizbett = Watt) und es braucht ein neues
Heizbett mitsamt Steckern.

Wir haben ja gelernt, dass wir zwar den Lieferanten kennen, aber der geknebelt ist von Conrad
und uns keine (auch mit anderem Stecker) liefern darf...
Und Conrad ist nicht immer der Hit, was Ersatzteilversorgung angeht...

Gruß, Christian

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: So 1. Sep 2019, 01:37
von Nibbels
Was absolut genial wäre, ist Klipper auf dem RaspberryPI in Kombination mit dem RF-Board.
Ich sehe in der Rechenleistung des Mega2560 die Hauptproblematik beim RF-Board, aber mit Klipper ist das kein Problem mehr.
Dann wäre das RFx000-Board im Grunde nur noch das IO-Board.

Ich hab mal gehört, dass man Klipper auch so einstellen kann, dass die Driver über ein anderes Board laufen wie der Rest der IO-Ports. Bzw. dass man verschiedene Boards an einen Raspberry hängen kann, die dann zu einem Drucker gruppiert werden. Habs aber nicht geprüft -> https://www.klipper3d.org/Overview.html

(Ich bleib natürlich erstmal beim aktuellen Mod mit Repetier-Server/Octoprint, weil damit eigentlich alles funktioniert.)

LG

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: So 1. Sep 2019, 15:57
von AtlonXP
Hier noch mein Nachtrag über die wichtigsten Erweiterungen:
Wenn man von der Z Kompensation mit Hilfe des HBS absieht, wurden noch weitere Erweiterungen in der Community FW eingepflegt.

- SenseOffset:
Da wir original ein PEEK Hot End verwenden, hat dieses abgesehen von der normalen Temperaturausdehnung noch eine extra Nachlängung von ungefähr 1,2 mm während den ersten 20ig Minuten (Kriechwärme). Der Sense Offset stellt die optimale 1. Layerhöhe über die gewählten Digit Parameter ein.

- DigitFlowCompensation:
Wenn der erste Layer beendet ist, übernimmt DigitFlowCompensation die nächsten Layer.

Funktionsweise: Es werden hier die Extrudier Drücke überwacht.
Sollten die zu hoch werden, nimmt je nach Einstellungen DigitFlowCompensation die Geschwindigkeit oder/auch den Hauptmultiplikator der Extrusionsmenge zurück.

Dies ist sehr hilfreich um den Extrusionsdruck zu begrenzen.

Wie z.B.:
Bei Zick Zack Bahnen.
Wenn das Teil warpt.
Auch bei flexiblen Materialien, damit das Material nicht zur Seite abhaut und auch gleichmäßiger gedruckt wird.

Es gibt einem etwas mehr Garantie, damit der Druck gelingt.


Weitere nette Funktionen:
Wegfall der Z Schraube
Auswahl von 9 Gespeicherten HBS Matrizen.
Variabler Z Offset.

S.H.: http://www.rf1000.de/wiki/index.php/Kat ... d_Firmware


LG AtlonXP

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: Mo 2. Sep 2019, 17:37
von AtlonXP
Ich bin der Sache von Nibbels Empfehlung nachgegangen und finde diesen Vorschlag gar nicht schlecht.
Doch wer flickt uns das Programm funktionsgerecht zusammen?
Nibbels hat geschrieben: (Ich bleib natürlich erstmal beim aktuellen Mod mit Repetier-Server/Octoprint, weil damit eigentlich alles funktioniert.)
LG
Wir werden Nibbels noch eine Menge Erdnüsse füttern müssen, bis er sich dazu aufrafft! :coolbubble:

LG AtlonXP

Re: Schrittmotortreiber auf Trinamic umrüsten

Verfasst: Di 3. Sep 2019, 08:21
von zenox
Auf Klipper bin ich auch gestoßen, habe das allerdings nicht sonderlich relevant gehalten, da es (zumindest im Internet) kaum Präsenz zeigt. Habe mich jetzt mal etwas eingelesen und so schlecht sieht das gar nicht aus.

Man müsste ein Modul für die SPI Konfiguration der DRV8711 schreiben (Den Code kann man größtenteils von den TMCs übernehmen, nur Register, Werte und Zusammensetzung anpassen)
Tasten, Not-Aus, sogar Display (hab ich grade nicht zur Hand, aber hd44780 wird unterstützt...) sollten laufen.
Man kann sogar relativ einfach die Wägezelle über I2C einbinden. Die könnte man ja vorerst zu einem vituellen Endstop/z Probe machen, der bei Kontakt nur den Zustand ändert statt die Digits direkt zu verarbeiten. Ob das Praxistauglich ist muss man schauen.

zum SenseOffset: sind das wirklich 1,2 mm? Mit dem Wärmedehnungskoeffizienten von PEEK (4,7*10^-5 /K) und dT von 220°C komme ich auf etwa 0,4 mm bei 40 mm Länge (und so lang ist es wahrscheinlich gar nicht). EDIT: Im WiKi steht was von 0,14 mm, das passt schon eher.
Das muss man halt vorerst manuell umgehen, also erst 20 min Heizen, dann drucken.

Wenn ich die Zeit finde kann ich mich die Tage mal dran setzen und zumindest die Stepper einbinden, dass man ohne BedLeveling mal drucken kann.
Wenn das funktioniert mache ich einen neuen Thread auf, das hat hier ja nichts zu suchen ;)