Two seperate Z Axis Printer
-
Hello
I have a setup with two Printheads, which are mounted on seperate z Axis.
When toolchanging i want to move the printhead away. I have tool Change Scripts which rewire the Drives to the Z Axis. Everything works, except, after i run homeall.g the Extruder drive doesn't work anymore. It is enabled, but it doesn't turn.; homeall.g
; called to home all axes
G91 ; relative positioning
M98 P"homez.g"
G1 S1 X-600 Y-400 F4000 ; move quickly to X or Y endstop and stop there (first pass)
G1 S1 X-600 ; home X axis
G1 S1 Y-400 ; home Y axis
G1 X5 Y5 F4000 ; go back a few mm
G1 S1 X-10 F500 ; move slowly to X axis endstop once more (second pass)
G1 S1 Y-10 ; then move slowly to Y axis endstop
G90 ; absolute positioningI commented every Gcode out, to find, which is confusing the E Settings. It seems to be M98 P"homez.g", but when i run homez seperately everything works fine.
; homez.g
; called to home the Z axis
;
T-1 P0
M584 Z5 U6
M92 Z274.8969 U1099.5876 ;different Steps/mm since these are 2 different motors
G91 ; relative positioning
G1 S1 Z150 U150 F1800 ; move Z up until the endstop is triggeredG1 Z-10 U-10 F1800
G1 S1 Z15 U15 F600G90
M584 Z5:6 E3:4
M92 Z274.8969 E800:800 ; originally i didn't set E Steps here, i added them to try to find the error, but no difference
Do you guys have an idea, what could disrupt the Extruder settings when i call the homeall.g file?
Im running 2.04RC4 on duet2+duex5
Thanks in advance.
Cheers Alex -
I belive you have to home x and y first, then z. So move your M98 command right before G90 in homeall.g and try again.
-
@theBohnanza I see that you re-map the extruders to drives 3 and 4 at the end of your homez. So two questions. Why do you do that and does that mapping match what you have in your config.g? It'll probably be best if you post your config.g file because the issue might be related to something you have done there.
-
Hi,
thanks for your suggestions.
@aidar sadly this didn't do any difference. Still Thanks for your input.
@deckingman
As i stated in the comment i didn't set E originally. I added it to narrow down the issue. But no difference.My config is as follows.
; Configuration file for Duet WiFi (firmware version 1.21)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2 on Wed Jul 24 2019 11:33:21 GMT+0200 (Mitteleuropäische Sommerzeit); General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder movesM667 S1 ; Select CoreXY mode
; Network
M550 P"Peter" ; Set machine name
;M551 P"rep" ; Set password
M552 P10.13.12.11 S1 ; Enable network and set IP address
M553 P255.255.255.0 ; Set netmask
M554 P10.13.12.10 ; Set gateway
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Drives
;M569 P1 S1
;M569 P2 S1
M569 P3 S0 ; E0Physical drive 3 goes forwards
M569 P4 S0 ; E1
M569 P5 S0 ; Z0 Physical drive 5 goes forwards
M569 P6 S1 ; Z1 Physical drive 6 goes forwards
;M569 P7 S1
;M569 P8 S1
;M569 P9 S1
M569 P10 S0 R1 T4:4:8:7 ; Servo1 Physical drive goes forwards
M569 P11 S1 R1 T4:4:8:7 ; Servo2 Physical drive goes forwardsM584 X10 Y11 Z5 E3:4 U6 ; ; Apply custom drive mapping
;M350 X1 Y1 I0 ; Configure microstepping without interpolation
M350 Z16 E16:16 U16 I1 ;W16 A16 Configure microstepping with interpolation
M92 X474.8 Y474.8 Z266.65 U1099.5876 E800.00:800.00 ; Set steps per mm948.16
M566 X300.00 Y300.00 Z12.00 E120.00:120 U12 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z1500.00 E1200.00:1200 U1500 ; Set maximum speeds (mm/min)
M201 X9000.00 Y9000.00 Z500.00 E250.00:250 U500 ; Set accelerations (mm/s^2)
M906 Z1900.00 E1580:1580 U1900 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 U0 S1 ; Set axis minima
M208 X445 Y200 Z109,9 U97 S0 ; Set axis maxima; Endstops
M574 X1 Y1 Z2 U2 S1 ; Set active high endstops; Z-Probe
M558 P0 H5 F120 T6000 ; Disable Z probe but set dive height, probe speed and travel speed
M557 X15:10 Y15:195 S20 ; Define mesh grid; Heaters
M140 H-1 ; Disable heated bed
M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S260 ; Set temperature limit for heater 1 to 280C
M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 2
M143 H2 S260 ; Set temperature limit for heater 2 to 280C; Fans
M106 P0 S0 I0 F1 H-1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P1 S0 I0 F1 H-1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F1 H1 T5 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P3 S1 I0 F1 H2 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P4 S0 I0 F1 H-1 B0.3 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P5 S0 I0 F1 H-1 B0.3
M106 P6 S0 I0 F1 H-1 B0.3
M106 P7 S0 I0 F1 H-1 B0.3
M106 P8 S0 I0 F1 H-1 B0.3; Tools
M563 P0 D0 H1 F0 ; Define tool 0
G10 P0 X-265 Y-35 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0CM563 P1 D1 H2 ; Define tool 1
G10 P1 X-150 Y0 Z0 ; Set tool 1 axis offsets
G10 P1 R0 S0
; Automatic saving after power loss is not enabled; Custom settings are not configured
as i said. Everything works, including both tool Extruders.
I tested a bit further, and as it turns out, the Extruder settings survive homez.g when i set G90 after the M92 command.
Now it survives it, when i First home z, then x& Y whith seperate Gcodes. G28 Z, G28 X, G28 Y; but not when i first home x and Y and also not G28...
I don't get it.Thanks for your help.
Cheers,
Alex -
@theBohnanza A couple of things leap out at me. If you take a gander here https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping and in particular the order dependencies, you see that M584 must come before M667 especially when creating new axes. That might be the cause of your issues.
I'm not exactly sure what you are trying to do with this machine but it looks like you want two independent Z axis - Z and U. So I can't quite fathom the logic of assigning both drive 5 and 6 to the Z axis at the end of your homez yet in your config.g you have only one motor assigned to Z. If both motors should normally move in sync but home independently then they ought to be mapped together in config.g but split at the start of homing then re-mapped at the end. But as I said, I'm not sure what it is you are trying to do or how your machine is physically configured.
Finally, your firmware version is really old - you ought to consider updating it.
-
Hi, Thanks
Indeed the M667 is before M584 in my congig. i think theres a bug in the reprap configuration tool, since it was paced there by it.
I changed it.What i have build is a machine with 2 printheads, wich are moved up and down on seperate Z axis. The table moves in X and Y below them. There is a similar design called zidex, you can see it on youtube.
I now have the debug log and it turns out, that the Steps/mm get confused. Before the homeall routine planned steps for a couple mm Filament are in this case 16000 stepps planned. After it 20! This also explains, why the motor is "enabled" but doesn't run as stated in the first post.
I leave the log for you down below.
@deckingman what do you mean, my firmware version is really old? 2.04 RC4 was just released 12 days ago?https://github.com/dc42/RepRapFirmware/releases
Thanks
AlexBoard Info (M115)
serial: M115<\n>
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.04RC4 ELECTRONICS: Duet Ethernet 1.02 or later + DueX5 FIRMWARE_DATE: 2019-10-19b1<\n>
ok<\n>clean reset
heating up T0 and extruding 20mm with 60mm/shttp: G10 P0 S220<\n>
http: T0<\n>
Heater 1 switched on<\n>http: M120<\n>
http: M83<\n>
http: G1 E20 F3600<\n>
Transformed 0.00 0.00 0.00 0.00 to 0 0 0 0<\n>
http: M121<\n>
pr DDA: start=[0.000000 0.000000 0.000000 0.000000] end=[0.000000 0.000000 0.000000 0.000000] s=20.000000 vec=[0.000000 0.000000 0.000000 0.000000 1.000000]<\n>
a=250.000000 d=250.000000 reqv=20.000002 startv=0.000000 topv=20.000002 endv=0.000000<\n>
cks=1012500 sstcda=0 tstcddpdsc=1012500 exac=37500<\n>
DM0: dir=F steps=16000 next=1 rev=16001 interval=2964 2dtstc2diva=140625006656<\n>
accelStopStep=641 decelStartStep=15361 2c2mmsda=8789062 2c2mmsdd=8789062<\n>
mmPerStepTimesCdivtopSpeed=59999 fmsdmtstdca2=0 cc=0 acc=0<\n>home all routine
http: G28<\n>
http: G91 <\n>
http: M98 P"homez.g"<\n>
http: T-1 P0<\n>
http: M584 Z5 U6<\n>
Transformed 0.00 0.00 0.00 0.00 to 0 0 0 0<\n>
Transformed 0.00 0.00 0.00 0.00 to 0 0 0 0<\n>
http: M92 Z274.8969 U1099.5876<\n>
Transformed 0.00 0.00 0.00 0.00 to 0 0 0 0<\n>
Transformed 0.00 0.00 0.00 0.00 to 0 0 0 0<\n>
http: G91 <\n>
http: G1 S1 Z150 U150 F1800 <\n>
Transformed 0.00 0.00 150.00 150.00 to 0 0 41235 164938<\n>
pr DDA: s=212.132034 vec=[0.000000 0.000000 0.707107 0.707107 0.000000]<\n>
a=707.106812 d=707.106812 reqv=30.000002 startv=0.000000 topv=30.000002 endv=0.000000<\n>
cks=6668900 sstcda=0 tstcddpdsc=6668899 exac=19887<\n>
DMU: dir=F steps=164938 next=1 rev=164939 interval=1788 2dtstc2diva=527343679108<\n>
accelStopStep=495 decelStartStep=164444 2c2mmsda=3197223 2c2mmsdd=3197223<\n>
mmPerStepTimesCdivtopSpeed=41156 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMZ: dir=F steps=41235 next=1 rev=41236 interval=3576 2dtstc2diva=527343679108<\n>
accelStopStep=124 decelStartStep=41112 2c2mmsda=12788740 2c2mmsdd=12788740<\n>
mmPerStepTimesCdivtopSpeed=164622 fmsdmtstdca2=0 cc=0 acc=0<\n>
Forward transformed 0 0 29964 to 0.00 0.00 109.00<\n>
http: G1 Z-10 U-10 F1800<\n>
Transformed 0.00 0.00 99.00 87.00 to 0 0 27215 95664<\n>
http: G1 S1 Z15 U15 F600<\n>
Transformed 0.00 0.00 114.00 102.00 to 0 0 31338 112158<\n>
pr DDA: start=[0.000000 0.000000 109.000862 97.000000] end=[0.000000 0.000000 99.000862 87.000000] s=14.142136 vec=[0.000000 0.000000 -0.707107 -0.707107 0.000000]<\n>
a=707.106750 d=707.106750 reqv=30.000000 startv=0.000000 topv=30.000000 endv=0.141421<\n>
cks=481529 sstcda=0 tstcddpdsc=481716 exac=19887<\n>
DMU: dir=B steps=10996 next=1 rev=10997 interval=1788 2dtstc2diva=35156225668<\n>
accelStopStep=495 decelStartStep=10502 2c2mmsda=3197185 2c2mmsdd=3197185<\n>
mmPerStepTimesCdivtopSpeed=41155 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMZ: dir=B steps=2749 next=1 rev=2750 interval=3576 2dtstc2diva=35156225668<\n>
accelStopStep=124 decelStartStep=2626 2c2mmsda=12788742 2c2mmsdd=12788742<\n>
mmPerStepTimesCdivtopSpeed=164622 fmsdmtstdca2=0 cc=0 acc=0<\n>
Forward transformed 0 0 29964 to 0.00 0.00 109.00<\n>
pr DDA: s=21.213203 vec=[0.000000 0.000000 0.707107 0.707107 0.000000]<\n>
a=707.106812 d=707.106812 reqv=10.000001 startv=0.141421 topv=10.000001 endv=0.000000<\n>
cks=2001809 sstcda=187 tstcddpdsc=2001809 exac=6442<\n>
DMU: dir=F steps=16494 next=1 rev=16495 interval=1610 2dtstc2diva=52734364516<\n>
accelStopStep=55 decelStartStep=16440 2c2mmsda=3197185 2c2mmsdd=3197185<\n>
mmPerStepTimesCdivtopSpeed=123467 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMZ: dir=F steps=4123 next=1 rev=4124 interval=3394 2dtstc2diva=52734364516<\n>
accelStopStep=14 decelStartStep=4110 2c2mmsda=12790292 2c2mmsdd=12790292<\n>
mmPerStepTimesCdivtopSpeed=493928 fmsdmtstdca2=0 cc=0 acc=0<\n>
Forward transformed 0 0 29964 to 0.00 0.00 109.00<\n>
http: M584 X10 Y11 Z5:6 E3:4<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29964 106660<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29964 106660<\n>
http: M92 Z274.8969 E800:800<\n>Transformed 0.00 0.00 109.00 97.00 to 0 0 29964 106660<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29964 106660<\n>
http: G90<\n>
http: G1 S1 X-600 Y-400 F4000 <\n>
Transformed -600.00 -400.00 109.00 97.00 to -474800 -94960 29964 106660<\n>
pr DDA: s=721.110229 vec=[-0.832050 -0.554700 0.000000 0.000000 0.000000]<\n>
a=6489.992676 d=6489.992676 reqv=66.666672 startv=0.000000 topv=66.666672 endv=0.000000<\n>
cks=10150242 sstcda=0 tstcddpdsc=10150242 exac=4815<\n>
DMX: dir=B steps=474800 next=1 rev=474801 interval=641 2dtstc2diva=195312471428<\n>
accelStopStep=226 decelStartStep=474575 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=21870 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMY: dir=B steps=94960 next=1 rev=94961 interval=1434 2dtstc2diva=195312471428<\n>
accelStopStep=46 decelStartStep=94915 2c2mmsda=2056786 2c2mmsdd=2056786<\n>
mmPerStepTimesCdivtopSpeed=109351 fmsdmtstdca2=0 cc=0 acc=0<\n>
http: G1 S1 X-600 <\n>
Transformed -600.00 0.00 109.00 97.00 to -284880 -284880 29964 106660<\n>
pr DDA: s=600.000000 vec=[-1.000000 0.000000 0.000000 0.000000 0.000000]<\n>
a=9000.000000 d=9000.000000 reqv=66.666672 startv=0.000000 topv=66.666672 endv=0.000000<\n>
cks=8444444 sstcda=0 tstcddpdsc=8444444 exac=3472<\n>
DMY: dir=B steps=284880 next=1 rev=284881 interval=641 2dtstc2diva=117187503104<\n>
accelStopStep=118 decelStartStep=284763 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=30328 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMX: dir=B steps=284880 next=1 rev=284881 interval=641 2dtstc2diva=117187503104<\n>
accelStopStep=118 decelStartStep=284763 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=30328 fmsdmtstdca2=0 cc=0 acc=0<\n>
http: G1 S1 Y-400 <\n>
Transformed 0.00 -400.00 109.00 97.00 to -189920 189920 29964 106660<\n>
pr DDA: s=400.000000 vec=[0.000000 -1.000000 0.000000 0.000000 0.000000]<\n>
a=9000.000000 d=9000.000000 reqv=66.666672 startv=0.000000 topv=66.666672 endv=0.000000<\n>
cks=5631944 sstcda=0 tstcddpdsc=5631943 exac=3472<\n>
DMY: dir=F steps=189920 next=1 rev=189921 interval=641 2dtstc2diva=78124991488<\n>
accelStopStep=118 decelStartStep=189803 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=30328 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMX: dir=B steps=189920 next=1 rev=189921 interval=641 2dtstc2diva=78124991488<\n>
accelStopStep=118 decelStartStep=189803 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=30328 fmsdmtstdca2=0 cc=0 acc=0<\n>
http: G1 X5 Y5 F4000 <\n>
Transformed 5.00 5.00 109.00 97.00 to 4748 0 29964 106660<\n>
http: G1 S1 X-10 F500 <\n>
Transformed -5.00 5.00 109.00 97.00 to 0 -4748 29964 106660<\n>
pr DDA: start=[-0.000000 -0.000000 109.000862 97.000000] end=[5.000000 5.000000 109.000862 97.000000] s=7.071068 vec=[0.707107 0.707107 0.000000 0.000000 0.000000]<\n>
a=6363.960449 d=6363.960449 reqv=66.666664 startv=0.000000 topv=66.666664 endv=2.928932<\n>
cks=108835 sstcda=0 tstcddpdsc=109266 exac=4910<\n>
DMX: dir=F steps=4748 next=1 rev=4749 interval=641 2dtstc2diva=1953293072<\n>
accelStopStep=235 decelStartStep=4514 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=21445 fmsdmtstdca2=0 cc=0 acc=0<\n>
pr DDA: s=10.000000 vec=[-1.000000 0.000000 0.000000 0.000000 0.000000]<\n>
a=9000.000000 d=9000.000000 reqv=8.333334 startv=2.928932 topv=8.333334 endv=0.000000<\n>
cks=1125616 sstcda=305 tstcddpdsc=1125616 exac=182<\n>
DMY: dir=B steps=4748 next=1 rev=4749 interval=405 2dtstc2diva=1953124880<\n>
accelStopStep=2 decelStartStep=4747 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=242628 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMX: dir=B steps=4748 next=1 rev=4749 interval=405 2dtstc2diva=1953124880<\n>
accelStopStep=2 decelStartStep=4747 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=242628 fmsdmtstdca2=0 cc=0 acc=0<\n>
http: G1 S1 Y-10 <\n>
Transformed 0.00 -5.00 109.00 97.00 to -2374 2374 29964 106660<\n>
pr DDA: s=10.000000 vec=[0.000000 -1.000000 0.000000 0.000000 0.000000]<\n>a=9000.000000 d=9000.000000 reqv=8.333334 startv=0.000000 topv=8.333334 endv=0.000000<\n>
cks=1125868 sstcda=0 tstcddpdsc=1125867 exac=434<\n>
DMY: dir=F steps=4748 next=1 rev=4749 interval=641 2dtstc2diva=1953124880<\n>
accelStopStep=2 decelStartStep=4747 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=242628 fmsdmtstdca2=0 cc=0 acc=0<\n>
DMX: dir=B steps=4748 next=1 rev=4749 interval=641 2dtstc2diva=1953124880<\n>
accelStopStep=2 decelStartStep=4747 2c2mmsda=411357 2c2mmsdd=411357<\n>
mmPerStepTimesCdivtopSpeed=242628 fmsdmtstdca2=0 cc=0 acc=0<\n> -
extruding 20mm with 60mm/s AFTER home all routine
(tool select & heatup)
http: T0<\n>
http: M584 Z5<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29964 106660<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29964 106660<\n>
http: M92 Z266.65 steps left<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29065 106660<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29065 106660<\n>
http: M116 P0<\n>
(extrude)
http: M120<\n>
http: M83<\n>
http: G1 E20 F3600<\n>
Transformed 0.00 0.00 109.00 97.00 to 0 0 29065 106660<\n>
http: M121<\n>
pr DDA: start=[0.000000 0.000000 109.000862 97.000000] end=[0.000000 0.000000 109.000862 97.000000] s=20.000000 vec=[0.000000 0.000000 0.000000 0.000000 1.000000]<\n>
a=250.000000 d=250.000000 reqv=20.000002 startv=0.000000 topv=20.000002 endv=0.000000<\n>
cks=1012500 sstcda=0 tstcddpdsc=1012500 exac=37500<\n>
DM0: dir=F steps=20 next=1 rev=21 interval=84374 2dtstc2diva=140625006656<\n>
accelStopStep=1 decelStartStep=20 2c2mmsda=7031250000 2c2mmsdd=7031250000<\n>
mmPerStepTimesCdivtopSpeed=47999996 fmsdmtstdca2=0 cc=0 acc=0<\n> -
@theBohnanza said in Two seperate Z Axis Printer:
@deckingman what do you mean, my firmware version is really old? 2.04 RC4 was just released 12 days ago?https://github.com/dc42/RepRapFirmware/releases
My bad - I was just going by what you have at the top of your config.g - quote
"Configuration file for Duet WiFi (firmware version 1.21)".
I should have read your OP properly - sorry.
-
One thing that strikes me is that you redefine steps/mm in your
homez.g
. As long as they are not different per stepper to what you define inconfig.g
there is no need to do that again. Firmware will remember the steps/mm per driver even if you combine or split several drivers to/from an axis. Can you comment that part out and see if it still confuses the steps/mm for the extruder? -
Hi,
@deckingman ah, i see. Didn't see the comment in the gcode file.@wilriker Tried it, sadly still no difference
By now i have commented each line of gcode out once to find the source of error, no further improvement since.I have to overwrite the steps, since i have to remap Z between Drive 5 and 6 with each toolchange, wich works flawlessly btw.
Stupidly additionally to the more complicated settings in duet i have chosen to try 2 differently geared steppers for the two z axis, which is why i have to set Z Steps/mm.I have added a M92 command at the end of homeall.g to see, if it would change something- it didn't.
@dc42 do you have an idea?
Thanks guys!
Alex