Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Status Repetier Firmware v2?

geschrieben von Legion 2.3 
Status Repetier Firmware v2?
13. May 2021 07:10
Hallo, zusammen

Im Moment laufen alle meinen Maschinen (3 an der Zahl) auf der Repetier V1 Firmware mit einem Arduino Due und einem RADDS-Board.
Bis auf gelegentliche Aussetzer alle paar Wochen / Monate (dessen Ursache ich noch nicht vollends identifizieren konnte, aber das tut hier erst mal nichts zur Sache) bin ich mit der Firmware auch sehr zufrieden.

Technisch ist die Firmware aber denke ich nicht mehr wirklich auf dem Stand der Technik, in den letzten 5 Jahren hat sich bei der V1 bis auf Details nicht wirklich viel getan.
Nun ist ja schon seit einigen Jahren Repetier V2 in der Entwicklung, die laut Beschreibung deutlich bessere Performance in der Motoransteuerung durch S-Kurvenbeschleunigung erreichen soll. Das wäre für mich der Hauptgrund, zur neueren Version zu wechseln. Nur auch hier scheint sich in den letzten Jahren kaum was zu tun. Auf der offiziellen Webseite kann man die Firmware nicht herunterladen.
Bei Github finde ich haufenweise einzelner Dateien und Code-Schnipsel zu V2. Vielleicht bin ich nur zu dumm, aber ich weiß jetzt nicht, wie ich mir daraus eine funktionierende Firmware basteln soll.

Weiß jemand, ob es irgendwo ein komplettes, funktionsfähiges Build der Repetier V2-Firmware zum Download gibt, was auf meiner DUE-RADDS-Kombi läuft?
Oder arbeitet überhaupt jemand mit V2? Ist die Firmware überhaupt schon zuverlässig lauffähig oder ist das immer noch eine Alpha?
Re: Status Repetier Firmware v2?
13. May 2021 10:55
Schau dir mal Klipper an... Ich baue gerade meinen fünften Drucker (bisher alle mit Marlin/Repetier und RAMPS/RADDS) und bin jetzt auf den Klipper-Zug aufgesprungen. Ich habe damals eine ähnliche Idee gehabt, habe mich hier im Forum allerdings von dieser Idee abbringen lassen und das leider nicht weiter verfolgt, bin aber begeistert, dass in den letzten Jahren das jemand zur "Marktreife" gebracht hat. Der große Vorteil von Klipper ist, dass die Druckerelektroniken nicht intelligent sein müssen, sondern lediglich Informationen bekommen, wieviele Steps sie generieren sollen, bzw. welche anderen Signale (PWM, An/Aus, Motor-Direction, etc.) generiert werden sollen. Die eigentlichen, rechenintensiven Berechnungen erfolgen auf einem schnellen Raspberry Pi, den viele ja sowieso schon im Drucker haben.

S-Kurven-Beschleunigung ist z.B. kein großes Ding, da die Rechenzeit keine Rolle spielt. Pressure-Advance? Kein Thema, sogar mit einer halbautomatischen Kalibrierung. Endlich wirklich scharfe Ecken. Smoothed Look-Ahead? Das kann sogar den Druck beschleunigen, ohne dass die Qualität darunter leidet. Delta-Drucker gefällig? Delta-Kalibrierung ist auch kein Thema. Und was mich vollkommen vom Hocker gehauen hat ist die Resonance-Kompensation... Ghosting kennt sicher jeder und hat damit schon zu kämpfen gehabt. Erste Lösungsansätze ist natürlich eine stabiler Aufbau, leichter Druckkopf, kürzere Riemen, etc. Aber trotzdem schafft man es oft nicht ganz, das in den Griff zu bekommen. Klipper hat da eine Lösung. Am Druckkopf wird ein Motion-Sensor (gibts für um die 5€) installiert und Klipper misst die Resonanzen bei unterschiedlichen Beschleunigungen und Bewegungen. Das wird dann, nachdem der Motion-Sensor wieder abgebaut wurde, bei allen Bewegungen entsprechend berücksichtigt und Ghosting so nochmal deutlich minimiert. Mit entsprechender Hardware und einem anständigen Druckeraufbau ist davon danach praktisch nichts mehr zu sehen.

Aber auch weitere Features sind echt cool: Nicht genug Motortreiber für irgendwelche Spielereien? Kein Thema, Klipper kann auch mehrere Boards ansteuern. Ich habe z.B. in meinem neuesten Drucker 2x SKR 1.4 Turbo verbaut. Die gab es für unter 25€ aus China und laufen mit 32Bit/120Mhz (nicht das dies mit Klipper notwendig wäre). Auf jedem dieser Boards können gut 650K Steps/Sekunde generiert werden (für jeweils 3 Stepper). Mit einem RADDS/Due schafft man locker über 400K. Wenn das nicht reicht einfach ein weiteres Board anstecken und los geht's.

