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