Independent Z axis motor current bug?



  • I am having an issue with the remapped port for my second Z axis not obeying current settings. The motor gets screaming hot! The interesting thing is, in the gcode console reports it as being 1250 for U right after boot using the below config file. However, if I issue M906 U350, it will then report it as being whatever I set it to. Please help! I originally didn't have anything defined for U and wasn't using it as such, I thought I could just remap the second motor and still use it as Z, everything worked, however this current thing existed before I went and tried U.
    Charles

    M906
    Motor current (mA) - X:1200, Y:1200, Z:350, U:350, E:1250:350:1250:1250:1250:1250:1250:1250, idle factor 60%
    3:09:46 PM
    M906 U350
    3:09:32 PM
    M906
    Motor current (mA) - X:1200, Y:1200, Z:350, U:1250, E:1250:1250:1250:1250:1250:1250:1250:1250, idle factor 60%
    3:09:26 PM
    Connection established!

    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRap

    ;---- Set Axis Zeros ----
    M208 X0 Y-22 Z0 S1 ; Set axis minima

    ;---- Set bed size by travel ----
    M208 X224 Y202 Z180 S0 ; Set axis maxima
    M557 X13:205 Y13:205 S35
    M572 D0 S0.04
    ;---- Endstops ----
    M574 Y1 Z2 S3 ; Define active low and unused microswitches
    M574 X1 S0
    M915 X Y S-0 H400 R0

    ; --- Mapping for Independent Z Axis Screws ---
    M584 X0 Y1 Z2:4 U4
    M671 X15:180 Y95:95

    ;---- Drive Directions ----
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M569 P4 S0 ; Drive 3 goes forwards

    ;---- Stepper Setup ----
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X200 Y200 Z400 U400 E804 ; Set steps per mm

    ;---- Motor Speeds ----
    M566 X900 Y900 Z100 U100 E6600 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z1200 U1200 E2200 ; Set maximum speeds (mm/min)
    M201 X1500 Y1500 Z300 U300 E600 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z350 U350 E1250 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ;---- Hotend ----
    M143 S280 ; Set maximum heater temperature to 280C
    M305 P1 X200 ; PT100 For Hotend

    ;---- Bed ----
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0

    ;---- Tools ----
    M563 P0 D0 H1 ; 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
    T0 ; Set T0

    ;---- Fans ----

    ;---- Layer Fan ----
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ;---- Unused Fan ----
    M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ;---- Hotend Fan ----
    M106 P1 T45 H1

    ;---- Setup Probe ----
    M558 P8 Z1 H2 F75
    G31 X13 Y22 Z.56 P500 ; Offset
    ;---- Load config override ----
    M501



  • Well, defining the mapping for the first extruder seems to make it all work right. So now, big question, do I need to define U? or using M906 Z350:350 take care of it?
    M584 X0 Y1 Z2:4 U4 E3

    M906
    Motor current (mA) - X:1200, Y:1200, Z:350, U:350, E:1250, idle factor 60%



  • I'm a little bit confused by the "U" axis. If you want the Z axis to use drives 2 and 4 then M584 Z2:4 will work fine. You don't need a U axis for that. As it is, you seem to have defined X, Y, Z and U axes as well as assigning drive 4 to both Z and U which is a no no.

    If you simply have X, Y Z and one extruder, then M584 X0 Y1 X2:4 E3 will work fine. Put this early in the config.g, before any other drive related commands. IIRC all other other values work on a per axis or extruder basis.



  • Like I said, I couldn't figure out the current draw/motor heating up issue, that's when I tried using U, it has sense been removed once I found the issue was rectified by using E3 on the M584. Parts of it just didn't make sense that without the E3, that it shows my 350ma setting in the second extruder position.

    Motor current (mA) - X:1200, Y:1200, Z:350, U:350, E:1250:350:1250:1250:1250:1250:1250:1250, idle factor 60%



  • Sorry. Still struggling to understand - maybe I'm being thick. What do you have now in your config.g for M584? The one you posted above had X,Y Z and U but no "E". Then what do you have in your M906 (which must come after the M584)? And if you look at DWC, on the settings page then the "Machine properties" tab what are the reported motor currents?



  • M584 X0 Y1 Z2:4 E3. DWC shows the current right now, but there are still an issue in how it displays it, as you can see, 2:4 should match but they don't. The current/motor heating issue is solved.

    0 Yes 0 mm 224 mm 15 mm/s 100 mm/s 1500 mm/s² 1200 mA
    1 No -22 mm 202 mm 15 mm/s 100 mm/s 1500 mm/s² 1200 mA
    2 No 0 mm 180 mm 1.67 mm/s 20 mm/s 300 mm/s² 350 mA
    3 Yes n/a n/a 110 mm/s 36.67 mm/s 600 mm/s² 1250 mA
    4 Yes n/a n/a 2 mm/s 20 mm/s 250 mm/s² 350 mA



  • Still sorry. You say there is still an issue in how DWC displays current and that 2 and 4 "should match but they don't". To my eyes, what you posted shows the current for drive 2 to be 350mA and the current for drive 4 to be also 350mA.



  • I mean the other properties of the same axis should match i.e. accelerations, speeds, current is about the only thing that matches.



  • Ah, OK. Have you now taken all references to the U axis out of your config.g? Just wondering if you've still got some values in there as per the config,g that you posted which might be causing DWC to show the wrong values.



  • No, it was all removed after I learned about E3. I've posted the entire config below sans wifi setup

    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRap

    ;---- Set Axis Zeros ----
    M208 X0 Y-22 Z0 S1 ; Set axis minima

    ;---- Set bed size by travel ----
    M208 X224 Y202 Z180 S0 ; Set axis maxima
    M557 X13:205 Y13:205 S35
    M572 D0 S0.04
    ;---- Endstops ----
    M574 Y1 Z2 S3 ; Define active low and unused microswitches
    M574 X1 S0
    M915 X Y S-0 H400 R0
    M584 X0 Y1 Z2:4 E3
    M671 X15:180 Y95:95

    ;---- Drive Directions ----
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M569 P4 S0 ; Drive 3 goes forwards

    ;---- Stepper Setup ----
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X200 Y200 Z400 E804 ; Set steps per mm

    ;---- Motor Speeds ----
    M566 X900 Y900 Z100 E6600 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z1200 E2200 ; Set maximum speeds (mm/min)
    M201 X1500 Y1500 Z300 E600 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z350 E1250 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ;---- Hotend ----
    M143 S280 ; Set maximum heater temperature to 280C
    M305 P1 X200 ; PT100 For Hotend

    ;---- Bed ----
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0

    ;---- Tools ----
    M563 P0 D0 H1 ; 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
    T0 ; Set T0
    ;---- Fans ----

    ;---- Layer Fan ----
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ;---- Unused Fan ----
    M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ;---- Hotend Fan ----
    M106 P1 T45 H1

    ;---- Setup Probe ----
    M558 P8 Z1 H2 F75
    G31 X13 Y22 Z.56 P500 ; Offset
    ;---- Load config override ----
    M501


  • administrators

    From the description of M584 on the GCode wiki, https://duet3d.com/wiki/G-code#M584:_Set_drive_mapping:

    Assigning a drive using M584 does not remove its old assignment. Therefore, if you assign a drive that defaults to being an extruder drive, you should also assign the extruder drives explicitly as in the above example. Failure to do so may result in unexpected behaviour.



  • it certainly was unexpected! Now, what about the settings tab issue?



  • I'm wondering if you just need to clear the browser cache?



  • Was worth a shot, but a no go.



  • Are you using the latest firmware and web interface version?


  • administrators

    The left most column in the DWC machine Properties tab is currently labelled "Drive" with values 0, 1, 2…. But it should really be labelled "Axis" with values X, Y, Z, then any additional axes in the order you created them, then E0, E1....



  • I am using 1.20. David, 2:4 are my axis. It displays the current correctly, just nothing else. I don’t use the info for anything, just figure it would pull setting for what was mapped for those drive positions.


  • administrators

    Please post your current config.g file and what the Machine Properties page now displays.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.