Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4
-
Hi evryone,
I'm new to the Duet3D world and it's firmware, I have an Ender 5 Plus and a Artillery Sidewinder X1.
The Ender 5 has been running on a SKR 1.4 with TMC5160 drivers for most of the year now and I have a Duet3 6hc motherboard that has been laying around for about 3 months now as I've hear some many good thing about the hardware and the software but never got around to install it but now the time has come.
Now being a completely noobs on this hardware and software, I want to make sure I'm doing things the right way so I don't kill the motherboard, I see that a more detailed wiring documentation is yet to come regardless I think I've figure most of the cabling but I do have some questions just to confirm I'm doing things the right way as the Duet3 6hc seems to be way different from the other Duet cards; I apologize if some of my questions seem silly but as said I'm a complete noob on this hardware:
1- Is there a particular way to plug the stepper motors on to the board?
2- The endpoint sensors are meant to be plug on the IO_X section of the board as well as the BL Touch?
3- Temp_X is where the thermistors should be plugged in?
4- where should I be plugin the fans for the board, the hot-end and the pieces being printed?
5- Is there a particular way to plug a Paneldue on this motherboard?
6- As the Ender 5 plus has dual Z motors how do you define that on the web configuration tool as I've only been able to add a second extruder(E1) but not and additional motor (Z1)?
7- A finally, is there anything that needs to be set in the confiuguration tool when using a direct drive?
Again apologies if my questions are silly but as said, I just want to get things right and not blow up the card and I'm yet to find out if it has the shortage issue.
Thanks in advance for any response that you would provide to get me on the right path and complete the installation without any issues it would be highly appreciated.
-
@aldiallo welcome on board!
have you seen the wiring diagram here:
https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Wiring_Diagram#Section_Revision_1_0_and_1_Num_01-
The motors should be wired with the coils in pairs, so 1 coil on pin 1 and 2, with the other pair on pin 3 and 4. This is fairly standard but since you have to re-terminate the cbales with the JST plugs you can make 100% sure with a multimeter. The motors will have a low resistance between two wires on the same coild and no connection between wirtes on different coils.
-
Yes, endstops are wired to the IO headers as well as the BL touch. The BL touch needs to go to a IO connector with PWM capability. This is listed on the hardware overview page: https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Hardware_Overview#Section_IO so IO_4,5 and 7 for PWM out.
-
Yes, you will define which thermistor maps to which heater as part of the config
-
There are two banks of low current outputs that are suitable for fans. OUT_4,5,6 make it easy to connect 3 or 4 wire fans (although two wire cans can be connected) and OUT_7,8,9 are for 2 wire fans. Each of those banks can be set to either VIN or 12V depending on what your fans need.
-
the easiest way is to plug it into the panelDue header with a ribbon cable. you can also plug it into IO_0 with the 4 wire cable
-
The config tool does not have multiple Z motors as an option yet. Just set it up for 1 Z motor and use the M584 command to add the second motor in config.g
-
there is nothing specific to a direct drive extruder vs a bowden extruder. set the correct steps/mm etc
-
-
Many thanks for the prompt response, I now have what I need to start working on the wiring.
Thnaks again T3P3Tony.
-
Hello,
I've began my wiring, I forgot to ask about the filament sensor wiring, I'm assuming that is also to be wired to the IO_X section and declared on the config tool, correct??
Thanks in advance
-
Ok, now after a few hours, I've completed the wiring and I've plug turned on the board, mus admit that I'm a bit confused.
I've managed to load the config file I downloaded from the configurator website and that seems to have load correctly, that been said, I'm getting some errors:
G28: Error failed to enable endstops, also: Error: Heater 0 fault: temperature rising much more slowly than the expected 1.8°C/sec, and also this one: Warning: 12V under-voltage event (9.5V)
I guess this is due to bad cabling on my side, so trying to troubleshoot.
I also ran teh M584 command and got this on the console window but not seeing them :
M584
Driver assignments: X0.0 Y0.1 Z0.2 E0.4, 3 axes visibleany ideas?
thanks
-
@aldiallo some photos of your board cabling and the config.g will help us troubleshoot (-:
-
Hi @oliof,
Sure thing, here you go fot the config.g file, I'll upload some pics shortly:
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Oct 04 2020 17:43:54 GMT+0200 (heure d’été d’Europe centrale); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Ender 5 Plus" ; set printer name; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards
M584 X0.0 Y0.1 Z0.2 E0.4 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E130.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X350 Y350 Z400 S0 ; set axis maxima; Endstops
M574 X1 S1 P"io0.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y1 S1 P"io1.in" ; configure active-high endstop for low end on Y via pin io1.in
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"io4.out" ; create servo pin 0 for BLTouch
M558 P9 C"^io4.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X15:350 Y15:350 S20 ; define mesh grid; Heaters
M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P1 S1 H0 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; 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; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue -
@aldiallo said in Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4:
G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
this is missing the offset of the probe
@aldiallo said in Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4:
M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0did you swap temp1 and 0? is this on purpose?
B4138 is the default and must be adjusted for your thermistors used. -
-
You need to provide power in to the OUT 0 power in to be able to use OUT 0
-
Hi @Veti
Concerning the BLTouch, that's strange as I set it to the default 2,5 mm.
Concerning temp0 and temp1, I have the bed thermistor on temp1 and the hot-end on temp0; should it be the other way around?
I'm using the stock ender 5 plus thermistors, I believe that in the case of the hot-end it should be a 100k one from I've found in the web, but no clue on what value to use for the bed, should I be using the same as the hot-end?
thanks
-
Hi @jay_s_uk,
Oh, ok, I thought that the bed will be taking automatically power from the power in and feed OUT 0.
thanks
-
@aldiallo said in Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4:
Concerning the BLTouch, that's strange as I set it to the default 2,5 mm.
you position of the bltouch is the same as the nozzle, this is physical impossible. you need to change the x and y value
Concerning temp0 and temp1, I have the bed thermistor on temp1 and the hot-end on temp0; should it be the other way around?
ok just checking that is was done on purpose
I'm using the stock ender 5 plus thermistors, I believe that in the case of the hot-end it should be a 100k one from I've found in the web, but no clue on what value to use for the bed.
try the values from the ender 3
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+2:+Configuration/38
Set the values for both Thermistor values as: R25 – 98801, B – 4185 -
@Veti said in Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4:
you position of the bltouch is the same as the nozzle, this is physical impossible. you need to change the x and y value
Sorry, I got you wrong, the 2,5 mm I was reffering was the trigger height which I left at default, I'll go ahead an make the changes to the X and Y offset, thanks
ok just checking that is was done on purpose
try the values from the ender 3
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+2:+Configuration/38
Set the values for both Thermistor values as: R25 – 98801, B – 4185Will check that, thanks, will also refer back to the marlin config, which I should have done in the first place
thanks again
-
Hi everyone,
Making some progress here, manage to get a few things working but others are not working properly or not working at all.
X and Y homing ok but on the Z axis I only have one motor working, I did used the M584 command as advised but is not seem to be taking it into account, so when I try to home Z, I must do the 2nd motor manually; this is what I sent as command: M584 X0 Y1 Z2:3 E4
The Bed is not heating, I guess the wiring is not correct; not sure how it should be done on this board, I previously had cable the 2 cables going to the bed to the out 0 but that wasn't work so moved the cable to the out 0 Power In, but I still have the issue.
I'm also getting this error and not sure what's causing it: Warning: 12V under-voltage event (9.4V), might be related to the bed not heating up issue.
Have 3 fans, one for the board on out 4 working fine but the other 2 on Out 7 and 8 for the part cooling fan and the Hot end fan, both are turning, but this I assume is due to the temperature not being reached.
Also, where should the filament runout sensor should be plugged and how must one go to declare it as such? I'm guessing that the IO_x ports are my best bet.
Here's my config.g file, please let me know what errors do you see that I'm overlooking, thanks
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Oct 04 2020 22:37:40 GMT+0200 (heure d’été d’Europe centrale); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Ender 5 Plus" ; set printer name; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0.0 S0 ; physical drive 0.0 goes backwards
M569 P0.1 S0 ; physical drive 0.1 goes backwards
M569 P0.2 S0 ; physical drive 0.2 goes backwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards
M584 X0.0 Y0.1 Z0.2:3 E0.4 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z800.00 E130.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X350 Y350 Z400 S0 ; set axis maxima; Endstops
M574 X2 S1 P"io0.in" ; configure active-high endstop for high end on X via pin io0.in
M574 Y2 S1 P"io1.in" ; configure active-high endstop for high end on Y via pin io1.in
M574 Z2 S2 ; configure Z-probe endstop for high end on Z; Z-Probe
M950 S0 C"io4.out" ; create servo pin 0 for BLTouch
M558 P9 C"^io4.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X-42 Y-20 Z3.3 ; set Z probe trigger value, offset and trigger height
M557 X15:350 Y15:350 S20 ; define mesh grid; Heaters
M308 S0 P"temp1" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin temp1
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp0" Y"thermistor" T100000 B4092 ; configure sensor 1 as thermistor on pin temp0
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 C"Part cooling fan" S0 H1 T45 ; set fan 0 name and value. Thermostatic control is turned on
M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P1 C"Hot-end fan" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on
M950 F2 C"out4" Q500 ; create fan 2 on pin out4 and set its frequency
M106 P2 C"Motherboard fan" S1 H-1 ; set fan 2 name and value. Thermostatic control is turned off; Tools
; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue -
@aldiallo said in Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4:
M584 X0.0 Y0.1 Z0.2:3 E0.4 ; set drive mapping
Try Z0.2:0.3 to match the syntax of the other drivers.
Also please send M98 P"config.g" to see if you have any other configuration error messages.
Also provide the results of M122.
-
@Phaedrux said in Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4:
M98 P"config.g"
Hi Phaedrux,
here's the output:
06/10/2020 à 08:21:11 M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365CM122:
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v1.01 or later
Board ID: 08DJM-956L2-G43S8-6J9FA-3S86R-1B3AFUsed output buffers: 1 of 40 (12 max)
=== RTOS ===
Static ram: 154572
Dynamic ram: 161552 of which 44 recycled
Exception stack ram used: 216
Never used ram: 76832
Tasks: NETWORK(ready,156) ETHERNET(blocked,444) HEAT(blocked,1184) CanReceiv(suspended,3824) CanSender(suspended,1484) CanClock(blocked,1456) TMC(blocked,216) MAIN(running,5044) IDLE(ready,80)
Owned mutexes:
=== Platform ===
Last reset 00:01:15 ago, cause: software
Last software reset at 2020-10-06 08:22, reason: User, spinning module GCodes, available RAM 76800 bytes (slot 0)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04437000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 32.0, current 32.5, max 32.7
Supply voltage: min 23.8, current 23.9, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.2, current 12.4, max 12.4, under voltage events: 0
Driver 0: standstill, reads 43487, writes 14 timeouts 0, SG min/max 0/0
Driver 1: standstill, reads 43488, writes 14 timeouts 0, SG min/max 0/0
Driver 2: standstill, reads 43488, writes 14 timeouts 0, SG min/max 0/0
Driver 3: standstill, reads 43489, writes 14 timeouts 0, SG min/max 0/0
Driver 4: standstill, reads 43489, writes 14 timeouts 0, SG min/max 0/0
Driver 5: standstill, reads 43493, writes 11 timeouts 0, SG min/max 0/0
Date/time: 1970-01-01 00:00:00
Slowest loop: 4.30ms; fastest: 0.21ms
=== Move ===
Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
=== GCodes ===
Segments left: 0
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
USB is idle in state(s) 0
Aux is assembling a command in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 5.06ms; fastest: 0.03ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8- Ethernet -
State: active
Error counts: 0 0 0 0 0
Socket states: 2 2 2 2 2 0 0 0
=== CAN ===
Messages sent 300, longest wait 0ms for type 0
=== Linux interface ===
State: 0, failed transfers: 0
Last transfer: 75103ms ago
RX/TX seq numbers: 0/1
SPI underruns 0, overruns 0
Number of disconnects: 0
Buffer RX/TX: 0/0-0
- Ethernet -
-
Ok, so the issue with the 2nd Z motor is sorted, thanks Phaedrux!
now need to sort out the Bed heating issue as well as the fans, the undervoltage warning and figure out how the filament runout sensor should be wired.
I'm really impressed on how smooth and silently the motors are moving compared to my previous skr board; once I managed to work my head around all of this, I might order another board for my Sidewinder X1
-
@aldiallo said in Help needed - Installing Duet 3D 6HC in replacement of a SKR 1.4:
RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v1.01 or later
First step will be to update your firmware to 3.1.1
Upload this zip file as is (don't extract it) to the /system folder via DWC.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.1.1/Duet2and3Firmware-3.1.1.zip
then we need some more info on your hardware.
What kind of endstops are they? How are they wired?
What kind of filament sensor is it? It would be wired to an io pin as well.Heaters should be PID auto tuned to give the firmware a model of their performance. That will solve the not heating fast enough error.
When does the under voltage event occur?
-
Hi Phaedrux,
Ok, will do the update now, concerning the hardware, is just the stock hardware for an Ender 5 plus, yes the endstops are wired, same thing for the filament sensor is the stock on and yes also wired, I have it connected to the IO_2.
Shouldn't I be doing the PID auto tune once both (hot-end and bed) are heating properly?
My issue seems to be wire related, you can see on the pic below that the 2 thin cables going out of the mofset where plugged on my previous board and provided electricity to the bead to heat up, now on the new board, it seems that it should not be plugged that way, please note that currently the cables are plug into OUT 0
concerning the under voltage, I'll make some other tests and revert back