U axis don't print
-
@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 10mmYes, 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 backwardsM350 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' -
@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!
-
@sebkritikel I've added a bit to the X and Y parameter description in https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M563_Define_or_remove_a_tool
I've added a similar note here: https://duet3d.dozuki.com/Wiki/ConfiguringMultipleIndependentXcarriagesCartesian?revisionid=HEAD#Section_Creating_a_tool_that_uses_more_than_one_carriage_to_print_multiple_copies_of_an_object
And described how to set up the mirror tool, and M579, here: https://duet3d.dozuki.com/Wiki/ConfiguringMultipleIndependentXcarriagesCartesian?revisionid=HEAD#Section_Sample_IDEX_tool_configuration
Ian
-
@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.
-
@noisettetbou You probably meant M584 and not M594.
-