Seite 2 von 3

Re: Endposition M3079

Verfasst: Do 12. Feb 2015, 16:38
von rf1k_mjh11
Ich habe inzwischen im GitHib Forum meinen als Issue aufgebrachten Punkt geschlossen.

Re: Endposition M3079

Verfasst: Do 12. Feb 2015, 16:43
von RF1000
Sorgt auf jeden Fall für ein "G90" Befehl im jeweiligen Start Code der verwendeten Slicer-Software um scheinbar skurriles Verhalten zu vermeiden (Kode möglichst nahe am Anfang unterbringen).
Das möchte ich unterstreichen - es empfiehlt sich grundsätzlich immer, am Start jeder G-Code Sequenz dafür zu sorgen, dass der RF1000 so eingestellt ist wie man das selbst (und der nachfolgende G-Code) erwartet. Ganz speziell (aber nicht nur) gilt das natürlich auch dann, wenn man verschiedene Sachen ausprobiert. Ganz sorgfältige bauen auch immer G21 am Start jeder G-Code Sequenz ein um sicherzugehen, dass alle übergebenen Werte auch bestimmt in [mm] (und nicht in [Zoll]) interpretiert werden.

Von daher würde man nicht unbedingt alle Probleme lösen, wenn man am Ende des OUTPUT_OBJECT_SCRIPT immer auf absolute Koordinaten "zurückstellen" würde - es kann genauso gut sein, dass der RF1000 vor der Ausführung dieser G-Codes auf relative Koordinaten eingestellt war (und wer auch immer das aus welchen Gründen auch immer so gemacht hat müsste dann wiederum sicherstellen, dass er den RF1000 wieder auf relative Koordinaten umstellt bevor er in irgend eine Richtung weiter fährt).

In dem Zusammenhang kann man auch das Homing betrachten ... im Grunde kann man alle Stepper ausschalten, den Extruder und/oder Tisch per Hand auf eine beliebige Position bewegen und dann mit beliebigen G-Codes loslegen. Dabei muss man sich bewusst sein, dass der RF1000 seine wahre Position in dem Fall nicht kennt (bis er einen echten Endschalter trifft) und dementsprechend die Software-Endstopps nicht korrekt abfragen kann. Was wiederum dazu führen kann, dass er weiter fährt als es mechanisch gut ist. D.h. nach jedem Ausschalten der Stepper sollte eine der ersten Aktionen immer sein, auf die Home-Position aller Achsen zu fahren damit der RF1000 weiß wo er ist. Ausnahmen bestätigen natürlich die Regel, wenn man genau weiß was man tut dann kann man auch ohne dem vorherigen Homing nützliche Dinge machen :)

Re: Endposition M3079

Verfasst: Do 12. Feb 2015, 22:05
von Byterunner
Hi RF1000
Es müsste doch theoretisch auch das Z_MAX_LENGTH angepasst werden, da bedingt durch den Umbau des Untertisches (um 4mm dicker) sich der Wert ändern müsste.
also
Z_MAX_LENGTH="Gesamtraum zwischen "Hotend to ground"" - (Keram. Platte + Abstandhalterdistanz + Untertisch + Liniarführung + Trägerplatte)

Wo auf Github läuft die Diskussion... bin neu hier und etwas verwirrt noch... wo was ist...
Brauche mit meinem Alter jetzt etwas länger :)

Byte

Re: Endposition M3079

Verfasst: Fr 13. Feb 2015, 06:59
von rf1k_mjh11
Byte,

Ich kam über den Link ins GitHub:
https://github.com/RF1000/Repetier-Firmware/tree/development

Man kann schmökern/lesen ohne sich anzumelden/einzuloggen. Einloggen muss man aber, um einen Fehler aufzuzeigen, oder weitere Funktionalität zu erbitten. Solche Punkte sieht man unter dem "Issues"-Link auf der rechten Bildschirmseite.