Und von so Dingen wie Firmare-Updates, Drucker-Board flashen, Steuerbarkeit, coole APIs, etc. möchte ich jetzt gar nicht weiter schwärmen...


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: Status Repetier Firmware v2?
15. May 2021 08:25
Hallo, ich hab ja die Kombi Due/Radds und nutze auch die Repetier Firmware vom Konfigurator. Bei meinem Druckern ist das noch die beste Firmware und scharfe Ecken bekomme ich auch mit Linear Advance hin. Die mag zwar schon in die Jahre gekommen sein, aber ich persönlich finde die reicht vollkommen aus und erziele damit gute Ergebnisse.
Hab an dem Drucker ein 7 Zoll Touchdisplay mit Repetier Server drauf, das macht schon was her und es läuft echt gut.
Was mich da stört ist das das Radds und Due halt so hoch sind. Es gibt ja mittlerweile gute und günstige Boards die das alles vereint haben, da läuft aber leider keine Repetier Firmware drauf, das finde ich echt schade.
Re: Status Repetier Firmware v2?
16. May 2021 08:52
Mit Klipper habe ich mich bisher nur oberflächlich beschäftigt.
Was ich weiß, ist, dass ein Raspberry Pi die meisten rechenintensiven Aufgaben von Arduino übernimmt und damit einige Features schafft, die ein Arduino alleine (scheinbar) nicht stemmen kann.
Was ich bisher von der Resonanz-Kompensation gesehen hab, ist schon ziemlich geil, kann man nicht anders sagen.
Klipper soll wohl auch mit Repetier Server zusammen arbeiten.

Was mich abschreckt, ist die verglichen mit Repetier aufwändige Einrichtung, die Arbeit mit Linux-Kommandozeilenbefehlen und Octoprint, etc. Mit Linux kenne ich mich halt kein Stück aus.
Ich habe schon mal versucht, Repetier-Server auf dem RPi zu installieren und dann meinen PC direkt per Ethernet mit dem RPi zu verbinden, womit ich grandios gescheitert bin. Die Verbindung hat nur funktioniert, wenn sowohl PC als auch RPi hinter einem Router am selben Netz hängen, eine Direktverbindung habe ich selbst mit Support von Repetier nicht hinbekommen.
Deswegen, bevor ich mich weiter in Klipper einarbeite, eine ganz wichtige Frage:

Kann die Topologie mit Klipper so
PC - usb -> RPi - usb -> Arduino
oder
PC - Ethernet-> RPi - usb -> Arduino
aussehen, oder muss sie so
PC - Ethernet-> Router - Ethernet -> RPi - usb -> Arduino
aussehen?

Ich habe zwar eine Netzwerkdose und WLAN in meinem Werkstattraum, aber ich möchte meine Maschinen auf jeden Fall offline betreiben können.
Zum einen steuere ich alle Drucker mit einem Windows 10 - Tablet-PC, der mit Netzwerkzugriff andauern ungefragt Updates zieht und sich zu den ungünstigsten Fällen selbst neustartet, zum Anderen sollen die Drucker nicht von einem nicht wirklich 24/7-fehlersicheren Router abhängig sein.
Re: Status Repetier Firmware v2?
16. May 2021 09:08
Alle drei Varianten gehen. Und wenn du Octoprint verwenden würdest, dann gibt es sogar ein komplett fertiges Image. Einfach auf die SD-Karte packen, in den Pi stecken, booten und glücklich sein.

Was in allen Fällen aber mit Klipper geht (natürlich auch mit anderen) ist, dass du eine virtuelle SD-Karte hast, von der du drucken kannst. Tatsächlich ist das einfach ein Verzeichnis unter Linux, mit dem man allerhand machen kann. In allen Fällen ist aber der RPi stark genug, dass komplette Streaming der GCode-Daten an die Firmware (die ja im Fall von Klipper überwiegend sowieso auf dem Pi läuft) zu übernehmen. Daher bis du auch bei langen Drucken nicht von Routern oder einer stabilen Netzwerkverbindung abhängig, läuft alles "lokal" auf dem Drucker.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: Status Repetier Firmware v2?
23. May 2021 09:32
Ich habe mir erst mal Repetier v2 angesehen und versucht, zu konfigurieren... bei dem Versuch ist es geblieben.
Mit der neuen Struktur von Repetier v2 komme ich nicht klar. Ich kann nicht so richtig nachvollziehen, wie ich das mit den neuen "Modulen", etc. konfigurieren soll.
Mir fehlen für das Verständniss einfach die Grundlagen, ich kann nunmal nicht programmieren und nur einfache Programmstrukturen nachvollziehen.

Als nächstes habe ich angefangen, Marlin v2 zu konfigurieren, was ja auch S-förmige Beschleunigungsrampen beherschen soll.
Dafür habe ich "Visual Studio Code" mit den Erweiterungen "PlatformIO" und "Auto Build Marlin" genutzt.
Als Ausgangsbasis habe ich eine Config vom Creality CR-10 S5 genommen und alles passend umgestellt.
Solange ich das Motherboard von Creality in der Config lasse, lässt sich auch alles kompilieren.
Nur sobald ich das Board auf "BOARD_RADDS" ändere, bekomme ich beim Kompilieren Fehlermeldungen:

In file included from Marlin\src\HAL\DUE\../../core/../inc/../HAL/./DUE/../shared/Marduino.h:36:0,
                 from Marlin\src\HAL\DUE\../../core/../inc/../HAL/./DUE/HAL.h:30,
                 from Marlin\src\HAL\DUE\../../core/../inc/../HAL/HAL.h:26,
                 from Marlin\src\HAL\DUE\../../core/../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\DUE\../../core/serial.h:24,
                 from Marlin\src\HAL\DUE\DebugMonitor.cpp:25:
C:\Users\danie\.platformio\packages\framework-arduino-sam\cores\arduino/Arduino.h:42:10: fatal error: chip.h: No such file or directory        

**************************************************************
* Looking for chip.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:chip.h"
* Web  > [platformio.org]
*
**************************************************************

 #include 
          ^~~~~~~~
