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.
    • 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
                          • Phaedruxundefined
                            Phaedrux Moderator
                            last edited by

                            I wonder if it's your very high steps per mm value for Z. Can you send M122 after you've commanded some faster and longer movements on Z? I'm wondering if you're getting any hiccups.

                            Z-Bot CoreXY Build | Thingiverse Profile

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

                              Thank-you for your patience. I believe I have resolved the issue... with a combination of your thoughts and my experimentation (as it should be). For posterity, here's wazzup.

                              BACKGROUND

                              The printer in question was built (originally) mid-2014 ... and with Chinese electronics. It was noisy and it ran hot. It's largely a Mendel from reprap.org ... combining some of the Prussia Mendel with some ideas from the Reprap-Pro Mendel and some custom changes suggested by the helpful fellow who printed the initial printed pieces for me (among them, a fine herringbone main gear set).

                              This I upgraded ~2016 or so --- the duet2wifi was a "new thing" when I did this, if that helps nail down the timeframe. I swapped the Chinese electronics for the duet2wifi, I added a heated and magnetic bed and I made minor improvements in the geometry.

                              This printer eventually choked on some filament and I didn't get around to fixing it until just recently. I have been collecting supplies to make something with the e3d tool changer (but different), but I haven't started assembly yet.

                              THIS ITERATION

                              So I started this iteration to improve a few things... one of the most major: add a BLTouch to the system. I ended up learning first that I had some really sub-optimal motors in play --- that only took 0.4A of max current (for X, Y and E0). I replaced these with 1.5A motors. Seriously, the documentation about selecting motors is good (although I found utube about parallel and serial that seemed to explain that better) ... but I'm relatively sure it wasn't available when I first did this.

                              After the upgrades, I found the print occasionally getting out of square. The pair of Z-axis motors were 2.4A beasts --- and so I hadn't replaced them in the first go round, but motors are pretty cheap ... so I ordered some more of the 1.5A ones. Then my Z-Axis problems got worse.

                              THE SCALE PROBLEM

                              So... here-we-are. The problem. Have you guessed yet? I think Phaedrux was dancing around it above. The original pair of Z-Axis motors were 0.9 degree motors. It would seem it is much harder to drive these fast. This is why the motor multiplier was 5104. I discovered this because after configuring my new motors to move more slowly, my "test cube" was 20x20x40 (and having trouble with layer adhesion).

                              Of course lightbulbs immediately lit (I didn't actually finish printing the cube --- I got to around 50% --- where it was 20cm-ish high ... and noted that it was only 50% finished and stopped the print). I cleared the bed and reached for the caliper --- 10 cm of commanded movement ... 20 cm of actual movement. Hrmmm.

                              This is the point I realized the situation. So I changed the multiplier to 2552 and adjusted the speed of that axis to 300mm/min (150 was working for the old config, so it made sense. 180 wasn't). I re-printed my test-cube. (If anyone's curious, with a nod to Star Trek's "Transport Test Cube", I have a 20mm cube that I use for testing the printer).

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