2nd extruder problem
-
I'm converting a cartesian printer from RAMPS to Duet and am now having an issue with the 2nd extruder drive in that I cannot get it to work. The stepper works if moved to the Duet board connector for the first drive so I'm beginning to wonder if I have a board fault but it is more likely that I'm doing something wrong as this is my first dual extruder on Duet.
Please can anyone see anything wrong in the config.g file below (I'm also happy to receive comments about other aspects of the config.g as I'm a relative beginner to the Duet and completely new to using it on a cartesian and with two extruders!).
[[language]] ; Configuration file for Duet WiFi (firmware version 1.20 or newer) ; executed by the firmware on start-up ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Repetier M911 S21 R22 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Configure automatic saving on power loss M208 X-19 Y-4 Z-0.2 S1 ; Set axis minima M208 X240 Y247 Z193 S0 ; Set axis maxima ; Endstops M574 X1 Y2 S1 ; Set active high endstops M574 Z1 S2 ; Set endstops controlled by probe M558 P1 H6 F300 T8000 ; Set Z probe type to unmodulated and the dive height + speeds G31 Y21 X9 P500 Z2.27 ; Set Z probe trigger value, offset and trigger height M557 X22:220 Y25:210 S20 ; Define mesh grid ; Drives M569 P0 S0 ; Drive 0 goes backwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S0 ; Drive 2 goes backwards M569 P3 S0 ; Drive 3 goes backwards M569 P4 S0 ; Drive 4 goes backwards M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation M92 X80 Y80 Z1600 E2594:E2630 ; Set steps per mm M566 X480 Y480 Z60 E399.6:399.6 ; Set maximum instantaneous speed changes (mm/min) M203 X10000 Y10000 Z800 E1200:1200 ; Set maximum speeds (mm/min) M201 X2000 Y2000 Z250 E500:500 ; Set accelerations (mm/s^2) M906 X800 Y1000 Z800 E800:800 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Heaters M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning) M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C M305 P2 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 2 M143 H2 S280 ; Set temperature limit for heater 2 to 280C ; Tools M563 P0 D0 H1 ; Define tool 0 G10 P0 X-9 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R200 S210 ; Set initial tool 0 active (S) and standby (R) temperatures M563 P1 D1 H2 ; Define tool 1 G10 P1 X9 Y0 Z0 ; Set tool 1 axis offsets G10 P1 R200 S210 ; Set initial tool 1 active and standby temperatures ; Network M550 PDuet_I3 ; Set machine name M552 S1 ; Enable network M586 P0 S1 ; Enable HTTP M586 P1 S1 ; Enable FTP M586 P2 S0 ; Disable Telnet ; Fans M106 P0 S0.0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H1:2 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1:2 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Custom settings M307 H7 A-1 C-1 D-1 ; Set Heater 7 for PWM for LED driver. Use pin 16 on expansion header M42 P7 S35 ; Using heater 7 for PWM, set output at 25 / 255 (PWM value of 0 = LEDs off, 255 full on) M376 H10 ; set bed compensation taper (H10 means taper over 10mm) M207 S1.0 F3600 T3600 Z0.5 ; Set FW retraction length and speed" 1.0 retract, 60mm/s, unretract 60mm/s, 0.5mm lift. M200 D1.75 ; set all extruder filament diameters to 1.75mm G29 S1 ; Load previously set bed map ; Miscellaneous T0 ; Select first tool ```; Any help and comments gratefully received. Thanks. Richard
-
Are you sending T1 before trying to use the second extruder? Are you either heating tool 1 up to temperature, or using M302 P1 to allow cold extrusion?
Check the GCode Console page of the web interface for error messages. Also send M906 without parameters and check it reports the correct motor current for each extruder. Send M584 and check it reports that the extruder drives are allocated to drivers 3:4 before any other drivers.
You can also run M122 after attemptimg extrusion to check the status of the stepper drivers.
HTH David
-
Thanks, David. I've set the standby temps of both extruders to 208° and the active to 210° so I can test without cold extrusion problems so I don't think it is that.
I'm using T0 and T1 to switch between the extruders, yes. I've also tried selecting the active tool on DWC.
I hadn't yet found those extra commands - I'll go and try them.
Richard
-
That all looks OK to me but hopefully you can see something wrong?
M584 Driver assignments: X0 Y1 Z2 E3:4:5:6:7:8:9:10:11, 3 axes visible M906 Motor current (mA) - X:800, Y:1000, Z:800, E:800:800:0:0:0:0:0:0:0, idle factor 30%
And this is M122 after extruding on T0:
M122 === Diagnostics === Used output buffers: 3 of 32 (14 max) === Platform === RepRapFirmware for Duet WiFi version 1.20 running on Duet WiFi 1.0 Board ID: 08DGM-95BLL-N6PSS-6JKD2-3SN6K-1JUBJ Static ram used: 15448 Dynamic ram used: 99256 Recycled dynamic ram: 4080 Stack ram used: 1392 current, 4504 maximum Never used ram: 7784 Last reset 00:06:45 ago, cause: software Last software reset at 2018-01-28 19:37, reason: User, spinning module GCodes, available RAM 7784 bytes (slot 3) Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0041f000, BFAR 0xe000ed38, SP 0xffffffff Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms MCU temperature: min 39.5, current 39.9, max 40.0 Supply voltage: min 23.9, current 24.0, max 24.5, under voltage events: 0, over voltage events: 0 Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max 0/152 Driver 4: standstill, SG min/max not available Date/time: 1970-01-01 00:00:00 Cache data hit count 1578477123 Slowest main loop (seconds): 0.158082; fastest: 0.000110 === Move === MaxReps: 1, StepErrors: 0, FreeDm: 240, MinFreeDm 239, MaxWait: 40020ms, Underruns: 0, 0 Scheduled moves: 20, completed moves: 20 Bed compensation in use: mesh Bed probe heights: 0.000 0.000 0.000 0.000 0.000 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 1 is on, I-accum = 0.5 === GCodes === Segments left: 0 Stack records: 1 allocated, 0 in use Movement lock held by null http is idle in state(s) 0 telnet is idle in state(s) 0 file is idle in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.20 WiFi MAC address 2c:3a:e8:0b:13:f9 WiFi Vcc 3.32, reset reason Turned on by main processor WiFi flash size 4194304, free heap 17096 WiFi IP address 192.168.0.243 WiFi signal strength -48dBm, reconnections 0, sleep mode modem HTTP sessions: 1 of 8 Socket states: 2 0 0 0 0 0 0 0 Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
And the same after extruding on T1
19:46:36M122 === Diagnostics === Used output buffers: 3 of 32 (14 max) === Platform === RepRapFirmware for Duet WiFi version 1.20 running on Duet WiFi 1.0 Board ID: 08DGM-95BLL-N6PSS-6JKD2-3SN6K-1JUBJ Static ram used: 15448 Dynamic ram used: 99256 Recycled dynamic ram: 4080 Stack ram used: 1392 current, 4504 maximum Never used ram: 7784 Last reset 00:08:49 ago, cause: software Last software reset at 2018-01-28 19:37, reason: User, spinning module GCodes, available RAM 7784 bytes (slot 3) Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0041f000, BFAR 0xe000ed38, SP 0xffffffff Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms MCU temperature: min 39.5, current 39.8, max 40.1 Supply voltage: min 23.9, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0 Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 1970-01-01 00:00:00 Cache data hit count 2063884012 Slowest main loop (seconds): 0.157103; fastest: 0.000110 === Move === MaxReps: 1, StepErrors: 0, FreeDm: 240, MinFreeDm 239, MaxWait: 99278ms, Underruns: 0, 0 Scheduled moves: 21, completed moves: 21 Bed compensation in use: mesh Bed probe heights: 0.000 0.000 0.000 0.000 0.000 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 2 is on, I-accum = 0.4 === GCodes === Segments left: 0 Stack records: 1 allocated, 0 in use Movement lock held by null http is idle in state(s) 0 telnet is idle in state(s) 0 file is idle in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.20 WiFi MAC address 2c:3a:e8:0b:13:f9 WiFi Vcc 3.32, reset reason Turned on by main processor WiFi flash size 4194304, free heap 17096 WiFi IP address 192.168.0.243 WiFi signal strength -48dBm, reconnections 0, sleep mode modem HTTP sessions: 1 of 8 Socket states: 2 0 0 0 0 0 0 0 Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
With cabling to the two steppers normal (T0 = stepper 3 and T1 = stepper 4):
-
When I select T1 and try to extrude I can hear a tone change from the allocated stepper (4) but no movement (with no load).
-
When I select T0 and try to extrude the allocated stepper (3) moves and extrudes
If I swap the cables to stepper 3 & 4, (T0 = stepper 4, T1 = stepper 3):
-
T0 and extrude = no movement on stepper 3
-
T1 and extrude = movement on stepper 4
Do you have any further suggestions, please?
Thanks.
Richard
-
-
Are you saying that one extruder motor + cable works regardless of whether you connect it to the E0 or E1 motor output on the Duet, and the other one never works? If so then you probably have a bad connection in the cable of the one that doesn't work.
-
No, the reverse - both cable and motor assemblies work when connected to one channel (Drive 3 / E0) and both fail to move when connected to Drive 4 / E1.
That would seem to indicate to me that there is either a hardware fault on the board or a configuration gcode error of some type.
Am I missing something in the config, or does it look like hardware?
Thanks.
Richard
-
The config.g file looks OK to me, so I suspect a faulty driver chip. One last thing to check: add the following command after the M569 commands in config.g:
M584 X0 Y1 Z2
E3:4E4:3This swaps over the extruder drivers in firmware, so extruding on tool 0 (D0) should turn the extruder connected to driver 4 (labelled E1) instead of driver 3 (labelled E0), and extruding on tool 1 (D1) should turn the extruder connected to E0. Please try it and see whether the problem is still with the extruder connected to driver 4 (E1).
-
Thanks, David. Did you mean M584 X0 Y1 Z2 E4:3, rather than M584 X0 Y1 Z2 E3:4?
The left hand motor is attached to Drive 3 / E0 and the the right hand motor attached to Drive 4 / E1 and I used cold extrude this time.
Using M584 X0 Y1 Z2 E3:4:
-
T0 & extrude - left hand motor turns
-
T1 & extrude - right hand motor 'kicks' and buzzes but does not turn
With M584 X0 Y1 Z2 E4:3:
-
T0 & extrude - right hand motor turns
-
T1 & extrude - left hand motor 'kicks' and buzzes but does not turn
Cables were not moved during this test.
That would seem to show that the driver chip is OK, wouldn't it? I wasn't expecting that and it now would appear to point back to config / gcode errors.
Richard
-
-
Yes, that suggests the driver chip is OK.
I just spotted a problem:
M92 X80 Y80 Z1600 E2594:E2630
should be:
M92 X80 Y80 Z1600 E2594:2630
So you were getting a default or strange steps/mm value for your D1 extruder.
-
Fantastic, David, thank you! That worked. Not sure how I managed that and I can't believe how many hours of confusion that cost me - and you.
Thanks again.
(edited to add) The support you provide is awesome. Thank you!)
Richard