compilation terminated.
In file included from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/../shared/Marduino.h:36:0,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/HAL.h:30,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/HAL.h:26,
                 from Marlin\src\HAL\DUE\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\DUE\HAL.cpp:27:
C:\Users\danie\.platformio\packages\framework-arduino-sam\cores\arduino/Arduino.h:42:10: fatal error: chip.h: No such file or directory        

**************************************************************
* Looking for chip.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:chip.h"
* Web  > [platformio.org]
*
**************************************************************

 #include 
          ^~~~~~~~
compilation terminated.
*** [.pio\build\DUE\src\src\HAL\DUE\DebugMonitor.cpp.o] Error 1
*** [.pio\build\DUE\src\src\HAL\DUE\HAL.cpp.o] Error 1
In file included from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/../shared/Marduino.h:36:0,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/HAL.h:30,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/HAL.h:26,
                 from Marlin\src\HAL\DUE\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\DUE\HAL_SPI.cpp:40:
C:\Users\danie\.platformio\packages\framework-arduino-sam\cores\arduino/Arduino.h:42:10: fatal error: chip.h: No such file or directory        

**************************************************************
* Looking for chip.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:chip.h"
* Web  > [platformio.org]
*
**************************************************************

 #include 
          ^~~~~~~~
compilation terminated.
*** [.pio\build\DUE\src\src\HAL\DUE\HAL_SPI.cpp.o] Error 1
In file included from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/../shared/Marduino.h:36:0,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/HAL.h:30,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/HAL.h:26,
                 from Marlin\src\HAL\DUE\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\DUE\MarlinSerialUSB.cpp:30:
C:\Users\danie\.platformio\packages\framework-arduino-sam\cores\arduino/Arduino.h:42:10: fatal error: chip.h: No such file or directory        

**************************************************************
* Looking for chip.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:chip.h"
* Web  > [platformio.org]
*
**************************************************************

 #include 
          ^~~~~~~~
compilation terminated.
*** [.pio\build\DUE\src\src\HAL\DUE\MarlinSerialUSB.cpp.o] Error 1
In file included from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/../shared/Marduino.h:36:0,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/HAL.h:30,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/HAL.h:26,
                 from Marlin\src\HAL\DUE\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\DUE\InterruptVectors.cpp:35:
C:\Users\danie\.platformio\packages\framework-arduino-sam\cores\arduino/Arduino.h:42:10: fatal error: chip.h: No such file or directory        

**************************************************************
* Looking for chip.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:chip.h"
* Web  > [platformio.org]
*
**************************************************************

 #include 
          ^~~~~~~~
compilation terminated.
*** [.pio\build\DUE\src\src\HAL\DUE\InterruptVectors.cpp.o] Error 1
In file included from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/../shared/Marduino.h:36:0,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/./DUE/HAL.h:30,
                 from Marlin\src\HAL\DUE\../../inc/../HAL/HAL.h:26,
                 from Marlin\src\HAL\DUE\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\DUE\MarlinSerial.cpp:30:
C:\Users\danie\.platformio\packages\framework-arduino-sam\cores\arduino/Arduino.h:42:10: fatal error: chip.h: No such file or directory        

**************************************************************
* Looking for chip.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:chip.h"
* Web  > [platformio.org]
*
**************************************************************
 #include 
          ^~~~~~~~
compilation terminated.
*** [.pio\build\DUE\src\src\HAL\DUE\MarlinSerial.cpp.o] Error 1
========================================================= [FAILED] Took 3.27 seconds =========================================================

Scheinbar fehlt hier die Datei "chip.h".
Ich habe schon im Netz alles durchforstet, aber ich finde nichts bezüglich dieses Fehlers. Ich habe auch noch keine Beispiel-Konfiguration für das RADDS finden können.
Hat jemand eine Idee, wie ich diesen Fehler beheben kann?
Re: Status Repetier Firmware v2?
24. May 2021 04:23
Vielleicht liegt es ja daran das der Verzeichnis-Dateinamensbaum von der Zeichen Anzahl die 256 Zeichen überschritten hat und deswegen nicht kompiliert werden kann.
Sowas hatte ich schon.
Seitdem lege ich die Marlin Version immer im obersten Verzeichnis ab. Was natürlich etwas doof ist wegen Sortierung nach Versionen und Boards.
Re: Status Repetier Firmware v2?
24. May 2021 04:49
Quote
Wintex
Vielleicht liegt es ja daran das der Verzeichnis-Dateinamensbaum von der Zeichen Anzahl die 256 Zeichen überschritten hat und deswegen nicht kompiliert werden kann.
Sowas hatte ich schon.
Seitdem lege ich die Marlin Version immer im obersten Verzeichnis ab. Was natürlich etwas doof ist wegen Sortierung nach Versionen und Boards.

Das habe ich gerade probiert. Ich habe den Ordner direkt auf C:\ gelegt, allerdings bleibt die Fehlermeldung die Selbe.
Re: Status Repetier Firmware v2?
24. May 2021 05:26
Ich konnte den Fehler durch den Tipp von einem anderen Forenmitglied beheben:
Der Ordner ".platformio/packages/framework-arduino-sam/system/libsam" hat bei PlatformIO gefehlt.
Ich habe den kompletten Ordner "framework-arduino-sam" gelöscht und mit PlatformIO neu geladen, jetzt lässt sich die Firmware ohne Fehlermeldungen kompilieren.
Re: Status Repetier Firmware v2?
30. May 2021 16:41
Inzwischen habe ich Marlin v2 ans laufen gebracht und ein Test-Benchy gedruckt.
Im direkten Vergleich mit dem Druck, den ich zuvor mit Repetier gemacht habe, konnte ich aber nicht die geringste Verbesserung feststellen.
Ich hatte eigentlich erwartet, dass die Kantenschwingungen ("Ringing") mit den S-förmigen Beschleunigungsrampen reduziert würden. Tatsächlich sieht der Druck mit Marlin eher noch etwas unruhiger aus als mit Repetier. Also habe ich erst mal wieder alles auf Anfang gesetzt und Repetier zurück installiert.

