Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Piezo Orion + RRF 3.... Problems

    Scheduled Pinned Locked Moved
    Third-party add-ons
    5
    50
    2.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • chopundefined
      chop @arhi
      last edited by

      @arhi what is z=0 Datum?

      arhiundefined 1 Reply Last reply Reply Quote 0
      • arhiundefined
        arhi @chop
        last edited by arhi

        @chop it compares the middle height of probed points with homed Z, the error is over 1.3mm .. this usually happens when you home, have wrong offset change offset and then do G29 without homing again ... I suggest you change config, reset board, home, g29, again change config, reset board, home, g29 ... until you are happy ... you can run g29 multiple times but any time you change config / execute G31 you reboot board, home, then g29

        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          That z datum error message usually means you've loaded a heightmap before you've used G30 to set Z0 first. Or you've used an endstop to set z0 rather than the probe.

          https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation

          Z-Bot CoreXY Build | Thingiverse Profile

          chopundefined 1 Reply Last reply Reply Quote 0
          • chopundefined
            chop @Phaedrux
            last edited by

            @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

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by Phaedrux

              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

              Z-Bot CoreXY Build | Thingiverse Profile

              chopundefined 1 Reply Last reply Reply Quote 0
              • chopundefined
                chop @Phaedrux
                last edited by

                @Phaedrux

                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

                1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  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.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  chopundefined 1 Reply Last reply Reply Quote 0
                  • chopundefined
                    chop @Phaedrux
                    last edited by

                    @Phaedrux @arhi @engikeneer

                    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?

                    Phaedruxundefined arhiundefined 2 Replies Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @chop
                      last edited by

                      @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.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      chopundefined 1 Reply Last reply Reply Quote 0
                      • chopundefined
                        chop @Phaedrux
                        last edited by chop

                        @Phaedrux

                        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?

                        1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator
                          last edited by

                          The slicer should be adding the temp commands that you set in the slicer settings.

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • arhiundefined
                            arhi @chop
                            last edited by

                            @chop here is how I do it.

                            1. 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"
                            
                            1. 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

                            chopundefined 1 Reply Last reply Reply Quote 1
                            • arhiundefined
                              arhi
                              last edited by

                              note that slicer will heat up the bed and the nozzle before it executes the "start script"

                              Phaedruxundefined 1 Reply Last reply Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator @arhi
                                last edited by

                                @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.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • chopundefined
                                  chop @arhi
                                  last edited by

                                  @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 .

                                  arhiundefined 1 Reply Last reply Reply Quote 0
                                  • arhiundefined
                                    arhi @chop
                                    last edited by

                                    @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
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • iamthebest22undefined iamthebest22 referenced this topic
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA