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