Der nächste Anlauf wäre jetzt Klipper.
Ich habe Klipper mit Octoprint bereits auf dem Rasperry und einem zweiten Arduino-Due, was ich noch hier liegen habe, installiert.
Allerdings muss ich zugeben, dass ich erhebliche Schwierigkeiten damit habe, mich in die Funktionsweise und die Art der Konfiguration von Klipper hereinzudenken.

Bei Repetier ist es dagegen total einfach: Es gibt einen Konfigurator, den man mit seinen Daten füttert und raus kommt eine Firmware mit vollständiger Konfig-Datei, die man mit der Arduino-Software mit einem Klick hochladen kann. Bei Marlin verhält sich das ganze, wenn man von meinen Startproblemen mit der Visual Studio Code absieht, recht ähnlich. Hier gibt es zwar keinen Konfigurator, aber es ist innerhalb der Konfig fast jeder Parameter in Klartext nachvollziehbar erklärt und auch alles vollständig enthalten.

Bei Klipper brauche ich mindestens 2 Programme (BelenaEtcher und PuTTY), muss alles ans Netz anschließen und die Firmware über Konsolenbefehle herunterladen.
In der Config selber ist nichts dokumentiert und das fieles scheint irgendwie zu fehlen.

So sieht die Konfig bei mir aus:
# This file contains common pin mappings for RADDS (v1.5) boards.  To
# use this config, the firmware should be compiled for the Arduino
# Due.

# See docs/Config_Reference.md for a description of parameters.

# Temp sensor pins: PA16..PA6
# Mosfet Pins: PC23 (Heatbed), PC22, PC21, PD7, PD8, PB27

[stepper_x]
step_pin: PA15
dir_pin: PA14
enable_pin: PD1
microsteps: 64
rotation_distance: 39.9
endstop_pin: ^PD3
#endstop_pin: ^PC2
position_endstop: 0
position_max: 440
homing_speed: 50

[stepper_y]
step_pin: PA12
dir_pin: !PA13
enable_pin: PB26
microsteps: 64
rotation_distance: 39.9
endstop_pin: ^PD9
#endstop_pin: ^PC4
position_endstop: 0
position_max: 335
homing_speed: 50

[stepper_z]
step_pin: PB25
dir_pin: PC28
enable_pin: PD5
microsteps: 128
rotation_distance: 2
endstop_pin: ^PD10
#endstop_pin: ^PC6
position_endstop: 0
position_max: 500

[extruder]
step_pin: PA2
dir_pin: PA3
enable_pin: PB17
microsteps: 128
rotation_distance: 22.46
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB27
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA16
control: pid
pid_Kp: 7.5
pid_Ki: 0.54
pid_Kd: 25.5
min_temp: 0
max_temp: 285

#[extruder1]
#step_pin:           PB19
#dir_pin:            PB18
#enable_pin:         PB20

#[extruder2]
#step_pin:           PC12
#dir_pin:            PB14
#enable_pin:         PC14

[heater_bed]
heater_pin: PC23
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA24
control: watermark
min_temp: 0
max_temp: 130

[fan]
pin: PC21

#[heater_fan nozzle_cooling_fan]
#pin: PC22

[mcu]
serial: /dev/ttyACM0

[printer]
kinematics: cartesian
max_velocity: 500
max_accel: 2000
max_z_velocity: 10
max_z_accel: 100

# "RepRapDiscount 2004 Smart Controller" type displays
#[display]
#lcd_type: hd44780
#rs_pin: PA19
#e_pin: PA20
#d4_pin: PC19
#d5_pin: PC18
#d6_pin: PC17
#d7_pin: PC16
#encoder_pins: ^PB21, ^PC13
#click_pin: ^!PC15

# "RepRapDiscount 128x64 Full Graphic Smart Controller" type displays
#[display]
#lcd_type: st7920
#cs_pin: PA19
#sclk_pin: PC19
#sid_pin: PA20

Die Konfig von Repetier hat dagegen über 600 Zeilen.
Bei Klipper muss man scheinbar für zusätzliche Features die entsprechenden Zeilen manuell in der Konfig ergänzen und hoffen, dass die Syntax richtig ist.
Zum Beispiel habe ich bei meinem Drucker 2 Motoren für den Extruder verbaut.
Dafür müsste ich laut dieser Dokumentation noch so etwas in der Art in der Konfig ergänzen:
[extruder_stepper my_extra_stepper]
#extruder: extruder
#   The extruder this stepper is synchronized to. The default is
#   "extruder".
#step_pin:
#dir_pin:
#enable_pin:
#microsteps:
#rotation_distance:
#   See the "stepper" section for the definition of the above
#   parameters.

Jetzt wird für mich als Programmierlaie erst mal nicht ersichtlich, was ich jetzt genau ich hier auskommentieren muss.
Vermutlich muss dass dann so aussehen:
[extruder_stepper my_extra_stepper]
extruder: extruder
step_pin:           PB19
dir_pin:            PB18
enable_pin:         PB20
microsteps: 128
rotation_distance: 22.46

