Piezo Orion + RRF 3.... Problems
-
@Phaedrux i User the probe as endstop.
Is this Configuration correct? :
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X300 Y300 Z250 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M558 P5 C"^!zprobe.in" H5 F300 T15000 ; set Z probe type to switch and the dive height + speeds
G31 X0 Y0 Z-0.05 P250 ; set Z probe trigger value, offset and trigger height
M557 X5:300 Y5:300 S20 ; define mesh grid -
That looks fine, but you must be using G30 in your homeall.g. Also make sure you do NOT have G29 S1 in your config.g
-
homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Oct 17 2020 17:51:59 GMT+0200 (Mitteleuropäische Sommerzeit)
G91 ; relative positioning
G1 H2 Z5 F15000 ; lift Z relative to current position
G1 H1 X-305 Y-300 F6000 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-305 ; home X axis
G1 H1 Y-300 ; home Y axis
G1 X5 Y5 F15000 ; go back a few mm
G1 H1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-300 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X5 Y5 F15000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F250 ; lift Z relative to current position
;G90 ; absolute positioning -
That looks correct. Now just make sure you have homed the z axis with G28 before creating a heightmap with G29 and the datum error message should go away.
-
So .. everything works now and it prints well. Thank you all. Now my last question, as I am new to the RRF. How do I start a print now so that a macro is run, the orion tests the bed and then it prints? I don't know which one. g that's coming. or does it have to be in the slicer start g code? if so, how can I tell that he should use a macro?
-
@chop said in Piezo Orion + RRF 3.... Problems:
How do I start a print now so that a macro is run, the orion tests the bed and then it prints? I don't know which one. g that's coming. or does it have to be in the slicer start g code? if so, how can I tell that he should use a macro?
I'm not really sure what you're asking.
But usually the slicer start gcode would contain at least a T0 to select the first tool, G28 to home all axis, and a G29 S1 to load the mesh. The slicer would also add the bed and hotend temps.
If you wanted to add something to run before any of that, you can add those commands to start.g in the /sys folder which gets run automatically before the sliced gcode file.
-
i try to explain
i want to add,heat to bed and hotend to X celsius(shpuld be print temp), do a makro, prob the bed, start the print.
the printer should do this one ervery print. where i have to add this commands?
-
The slicer should be adding the temp commands that you set in the slicer settings.
-
@chop here is how I do it.
- in slicer put this:
for start script:
M98 P"print_start.g"
for ending script:
M104 S0 ; turn off extruder M140 S0 ; turn off bed M106 S0 ; turn off fan M98 P"print_stop.g"
- then make "print_start.g" and "print_stop.g" scripts to put whatever you want in them... for e.g. I have
print_start.g
; no volumetric extrusion M200 D0 ; relative extruder distance M83 ; do not home if already homed if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 ; do the wipe M98 P"wipe.g" ; use MESH compensation G29S1 ; all currents to 100% M913 X100 Y100 Z100 ; load default jerk, speed and acceleration values M98 P"cfg_jerkspeedaccel.g" ; reset baby steps M290 R0 S0 ; reset speed overrides M221 S100 M220 S100 ; Dynamic Acceleration Adjustment ; M593 Fxxx ; Pressure Advance ; M572 D0 S0.042 M572 D0 S0.03 ;M118P0S"MESSAGE: PRINT STARTED"
and my print_stop.g
M104 S0 ; turn off extruder M140 S0 ; turn off bed M106 S0 ; turn off fan M913 X20 Y20 Z25 G91 G0Z10 G90 M913 X100 Y100 Z100 M98 P"wipe.g" ;M118P0S"MESSAGE: PRINT FINISHED"
now those are mine, you adapt to what you want start/stop to do
-
note that slicer will heat up the bed and the nozzle before it executes the "start script"
-
@arhi said in Piezo Orion + RRF 3.... Problems:
note that slicer will heat up the bed and the nozzle before it executes the "start script"
If you want to get some macro commands in even before any of the slicer gcode starts you can use the start.g macro in the /sys folder. It will get executed at the start of a print before anything else.
This can be handy if you want to take conplete control the preheat and homing of the printer before the slicer takes over. With this you can basically have nothing in the slicer start gcode, which makes it easy to use multiple slicers and keep their start gcode changed in only one place.
Any commands you need to be executed after reaching the slicers set temps can be put into a separate macro and called with M98 in the slicer start gcode section.
You can do the same with the slicer end gcode if you simply use M0 in the slicer, since M0 calls stop.g on the Duet. So your end gcode can be customized in stop.g and used on all slicers.
-
@arhi ah !! Thats what im looking for. Thank you mate.
Would you pls show me your wipe. G. Thats exactley what im trying. Servo deploys brush nozzle Drives oder the brush to clean .
-
@chop here's my wipe.g but is machine specific, you will want to make your own
if !move.axes[0].homed || !move.axes[1].homed echo "X and Y axes not homed, aborting the wipe" M99 if state.currentTool < 0 echo "No tool loaded, aborting the wipe" M99 if heat.heaters[tools[state.currentTool].heaters[0]].current < 200 echo "Extruder too cold, no point wiping, aborting the wipe" M99 ; Drop all motor currents down M400 M913 X30 Y30 Z25 M83 ; -135, -116, 115, 125, ; ,104....++++++++++++++++++++++.... ; ....++++++++++++++++++++++.... ; ....++++++++++++++++++++++.... ; ....++++++++++++++++++++++.... ; ,63 ..|.++++++++++++++++++++++.... ; ..|.++++++++++++++++++++++.... ; ..|.++++++++++++++++++++++.... ; ,30 ..|.++++++++++++++++++++++.... ; ....++++++++++++++++++++++.... ; ....++++++++++++++++++++++.... ; ....++++++++++++++++++++++.... ; ,-112....++++++++++++++++++++++.... ; .............................. ; .............................. ; ,-121.............................. G0 X-115 Y65 F9000 while true G0 X-135 Y{65 - iterations * 3} F7000 G0 X-115 Y{65 - iterations * 4} F5000 if iterations == 6 G1 E-3 F3000 if iterations == 8 break M98 P"park.g" ; Return all motor currents to 100% M400 M913 X100 Y100 Z100
and park.g
; drop motor curents M913 X30 Y30 Z25 ; go to park position G0 X-135 Y40 ; restore motor curents M913 X100 Y100 Z100
-