Marlin 1.1.8 mit unterschiedlichen Arduino IDE´s 1.8.6 / 1.8.7 und das Problem mit dem TMC2208

  • Hallo an die Spezialisten hier. Ich versuche ein Rumba-Plus Board an meinem Tronxy X5S ans laufen zu bringen. -- Verbindung klappt, hochladen klappt grundsätzlich 1. Versuch war mit Marlin 1.1.8 und X5S Anpassungen aus dem Netz, kompiliert mit Aurduino 1.8.7 von der Originalseite. - da gab es immer wieder mal Probleme.. erst mit der U8g-lib (fehlte), dann TMC2208-Lib und schließlich SD2card-Lib -- bin dann über diesen [url='https://forum.arduino.cc/index.php?topic=542083.0']Link[/url] Post #7 ein Stück weiter gekommen, nachdem ich die LIB´s eingefügt hatte. Derzeit habe ich folgende Fehlermeldung: [code]Arduino: 1.8.6 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)" Zuvor kompilierte Datei wird verwendet: C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\endstops.cpp.o stepper_indirection.cpp:263:32: error: 'X_SERIAL_RX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(X); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:255:93: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' #define _TMC2208_DEFINE_SOFTWARE(ST) SoftwareSerial stepper##ST##_serial = SoftwareSerial(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN); \ ^ stepper_indirection.cpp:263:32: error: 'X_SERIAL_TX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(X); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:255:113: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' #define _TMC2208_DEFINE_SOFTWARE(ST) SoftwareSerial stepper##ST##_serial = SoftwareSerial(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN); \ stepper_indirection.cpp:263:32: error: 'X_SERIAL_RX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(X); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:256:90: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' TMC2208Stepper stepper##ST(&stepper##ST##_serial, ST##_SERIAL_RX_PIN > -1) stepper_indirection.cpp:277:32: error: 'Y_SERIAL_RX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(Y); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:255:93: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' #define _TMC2208_DEFINE_SOFTWARE(ST) SoftwareSerial stepper##ST##_serial = SoftwareSerial(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN); \ stepper_indirection.cpp:277:32: error: 'Y_SERIAL_TX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(Y); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:255:113: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' #define _TMC2208_DEFINE_SOFTWARE(ST) SoftwareSerial stepper##ST##_serial = SoftwareSerial(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN); \ stepper_indirection.cpp:277:32: error: 'Y_SERIAL_RX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(Y); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:256:90: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' TMC2208Stepper stepper##ST(&stepper##ST##_serial, ST##_SERIAL_RX_PIN > -1) stepper_indirection.cpp:291:32: error: 'Z_SERIAL_RX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(Z); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:255:93: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' #define _TMC2208_DEFINE_SOFTWARE(ST) SoftwareSerial stepper##ST##_serial = SoftwareSerial(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN); \ ^ stepper_indirection.cpp:291:32: error: 'Z_SERIAL_TX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(Z); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:255:113: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' #define _TMC2208_DEFINE_SOFTWARE(ST) SoftwareSerial stepper##ST##_serial = SoftwareSerial(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN); \ stepper_indirection.cpp:291:32: error: 'Z_SERIAL_RX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(Z); C:\Users\jd_m18\AppData\Local\Temp\arduino_build_182985\sketch\stepper_indirection.cpp:256:90: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE' TMC2208Stepper stepper##ST(&stepper##ST##_serial, ST##_SERIAL_RX_PIN > -1) stepper_indirection.cpp:305:32: error: 'E0_SERIAL_RX_PIN' was not declared in this scope _TMC2208_DEFINE_SOFTWARE(E0); Bibliothek U8glib-1.19.1 in Version 1.19.1 im Ordner: C:\Program Files (x86)\Arduino\libraries\U8glib-1.19.1 wird verwendet Bibliothek TMC2208Stepper in Version 0.2.5 im Ordner: C:\Program Files (x86)\Arduino\libraries\TMC2208Stepper wird verwendet[/code]---ich hatte aber immer noch Probleme mit den TMC2208, worauf hin es hieß, ich solle die Arduino 1.8.6 nehmen weil es in der 1.8.7 Fehler gäbe.----allerdings habe ich da jetzt erhebliche probs mit der LIB TMC2208, welche ich vorher nicht hatte Gibt es da wirklich wesentliche Unterschiede in der IDE, dass es beim compilieren zu solchen Problemen kommt? Welche Version von lib´s nimmt man am besten für welche IDE? (ich würde eigentlich schon gerne bei den neusten bleiben) Kann mir da jemand gute Tipps oder Links geben? Danke schon mal. P.S.: Falls benötigt oder gewünscht, kann ich meine Versionen der Libs & Sketches hier mit dran hängen. habe ich schon mal gemacht. die Tronxy_X5S_marlin_1.1.8_Firmware.zip, war mein Ausgangpunkt. die marlin_x5s.zip mein aktuellerstand mit IDE 1.8.6
  • Hallo legalstuff, Ich habe festgestellt, dass du dein Problem schon im deutschen Partnerforum gepostet hast. Ein Hinweis darauf wäre nicht schlecht gewesen. Hab mich da ein wenig durchgelesen. Ich habe selber keine TMC,s. Der grosse Vorteil von denen ist, so viele ich weis, dass die Motoren leiser damit laufen, dafür gibt es mit denen aber mehr Probleme sie richtig zum laufen zu bringen, so hab ich es bis jetzt mitbekommen. Daher mein Rat: versuch es doch mal mit anderen Treibern (DRV8825 oder A4988), dann weisst du sicher, ob die TMC das Problem sind oder nicht. Noch ein andere Vorschlag: Zwei Schrittmotoren an einer Achse sind für mich ein "No Go". In der Industrie z.B. bei CNC-Fräsmaschinen, werden bei Systemen mit 2 Antrieben immer Regelsystemen verwendet, die Rückmeldung geben wo die Antriebe stehen. Bei einen Schrittverlust wird dann nachgeregelt. Bei unseren 3D-Druckern haben aber keine überwachten Motoren. Wenn einer der beiden Motoren an der Z-Achse Schrittverluste hat (warum auch immer), verzieht es die Z-Achse. Daher würde ich einen Motor weglassen und die beiden Achsen mit einem Endlosriehmen verbinden und antreiben. Hat praktisch nur Vorteile. Gruss Baloofy
    Die Suppe wird nie so heiss gegessen wie sie gekocht wird. zu Hause in Langenbruck BL
  • OK, wußte nicht was hier alles Partnerboard sind. Ja, ich habe [url='https://www.3d-druck-community.de/thread-24272-page-3.html']hier ein eigenes Thema[/url] aufgemacht, nun mein Hauptthema. Nachdem ich [url='https://www.3d-druck-community.de/thread-19798-page-20.html']hier[/url] und [url='https://www.3d-druck-community.de/thread-16195-post-167959.html#pid167959']hier[/url] auch schon etwas dazu heschrieben hatte, wird dort aber nicht weiter geführt. Andere Treiber habe ich derzeit leider nicht, sind aber bestellt und werden wphl nach meinem Urlaub nächste Woche dann da sein. Tja, Grundsätzlich gebe ich Dir da Recht, dass 1 Motor besser wäre und somit tatsächlich die Schrittverluste bei 2 Motoren eleminirt wären. Aber wie Du sicher auch weißt, gibt es immer die Diskussion, wie stabiel die Z-Achsen sein sollen und wie man größere Drucktische auch mit den kleinen NEma17 Motoren ohne Probleme auf und ab bekommt udn sich noch mit den üblichen Treibern bewerkstelligen lassen. Ich hatte auch schon die Idee, den Tronxy, der ja 320x320x400mm Bauraum hat, den auf einen Motor umzubauen, ist aber derzeit noch zu aufwendig. Ich würde ja auch gerne weg von den dünnen 8mm Führungsstangen und statt dessen 4 Gleitschienen nehmen... aber auch das.. ein größrer Umbau, der erst kommt, wenn der Drucker mir einige wichtivge halterungen gedruckt hat für´s Auto..*smile* Inzwischen habe ich mir auch ein TMC-Test-Board bestellt... nur mal so, für 11€ kann man ja nur wenig falsch machen. Wie ich sehe, meldet sich aber noch keienr auf meine Anfrage bezüglich Code in Marlin bzw. der Frage ob und welche Abhängigkeiten die unterschiedlichen Versionen mit sich bringen.
  • Ich würde auch nichts an der Führung ändern, nur einen der beiden Motoren durch einen Zahnriemen ersetzen. ein ähnliches Bsp: [attach=619][/attach] Deine Konfig kann ich mir mal ansehen, kann dies aber nicht vor Freitag machen. Ich habe auch keine Erfahrung mit den TMC, ich kann also nur allgem. mal schauen ob ich Fehler finde kann.
    Die Suppe wird nie so heiss gegessen wie sie gekocht wird. zu Hause in Langenbruck BL
  • [url='https://www.3d-board.ch/index.php/User/261-Baloofy/']@Baloofy[/url], danke Dir schon mal.... ich bin nächste Woche ohnehin im Urlaub.. da wird sich nichts tun, und auch vorher wohl kaum. Wegen dem Riemen.. ja ich weiß das... dennoch muss ich ja erst mal die vorhandene Gewindestange entweder verlängern, oder mir längere besorgen...dann unter einen Befestigungspunkt schaffen... und eine neue Halterung für den Motor und die zwei Rollen, die Du hier ja auch schon in der Zeichnung hast. Die Rollen hätte ich zwar schon.. aber halt der rest.
  • Das beste wird sein, erst mal andere Treiber testen. Das mit den zwei Motoren auf der Z-Achse funktioniert ja wahrscheinlich, Ist halt vor allem ein Problem, wenn die Motoren aus irgend einem Grund mal nicht synchron laufen. P.S. wünsche schöne Ferien
    Die Suppe wird nie so heiss gegessen wie sie gekocht wird. zu Hause in Langenbruck BL
  • andere Treiber habe ich bestellt.. wobei.. ich denke, es sollte eigentlich ja auch jetzt schon gehen. Sicherlich habe ich etwas entscheidendes übersehen.. Ich weiß nicht genau, wie das mit dem SPI ist..
  • [quote='legalstuff','https://www.3d-board.ch/index.php/Thread/12136-Marlin-1-1-8-mit-unterschiedlichen-Arduino-IDE%C2%B4s-1-8-6-1-8-7-und-das-Problem-mit/?postID=13854#post13854']Ich weiß nicht genau, wie das mit dem SPI ist.. [/quote]Was meinst du damit, weisst du nicht was das bedeutet oder wie anzuwenden? SPI steht für Serial Peripheral Interface. Eine Schnittstelle für die TMC2208 wird, so wie ich das verstanden habe, nur benötigt wenn du den Modus umstellen willst. Ansonsten ist der Versuch mit den anderen Treibern wohl erst mal das wichtigste, um bei der Fehlersuche weiter zu kommen. Welche Treiber hast du bestellt?
    Die Suppe wird nie so heiss gegessen wie sie gekocht wird. zu Hause in Langenbruck BL
  • Ist ja jetzt schon eine ganze Weile her.. und ehrlich gesagt, bin ich noch nicht wirklich weiter. Ich habe inzwischen noch etwas weiter gelesen.. und zwei Dinge glaube ich verstanden. 1. Wenn ich erst mal so loslegen will.. könnte ich die TMC2208 auch als 2208_standalone configurieren. damit brauchte ich dann keine Verkabelung herzustellen.. könnte aber auch nicht die 2208 voll ausnutzen. 2. in der Marlin 1.1.8/1.1.9 gibt es wohl noch Bug, so dass eine Verkabelung und Umstellung auf den SPI-modus nicht zwangsläufig gut läuft und es gute Kenntnisse benötigt, um es wirklich ans laufen zu bekommen. Viele warten auf Marlin 2.0 (gibts ja jetzt nur in der BugFix-Version), was aber noch ne ganze Weile dauern könnte. Zur obigen Frage.. ich habe inzwischen auch mal neue Treiber, die ich auch für die Extruder E0-E2 einsetzen werde. x, y un dauch Z möchte ich aber gerne mit den TMC2208 betreiben. Wenn es erst mal nur im Standalone-Modus wäre.. na ja, könnte ich erst mal ne Zeit mit leben. Würde es baer dennoch gerne umsetzen um mehr Möglichkeiten der TMC2208 auszunutzen. Ach ja, ich habe inzwischen meinen Drucker mechanisch umgebaut.. und anstatt der Trapezgewindestangen, zwei Kugelumlaufspindeln genommen und an allen 4 Ecken Lienarschienen eingebaut, so dass er leicht läuft. Der Drucktischunterbau ist absolut Leichtbau mit 15er Aluprofil und die Druckplatte ist inzwischen 4mm-Alu 350x350mm. Der neue Z-Motor hat etwas mehr Drehmoment und schafft es mit einem Motor alleine.. gibt es denn eine Möglichkeit, das in Marlin 1.1.9 gut zu lösen... oder nehme ich besser doch schon die marlin 2.0-bugFix??
  • Ich finde den Umbau gut. Vor allem, dass du nur noch ein Stepper in der Z-Achse hast. Ist eine mögliche Fehlerquelle weniger. Ich würde die TMC mal erst ganz normal betreiben. Ich habe keine TMC im Einsatz, so wie ich aber bis jetzt gelesen habe, ist es nicht ganz so einfach, die Einstellungen zu ändern (Beim TMC 2208 müsste man, glaub ich, zuerst den UART-Modus aktivieren). Ich bezweifle auch, dass man da überhaupt viel herausholen kann. Eine gut eingestellte Mechanik und die richtigen Einstellungen der Drucke ist meiner Meinung nach wichtiger. Ich habe bei mir Die A9888 durch DRV8825 ersetzt. Eine grosse Verbesserung konnte ich aber auch nicht feststellen. Die doppelte Anzahl Microschritte machen sich etwas bei Kreisfahrten bemerkbar. Dafür hatte ich beim Extruder Probleme bei etwas schnelleren Drucken. Da meine Extruder 1:5 untersetzt ist, konnte die Steuerung bei 1/32 Stepping die vielen mehr Schritte nicht mehr verarbeiten.
    Die Suppe wird nie so heiss gegessen wie sie gekocht wird. zu Hause in Langenbruck BL
  • Ich bin da auch froh, nur noch einen Stepper für die Z-Achse zu haben. Allerdings habe ich ja schon den TMC2208 im Vergleich mit den std.-Treibern z.B. vom CTC Bizer 1 gehört.. und selbst beim Troxy.. gleiche Motoren... gleiche mechanik.. macht mit dem TMC2208 viel aus. X & Y hatte ich ja nicht das Problem mit, daher kenne ich den Vergleich. Es gibt einen Ausspruch in einem Tutorial.. dass man beim TMC2208, wenn er richtig betrieben wird, einen Soundgenerator braucht, um den Drucker noch zu hören. Da sind dann plötzlich die Lüfter das lauteste von allem. So sehe ich das in etwa auch. Bei dem UART-Modus, habe ich weniger das Problem, wo und wie am Baustein, sondern mehr, WO genau, kommen die Anschlüsse auf meinem Rumba-Plus Board hin, bei DREI Motoren?? Die Extruder habe ich auch wegen den Geräuschen schon auf den [url='https://de.aliexpress.com/item/5pcs-lot-3D-Printer-Stepstick-Drv8825-Stepper-Motor-Driver-Reprap-4-PCB-Board-Free-shipping-replace/32514641632.html?spm=a2g0s.9042311.0.0.27424c4dODsRZj']DRV8825[/url] gemacht, auch wegen der höheren Ströme, die möglich sind. Für mich immer noch die Frage, gibt es eine Marlin 1.1.8/1.1.9 Version, z.B. mit bltouch & TMC2208, die bereits läuft? Oder, wo liegt der Trick dabei? Ansonsten, wo überall muss man in Marlin 2.0-BugFix, was alles einstellen? Denn bisher soweit ich gesehen habe, spielt sich ja alles in der Config.h ab.. weniger etwas in der config_adv.h.. oder? ich habe meine Config´s mal hier als ZIP mit hoch geladen.