Sicher bin ich mir da aber nicht. Ich muss mich erst mal durch die gewaltige Doku von Klipper wälzen.

Wie es aussieht, kann ich auch nicht mein Rapsberry Pi 4 als USB-Slave mit meinem Steuerungs-PC verbinden, weil das PI selbst der USB-Master ist. Die Verbindung muss also über Ethernet hergestellt werden. Da mein Tablet-PC keine Ethernet-Schnittstelle hat, brauche ich dafür noch einen USB-Ethernet-Adapter.
Ich habe auch noch nicht so ganz herausgefunden, ob und wie ich Klipper mit der Repetier Server-Oberfläche ans Laufen bringe.
Die Anleitung zur Installation bezieht sich hier nur auf Octo-Print und dessen Bedienoberfläche finde ich deutlich schlimmer als die von Repetier.
Es soll wohl möglich sein, erst Repetier-Server auf dem Pi zu installieren und danach Klipper darauf zu installieren. Allerdings hatte ich früher schon mal versucht, ein RPi mit Repetier Server direkt per Ethernet-Kabel mit meinem PC zu verbinden, aber die Verbindung hat ohne Router dazwischen nie funktioniert. Mit Octoprint dagegen funktioniert das immerhin sofort.

Alles ziemlich kompliziert confused smiley
Re: Status Repetier Firmware v2?
30. May 2021 17:08
Schau dir vielleicht mal MainsailOS an. Mainsail ist so etwas wie OctoPrint, nur viel, viel schlanker. Die Entwickler davon haben eine komplette Distribution (MainsailOS) zusammengestellt. Das besteht aus einem Debian für den Raspberry PI, Klipper und Mainsail. Das kannst du direkt auf eine SD-Karte packen und los gehts. Du kannst dann über einen Browser auf die Oberfläche zugreifen (die auf dem Raspberry läuft) und damit den (oder die) Drucker steuern. Man kann auch z.B. aus dem Prusa Slicer (und vielen anderen) direkt geslicte Dateien dort hinsenden.

Repetier-Server brauchts dann eigentlich gar nicht mehr und ist eher hinderlich.

Und ja, die Konfigurationsdatei ist anfangs wirklich sehr komplex und verwirrend, allerdings kann man, wenn man einmal drin ist, damit sehr gut arbeiten. Dein Weg sieht jedenfalls schon recht gut aus. Sehr hilfreich ist der Discord-Kanal von Klipper. Da bekommt man sehr schnell und kompetent Hilfe.


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: Status Repetier Firmware v2?
03. June 2021 09:16
Ich habe mir inzwischen MainsailOS heruntergeladen und nach dieser Anleitung installiert.
So richtig klappt das aber noch nicht: Im Browser wird mir angezeigt "Klippy-State: Startup" oder "Klippy-State: Error".
Das kann wohl daran liegen, dass ich den Arduino mit RADDS noch hier auf meinem Tisch liegen habe und kein Thermistor angeschlossen ist.

Der nächste Schritt wäre deshalb wohl, den Arduino in den richtigen Drucker einzubauen. Allerdings komme ich mit der Konfig nicht weiter.
Eine Einstellung bzw einen Parameter konnte ich noch nicht finden: In Repetier gibt ein ein "STEPPER_HIGH_DELAY "und ein "DIRECTION_DELAY". Diese beiden Parameter definieren ja die minimale Pulslänge und Pause vor einem Richtungswechsel und sind abhängig vom verwendeten Schrittmotortreiber.
In der Dokumentation von Klipper gibt es diese Parameter nicht, zumindest habe ich sie nicht gefunden.
Kann man diese Parameter garnicht einstellen? Selber erkennen kann die Firmware diese ja nicht.
Re: Status Repetier Firmware v2?
03. June 2021 09:31
Doch, du kannst die Pulslänge verändern. Logge dich per SSH auf den RaspberryPI ein (Username pi, Passwort Standardmäßig raspberry). Dann tippst du

cd ~/klipper
make menuconfig

Damit konfigurierst du Klipper. Hier kannst du z.B. den verwendet Prozessor auswählen usw. Dort findest du auch einen Punkt "Specify a custom step pulse duration" und dort kannst du das konfigurieren.

Zum fehlenden Thermistor: Schließe einfach einen Hotend (und evtl noch einen Heizbett) Thermistor an. Wie die meisten Firmwares meckert Klipper rum, wenn für den Thermistor Werte außerhalb des gültigen Bereichs gemessen werden (was immer so ist, wenn keiner angeschlossen ist).


--
Microsoft MVP in den Kategorien DirectX/XNA * Visual C++ * Visual Studio and Development Technologies seit 2011

  • Mein Erster (RAMPS 1.4, Selbstbau WolfStrap-Derivat mit Linearführungen, Wade Extruder und E3D lite6 Hotend)
  • Cub44 (Selbstbau Dual Wire Gantry Derivat mit Zahnriemen und Linearschienen, RADDS 1.5 und DUE, Custom Hotend - E3D like, Compact Bowden Extruder)
  • HexMax (sechseckiger Delta (eigenes Design) mit Druckraum 300mm Durchmesser und >=400mm Höhe, RADDS 1.5, 24V, Custom Hotend, Compact Bowden Extruder)
  • P3Steel Toolson MK2 - Keine Zeit zum selbst planen ;-)

