Moving a Z on a duet wifi
-
@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.
-
@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.
-
@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?
-
What is the next logical diagnostic step?
-
@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.
-
@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?
-
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...
-
@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.
-
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.
-
@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.
-
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.
-
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)?
-
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?
-
@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.
-
@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.
-
@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?
-
@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.
-
@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" ?
-
-
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:
- Are there much stricter limits on the difference in movement torque required of motors bonded in this way?
- Is there a difference in this requirement with parallel vs. serial arrangement?