U axis don't print



  • Hello,

    My U axis is homing well. The offset works. But when the print starts, U don't move when is alone or in idex mode (copy of X), same problem. X works well.
    I've got a Duet2 wifi+Duex5 with RRF3 (U is on driver 5). Home at center of bed.
    Where's the problem ?

    Config.g :

    M563 P0 D0 H1 F1 S"X" ; define tool X
    G10 P0 X0 Y0 Z0 R0 S0 ; set tool 0 axis offsets
    M563 P1 D1 H2 X5 F4 S"U" ; define tool U
    G10 P1 Y0 U0 Z0 R0 S0 ; set tool 1 axis offsets
    M563 P2 D0:1 H1:2 X0:5 F1:4 S"X+U" ; define tool X+U copy mode
    G10 P2 X0 Y0 U0 Z0 R0 S0 ; set tool 2 axis offsets
    M567 P2 E1:1 ; set mix ratio 100% on both extruders
    M563 P3 D0:1 H1:2 F1:4 X0:5 S"X<>U" ; define tool X+U mirror mode
    G10 P3 X0 Y0 U0 Z0 R0 S0 ; set tool 3 axis offsets

    Tpost1.g :

    M116 P2
    G0 X-170 U220
    M703 ; load filament config

    Thank you



  • What happens when you issue:

    T0
    G91 G1 X10 G90

    What moves?

    Same question, for each of T1, T2, T3. (The G1 command will stay identical)

    And a question: These two definitions are identical, except for the name and tool number. What would make one a copy and the other a mirror?
    M563 P2 D0:1 H1:2 X0:5 F1:4 S"X+U" ; define tool X+U copy mode
    M563 P3 D0:1 H1:2 F1:4 X0:5 S"X<>U" ; define tool X+U mirror mode

    And, please post your entire config.g



  • @Danal said in U axis don't print:

    G1 X10

    Thanks for your answer.

    T0 X moves 10mm
    T1 No move
    T2 X moves 10mm
    T3 X moves 10mm

    Yes, T2 is a copy and T3 is a mirror mode. I've put M579 U-1 ; set U mirror of X in my tpost3.g

    Here's my config.g

    ; General preferences
    M80 ; ATX ON
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Network
    M550 P"Big printer" ; Set machine name
    M552 S1 ; Connect network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M584 X0 Y1:2 U5 Z6:7:8:9 E3:4 ; Mapping drivers
    M569 P0 S1 ; Drive 0 goes backwards
    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 4 goes forwards
    M569 P5 S0 ; Drive 5 goes forwards
    M569 P6 S1 D3 ; Drive 6 goes backwards
    M569 P7 S1 D3 ; Drive 7 goes backwards
    M569 P8 S1 D3 ; Drive 8 goes backwards
    M569 P9 S1 D3 ; Drive 9 goes backwards

    M350 X16 Y16 U16 Z16 E16:16 I1 ; Configure microstepping with interpolation
    M92 X50.35 Y50.15 U50.35 Z805 E415:415 ; Set steps per mm
    M566 X720 Y720 U720 Z60 E360:360 P1 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 U12000 Z900 E3600:3600 ; Set maximum speeds (mm/min)
    M201 X2000 Y2000 U2000 Z80 E800:800 ; Set accelerations (mm/s^2)
    M906 X1600 Y2000 U1600 Z1600 E700:700 I20 ; Set motor currents (mA) and motor idle factor in per cent

    ; Axis Limits
    M208 X-350:330 Y-395:790 U-230:450 Z000:700 ; Set axis min limits

    ; Endstops
    M574 X1 S1 P"xstop" ; Set active X endstops
    M574 Y1 S1 P"ystop" ; Set active Y endstops
    M574 U2 S1 P"e0stop" ; Set active U endstops
    M574 Z0 ; M574 Z1 S2 ; Set endstops Z controlled by probe

    ; Runouts
    M591 D0 P1 C"e1_stop" S0 ; Set runout E0
    M591 D1 P1 C"duex.e2stop" S0 ; Set runout E1

    ; Z-Probe
    ; M558 P1 C"zprobe.in+zprobe.mod" H2.5 T9000 F900 ; Set Z probe type to unmodulated and the dive height + speeds
    ; G31 K0 P500 ; Set Z probe trigger value

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 A"Chauffage" ; 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
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.19622e-7 A"Chauffage" ; 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
    M143 H1 S360 ; set temperature limit for heater 1 to 360C
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M308 S2 P"e1temp" Y"thermistor" T100000 B3950 A"Chauffage" ; configure sensor 2 as thermistor on pin e1temp
    M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
    M143 H2 S320 ; set temperature limit for heater 2 to 300C
    M307 H2 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 S0 H-1 C"Fan X" ; set fan 1 value. Thermostatic control is turned off
    M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
    M106 P2 S0.5 H-1 C"Leds" ; set fan 2 value. Thermostatic control is turned off
    M950 F3 C"duex.fan3" Q500 ; create fan 3 on pin fan3 and set its frequency
    M106 P3 S1 H1 T50 ; set fan 3 value. Thermostatic control is turned on
    M950 F4 C"duex.fan4" Q500 ; create fan 4 on pin fan4 and set its frequency
    M106 P4 S0 H-1 C"Fan U" ; set fan 4 value. Thermostatic control is turned off
    M950 F5 C"duex.fan5" Q500 ; create fan 5 on pin fan5 and set its frequency
    M106 P5 S1 H-1 C"Boitier" ; set fan 5 value. Thermostatic control is turned off
    M950 F6 C"duex.fan6" Q500 ; create fan 6 on pin fan6 and set its frequency
    M106 P6 S1 H2 T50 ; set fan 6 value. Thermostatic control is turned on
    M950 F7 C"duex.pwm1" Q20000 ; create fan 7 on pin fan7 and set its frequency
    M106 P7 S0 H-1 L150 X170 C"Laser" ; set fan 7 value. Thermostatic control is turned off
    M950 F8 C"duex.fan8" Q500 ; create fan 8 on pin fan8 and set its frequency
    M106 P8 S1 H-1 C"Probe" ; set fan 8 value. Thermostatic control is turned off

    ; Tools
    M563 P0 D0 H1 F1 S"X" ; define tool X
    G10 P0 X0 Y0 Z0 R0 S0 ; set tool 0 axis offsets
    M563 P1 D1 H2 X5 F4 S"U" ; define tool U
    G10 P1 Y0 U0 Z0 R0 S0 ; set tool 1 axis offsets
    M563 P2 D0:1 H1:2 X5 F1:4 S"XU" ; define tool X+U copy mode
    G10 P2 X0 Y0 U0 Z0 R0 S0 ; set tool 2 axis offsets
    M567 P2 E1:1 ; set mix ratio 100% on both extruders
    M563 P3 D0:1 H1:2 F1:4 X0:5 S"XU" ; define tool X+U mirror mode
    G10 P3 X0 Y0 U0 Z0 R0 S0 ; set tool 3 axis offsets
    M567 P3 E1:1 ; set mix ratio 100% on both extruders

    ; Print settings
    M207 S1.0 F3600 Z0.2 ; Retraction
    M572 D0:1 S0.05 ; Pressure advance
    ; M593 F60 ; Dynamic acceleration
    ; M592 D0 A0.03 B0.01 ; Non linear advance
    ; M592 D1 A0.06 B0.03 ; Non linear advance

    ; CPU temp calibration
    M912 P0 S-11

    ; Automatic power saving
    M911 S22 R23 P"M913 X0 Y0 U800 G91 M83 G1 Z3 E-1 F1000" ; Set voltage thresholds and actions to run on power loss

    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory



  • @noisettetbou said in U axis don't print:

    I've put M579 U-1 ; set U mirror of X in my tpost3.g

    And, I'd assume, M579 U1 in tpost2.g (and maybe tpost0.g ?? couldn't hurt anything).



  • These are your current definitions, lined up where we can read them more easily:

    M584 X0 Y1:2 U5 Z6:7:8:9 E3:4 ; Mapping drivers
    
    M563 P0 D0 H1           F1    S"X" ; define tool X
    M563 P1 D1 H2     X5    F4    S"U" ; define tool U
    M563 P2 D0:1 H1:2 X5    F1:4  S"XU" ; define tool X+U copy mode
    M563 P3 D0:1 H1:2 X0:5  F1:4  S"XU" ; define tool X+U mirror mode
    

    Any reason why line 5 is X5 and line 6 is X0:5? The example in the documentation shows it more like X5. I'd set them both that way.



  • Hello. Thanks for yours answers.
    I've applied the changes but I've got the same result.
    In fact, U don't want to be mapped. All the rest works.
    I've tried various M563 in the console but no mapping.



  • I am going to recap some things here, because I have never done an IDEX and I am not 100% sure how they work.

    The X Y Z and E axis are defined, and the E, like any other cartesian printer, and if T0 is selected, and G1 commands are used, the X Y Z motors will respond like any other cartesian printer.

    In addition another axis is defined, usually U, and the motor driver for that physically drives the another carriage that travels just like the X part of the first carriage. It also has an extruder, defined in the tool. This can be used for copy, or mirror, prints.

    To use this, the printer would home the XYZ axis, which effectively positions the main carriage, and then home U, effectively positioning the alternate carriage in XYZ as well, and a few G1 moves might be needed to position the main and U carriage a set distance apart. After that, switch to the tool that is appropriate for copy or mirror, and print.

    Every Y and Z move affects both carriages equally, via the mechanics. Every X move is copied (or mirrored) by the firmware to the U motor.

    Correct so far?

    I happen to have a Duet 2 sitting here in a test setup for another project. Let me config it and do some experimentation.



  • OK, I think I've got it. Try this:

    M584 X0 Y1:2 U5 Z6:7:8:9 E3:4 ; Mapping drivers
    
    M563 P0 D0 H1           F1    S"X" ; define tool X
    M563 P1 D1 H2     X3    F4    S"U" ; define tool U
    M563 P2 D0:1 H1:2 X0:3  F1:4  S"XU" ; define tool X+U copy mode
    M563 P3 D0:1 H1:2 X0:3  F1:4  S"XU" ; define tool X+U mirror mode
    

    The "3" seems to be the logical number of the axis to be mapped. That is X=0,Y=1, Z=2,U=3, etc. And the lines that map the copy or mirro do seem to need both the 'base' axis and the 'extra' axis.

    Let me know if this works.



  • @Danal said in U axis don't print:

    OK, I think I've got it. Try this:

    M584 X0 Y1:2 U5 Z6:7:8:9 E3:4 ; Mapping drivers
    
    M563 P0 D0 H1           F1    S"X" ; define tool X
    M563 P1 D1 H2     X3    F4    S"U" ; define tool U
    M563 P2 D0:1 H1:2 X0:3  F1:4  S"XU" ; define tool X+U copy mode
    M563 P3 D0:1 H1:2 X0:3  F1:4  S"XU" ; define tool X+U mirror mode
    

    The "3" seems to be the logical number of the axis to be mapped. That is X=0,Y=1, Z=2,U=3, etc. And the lines that map the copy or mirro do seem to need both the 'base' axis and the 'extra' axis.

    Let me know if this works.

    I'm running an IDEX machine (albeit on RRF2) but this should do the trick.

    X3 instead of X5 is correct - X (0), Y (1), Z (2), U(3)

    I have not tried mirror mode. The documentation refers to M579 (Scale Cartesian axes), however where would the best place for that be? In the start GCODE of a print file? "M579 U-1" is needed to "scale" the U axis in the negative direction.



  • @Danal
    It's a good recap. Only the moves aren't not needed because the offsets can be defined by G10 Pxxx in config.g.
    I'm waiting your come back.
    Thanks again.



  • @sebkritikel
    It works ! Thanks a lot. It's strange I need to map the driver 5 with the number 3 but the essential is that it works.
    For mirror, I've put the M579 U-1 in tpost3.g and M579 U1 in tfree3.g for return to normal direction when T3 is unloaded.
    Thanks again.



  • @Danal it is no longer worth to search the solution, @sebkritikel found it. Thank you



  • @noisettetbou said in U axis don't print:

    @sebkritikel
    It works ! Thanks a lot. It's strange I need to map the driver 5 with the number 3 but the essential is that it works.
    For mirror, I've put the M579 U-1 in tpost3.g and M579 U1 in tfree3.g for return to normal direction when T3 is unloaded.
    Thanks again.

    Nice, glad to help! Good idea on M579 in tpost3.g and tfree3.g!

    To understand why it is X3 instead of X5, reread M584 https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping
    3 or 5 does not mean driver, it means axis. The axis value is from XYZUVWABC, with X starting at '0'


  • Moderator

    @sebkritikel @noisettetbou @Danal Thanks for your work on this thread! I really didn't have much of a clue where to start with IDEX. If you have any comments to update the IDEX page in the wiki here , or specifically this section , can you let me know and I'll update it?

    Actually, looking at the IDEX wiki page, most of the info seems to be there?! Perhaps just a bit about the X parameter mapping using the order XYZUVWABC, where X=0, Y=1, Z=2, U=3 etc?

    Ian



  • @droftarts said in U axis don't print:

    @sebkritikel @noisettetbou @Danal Thanks for your work on this thread! I really didn't have much of a clue where to start with IDEX. If you have any comments to update the IDEX page in the wiki here , or specifically this section , can you let me know and I'll update it?

    Actually, looking at the IDEX wiki page, most of the info seems to be there?! Perhaps just a bit about the X parameter mapping using the order XYZUVWABC, where X=0, Y=1, Z=2, U=3 etc?

    Ian

    I would agree that most of the info is there, but adding additional clarification on the X parameter mapping would be great, as well as a small section on M579 for mirror printing in the area discussing tool generation. Thanks!


  • Moderator



  • @sebkritikel OK. It's good to know the M594 means axis because I've got a project of printer with 2 X and 2 Y. Thank you



  • @droftarts It's cool you've got added this notes for the futures IDEX users. Thank you.


Log in to reply