Prusa mk3s+ with duet
-
@flobler
I have the stock motors
I will share the config via discord -
@jakob could you copy your files here?
That way others can also help as I am not very familiar with the Duet2 board.
-
@flobler yes
-
-
@jakob Thank you! We'll also need your homing files
You can just copy the text from each file in here, mark it with your mouse and then select the </> symbol. The text will then be displayed in a box. Like this:
;---------------------------------------------------------------------------- ; homex.g ; ; Description: ; - system file ; - called to home the X axis ;---------------------------------------------------------------------------- ;---------------------------------------------------------------------------- ; Preparation ;---------------------------------------------------------------------------- M98 P"homing-modifications.g" ; calls homing-modifications.g ; Lift Z Axis G91 ; relative positioning G1 H2 Z5 F1200 ; lift Z axis by 5mm M400 ; wait for current moves to finish ;---------------------------------------------------------------------------- ; Home X Axis ;---------------------------------------------------------------------------- G1 H2 X0.5 F10000 ; energise motor to ensure it's not stalled M400 ; wait for current moves to finish G4 P200 ; wait 200ms G1 H1 X5 F1200 ; move X axis away from homing position by 5mm G1 H1 X-255 F3000 ; move to X axis endstop and stop there G1 X5 F1200 ; move back by 5mm G1 H1 X-10 F3000 ; move to X axis endstop again G1 X10 F1200 ; move back by 10mm G1 H2 Z-5 F1200 ; lower Z axis by 5mm M400 ; wait for current moves to finish
-
@flobler ok
-
This post is deleted! -
@jakob ```
; =========================================================================================================
;
; Home x Axis
;
; =========================================================================================================
;
G91 ; relative positioning
M98 P"current-sense-homing.g" ; ensure the current and sensitivity is set for homing routines.
;
G1 H2 X0.5 F10000 ; energise motor to ensure it's not stalled
M400 ; wait for current moves to finish
G4 P200 ; wait 200ms
;
G1 H2 Z5 F6000 ; lift z relative to current position
M400 ; wait for current moves to finish
;
G1 H1 X5 F1000 ; move slowly away
G1 H1 X-260 F3000 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F1000 ; go back a few mm
G1 H1 X-10 F3000 ; move slowly to x axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower z again
;
M400 ; wait for current moves to finish
G4 P200 ; wait 200ms
;
G90 ; absolute positioning
;
M98 P"current-sense-normal.g" ; ensure the current and sensitivity is set for normal routines.
;
; =========================================================================================================
; -
@jakob ```
code_text; ========================================================================================================= ; ; Home y Axis ; ; ========================================================================================================= ; G91 ; relative positioning M98 P"current-sense-homing.g" ; ensure the current and sensitivity is set for homing routines. ; G1 H2 Y0.5 F10000 ; energise motor to ensure it's not stalled M400 ; wait for current moves to finish G4 P200 ; wait 200ms ; G1 H2 Z5 F6000 ; lift z relative to current position M400 ; wait for current moves to finish ; G1 H1 Y5 F1000 ; move slowly away G1 H1 Y-225 F3000 ; move quickly to y axis endstop and stop there (first pass) G1 H2 Y5 F1000 ; go back a few mm G1 H1 Y-10 F3000 ; move slowly to y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower z again ; M400 ; wait for current moves to finish G4 P200 ; wait 200ms ; G90 ; absolute positioning ; M98 P"current-sense-normal.g" ; ensure the current and sensitivity is set for normal routines. ; ; ========================================================================================================= ;
-
@jakob ```
code_text; ========================================================================================================= ; ; Home xyz Axis ; ; for Caribou220 Duet2WiFi-Ethernet LGX Copperhead - E3d or SE Thermistor - SuperPINDA ; ; ========================================================================================================= ; G91 ; relative positioning M98 P"current-sense-homing.g" ; ensure the current and sensitivity is set for homing routines. ; G1 H2 X0.5 F10000 ; energise motors to ensure they are not stalled M400 ; wait for current moves to finish G4 P200 ; wait 200ms ; G1 H2 Z5 F6000 ; lift Z relative to current position M400 ; wait for current moves to finish ; ; ========================================================================================================= ; Home X Axis ; ========================================================================================================= ; G1 H1 X5 F1000 ; move slowly away G1 H1 X-260 F3000 ; move quickly to x axis endstop and stop there (first pass) G1 H2 X5 F1000 ; go back a few mm G1 H1 X-10 F3000 ; move slowly to x axis endstop once more (second pass) ; ; ========================================================================================================= ; Home Y Axis ; ========================================================================================================= ; M400 ; wait for current moves to finish G1 H2 Y0.5 F10000 ; energise motors to ensure they are not stalled M400 ; wait for current moves to finish G1 H1 Y5 F1000 ; move slowly away G1 H1 Y-260 F3000 ; move quickly to x axis endstop and stop there (first pass) G1 H2 Y5 F1000 ; go back a few mm G1 H1 Y-10 F3000 ; move slowly to x axis endstop once more (second pass) ; M400 ; wait for current moves to finish M913 X100 Y100 ; return x & y motor G4 P200 ; wait 200ms ; G90 ; absolute positioning ; ; ========================================================================================================= ; Home Z Axis ; ========================================================================================================= ; G90 ; absolute positioning ; G1 X11.5 Y-3 F6000 ; go to first probe point G30 ; home z by probing the bed G1 Z1.15 F100 ; move z to origin and 1.15mm above bed G90 ; absolute positioning M400 ; wait for current moves to finish ; ; ========================================================================================================= ; G90 ; absolute positioning ; M98 P"current-sense-normal.g" ; ensure the current and sensitivity is set for normal routines. ; ; ========================================================================================================= ;
-
Thanks, let me just post the config.g you sent on Discord as well:
config.g
; ========================================================================================================= ; ; Configuration file for Duet2WiFi-Ethernet (firmware version 3.3) ; ; for 0.9° motors on xye ; ; for Caribou220 Duet2WiFi-Ethernet LGX Copperhead - E3d or SE Thermistor - SuperPINDA ; ; CariboDuetConfiguration Release : "1.7.0" ; Build : 258 ; ; ; Copyright Caribou Research & Development 2021. Licensed under GPL3. ; Source code and release notes are available on github: https://github.com/Caribou3d/CaribouDuet2Wifi-ConfigurationMacros ; ; ========================================================================================================= ; Network settings ; ========================================================================================================= ; M550 P"PrusaDUET" ; set printer name ; M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; disable Telnet M575 P1 S1 B57600 ; enable support for PanelDue ; ; ========================================================================================================= ; Drives ; ========================================================================================================= ; M569 P0 S0 F11 ; physical drive 0 goes backwards - x-axis M569 P1 S0 F8 Y3:2 ; physical drive 1 goes backwards - y-axis M569 P2 S0 F10 ; physical drive 2 goes backwards - z - left M569 P3 S1 F14 ; physical drive 3 goes forwards - Extruder M569 P4 S0 F10 ; physical drive 4 goes backwards - z right ; ; Motor Configuration ; M584 X0 Y1 Z2:4 E3 ; set drive mapping M671 X-36.5:293.5 Y0:0 S1.00 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis ; ; set Microsteps and steps / mm ; M350 X16 Y16 Z16 E32 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E280.00 ; set steps per mm ; ; set motor currents ; M906 X800 Y800 Z650 E800 I40 ; set motor currents (mA) and motor idle factor in per cent ; M84 S60 ; Set idle timeout ; ; set speeds ; M201 X500.00 Y500.00 Z100.00 E500.00 ; set accelerations (mm/s^2) M203 X9000.00 Y9000.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) M204 P500.0 T500.0 ; set print and travel accelerations (mm(s^2) M566 X480.00 Y480.00 Z48.00 E300.00 ; set maximum instantaneous speed changes (mm/min) ; M564 H0 ; allow unhomed movement ; ; ========================================================================================================= ; Axis Limits ; ========================================================================================================= ; M208 X-2 Y-7.5 Z0 S1 ; set axis minima M208 X254.6 Y214 Z225.50 S0 ; set axis maxima ; ; ========================================================================================================= ; Endstops ; ========================================================================================================= ; M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; configure Z-probe endstop for low end on Z M574 Z2 S3 ; configure sensorless endstop for high end on Z ; ; ========================================================================================================= ; ; SuperPINDA ; M558 P5 C"^zprobe.in" H1.5 F600 T8000 A3 S0.03 ; set z probe to SuperPINDA M557 X23:235 Y5:186 S30.25:30 ; define mesh grid ; ; ========================================================================================================= ; M574 Z1 S2 ; set endstops controlled by probe ; ; Stallguard Sensitivy ; M915 X S2 F0 H400 R0 ; set X axis Sensitivity M915 Y S1 F0 H400 R0 ; set Y axis Sensitivity M915 Z S0 F0 H200 R0 ; set Z axis Sensitivity ; ; ========================================================================================================= ; Heater & Fans ; ========================================================================================================= ; ; heated bed ; ========================================================================================================= ; M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 R4700 A"Bed" ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" Q50 T0 ; create bed heater output on bedheat and map it to sensor 0 M143 H0 S110 ; set temperature limit for heater 0 to 110C 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 ; ; extruder ; ========================================================================================================= ; ; Hotend (Mosquito or Mosquito Magnum with E3d Thermistor) ; M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.060000e-8 A"Nozzle E1" ; E3d configure sensor 0 as thermistor on pin e0temp ; M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 2 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280°C ; ; ========================================================================================================= ; M308 S4 P"mcu-temp" Y"mcu-temp" A"MCU" ; set virtual heater for MCU M308 S5 P"drivers" Y"drivers" A"Driver" ; set virtual heater for stepper drivers ; ; ========================================================================================================= ; Fans ; ========================================================================================================= ; ; extruder fan (temerature controlled) ; M950 F1 C"fan1" Q500 ; create fan 1 on pin fan0 and set its frequency M106 P1 H1 T45 ; fan turns on at 45°C ; ; radial fan ; M950 F0 C"fan0" Q160 ; create fan 0 on pin fan1 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off ; ; ======================================================================================================== ; Tools ; ========================================================================================================= ; M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 S-274 R-274 ; turn off tool 0, set active and standby temperature to 0K M302 S180 R180 ; allow extrusion starting from 180°C and retractions already from 180°C ; ; ========================================================================================================= ; other settings ; ========================================================================================================= ; M18 XY ; release / unlock X, Y M501 ; use config-override (for Thermistor Parameters and other settings) G90 ; send absolute coordinates... M83 ; ... but relative extruder moves ; ; ========================================================================================================= ; filament handling ; ========================================================================================================= ; ; execute macros that determine the status of the filament sensor ; M98 P"0:/sys/00-Functions/FilamentsensorStatus" ; ; ========================================================================================================= ; ; ========================================================================================================= ; ; Offsets - place off-sets for x and y here. z-offsets are handled in the print sheet macros ; G31 P1000 X23 Y5 ; ; ========================================================================================================= ;
@Jakob, your current-sense-homing.g file will be useful too.
So from what I can already see is that you are using a Caribou config which is for 0.9 degree stepper motors (Prusa uses 1.8 degree stepper motors). You are using the motors that Prusa ships with the MK3S+, correct?
Can you also briefly describe what happens when you try to home any of the axes?
-
when I home the axis it just dives at the and of the axis without stopping and it is skipping steps
-
@jakob thanks. IF you use Prusa MK3 motors and NOT 0.9 motors then your currents are too high.
Give it a try with 500mA for all your motors.
-
@flobler yes
-
@jakob https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing
Schuld I use this?
-
ok, for everyone reading this later, we troubleshooted a few issues:
- A config for 0.9 motors was used (while @Jakob is using 1.8 degree motors with lower current rating), so the motor current for all axes needed to be reduced
- The adjustments for the homing moves (stallguard sensitivity, full_steps_per_rev and motor current reductions) were also tuned for the 0.9 motors and needed adjusting.
Once we changed these things, the motors homed successfully.
-
-