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

    Homing Z in wrong direction on first power cycle

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    16
    1.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.
    • Jaranundefined
      Jaran @droftarts
      last edited by

      @droftarts

      M115:

      FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.05.1 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2020-02-09b1
      

      Yes, thats about right, except I don't run the homing files manually, I just hit the "Home all" button on the duet touch display.

      I am using two Z motors and they are wired to ZA and ZB now. I did try to run them on seperate drivers earlier but everything should be reverted back to using ZA and ZB.

      The homing has always been working fine, until I straightend up the Z axis which caused the bed to drop when its powered off. Im starting to belive this has always been an issue as its only happening when the bed is at the bottom. I can't confirm that for sure as the bed never dropped down to that point earlier and I have never printed anything that big in the Z axis.

      All in all the homing works just fine as long as the bed is not dropped down to the lower part of the printer 😲

      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • Jaranundefined
        Jaran
        last edited by

        I made a little video of the issue. Please excuse the mess 🙂

        https://streamable.com/ild3we

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

          @Jaran said in Homing Z in wrong direction on first power cycle:

          I don't run the homing files manually, I just hit the "Home all" button on the duet touch display.

          When you run homeall it starts with homeall.g and if it has any remaining unhomed axis when it's done (in your case the z axis) it runs the homez file.

          Since you're running 2.05.1 you should probably update your homeall o use H1 instead of S1 for your homing G1 moves.

          Also, you can increase your Z axis probing speed substantially and still get good accuracy by setting up a double homing routine in your homez by replacing your single G30 with this:

          M558 A1 F400			; Set single probing at faster feed rate
          G30 				; Do a single probe to home our Z axis
          M558 A10 F120			; Set multi probing at slower feed rate
          G30				; Probe again to get a more accurate position
          

          Not a solution to your problem, but should drastically speed up your initial homing from the bottom of the bed.

          It's also preferable to move the probe to the center of the bed.

          I also notice that you're using G92 in your homeall to reset the homed XY position to 0. If the 0,0 point is off the edge of the bed, it might be best to modify the M208 minima to use a slightly negative value such that 0,0 is the corner of the bed. That way the full travel size of the axis is allowed, but the location of the printable area is still preserved.

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 1
          • Jaranundefined
            Jaran
            last edited by

            Hehe, I should indeed speed it up! Thanks for the little snippet 🙂

            I am going to home in the middle of the printer once im done making changes. Been struggling with the printed parts and lining up the belt so I have taken it all apart quite a few times now. The last setup I had the extruder never moved outside the buildplate, but the new parts allows it to move out of it in the Y axis. Thanks for the tip. At the moment the extruder can only move within its buildplate, but I am going to allow it to move out of it later on to make some sort of nozzle wiping brush.

            1 Reply Last reply Reply Quote 0
            • Jaranundefined
              Jaran
              last edited by

              I have just updated my firmware to 3.1.1 so here is my new config file. Im still having the same issue on this firmware. For what its worth I sat up the setup with the online generator.

              ; Configuration file for Duet WiFi (firmware version 3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v3.1.4 on Fri Aug 14 2020 12:18:48 GMT+0200 (sentraleuropeisk sommertid)
              
              ; General preferences
              G90                                              ; send absolute coordinates...
              M83                                              ; ...but relative extruder moves
              M550 P"Jarans HEVO"                              ; set printer name
              M669 K1                                          ; select CoreXY mode
              
              ; Network
              M552 S1                                          ; enable network
              M586 P0 S1                                       ; enable HTTP
              M586 P1 S0                                       ; disable FTP
              M586 P2 S0                                       ; disable Telnet
              
              ; Drives
              M569 P0 S1                                       ; physical drive 0 goes forwards
              M569 P1 S1                                       ; physical drive 1 goes forwards
              M569 P2 S1                                       ; physical drive 2 goes forwards
              M569 P3 S1                                       ; physical drive 3 goes forwards
              M584 X0 Y1 Z2 E3                                 ; set drive mapping
              M350 X16 Y16 Z16 E16 I1                          ; configure microstepping with interpolation
              M92 X80.00 Y80.00 Z400.00 E2771.50               ; set steps per mm
              M566 X480.00 Y480.00 Z24.00 E40.00               ; set maximum instantaneous speed changes (mm/min)
              M203 X6000.00 Y6000.00 Z400.00 E10000.00         ; set maximum speeds (mm/min)
              M201 X500.00 Y500.00 Z200.00 E120.00             ; set accelerations (mm/s^2)
              M906 X1200 Y1200 Z800 E800 I30                   ; set motor currents (mA) and motor idle factor in per cent
              M84 S30                                          ; Set idle timeout
              
              ; Axis Limits
              M208 X0 Y0 Z0 S1                                 ; set axis minima
              M208 X267 Y267 Z250 S0                           ; set axis maxima
              
              ; Endstops
              M574 X1 S3                                       ; configure sensorless endstop for low end on X
              M574 Y1 S3                                       ; configure sensorless endstop for low end on Y
              M574 Z1 S2                                       ; configure Z-probe endstop for low end on Z
              
              ; Stall Detection
              M915 X Y S3 F0 H100 R0
              
              ; Z-Probe
              M950 S0 C"exp.heater3"                           ; create servo pin 0 for BLTouch
              M558 P9 C"^zprobe.in" H5 F120 T6000              ; set Z probe type to bltouch and the dive height + speeds
              G31 P25 X28 Y3 Z3.636                            ; set Z probe trigger value, offset and trigger height
              M557 X30:260 Y30:260 S40.4                       ; define mesh grid
              
              ; Heaters
              M950 H3 C"nil"                                   ; Disable heater H3 to free up pin
              M308 S0 P"bedtemp" Y"thermistor" T100000 B4138   ; configure sensor 0 as thermistor on pin bedtemp
              M950 H0 C"bedheat" T0                            ; create bed heater output on bedheat and map it to sensor 0
              M307 H0 B0 S1.00                                 ; disable bang-bang mode for the bed heater and set PWM limit
              M140 H0                                          ; map heated bed to heater 0
              M143 H0 S120                                     ; set temperature limit for heater 0 to 120C
              M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700 ; configure sensor 1 as thermistor on pin e0temp
              M950 H1 C"e0heat" T1                             ; create nozzle heater output on e0heat and map it to sensor 1
              M307 H1 B0 S1.00                                 ; disable bang-bang mode for heater  and set PWM limit
              
              ; Fans
              M950 F0 C"fan0" Q500                             ; create fan 0 on pin fan0 and set its frequency
              M106 P0 S0 H-1                                   ; set fan 0 value. Thermostatic control is turned off
              M950 F1 C"fan1" Q500                             ; create fan 1 on pin fan1 and set its frequency
              M106 P1 S1 H1 T45                                ; set fan 1 value. Thermostatic control is turned on
              
              ; Tools
              M563 P0 D0 H1 F0                                 ; define tool 0
              G10 P0 X0 Y0 Z0                                  ; set tool 0 axis offsets
              G10 P0 R0 S0                                     ; set initial tool 0 active and standby temperatures to 0C
              
              ; Custom settings are not defined
              
              ; Miscellaneous
              M575 P1 S1 B57600                                ; enable support for PanelDue
              
              
              
              droftartsundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                I still think this is an issue of the bed weight causing the bed to auto rotate down, perhaps from lack of torque.

                Can you try the following:

                Temporarily increase the Z motor current to the max rated for the motor.

                Reduce the max speed and acceleration for the Z motor.

                Reduce microstepping on Z to x8.

                You can add this code right below your current drive block and then delete it after testing.

                M350 Z8
                M906 Z1000
                M203 Z200
                M201 Z60

                See if that makes a difference.

                If that doesn't help, leave that block in place and then change the Z motor wiring so that one motor goes to your spare extruder driver. Then alter your M584 command to map the Z axis to both drivers as droftarts describes above.

                M584 X0 Y1 Z2:4 E3 ; set drive mapping

                Z-Bot CoreXY Build | Thingiverse Profile

                Jaranundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @Jaran
                  last edited by

                  @Jaran I just watched the first video and agree that the bed is powered on the downward movement; it’s not slipping. The only thing I can think of is that the first move, from the bottom of Z to probe, is more than the 250mm set in M208:

                  M208 X267 Y267 Z250 S0
                  

                  So my suggestion is to try setting this larger than the Z movement, eg 400, and see if it still does the same thing.

                  I don’t know why it would be doing this, though. But please test and see if it makes a difference.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  1 Reply Last reply Reply Quote 2
                  • Jaranundefined
                    Jaran @Phaedrux
                    last edited by Jaran

                    @Phaedrux I will for sure give this a shot, but im 99% sure its not due to the weight. The weight has never been an issue before, its only when the bed is at the bottom. If I try to "hold" the bed with my finger below it when it has no current I can simply hold my finger there without giving any preassure and it stays.

                    @droftarts This sounds like the solution! After changing parts on the printer lately I have for sure gained more Z travel and I intentinally set that limits to be lower earlier as the bed struggled when going all the way down(slightly skewed Z rods).

                    I will post back in a couple of minutes with an edit 🙂

                    Edit: It was the Z axis limit that caused this. Now it works as intended even at the lowest point it can reach. I did not think about this at all until I read out your message 🙂

                    Thanks alot to both of you! Im starting to get close to a result I can be happy with 🤠

                    droftartsundefined 1 Reply Last reply Reply Quote 1
                    • droftartsundefined
                      droftarts administrators @Jaran
                      last edited by

                      @Jaran Great! Glad that sorted it. Can you let me know how much travel you have on Z, from bottom to top? I don't know if there's a limit set in the firmware that aborts G30 if the distance travelled is greater than the M208 Z value + [some value], but this behaviour is not expected or documented, so may be a ... (drum roll) ... bug!

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      1 Reply Last reply Reply Quote 0
                      • Jaranundefined
                        Jaran
                        last edited by

                        @droftarts I have about 290-300mm travel in total on the Z axis. I sat the new limit to 280mm which works fine.

                        Hehe yeah, it looks like it. As long as you set the limits to match the travel length you will never experience this, but if someone for some reason put the limits on 50% of the travel length I belive you would.

                        droftartsundefined 1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @Jaran
                          last edited by

                          @Jaran I asked @dc42 if this was a bug, but it isn’t. He said “max travel is 1.1 * the total Z axis length” so your Z was limited to 275mm with M208 Z250.

                          A couple more questions; on the first home, did the probe actually trigger, or did it stop short and reverse? Also when it did reverse to the bottom, did it stop, or just keep going and grind the motors when it got to the bottom?

                          Ian

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                          Jaranundefined 1 Reply Last reply Reply Quote 0
                          • Jaranundefined
                            Jaran @droftarts
                            last edited by

                            @droftarts Aha, I see.

                            The probe did trigger. The bed kept moving until it hit the probe no matter how far down it was. It did not stop at the bottom, it kept on going and grinding the motors.

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