Andere Projekte: FSR Board (ABL-Sensor-Platine inkl. Firmware) * ThirtyTwo (32Bit RepRap-Firmware)
Re: Status Repetier Firmware v2?
03. June 2021 09:31
Quote
Legion 2.3
Der nächste Schritt wäre deshalb wohl, den Arduino in den richtigen Drucker einzubauen. Allerdings komme ich mit der Konfig nicht weiter.
Eine Einstellung bzw einen Parameter konnte ich noch nicht finden: In Repetier gibt ein ein "STEPPER_HIGH_DELAY "und ein "DIRECTION_DELAY". Diese beiden Parameter definieren ja die minimale Pulslänge und Pause vor einem Richtungswechsel und sind abhängig vom verwendeten Schrittmotortreiber.
In der Dokumentation von Klipper gibt es diese Parameter nicht, zumindest habe ich sie nicht gefunden.
Kann man diese Parameter garnicht einstellen? Selber erkennen kann die Firmware diese ja nicht.

Ich habe jetzt doch die Lösung dafür gefunden in einem Github-Forum: Offensichtlich muss man das Stepper-Timing vor dem Flashen einstellen.
Re: Status Repetier Firmware v2?
04. June 2021 15:49
Ich habe die Ursache für den Fehler "Klippy-State: Startup" oder "Klippy-State: Error" gefunden: In der Firmware-Konfiguration hatte ich als Com-Interface "USB" eingetragen (was ja erst mal absolut logisch klingt).
Einfach mal versuchsweise habe ich dann die Einstellung auf "Serial" geändert und siehe da, der Fehler ist weg und die Kommunikation über MainsailOS steht.




Dann musste ich noch rausfinden, dass der Thermistor vom Heizbett nicht an PA24 (Standard-Wert in der Konfiguration für das RADDS), sondern an PA6 hängt, und schon werden mir auch die Temperaturen korrekt angezeigt.
Inzwischen ist der geflashte Arduino auch im Drucker eingebaut.

So, bis jetzt hatte ich die ganze Konfiguration von meinem Desktop-PC aus erledigt. Die tatsächliche Steuerung sollte aber von dem am Drucker verbauten Windows-Tablet-PC aus erfolgen. Dieser hat keinen LAN-Port, also habe ich mir einen USB-LAN-Konverter besorgt. Der Konverter an sich funktioniert auch grundsätzlich, einmal mit dem Router verbunden habe ich damit Internetzugriff, so wie es sein soll.
Allerdings schaffe ich es nicht, mit dem Tablet-PC über LAN das Raspberrry anzusprechen. Wenn ich es direkt per LAN-Kabel ohne Router dazwischen mit dem Tablet verbinde, bekomme ich weder über den Browser noch über PuTTY eine Verbindung hergestellt. Mit meinem Desktop-PC hatte das funktioniert.
Wenn ich das Raspberry per LAN mit dem Router verbinde und das Tablet per WLAN mit dem Router verbinde, bekomme ich zwar per PuTTY eine Verbindung zum Raspberry aufgebaut, aber wenn ich "mainsailos.local" aufrufen möchte, zeigt mir der Browser den Fehler "403 - FORBIDDEN" an.

Es ist doch echt zum verrückt werden. Kaum ist ein Problem gelöst, steht das nächste in der Tür.
Hat jemand eine Idee?
Re: Status Repetier Firmware v2?
13. June 2021 16:04
Inzwischen bin ich etwas weiter gekommen, aber noch nicht am Ziel:
Ich habe sowohl MainsailOS als auch Octoprint getestet und beides funktioniert, solange der Raspberry am Router angeschlossen ist.

Sobald ich den Raspberry direkt am Tablet anschließe, funktioniert die Verbindung auch erst mal, aber spätestens nach ein paar Minuten bricht die Verbindung reproduzierbar wieder ab. Selbst über SSH kann das Raspberry dann nicht mehr erreicht werden.
Erst wenn ich über Windows eine Diagnose an der Netzwerkverbindung durchführen lasse, in dessen Zuge auch der Netzwerkadapter zurückgesetzt wird, steht die Verbindung wieder ... für ein paar Minuten.

Das Tablet ist von Terra, entspricht in etwa diesem Modell.
Vor kurzem habe ich auf dem Tablet Windows 10 komplett neu aufgesetzt über die Backup-Funktion und ich habe auch schon den Intel-Netzwerktreiber von Terra installiert.
Ich weiß nicht, wo ich noch nach dem Fehler suchen soll.

Ich könnte natürlich theoretisch das Raspberry mit dem Router verbunden lassen und das Tablet per WLAN verbinden, aber ich habe kein gutes Gefühl bei der Sache. Falls sich jemand von Außen ein mein Hausnetz einklinkt, könnte der dann einfach meinen Drucker zu klump fahren oder die Düse durchglühen lassen. Deswegen möchte ich am liebsten alles offline laufen lassen, so wie es aktuell mit Repetier auch schon läuft.
Hat jemand eine Idee, wie ich das Problem lösen kann?
VDX
Re: Status Repetier Firmware v2?
13. June 2021 16:47
... hmmm ... einige Stromspar-Einstgellungen schalten nach einer vorgegebenen Zeit den Bildschirm oder I/O-Ports ab -- bei Mausbewegungen oder Tastenklicks wird das jeweils neu zurückgesetzt - evtl. da mal nachschauen confused smiley


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Status Repetier Firmware v2?
14. June 2021 02:51
Neben den Stromspareinstellungen solltest du dir die Netzwerkkonfiguration noch mal genau anschauen. ich würde dem Tablet und dem Pi jeweils eine eigene, feste IP-Adresse aus dem gleichen Subnetz geben, dann sollte das "Wiederverbinden" reibungsloser klappen.

