Hi,
We are a small prototyping company based in Portugal. Last summer, for our hardware upgrades, I was charged with producing an optimized 3D Printer for our necessities. After investigating much, Duet Wifi seemed to be the best horse in box and we ordered in total 8 units (+5" screens, PT100, and one X5).
Unfortunately we have been unable to make them print decently ever since.
Our current problems are ;
Unstable wifi, it spontaneously resets it's IP.
Wifi connection is not stable on a wifi crowded environment. (But Arduinos on a Pi Zero thrive in the same conditions)
After Nozzle and BED PID calibrated (and transistor leds just flickering) the main printer illumination is also flickering, which I assume is some sort of tension instability.
When we power the bed from a relay, the main illumination no longer flickers.
This happens in both 12v and 24v power supplies, with all our boards.
VIN shows less than 0.5v variation at all times. (normally even less than 0.5v)
Finally, and the worst part, we have been enable to obtain a single good quality print.
I join in this post a a picture of two benchies, printed on the exact same printer, with the same gCode (obtain with Cura 3.0 on default ABS parameters, this is not our usual parameters but it's to obtain a neutral test), and with firmware parameters almost identical (I'll post both). The only difference being, the acceptable quality own was printed using an arduino, and the bad own a a Duet.
Now, I've seen very good prints in this forum and I can only assume we are doing something very wrong somewhere and am thus asking for your help.
Duet Config :
M111 S0 ; Debug off
M550 P[erased] ; Machine name and Netbios name (can be anything you like)
M551 P[erased] ; Machine password (used for FTP)
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xDE ; MAC Address alterar mac address no caso de nova impressora
;*** Networking - Enable for both WiFi and Ethernet boards.
M552 S1 ; Turn network on
;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network
M552 P192.168.1.108 ; (0 = DHCP)
M554 P192.168.1.254 ; Gateway
M553 P255.255.255.0 ; Netmask
M555 P2 ; Set output to look like Marlin
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M106 P1 T50 H1 ; habilitação da ventoinha a 50º
; Machine configuration
M569 P0 S0 ; Drive 0 goes backwards (change to S0 to reverse it)
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S0 ; Drive 3 goes forwards
M569 P4 S1 ; Drive 4 goes forwards
; If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
M574 X1 Y1 Z1 S0 ; set endstop configuration (X and Y and endstops only, at low end, active high)
M667 S1 ; set CoreXY mode
M350 E16 X16 Y16 Z16 I1 ; set Microstepping and Interpolation On
M92 X80 Y80 Z400 ; Set axis steps/mm
M92 E138 ; Set extruder steps/mm
M906 X1000 Y1000 Z1000 E1000 ; Set motor currents (mA)
M201 X3000 Y3000 Z100 E10000 ; Accelerations (mm/s^2)
M203 X15000 Y15000 Z3000 E3600 ; Maximum speeds (mm/min)
M566 X600 Y600 Z24 E300 ; Maximum jerk speeds mm/minute
M208 X217 Y217 Z345 ; set axis maxima (adjust to suit your machine)
M208 X0 Y0 Z0.5 S1 ; ajuste de posição de eixos
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
; Z probe
M558 P1 X0 Y0 Z0 ; Analog Z probe, also used for homing the Z axis
G31 Z0.079 P500
; Set the probe height and threshold (put your own values here)
; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
;*** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
M557 P0 X60 Y0 ; Four...
M557 P1 X60 Y185 ; ...probe points...
M557 P2 X180 Y185 ; ...for bed...
M557 P3 X180 Y0 ; ...levelling
M557 P4 X90 Y92.5 ; 5th probe point for levelling
; Thermistors and heaters
;*** If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands
; You can also use S and B parameters to define the parameters of the thermistors you are using
M143 H1 S320 ; ajuste de temperatura maxima para 320º extrusora 1
M143 H0 S150 ; ajuste de temperatura maxima para 120º cama quente
M305 P0 R4700 H320 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
M305 P1 R4700 T100000 B4725 C0.0000000706 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction; (Alterado, estava : M305 P1 R4700 H320 L0)
M305 P2 R4700 T1000000 B3950 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction (estava : M305 P2 R4700 H320 L0)
;M307 H0 A170.8 C782.4 D1.6 B0 ; Activar PID para a CAMA
;M301 H0 P505.0 I58.352 D572.5 T0.50 S1.0 ; PID settings para a CAMA ( PID DADO : P505.0, I58.352, D572.5)
M301 H1 P9.4 I0.559 D44.0 T0.50 S1.0 ; PID settings for extruder 0 ( PID DADO : P9.4, I0.559, D44.0 PID Anterior : M301 H1 P10 I0.10 D100 T0.50 S1.0)
M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1
M570 S600 ; Increase to allow extra heating time if needed
; Tool definition
M563 P0 D0 H1 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
;*** If you have a dual-nozzle build, un-comment the following 3 lines
;M563 P1 D1 H2 ; Define tool 1
;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures
;*** If you are using axis compensation, put the figures in the following command
M556 S78 X0 Y0 Z0 ; Axis compensation here
T0 ; select first hot end
Arduino Config :
//============================== Movement Settings ============================
//=============================================================================
// @section motion
- Default Axis Steps Per Unit (steps/mm)
- Override with M92
-
X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 400, 138}
/**
- Default Max Feed Rate (mm/s)
- Override with M203
-
X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_MAX_FEEDRATE {250, 250, 10, 80}
/**
- Default Max Acceleration (change/s) change = mm/s
- (Maximum start speed for accelerated moves)
- Override with M201
-
X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_MAX_ACCELERATION {3000,3000,100,10000}
/**
- Default Acceleration (change/s) change = mm/s
- Override with M204
- M204 P Acceleration
- M204 R Retract Acceleration
- M204 T Travel Acceleration
*/
#define DEFAULT_ACCELERATION 2000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
/**
- Default Jerk (mm/s)
- Override with M205 X Y Z E
- "Jerk" specifies the minimum speed change that requires acceleration.
- When changing speed and direction, if the difference is less than the
- value set here, it may happen instantaneously.
*/
#define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4
#define DEFAULT_EJERK 5.0
The Hotend is a E3D V6 with a 104Semitec thermistor, same results where obtained with the PT100.
Bed is a generic 100k thermistor.
Thank you very much for any insight.
Artur