Gcodes: Unterschied zwischen den Versionen
Zeile 83: | Zeile 83: | ||
===M3911 - DigitFlow Compensation konfigurieren und aktivieren=== | ===M3911 - DigitFlow Compensation konfigurieren und aktivieren=== | ||
'''Parameter''' | '''Parameter''' | ||
S | [S] Untere Digit-Grenze für den Beginn der Feedrate und Extrusionskorrektur | ||
P | [P] Obere Digit-Grenze für volle Korrektur | ||
F <0..-95> maximale Geschwindigkeitskorrektur in Prozent | [F] <0..-95> maximale Geschwindigkeitskorrektur in Prozent | ||
E <0..-95> maximale Extrusionsmengenkorrektur in Prozent | [E] <0..-95> maximale Extrusionsmengenkorrektur in Prozent | ||
Beispiel: M3911 S5000 P7000 F-50 E-5 | Beispiel: M3911 S5000 P7000 F-50 E-5 | ||
'''Bemerkung''' | '''Bemerkung''' | ||
:Siehe auch im Druckermenü: Menü->Configuration->DMS-Features->... | :Siehe auch im Druckermenü: Menü->Configuration->DMS-Features->... | ||
:[http://www.rf1000.de/wiki/index.php/DigitFlowCompensation DigitFlowCompensation] | |||
---- | ---- | ||
Version vom 12. Mai 2018, 12:15 Uhr
Die offizielle Liste der GCodes bzw. MCodes findet man hier: G-Code Verzeichnis
Einleitung
Die CommunityMod Firmware versteht mehr MCodes, als die offizielle Firmware, um weitere Sonderfunktionen zu unterstützen. Einige wenige Spezial-GCodes der offiziellen Firmware wurden aus der CommunityMod Firmware entfernt, da sie veraltet oder unnötig waren.
Im folgenden findet ihr eine Auflistung der speziellen Gcodes des CommunityMod. Ganz unten findet ihr die GCodes, die im Mod entfernt wurden.
Alle Angaben ohne Gewähr!!
M-Codes
M355 - X19 / Caselight Mosfet steuern
Parameter
- S<0..1>
- S = 0 Port X19 aus
- S = 1 Port X19 an
Bemerkung
- Der Port kann auch im Druckermenü umgestellt werden. Diesen Port X19 gibt es beim RF1000 und RF2000.
M3900 - Z-Offset-Scan konfigurieren und aktivieren
Parameter
- X: X-Scanposition im Matrixgitter. Normalerweise X~{1 .. 12}
- Y: Y-Scanposition im Matrixgitter. Normalerweise Y~{1 .. 12}
Spezial Parameter
- X0: X-Scanposition zufällig wählen, für sensible DDPs
- Y0: Y-Scanposition zufällig wählen, für sensible DDPs
- R1: Spezial-Scan. Dieser Scan scannt mehrfach und richtet eine Matrix so aus wie das Bett aktuell steht. Anwendungsfall: Bett hat aus irgendeinem Fall leicht seine Neigung verändert.
Experten Parameter Die folgenden Parameter waren einmal für Tests und die Entwicklung wichtig und werden von Parameter R1 intern benutzt:
- S <0..100>: Lerneffekt: Das Ergebnis des Scans geht nur mit 0..100 Prozent in die aktive Matrix ein. Ist praktisch für iterative Mittelung an mehreren Scanstellen.
- P <0..100>: Lerneffekt Einfluss: Kleine Werte für P legen fest, dass das Ergebnis des Scans nur in kleinerer Nähe zur Scanposition einen Einfluss auf die Matrix-Anpassung hat.
Man sollte beim Einsatz von S und P genau wissen was man tut, und warum man diese Parameter braucht. Im Alltag nicht notwendig.
Bemerkung
- Hauptfeature der CommunityModFirmware
- Dieser Gcode lässt die Düse des Hotends auf dem Heizbett aufsetzen. Damit wird wird der Soll-Ist-Abstand zwischen Hotend und Heizbett korrigiert, welcher je nach Temperatur leicht unterschiedlich sein kann.
- Video: Youtube
M3901 - Z-Offset-Scan konfigurieren
Parameter
- Siehe M3900
Bemerkung Siehe M3900. Bei diesem GCode werden die Scan-Parameter voreingestellt, der Scan wird aber nicht ausgeführt.
M3902 - manuelles Matrix bearbeiten und speichern
Parameter
- R: Finde den größten Ausreißwert in der Z-Matrix und ersetze ihn durch einen Mittelwert seiner Umgebung.
- E: Setze alle Werte der Matrix auf 0. Man erhält eine gültige Matrix, welche ein absolut Planes Heizbett abbildet.
- Z0: Lese das aktuelle Z-Offset, verrechne es in die Matrix und setze das Z-Offset auf 0. Es ändert sich im Ergebnis an der Kompensation nichts, nur das eingestellte Z-Offset wird abgenullt und in die Matrix übernommen.
- Z<-0,2 .. +0,2 ohne 0>: Verschiebe die Z-Matrix in ihrer Höhe. Minus bedeutet, dass die Düse näher ans Bett rückt.
- S<0..9>: Speichere die aktive Z-Matrix auf Speicherposition 0 bis 9 (ins externe EEPROM) ab.
- Beispiel 1: M3902 Z0 S1 - Übernehme das aktuelle Z-Offset in die aktive Z-Matrix und speichere diese Matrix auf Speicherposition 1.
- Beispiel 2: M3900 dann M3902 S1 - Korrigiere per Z-Offset-Scan die aktive Matrix und speichere diese Matrix auf Speicherposition 1
- Beispiel 3: M3902 E1 dann M3900 R1 dann M3902 S8 - Nulle die aktuelle Z-Matrix, führe den Speziellen Z-Offset-Scan aus, der die plane Matrix in ihrer Ausrichtung grob dem Bett anpasst und speichere das Ergebnis auf Speicherposition 8.
Bemerkung
- Vorsicht, den M3902 nur benutzen, wenn man weiß, was man tut.
M3909 - SenseOffset konfigurieren und aktivieren
Parameter
- P<1...14999> [digits]
- S<1...300> Standard: 180 [um]
Bemerkung
- Hauptfeature der CommunityModFirmware
Der Parameter P legt die Digit-Grenze bzw. Innendruck-Grenze fest, ab der der Drucker in der ersten Lage "nachgibt" und das Bett leicht herunterfährt, wenn der Druck im Hotend zu hoch wird. Der Parameter S legt fest, wie viel Offset die Logik maximal aufbauen darf. Die Grenze für Parameter P wird normalerweise so gewählt, dass sie höher ist als der Normaldruck/die Normaldigits des jeweiligen Hotends in Kombination mit dem Material und der verwendeten Druckgeschwindigkeit in der ersten Lage. Eine aktuell passende Z-Matrix wird vorausgesetzt. Die Differenz zwischen dieser Digit-Grenze P und dem Normaldruck stellt im übertragenen Sinn das sogenannte "Anpressniveau der ersten Lage ans Heizbett" ein.
M3911 - DigitFlow Compensation konfigurieren und aktivieren
Parameter [S] Untere Digit-Grenze für den Beginn der Feedrate und Extrusionskorrektur [P] Obere Digit-Grenze für volle Korrektur [F] <0..-95> maximale Geschwindigkeitskorrektur in Prozent [E] <0..-95> maximale Extrusionsmengenkorrektur in Prozent
Beispiel: M3911 S5000 P7000 F-50 E-5 Bemerkung
- Siehe auch im Druckermenü: Menü->Configuration->DMS-Features->...
- DigitFlowCompensation
M3912 - Automatische Startmade
Parameter
- I <1..5> Anzahl der Maden
Spezial Parameter
- S [digits] untere Slowdown Grenze in Digits, Standard 1500
- P [digits] obere Slowdown Grenze in Digits, Standard 4500
- F <5..50> ungebremste Standardfeedrate, Standard 15
- E <10..30> Extrusionsrate, Standard 20
Beispiel: M3912 legt die Standardmade. Beispiel2: M3912 S500 P1000 F8 legt eine besonders Hotend-innendrucklose Startmade für z.B. Flexmaterialien Beispiel3: M3902 I3 legt die Standardmade in Form von bis zu 3 Linien ab, außer der Benutzer drückt vorher Play. Bemerkung Der GCode produziert eine sensible Startmade, die auf eine obere Digit-Begrenzung hört. Werden die Digits zu hoch, wird das Ablegen der Startmade langsamer. Drückt man während der Startmade Play wird die Startmade abgebrochen und mit dem Druck begonnen.
- Video: Youtube
M3913 - sensibles Load-Filament
Parameter [P] = Kraftlimit [F] = Feedrate
- Beispiel: M3913 P3500 F3
- Alternativ: Menü->Extruder->Load-Filament
Bemerkung Die Düse wird mit Material gefüllt bis ein Digits-Wert überschritten wurde, dann gestoppt. Abbrechen ist jederzeit mit dem Play-Button am Drucker möglich.
- Video: Youtube
M3914 - sensibles Unload Filament bzw. Filament entladen
Parameter
- P: <2000 .. 15000> [digits] Der Parameter legt fest, wie fest der Extruder maximal ziehen darf.
Beispiel: M3914 P4500 - Unload Filament zieht mit etwa 4500 digits am Filament
Bemerkung Das Filament wird dann unter Einhaltung der oberen Filament-Grenze herausgezogen. Es wird auf ca. 90°C geheizt und am Filament gezogen, bis ein Digit-Wert erreicht wurde. Anschließend wird in 5°C-Schritten die Temperatur erhöht, bis sich das Filament löst. Abbrechen ist jederzeit mit dem Play-Button am Drucker möglich. Diese Kraft-Zug-Grenze P sollte vom Extrudermotor ohne Überspringen oder Fräsen erzeugbar sein. Sie sollte bestenfalls unter 12000 digits liegen, sodass die DMS-Sensoren geschont werden und trotzdem maximal hoch sein. Diese Grenze muss für manche Filamente kleiner gewählt werden, wie z.B. für weichere Filamente. Für weiches Flex ist dieser Befehl nicht unbedingt sinnvoll.
M-Codes für Spezialanwendungen
M3919 - Einstellung des Tipdown Z-Offsets
Parameter
- TODO
Bemerkung Spezielles Z-Offset für das rechte Hotend. Nur für spezielle Extruderköpfe wie DGLASS oder Nibbels/Wessix Dual-Prototypen.
- Für Menüsupport: UI_SHOW_TIPDOWN_IN_ZCONFIGURATION=1 in der configuration.h einstellen
M3939 - ViscositySense
Parameter
- TODO
Bemerkung Testfunction to determine the digits over extrusion speed
- Benötigt FEATURE_VISCOSITY_TEST=1
M-Codes für Entwickler und Debug
M3941 - Optionalen Temperatursensor auslesen
Parameter
- TODO
Bemerkung Testfunction to determine the digits over extrusion speed
- Benötigt FEATURE_VISCOSITY_TEST=1 in der configuration.h
M3987 - Stepperdriver Statusregister auslesen und Daten ausgeben
Parameter
- TODO
Bemerkung reading motor driver and stall pins - Testfunction
- Benötigt FEATURE_READ_STEPPER_STATUS=1 in der configuration.h
M3989 - User Interrupt INT3
Parameter
- TODO
Bemerkung Dummy-Funktion/Vorlage für Entwickler, die mit einem weiteren Hardware-Knopf eine Aktion auslösen wollen.
- Benötigt FEATURE_USER_INT3=1 in der configuration.h
M3993 - Move_Cache Füllstände debuggen und auslesen
Parameter
- TODO
Bemerkung Einstellen der LOW_TICKS_PER_MOVE zur Laufzeit und auslesen der Füllstandsstatistik des Move_Cache.
- Benötigt FEATURE_DEBUG_MOVE_CACHE_TIMING=1 in der configuration.h
im Mod entfernte M-Codes
M3002
Grund
- Unnötig, wir nutzen M3007 in Millimeter. Sogar das ist unnötig, weil es im Mod eine Automatik für diese Kompensationsgrenzen gibt.
M3003
[2] Grund
- Unnötig, wir nutzen M3008 in Millimeter. Sogar das ist unnötig, weil es im Mod eine Automatik für diese Kompensationsgrenzen gibt.
M3071
Grund
- Unnötig, wegen Fräsen, integriert in M3070
M3100
Grund
- Unnötig, weil wir im Menü eine Einstellmöglichkeit geschaffen haben (Menu->Position->Z-Step: XXX um)
M3101
Grund
- Einstellung in Mikroschritten nicht mehr Zeitgemäß.
M3102
Grund
- Unnötig, -> M3105 Pause-Position in [mm]