Falls du doch doch über den Router gehen musst:
Nun, dein WLAN sollte schon durch ein starkes Passwort abgesichert sein, dein Nutzerkonto auf dem Pi ebenfalls. Wenn du den Drucker bei Nichtbenutzung dann noch vom Stromnetz trennst sinkt die Möglichkeit für einen Angriff noch weiter. Wenn im Router keine Ports "nach draußen" offen sind wird es dann für einen potentiellen Angreifer schon recht schwer.

Weitere Möglichkeit: Den Pi und das Tablet per Netzwerkkabel an einen eigenen Hub (Router ohne Internetverbindung) und mit abgestelltem WLAN hängen. Dann braucht es den physischen Zugriff.
Re: Status Repetier Firmware v2?
26. June 2021 14:51
Ich weiß nicht genau, wieso, aber jetzt steht die Verbindung zu MainsailOS auf einmal.
Dabei habe ich eigentlich nichts geändert, ich habe nur ein paar mal die USB-Adapter hin und her gesteckt.
Vielleicht hatte ich irgendwo im USB-Kabelstrang einen Wackelkontakt. Der ganze Aufbau für Klipper ist etwas improvisiert und ich habe deshalb 3 USB-Hubs und Verlängerungen zwischen dem Tablet ist dem Ethernet-Adapter.

Vielleicht hat auch das letzte Windows-Update irgendetwas geändert... wer weiß.

Ein paar Sachen musste ich dann noch anpassen: Ein paar Pins waren falsch konfiguriert und die Richtung der Motoren hatte nich gepasst. Alles halb so wild.
Dann kamen die ersten Bewegungen. Homing in allen Achsen funktionierte tadellos und auch die manuelle Bewegung in X und Y ging ohne Probleme.
Als ich dann aber die Z-Achse bewegen wollte, hing sich Klipper nach wenigen Millimetern immer auf: Fehlermeldung "MCU shutdown: Stepper too far in past".
Offensichtlich schafft Klipper es nicht, für meine Z-Achse ausreichend viele Steps zu generieren, um mit 10 mm/s zu verfahren. Als ich die Geschwindigkeit auf 9mm/s reduziert hatte, gab es keine Fehlermeldung mehr.
Ich habe dann ein bisschen recherchiert und scheinbar liegt es an dem Step delay, was ich auf 3 ys eingestellt habe. Damit können wohl rechnerisch nicht mehr ausreichend Steps generiert werden. Für Repetier ist das kein Problem, Klipper ist in der Hinsicht wohl zickiger.

Insgesamt konnte ich auch noch feststellen, dass MainsailOS deutlich träger auf manuelle Befehle reagiert als Repetier Server.

Auf jeden Fall konnte ich jetzt endlich meinen ersten Testdruck mit einem Benchy machen.





Ich hatte das Input-Shaping noch nicht aktiviert und deshalb bin ich auch nicht überrascht, dass sich an den Kantenschwingungen nicht viel geändert hat. Vielleicht ist es an der einen oder anderen Stelle etwas besser geworden, aber die Unterschiede sucht man mit einer Lupe.
Dafür gibt es recht viel Stringing, was an der Firmware liegen kann oder auch vielleicht an zu viel Feuchtigkeit im Filament.

Dem geschulten Betrachter mag vielleicht aufgefallen sein, dass dem Benchy ein bisschen was oben rum fehlt.
Das lag aber nicht an einem Abbruch des Drucks, sondern an einem krassen Schrittverlust in Z-Richtung, der zu einem Versatz von fast 1 mm geführt hat.
Ich weiß noch nicht so ganz, woran das liegen kann. Die Beschleunigung der Z-Achse ist mit gerade mal 100 mm/s² sehr verhalten eingestellt. Den Wert hatte ich von Repetier genau so wie alle anderen Beschleunigungswerte 1:1 übernommen.
Was mir in der Konfig fehlt, ist ein Wert für den Z-Jerk, den es in Repetier gibt. Dazu habe ich in der Doku von Klipper nichts gefunden. Es gibt einen Wert für die "square corner Velocity", was wie ich es verstehe quasi dem Jerk in Repetier entspricht. Den habe ich auf 5mm/s eingestellt .
Wenn diese Geschwindigkeit nicht nur für X und Y, sondern auch für Z gilt, würde das natürlich erklären, dass die Achse springt.
Es kann natürlich auch noch eine andere Ursache, z.B. fehlerhafte Kommunikation zwischen dem Raspberry und dem Arduino liegen. Ich weiß jetzt nicht, wie robust und fehlersicher das Protokoll von Klipper hier ist.

Hatte jemand schon mal das Problem gehabt?

1-mal bearbeitet. Zuletzt am 26.06.21 14:52.
Re: Status Repetier Firmware v2?
13. July 2021 14:29
Ich bin bei den Tests mit Klipper ein wenig weiter gekommen:

Wie sich raus gestellt hat, hatte ich ein ganz erhebliches Kontaktproblem in der Elektronik!
Wie bin ich drauf gekommen?

