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

    Issues configuring firmware

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    15
    539
    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.
    • MihaiDesignsundefined
      MihaiDesigns
      last edited by MihaiDesigns

      I'm configuring a CoreXY 3D printer with an accessory that runs additional axes. (First time configuring a Duet build). Running RRF 3.5.0 RC1 as I will need some of the features there.

      Using Duet 3 Mini 5+ with the 2 stepper expansion board, 3HC expansion, and toolboard. So far the heated beds work (4 zones), the extruder works (toolboard), X and Y axes work and are homing (endstop switches).

      I could use some help fixing the following issues:

      1. I can't get the sensorless homing to work on the Z axis (bed moves on Z via belts and small geared motors). It reaches the end and keeps going trying to move past. I have 3 independent motors connected to ports 0,1,2. I want to home at the bottom. See end of config below.

      M569 P0.0 S0
      M569 P0.1 S0
      M569 P0.2 S1
      M584 X1.0 Y1.1 Z0.0:0.1:0.2 E121.0                        ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                                   ; configure microstepping with interpolation
      M92 X160.00 Y160.00 Z800.00 E710.00                       ; set steps per mm
      M566 X900.00 Y900.00 Z60.00 E120.00                       ; set maximum instantaneous speed changes (mm/min)
      M203 X36000.00 Y36000.00 Z3600.00 E1800.00                ; set maximum speeds (mm/min)
      M201 X2000.00 Y2000.00 Z300.00 E2000.00                   ; set accelerations (mm/s^2)
      M906 X2000 Y2000 Z600 E600 I30                            ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                                   ; Set idle timeout
      
      ; stall detection
      M915 P0.0 S0 R1 H400
      M915 P0.1 S0 R1 H400
      M915 P0.2 S0 R1 H400
      
      ; axis limits
      M208 X-3 Y0 Z0 S1                                         ; set axis minima
      M208 X370 Y400 Z382 S0                                    ; set axis maxima
      

      For homing I call G1 H1 Z100 F3600.
      I tried M915 P0.x S0 alone, even tried S-50 which is super sensitive and it still fails to trigger. I understand that R1 should log the event, but am not sure where it would get logged. Also tried setting a low motor current to 200mA. Running out of ideas to try.

      2. I cannot home a custom axis. I have an axis called W on an accessory. I can move the axis with G1 Wxx command. There is an endstop switch. I'd like to home that axis using the switch and I can't figure out how. I have the config below and am not sure the last line is allowed:

      M569 P0.6 S0
      M584 U0.5 V0.3:0.4 W0.6                                   ; set drive mapping
      M350 U16 V16 W16 I1                                       ; configure microstepping with interpolation
      M92 U160 V160 W36                                         ; set steps per mm
      M566 U600 V600 W600                                       ; set maximum instantaneous speed changes (mm/min)
      M203 U24000 V12000 W12000                                 ; set maximum speeds (mm/min)
      M201 U2000 V2000 W300                                     ; set accelerations (mm/s^2)
      M906 U1000 V1000 W1000                                    ; set motor currents (mA) and motor idle factor in per cent
      M208 U0 V0 W-90 S1                                        ; set axis minima
      M208 U550 V550 W90 S0                                     ; set axis maxima
      M574 W2 S1 P"^1.io2.in"                                   ; configure switch-type (e.g. microswitch) endstop 
      

      Last line is exactly the same format as the ones for the X and Y endstop switches (M574 X1 S1 P"^1.io0.in").
      I tried homing with something like G1 H2 W200 F360 but it reaches the endstop and keeps trying to move past. I did check the endstop wiring.
      Looking at the documentation, the last line in the code above might not be allowed. M572 specifies parameters X, Y, Z, P, S, K. There's no mention of custom axes such as W. What is the best way to home a custom axis?
      Additionally, I have other custom axes (U and V) which will require sensorless homing, but am hoping to fix the sensorless homing on the Z first.

      3. Ideal mesh leveling probe configuration. I have a custom probe, similar in concept to the Klicky probe. Basically a microswitch that attaches via magnets to the underside of the extruder. I can load/unload(park) it. The probe triggers about 14.5mm below the nozzle Z height. I got it working by calling code below after loading the probe:

      G0 Z16
      M557 X10:360 Y0:350 S70  
      G29 S0
      

      (I manually "homed" the Z axis so it sort of knows where it is roughly).
      However, I read in the documentation that I should first establish a Z=0 datum first. So I ran the code:

      G0 Z16 ; lower bed
      G0 X182 Y182 F36000
      M98 P"/macros/probe-load.g"
      G0 X182 Y182 F36000 
      
      G30    ; Establish a Z=0 datum
      G31 P500 X0 Y22.5 Z2   
      
      M557 X10:360 Y0:350 S70  
      
      G29 S0
      

      If I do that, the mesh probing starts at a very high position (~15-20mm above the bed) and slowly moves the bed until it touches. It does this for every probing point. It takes forever! I with it used the Z2 probing distance as instructed.
      I'm not sure how to improve this. I could skip the Z=0 datum, but I feel like there should be a better way.

      I'm also starting toying with G30 S3 (as I run independent motors and kinematic coupled bed) but wanted to finish fixing the homing first.

      Cheers!

      fcwiltundefined 1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @MihaiDesigns
        last edited by

        @MihaiDesigns

        I'm guessing that the geared nature of the motors (they are steppers correct?) is causing a problem. But it's just a guess. I installed 3 micro-switches on adjustable mounts for my three Z stepper printer. A little work but simple and reliable. Stall detection can be a little problematic.

        If you know how to home the X and Y axes you know how to home W. It's just the same. G1 H2 is not what you want. G1 H1 is for homing.

        As to setting the Z=0 Datum:

        You have a G30, which does the probing for setting Z=0, before the G31 which configures the probe. I don't think that is going to work.

        Before you start trying to use G29 you should be sure that G30 sets Z=0 correctly.

        If G30 seems to probe OK then you carefully jog the Z axis until the extruder nozzle (remove the probe first of course) just touches the bed and see if the DWC Dashboard reports Z=0.

        If it does report Z=0 the probe trigger height is set correctly. If it does not, tweak the trigger height parameter in G31 and then run the test above again. Repeat as needed.

        You do not want to skip setting the Z=0 Datum. Do it before creating the height map. Do it before loading the height map. Do it before starting a print if you don't load the height map.

        Get back to me if you cannot get things sorted.

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        MihaiDesignsundefined 1 Reply Last reply Reply Quote 0
        • MihaiDesignsundefined
          MihaiDesigns @fcwilt
          last edited by

          @fcwilt thanks for the answer.

          I solved the extra axis endstop homing. On Z probing I'll have to read more documentation first.

          Sensorless homing still not working.
          I have 3 axes running 3, 2, and 1 motor respectively. Sensorless homing is not working for any of them. The last two use Nema17 motors, not geared. They are all connected to the Mini 5+ board, two via the small TMC expansion board.
          Here's the relevant config for one of the axes (U) running just one motor:

          config.g

          M569 P0.5 S1
          M584 U0.5
          M350 U16 I1
          M92 U160
          M566 U600
          M203 U24000
          M201 U2000
          M906 U800
          
          M915 P5 S-120 R0 ; I set the sensitivity abnormally low and it still doesn't trigger. Also fails for S0
          
          M208 U0 S1                                        ; set axis minima
          M208 U550 S0                                     ; set axis maxima
          
          M574 U1 S3 ; sensorless endstop
          

          homeu.g

          G91               
          G1 H2 U10 F6000    
          G1 H1 U-30 F1800  ; moving just a little bit for testing (axis starts in the homed position anyways)
          G92 U0            
          
          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @MihaiDesigns
            last edited by

            @MihaiDesigns

            I've tried sensor-less homing a few times and have always given up and installed endstop micro-switches.

            Frederick

            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

            MihaiDesignsundefined 1 Reply Last reply Reply Quote 0
            • MihaiDesignsundefined
              MihaiDesigns @fcwilt
              last edited by MihaiDesigns

              @fcwilt the thing is I'd like to avoid adding 6 more switches and wires. Plus, two of the axes home at the far end from the motor position, so not even the same wire path. I used sensorless homing in Marlin on various printers. It shouldn't be hard to configure.

              MihaiDesignsundefined 1 Reply Last reply Reply Quote 0
              • MihaiDesignsundefined
                MihaiDesigns @MihaiDesigns
                last edited by

                I wonder if it has something to do with the 3.5.0 RC1 firmware. I'll try a more stable version.

                fcwiltundefined 1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @MihaiDesigns
                  last edited by

                  @MihaiDesigns said in Issues configuring firmware:

                  I wonder if it has something to do with the 3.5.0 RC1 firmware. I'll try a more stable version.

                  Maybe so.

                  I simply don't use BETA or RC firmware. I let the "brave" folks do that.

                  I understand about running the wires - but that is something you only do once - and it leads to more tranquil homing.

                  Good luck.

                  Frederick

                  Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                  MihaiDesignsundefined 1 Reply Last reply Reply Quote 0
                  • MihaiDesignsundefined
                    MihaiDesigns @fcwilt
                    last edited by

                    @fcwilt thank you!

                    MihaiDesignsundefined 1 Reply Last reply Reply Quote 0
                    • MihaiDesignsundefined
                      MihaiDesigns @MihaiDesigns
                      last edited by

                      I tested firmware version 3.4.6 (updated all boards) and sensorless homing is still not working. I suspect I have an error in my configuration but can't figure out what it is.

                      fcwiltundefined 1 Reply Last reply Reply Quote 0
                      • fcwiltundefined
                        fcwilt @MihaiDesigns
                        last edited by

                        @MihaiDesigns said in Issues configuring firmware:

                        I tested firmware version 3.4.6 (updated all boards) and sensorless homing is still not working. I suspect I have an error in my configuration but can't figure out what it is.

                        Instead of using P in the M915 try using the actual drive letter X, Y, Z, etc.

                        And be sure the desired endstops, for each axis, are set for "stall" type.

                        Frederick

                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                        MihaiDesignsundefined 1 Reply Last reply Reply Quote 0
                        • MihaiDesignsundefined
                          MihaiDesigns @fcwilt
                          last edited by

                          Update: I got sensorless homing working on all 3 axes.
                          Someone suggested adjusting stealthchop/spreadcycle like this: M569 P0.3 V40 D3 and it fixed one of the axes. For the Z axis with small motors I had to go back and forth with stall sensitivity and speed. Same for the remaining axis, basically trying random speeds and sensitivities until it worked. It took a while, but it worked eventually.

                          @fcwilt thanks for the help.

                          Still got that probing offset thing to fix, but that's tomorrow.

                          fcwiltundefined nikschaundefined 2 Replies Last reply Reply Quote 1
                          • fcwiltundefined
                            fcwilt @MihaiDesigns
                            last edited by

                            @MihaiDesigns

                            You have more patience then I. As you well know micro-switch endstops don't need that kind of tweaking.

                            Good job.

                            Frederick

                            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                            1 Reply Last reply Reply Quote 0
                            • nikschaundefined
                              nikscha @MihaiDesigns
                              last edited by

                              @MihaiDesigns I can already see the expression on your face when you talk about this in an upcoming video ^^

                              Some time ago I also configured sensorless homing for XY on a coreXY. After after a while I had it dialed in quite nicely. Then the next day it didn't work at all (I haven't changed any settings). Turns out some gcode I ran adjusted the travel acceration, and with the higher acceleration the sensorless homing would give me false positives. So maybe reduce your accelerations for the duration of the homing sequence?

                              Stay in school

                              oliofundefined 1 Reply Last reply Reply Quote 1
                              • oliofundefined
                                oliof @nikscha
                                last edited by

                                @nikscha more current versions of RRF use the acceleration set in M201.1 for special moves including homing moves so your issue shouldn't apply anymore.

                                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                nikschaundefined 1 Reply Last reply Reply Quote 1
                                • nikschaundefined
                                  nikscha @oliof
                                  last edited by

                                  @oliof thank you, that's very useful to know!

                                  Stay in school

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Unless otherwise noted, all forum content is licensed under CC-BY-SA