Übrigens funktioniert (scheinbar) ein Login für den ganzen Github Bereich. Ich habe nämlich denselben Login verwendet, wie für den Slic3r Bereich (hier der Link: https://github.com/alexrj/Slic3r). Da findet man unter "Issues" auch meinen aufgebrachten Punkt bzgl. der übermässigen Infill/Perimeter-Überlappung in der neuesten (Development-)Version vom Slic3r.

mjh11

Re: Endposition M3079

Verfasst: Fr 13. Feb 2015, 11:07
von RF1000
Hallo Byterunner,


der Standard-RF1000 im Druckerausbau sollte mindestens 205 mm von Z-Min nach unten fahren können, ohne dass er irgendwo ansteht. Danach ist dann die Schleppkette im Weg. In dem Fall sollten die 4 mm Unterschied daher nichts ausmachen.

Der genaue, zur Verfügung stehende Platz/Weg in Z-Richtung hängt aber ein wenig vom Aufbau ab, also z.B. auf welcher Höhe der Z-Min Endschalter gedrückt wird und wie genau der Z-Max Endschalter unten positioniert ist. D.h. falls man seinen RF1000 so zusammengebaut hat dass man mit den 200 mm unten schon irgendwo mechanisch ansteht dann sollte man natürlich den Wert von Z_MAX_LENGTH verkleinern. Im Druckbetrieb ist es vermutlich am einfachsten wenn man Z_MAX_LENGTH dann so wählt, dass der RF1000 von sich aus gar nie in den Z-Max Endschalter reinfährt.


mfG
RF1000

Re: Endposition M3079

Verfasst: Di 1. Nov 2022, 13:39
von Diebesbeute
Ich weiss das dieses ein alten theme ist und wahrscheinlich sind alle auf neuere drucker umgestiegen, aber meine 2013er RF1000 nutze ich immer wieder noch und ich hab gefuhlt seit kurzen ein problem entdeckt, aber womoglich war es länger da.

Ich hab die letzte zeit die geschwindigkeit angepasst ein bisschen schneller zu drucken, und gefuhlt seit dann am ende fährt es Y ganz nach vorn und dann gegen die anschlag so das es ein geräusch macht als die riemen über die zähne springt. Mein fazit war das es muss mit M3079 sein, aber mit das auskommentiert tut es die gleiche, nur diesmal ohne das es Z nach unten fährt. Jetzt denke ich vielleicht war es immer da, aber mit die niedrigeren geschwindigkeit hat die motor nur gestoppt und nicht gesprungen. IDK.

Natürlich sind ein paar experimente noch, aber ich hab gedacht ich frag kurz hier.

Hier das ende von meine Gcode (ohne das ganze auskommentierte teil von Slic3r).

Code: Alles auswählen

G1 X117.553 Y118.801 E7.88333
G1 X116.853 Y119.497 E7.90801
G1 X116.869 Y119.482 E7.90855
G1 E5.90855 F2100.00000
G92 E0
M107
; Filament-specific end gcode 
;END gcode for filament

M104 S0
M140 S0
G91
; retract filament
G1 E-5 F300
; Output Object
M400
;M3079
M400
;Steppers off
M84                                            
;Acceleration to default...
;Acc printing
M201 X1000 Y1000 Z1000
;Acc travel
M202 X1000 Y1000 Z1000
; filament used = 167.4mm (1.2cm3)
; total filament cost = 0.0

; avoid_crossing_perimeters = 0
; bed_shape = 0x0,245x0,245x245,0x245
; bed_temperature = 55
; before_layer_gcode = 
; between_objects_gcode = 
; bridge_acceleration = 0
; bridge_fan_speed = 100
; brim_connections_width = 0
; brim_width = 5
; complete_objects = 0
; cooling = 1
; default_acceleration = 0
; disable_fan_first_layers = 3
; duplicate_distance = 6
; end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
; end_gcode = M104 S0\nM140 S0\nG91\n; retract filament\nG1 E-5 F300\n; Output Object\nM400\n;M3079\nM400\n;Steppers off\nM84                                            \n;Acceleration to default...\n;Acc printing\nM201 X1000 Y1000 Z1000\n;Acc travel\nM202 X1000 Y1000 Z1000
; extruder_clearance_height = 20
; extruder_clearance_radius = 20
; extruder_offset = 0x0
; extrusion_axis = E
; extrusion_multiplier = 1
; fan_always_on = 1
; fan_below_layer_time = 60
; filament_colour = #FFFF00
; filament_cost = 0
; filament_density = 0
; filament_diameter = 3,7
; filament_max_volumetric_speed = 0
; filament_notes = ""
; first_layer_acceleration = 0
; first_layer_bed_temperature = 60
; first_layer_extrusion_width = 200%
; first_layer_speed = 70%
; first_layer_temperature = 200
; gcode_arcs = 0
; gcode_comments = 0
; gcode_flavor = reprap
; has_heatbed = 1
; infill_acceleration = 0
; infill_first = 0
; interior_brim_width = 0
; layer_gcode = 
; max_fan_speed = 100
; max_layer_height = 0.3
; max_print_speed = 80
; max_volumetric_speed = 0
; min_fan_speed = 20
; min_layer_height = 0.15
; min_print_speed = 10
; min_skirt_length = 15
; notes = 
; nozzle_diameter = 0.4
; only_retract_when_crossing_perimeters = 1
; ooze_prevention = 0
; output_filename_format = [input_filename_base].gcode
; perimeter_acceleration = 0
; post_process = 
; pressure_advance = 0
; printer_notes = 
; resolution = 0
; retract_before_travel = 1
; retract_layer_change = 1
; retract_length = 2
; retract_length_toolchange = 10
; retract_lift = 0
; retract_lift_above = 0
; retract_lift_below = 0
; retract_restart_extra = 0
; retract_restart_extra_toolchange = 0
; retract_speed = 35
; skirt_distance = 6
; skirt_height = 1
; skirts = 0
; slowdown_below_layer_time = 8
; spiral_vase = 0
; standby_temperature_delta = -5
; start_filament_gcode = "; Filament gcode\n"
; start_gcode = ;--------------------------------------\n; RF1000\n;--------------------------------------\nG28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\nM109 S[first_layer_temperature] ; wait for extruder temp to be reached\nM3001 ; Aktivate Z-Compensation \n; Move Z-axis n-steps up (see manual)\nM3004 S0 ; + n-steps bed down // - n-steps bed up!\nG90 ; use absolute coordinates\nM82 ; use absolute distances for extrusion\nG92 E0 ; start line\nG1 F300 E-0.5\nG1 X230 Y25 Z0.35 F5000\nG1 F800 E8\nG1 X20 E25 F1000\n; Acceleration up to...\n; Acc printing\nM201 X3000 Y3000 Z1000\n; Acc travel\nM202 X3000 Y3000 Z1000\n;--------------------------------------
; temperature = 200
; threads = 24
; toolchange_gcode = 
; travel_speed = 100
; use_firmware_retraction = 0
; use_relative_e_distances = 0
; use_set_and_wait_bed = 0
; use_set_and_wait_extruder = 0
; use_volumetric_e = 0
; vibration_limit = 0
; wipe = 0
; z_offset = 0
; z_steps_per_mm = 0
; adaptive_slicing = 0
; adaptive_slicing_quality = 75%
; dont_support_bridges = 1
; extrusion_width = 0
; first_layer_height = 0.35
; infill_only_where_needed = 0
; interface_shells = 0
; layer_height = 0.3
; match_horizontal_surfaces = 0
; raft_layers = 0
; regions_overlap = 0
; seam_position = aligned
; sequential_print_priority = 0
; support_material = 1
; support_material_angle = 20
; support_material_buildplate_only = 0
; support_material_contact_distance = 0.2
; support_material_enforce_layers = 0
; support_material_extruder = 1
; support_material_extrusion_width = 0
; support_material_interface_extruder = 1
; support_material_interface_extrusion_width = 0
; support_material_interface_layers = 0
; support_material_interface_spacing = 0.2
; support_material_interface_speed = 100%
; support_material_max_layers = 0
; support_material_pattern = rectilinear
; support_material_spacing = 4
; support_material_speed = 50
; support_material_threshold = 50
; xy_size_compensation = 0
; bottom_infill_pattern = rectilinear
; bottom_solid_layers = 3
; bridge_flow_ratio = 1
; bridge_speed = 50
; external_perimeter_extrusion_width = 0
; external_perimeter_speed = 100%
; external_perimeters_first = 0
; extra_perimeters = 1
; fill_angle = 45
; fill_density = 40%
; fill_gaps = 1
; fill_pattern = rectilinear
; gap_fill_speed = 35
; infill_every_layers = 1
; infill_extruder = 1
; infill_extrusion_width = 0
; infill_overlap = 55%
; infill_speed = 50
; overhangs = 1
; perimeter_extruder = 1
; perimeter_extrusion_width = 0
; perimeter_speed = 50
; perimeters = 2
; small_perimeter_speed = 45
; solid_infill_below_area = 10
; solid_infill_every_layers = 0
; solid_infill_extruder = 1
; solid_infill_extrusion_width = 0
; solid_infill_speed = 50
; thin_walls = 1
; top_infill_extrusion_width = 215%
; top_infill_pattern = rectilinear
; top_solid_infill_speed = 50
; top_solid_layers = 3

Re: Endposition M3079

Verfasst: Di 1. Nov 2022, 15:47
von AtlonXP
Hallo Diebesbeute,
wenn deine Fahrachse in Y vorne gegen Anschlag fährt und der Motor rattert,
dann solltest du an deinem RF1000 hinten am Homing Punkt,
die Schraube wo den Endschalter drückt etwas eindrehen.
Den Weg wo du hiermit hinten gewinnst, bekommst du vorne geschenkt.

Der Maximale Fahrweg in Y ist 245 mm.
Solltest du mit der Anschlagschraube das Problem nicht gelöst bekommen, dann musst deinen Fahrweg in Y verkürzen in der FW.
Wenn die Z Achse unten gegen Anschlag fährt und der Motor rattert, muss man hier auch den Fahrweg von 200 mm auf 195 mm verkürzen in der FW.
M3079 sollte danach wieder funzen.

LG AtlonXP

Re: Endposition M3079

Verfasst: Di 1. Nov 2022, 16:23
von Diebesbeute
Danke für die schnelle antwort.

Ja, das ist mir irgendwie klar, es war ein von die ersten RF1000 maschinen und bisher hat es eigentlich funktioniert. Was ich nicht verstehe ist warum fährt Y trotzdem gegen anschlag obwohl M3079 auskommentiert ist. Das ist gerade mein jetzige rätsel, ich sehe am ende kein code das diese befehl auslöst. Wie gesagt, ich hab ein paar tests das ich machen müsste, hab nur mir am kopf kratzt warum es bewegt in Y wann es eigentlich nicht bewegen soll.

Re: Endposition M3079

Verfasst: Di 1. Nov 2022, 18:23
von AtlonXP
Nicht nur bei Output Objekt fährt der Tisch in Y bis vor…
Der maximale Fahrweg ist in der FW mit 245 mm hinterlegt.

Dein Slicer fährt bei Bedarf auch auf 245 mm.
Z.B.: Bei der Startmade...

Wenn der Drucker nicht so weit kann wie definiert, dann gibt es beim drucken Layer Versatz!
Das willst du sicher nicht. :dash:

LG AtlonXP

Re: Endposition M3079

Verfasst: So 31. Mär 2024, 16:17
von Diebesbeute
Tut mir leid das alte thema immer wieder zum aufkratzen. Ich verstehe was M3079 tut, aber was ich nicht verstehe ist warum es erlaubt das es über das Machine Travel hinausfahren darf das es gegen Z rattert. Z hab ich überprüft, ich kann bis 200 und dann sagt der maschine ich bin im limit. So ich hab dann M3079 weggelassen, aber trotzdem probleme mit die Y limit, wo es dann rattert. Aber wann ich folgendes nutze, geht es eigentlich.

Code: Alles auswählen

M104 S0
M140 S0
G91
G1 E-1 F300
;move Z up a bit and retract filament even more
G1 Z+0.5 E-5 F2500
G90
G1 X0 Y0 F2500
;Steppers off
M84                                            
;Acceleration to default...
;Acc printing
M201 X1000 Y1000 Z1000
;Acc travel
M202 X1000 Y1000 Z1000
Es scheint das nach das letzte G90 G1 X0 Y0 F2500, es bewegt sich da hin, aber dann direkt danach zu Y200, als ob das teil der M84 ist. Aber so ist die einzige weg das ich es schaffe das es nicht gegen ein hardstop fährt. Na ja, bin nur gelegenheitsdrucker, so diese lösung passt schon, fand es nur seltsam.

MfG,

Sam