Im weiteren Verlauf der Tests mit der neuen Firmware stand ich auf einmal vor dem Problem, dass sich die Z-Achse nur noch in eine Richtung bewegen wollte: nach unten!
Da lag die Vermutung erst mal nahe, dass es an Klipper lag. Also habe ich fix wieder Repetier aufgespielt, und es alles lief wieder wie gehabt... für kurze Zeit, bis auch hier die Z-Achse sporadisch die Richtung willkürlich wechseln wollte.
Die erste Vermutung war, dass der Treiber einen weg hat oder nicht richtig sitzt. Also habe ich etwas daran gewackelt und tatsächlich festgestellt, dass sich an der Z-Achse dadurch etwas tat. Sah also alles nach einem Kontaktproblem vom Treiber aus, speziell vom DIR-Pin. Also habe ich den Treiber ausgebaut, die Pins vorsichtig mit Isopropanol gereinigt und wieder eingebaut.
Mit dem Gedanken, den Fehler gefunden zu haben, gings zurück zu Klipper... bis die nächsten Fehler anklopften:

Erst mal wollte das Heizbett nicht mehr heizen. Der erste Verdacht fiel auf eine fehlerhafte Konfiguration, also habe ich für die Heizung alle Pins durchgetestet: Jeder Leistungsausgang außer der vom Heizbett ließ sich ansprechen... bis ich mal ein bisschen auf die Platine gedrückt habe und die LED vom Heizbett zu flackern begann. Dazu zeigte mir der Temperatursensor vom Heizbett auch ganz wilde Werte an, die ich mit Druck auf die Platine beeinflussen konnte ... also wieder ein Kontaktproblem. eye rolling smiley
Um dem bei zu kommen, habe ich dass RADDS vom Arduino gelöst und vorsichtig mit einem Isopropanol-getränkten Wattestäbchen sämtliche Kontaktpins sorgfältig gereinigt.
Danach alles wieder zusammen gebaut und siehe da: Alle Signale, wie sie sein sollten.
Scheinbar war ich beim Einbau unvorsichtig und habe mit meinen Fettfingern die Kontaktpins schön isoliert confused smiley

Dann konnte es ja endlich mal mit der Kalibrierung des Input-Shaping-Moduls losgehen. Den Sensor hatte ich schon eine Weile hier liegen und passend verdrahtet. Die Kalibrierung selber war relativ simpel. Als Frequenzen kamen bei der X-Achse 48 Hz und auf der Y-Achse 38,8Hz mit Shaper-Type "MZV" heraus.

Dann folgten die Testdrucke mit Vergleich zur Repetier-Firmware. Es ist nicht absolut perfekt, aber eine deutliche Verbesserung

Links: Repetier, Rechts Klipper mit Input Shaping







Die Teile sind mit PETG gedruckt, was natürlich durch den hohen Reflexionsgrad alle Vibrationen gnadenlos zeigt.
Auf der vorderen linken Seite am Ring sieht es deutlich besser aus, während sich rechts weniger getan hat. Die Schwingungen auf der Rückseite sind noch sichtbar, aber deutlich weniger stark ausgeprägt.

Sieht also erst mal alles ganz gut aus, das kann meine neue Firmware werden... DACHTE ICH moody smiley
Denn dann kam das:



Das gedruckte Türmchen oben SOLLTE eigentlich gerade sein. Das Teil habe ich in einem Durchgang 50x gedruckt, was insgesamt ca. 10h gedauert hat. Ich habe das selbe Teil danach nochmal mit Repetier gedruckt, ohne dass es sich schief weglehnt.
Nach dem Druck habe ich allerdings noch festgestellt, dass sich die Halteklammer vom Hotend (die aus PETG gedruckt war) etwas verzogen hat und die Schrauben nicht mehr ganz fest waren. Das Gegenstück der Klammer besteht aus ABS und war noch fest. Das Türmchen wurde im geschlossenem Bauraum mit ABS gedruckt, für das PETG war es wohl etwas zu heiß.
Nun kann ich nicht mit absoluter Sicherheit sagen, ob das schiefe Türmchen von Pisa eine Folge der verzogenen Klammer oder eines Fehlers in Klipper war.

Ich hätte die Angelegenheit noch weiter untersucht, wenn nicht noch weitere Probleme aufgetaucht wären.
Immer wieder nach einigen Stunden (bisher nur nach einem Druck, nicht während eines Drucks) hat sich Klippy aufgehangen. Der Drucker ließ sich nicht mehr ansprechen, die Firmware, Klippy und was sonst noch alles mitläuft ließ sich softwareseitig nicht neu starten. Der einzige Weg ist ein harter Reset: Schalter aus - Schalter ein - geht wieder... für einige Zeit.





Als wäre das noch nicht genug, steigt der USB - LAN-Adapter immer wieder aus und lässt sich nur durch einen Neustart von Windows wieder zum Dienst überreden.
Allgemein sind, selbst wenn alles funktioniert, die Reaktionszeiten von MainsailOS im Browser katastrophal: Häufig muss ich mehrere Sekunden nach einen Tastedruck warten, bis der entsprechende Befehl umgesetzt wird.
Bei Repetier Server dagegen läuft alles ohne Verzögerung.

Alles in Allem, auch wenn die Druckergebnisse sicher für sich sprechen, will ich doch hier das Thema Klipper erst mal für mich abhaken.
In der Summe sind es zu viele Fehler, zu viele Unwägbarkeiten, die dem dauerhaften, störungsfreien Betrieb entgegenstehen.

Vielleicht findet irgendwann das Input-Shaper-Feature noch seinen Weg in Marlin oder Repetier, was dann ohne Raspberry funktioniert.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen