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

    Moving a Z on a duet wifi

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    26
    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.
    • markzundefined
      markz @zBeeble
      last edited by markz

      @zbeeble It's important to note that the two Z headers are wired in series. This means that the two Z motors you are using must be identical and wired the same to the connectors. I would check the impedance of the two sets of motor wiring with a voltmeter and ensure they are the same.

      If one motor is more 'sensitive' than the other motor only one will turn. If one motor is miswired then at most one motor will turn.

      The two Zs headers are just connected together and it's hard to imagine that failed so it's far more likely that the two motors are not identical or perhaps one leg of the driver is failing due to bad motor wiring.

      To test: I would jumper the second header (see duet doc) and then test the two motors individually. If they both work it's very likely they aren't identical.

      zBeebleundefined 2 Replies Last reply Reply Quote 0
      • zBeebleundefined
        zBeeble @markz
        last edited by

        @markz Thanks for the wisdom. In effect, I was assuming the non-spinning motor was the malfunction, but you're indicating it could equally be the working motor that is the culprit here. The three new motors were all bought together, so they "should" be the same.

        1 Reply Last reply Reply Quote 0
        • zBeebleundefined
          zBeeble @markz
          last edited by

          @markz OK. Carefully, using my digital ohm meter and exactly the same amount of wires I measured my probes and some dupont wires (used to connect to the motor) at 1 ohm (calibration) and a measured value of 3.8 for two and 3.9 for a third of the new motors. That's just a hair under 3 ohms for each if I did this all in any way correctly.

          Is there an m-command to cause one output to rotate a certain amount?

          1 Reply Last reply Reply Quote 0
          • zBeebleundefined
            zBeeble
            last edited by

            What is the next logical diagnostic step?

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

              @zbeeble said in Moving a Z on a duet wifi:

              What is the next logical diagnostic step?

              Did you try this?

              To test: I would jumper the second header (see duet doc) and then test the two motors individually. If they both work it's very likely they aren't identical.

              Z-Bot CoreXY Build | Thingiverse Profile

              zBeebleundefined 1 Reply Last reply Reply Quote 0
              • zBeebleundefined
                zBeeble @Phaedrux
                last edited by

                @phaedrux said in Moving a Z on a duet wifi:

                @zbeeble said in Moving a Z on a duet wifi:

                What is the next logical diagnostic step?

                Did you try this?

                To test: I would jumper the second header (see duet doc) and then test the two motors individually. If they both work it's very likely they aren't identical.

                So sampling the resistance (and finding it the same) is not enough?

                1 Reply Last reply Reply Quote 0
                • zBeebleundefined
                  zBeeble
                  last edited by

                  I went down to do some more messing around. As I said before, all the motors test at the same resistance. One of the threaded rods was harder to turn than the other --- some careful adjustments fixed that, but the problem remained.

                  The motors arrived as a set of 4. One is currently running my extruder (seemingly good). That left 3 for me to experiment with on the Z axis. I haven't tried all combinations, but I've switched both and they all came with wiring that was compatible with the Duet --- so wiring was changed each time.

                  Are some motors just not applicable to this pairing? Is there something that I should watch for in buying a motor?

                  The motors are OUYZGIA 17HS4401S...

                  zBeebleundefined 1 Reply Last reply Reply Quote 0
                  • zBeebleundefined
                    zBeeble @zBeeble
                    last edited by

                    @zbeeble At this point, I don't know. I bought two different but identical to each other steppers. Nice ones. https://www.amazon.ca/gp/product/B06ZYQNBFR ... in case you want to have a look at it.

                    Same behaviour. I don't know what I should look at. All these motors run as a single motor just fine.

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

                      Can you post some photos of the board and connector? both sides?

                      If each motor works fine individually on the Z driver when the jumper is placed on the second connector, but has problems with both motors are connected to the board in series, perhaps there is a problem with the second connector.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      zBeebleundefined 1 Reply Last reply Reply Quote 0
                      • zBeebleundefined
                        zBeeble @Phaedrux
                        last edited by

                        @phaedrux said in Moving a Z on a duet wifi:

                        Can you post some photos of the board and connector? both sides?

                        If each motor works fine individually on the Z driver when the jumper is placed on the second connector, but has problems with both motors are connected to the board in series, perhaps there is a problem with the second connector.

                        I was starting to wonder if I should be looking at the board. This board is old ... BTW. Bought quite a few years ago. Here's a next cloud pic. I included some pics of the y-endstop connector --- it's been flaky too (and I replaced the wire). It's almost like I should suspect the y-endstop is a loose solder joint.

                        https://v4.nextcloud.towernet.ca/s/aHyJDfB959RkYmZ

                        Those are 4k x 3k pics. You might have to download them to get full resolution. I also have RAW files.

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

                          I don't see any visible reason the connector wouldn't work. Usually if there were a problem with a driver it would generate an error message.

                          Can you capture a video of a simple bench setup with two motors connected to the Z driver ports and send a command to move them like G1 H2 Z10 F200. Also show us your config and give us the motor specs for what you're trying.

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • zBeebleundefined
                            zBeeble
                            last edited by

                            OK. Finally a bit of progress. Here is a portion of my current config.g

                            ; Drives
                            M569 P0 S1                                     ; physical drive 0 goes forwards
                            M569 P1 S0                                     ; physical drive 1 goes backwards
                            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 X100.00 Y100.00 Z5104.00 E666.00          ; set steps per mm
                            M566 X450.00 Y450.00 Z60.00 E120.00            ; set maximum instantaneous speed changes (mm/min)
                            M203 X6000.00 Y6000.00 Z100.00 E1200.00        ; set maximum speeds (mm/min)
                            M201 X250.00 Y250.00 Z20.00 E250.00            ; set accelerations (mm/s^2)
                            M906 X1200 Y1200 Z1200 E1200 I30               ; set motor currents (mA) and motor idle factor in per cent
                            M84 S30                                        ; Set idle timeout
                            

                            I was doing what you said ... and finding that even in the dual-Z configuration, the motors were moving when I used the move .5mm command. However, when I then asked for a home, one motor would move. OK. So ... the M203 was set Z180.00. I lowered the M203 to Z100.00 and homing is fine (allbeit slow).

                            The new motor had this card in the package: https://v4.nextcloud.towernet.ca/s/9cN2tJJdfzWCtfT

                            ... I'm assuming here that this is max current 2A... so with the 80% rule, I should be able to set Z1600 in M906 --- or, can I raise that a bit --- and if so, what sort of max speed should I set (or should I twiddle the acceleration value)?

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

                              Post your homing file and your full config.g

                              5104 is an odd looking steps per mm for Z. What kind of a Z axis arrangement is it?

                              80% of 2000ma seems reasonable place to start.

                              Did you try a longer G1 Z move than just 0.5mm?

                              What feed rate did you use? What feed rate does the homing file use?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              zBeebleundefined 1 Reply Last reply Reply Quote 0
                              • zBeebleundefined
                                zBeeble @Phaedrux
                                last edited by zBeeble

                                @phaedrux said in Moving a Z on a duet wifi:

                                Post your homing file and your full config.g

                                (note that this has the max Z at 100 mm/min, not the 180 that was failing)

                                ; Configuration file for Duet WiFi (firmware version 3.3)
                                ; executed by the firmware on start-up
                                ;
                                ; generated by RepRapFirmware Configuration Tool v3.3.11 on Sat Jul 30 2022 14:43:31 GMT-0400 (Eastern Daylight Saving Time)
                                
                                ; General preferences
                                M575 P1 S1 B57600                              ; enable support for PanelDue
                                G90                                            ; send absolute coordinates...
                                M83                                            ; ...but relative extruder moves
                                M550 P"The A-Frame"                            ; set printer name
                                
                                ; Network
                                M551 P"averynicepasswordindeed"                               ; set password
                                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 S0                                     ; physical drive 1 goes backwards
                                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 X100.00 Y100.00 Z5104.00 E666.00          ; set steps per mm
                                M566 X450.00 Y450.00 Z60.00 E120.00            ; set maximum instantaneous speed changes (mm/min)
                                M203 X6000.00 Y6000.00 Z100.00 E1200.00        ; set maximum speeds (mm/min)
                                M201 X250.00 Y250.00 Z20.00 E250.00            ; set accelerations (mm/s^2)
                                M906 X1200 Y1200 Z1200 E1200 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 X230 Y210 Z200 S0                         ; set axis maxima
                                
                                ; Endstops
                                M574 X1 S1 P"!xstop"                            ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
                                M574 Y1 S1 P"!ystop"                            ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
                                ; M574 Z1 S1 P"!zstop"                            ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop
                                M574 Z1 S2
                                
                                ; Z-Probe
                                ; M558 P0 H5 F120 T6000                          ; disable Z probe but set dive height, probe speed and travel speed
                                ; M557 X15:215 Y15:195 S20                       ; define mesh grid
                                M950 S0 C"exp.heater3" ; Duet 2 WiFi/Ethernet
                                M558 P9 C"^zprobe.in" H5 F120 T6000 ; Duet 2 WiFi/Ethernet, DueX2/5
                                G31 P25 X35 Y0 Z1.1
                                M557 X35:185 Y15:185 S20
                                
                                ; Heaters
                                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 B1 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
                                M307 H0 R0.291 K0.301:0.000 D3.50 E1.35 S1.00 B0
                                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 B4138  ; 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
                                ; M307 H1 R2.207 K0.479:0.004 D5.47 E1.35 S1.00 B0 V11.9
                                ; M307 H1 R2.187 K0.828:0.000 D4.46 E1.35 S1.00 B0 V11.9
                                M307 H1 R1.947 K0.473:0.002 D4.81 E1.35 S1.00 B0 V11.9
                                M143 H1 S300                                   ; set temperature limit for heater 1 to 300C
                                
                                ; Fans
                                M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
                                M106 P0 S0 H0:1 T45                            ; set fan 0 value. Thermostatic control is turned on
                                M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
                                M106 P1 S0 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
                                

                                This is the homeall.g

                                ; homeall.g
                                ; called to home all axes
                                ;
                                ; generated by RepRapFirmware Configuration Tool v3.3.12 on Fri Aug 05 2022 18:02:19 GMT-0400 (Eastern Daylight Saving Time)
                                G91                     ; relative positioning
                                G1 H2 Z5 F6000          ; lift Z relative to current position
                                G1 H1 X-235 Y-215 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                                G1 H2 X5 Y5 F6000       ; go back a few mm
                                G1 H1 X-235 Y-215 F360  ; move slowly to X and Y axis endstops once more (second pass)
                                G90                     ; absolute positioning
                                G1 X-20 Y15 F6000       ; 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 F100             ; lift Z relative to current position
                                ;G90                    ; absolute positioning
                                

                                5104 is an odd looking steps per mm for Z. What kind of a Z axis arrangement is it?

                                The stepper motors turn threaded rod which move through a spaced pair of nuts to raise an lower the bed. Think roughly a mendel design.

                                80% of 2000ma seems reasonable place to start.

                                So your advice is 1600? Will 1600 support 180 mm/min in this config with that motor?

                                Did you try a longer G1 Z move than just 0.5mm?

                                No, but I did several in a row.

                                What feed rate did you use? What feed rate does the homing file use?

                                I just used the button on the dashboard page. I don't know what feed rate it uses --- but I assume the "max" since it slowed down.

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

                                  @zbeeble said in Moving a Z on a duet wifi:

                                  The stepper motors turn threaded rod which move through a spaced pair of nuts to raise an lower the bed. Think roughly a mendel design.

                                  Are you getting binding there?

                                  Have you tried the two motors disconnected from the actual Z axis? I think I suggested that several days ago.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  zBeebleundefined 1 Reply Last reply Reply Quote 0
                                  • zBeebleundefined
                                    zBeeble @Phaedrux
                                    last edited by

                                    @phaedrux said in Moving a Z on a duet wifi:

                                    @zbeeble said in Moving a Z on a duet wifi:

                                    The stepper motors turn threaded rod which move through a spaced pair of nuts to raise an lower the bed. Think roughly a mendel design.

                                    Are you getting binding there?

                                    Have you tried the two motors disconnected from the actual Z axis? I think I suggested that several days ago.

                                    I haven't tried them turning freely. I'm pretty sure this means that the shafts turn somewhat unequally. I don't have a sensitive torque measurement tool, but the turning force is very close by touch. As-I-said earlier, I detected one was a little harder to turn earlier and I corrected some geometry (the bottom clamp on the smooth rod of the configuration was inboard by a couple milimeters). Now the "feel" of the turn is the same to the accuracy I can detect with my hands.

                                    Let's go at this another way. I have a bltouch now. It's 35 milimeters x positive from my extruder and 1.1 mm Z positive. Certainly, I can't home the two Zed's independantly, but is there code to handle the two zeds separately with a bltouch as the level sensing device?

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

                                      @zbeeble said in Moving a Z on a duet wifi:

                                      is there code to handle the two zeds separately with a bltouch as the level sensing device?

                                      Yes of course.

                                      https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling

                                      You still have to home the Z axis as a whole first, but then you can adjust the position of the two motors independently. However, to do this, each z motor requires its own driver. It can't be done with the single Z driver with the series connectors.

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      zBeebleundefined 1 Reply Last reply Reply Quote 0
                                      • zBeebleundefined
                                        zBeeble @Phaedrux
                                        last edited by

                                        @phaedrux said in Moving a Z on a duet wifi:

                                        @zbeeble said in Moving a Z on a duet wifi:

                                        is there code to handle the two zeds separately with a bltouch as the level sensing device?

                                        Yes of course.

                                        https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling

                                        You still have to home the Z axis as a whole first, but then you can adjust the position of the two motors independently. However, to do this, each z motor requires its own driver. It can't be done with the single Z driver with the series connectors.

                                        OK ... cool. Still doesn't exactly answer how to do the initial homing with the bltouch... or does that just happen with a standard "G30" ?

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

                                          @zbeeble said in Moving a Z on a duet wifi:

                                          or does that just happen with a standard "G30" ?

                                          Yes.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          1 Reply Last reply Reply Quote 0
                                          • zBeebleundefined
                                            zBeeble
                                            last edited by

                                            I've done further experimentation --- mostly on the combined motors. It would seem that the speed 180 is unobtainable in my setup --- I've increased the motor current to 100% (2000 or 2A).

                                            In my testing, with the two motors on the two Z connectors, 100 or 120 performs properly, but 180 exhibits the one motor running, other motor stalling behaviour.

                                            My questions:

                                            1. Are there much stricter limits on the difference in movement torque required of motors bonded in this way?
                                            2. Is there a difference in this requirement with parallel vs. serial arrangement?
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA