New firmware 2.03RC2 available
-
I have a question regarding the intended behaviour of G54/G55 & homing, in this release (but since this release is the one and only I have ever really used starting with the 2.03 beta a while ago, I assume it might be there for a long time already):
After powering up the printer and homing (of course G54) all axis, I can rehome (even multiple times) later (without restarting the duet or so) and all works fine! (E.g. to fast move the printhead out of the way into the corner in my case)
Curious observation: If machine is homed (in G54 of course) and in x&y a G55 is defined with offset to G54 x&y, all works fine EXCEPT if I want to rehome the machine then (without zeroing out the delta between x to x & y to y for G54 to G55) if I home any axis, it seems to try to first move itself the amount of the delta IGNORING all endstops...
Is not really a problem because I can always do a softstart/rebooting of the duet if I would really need to home again (usually why would you home again & using additional csys, etc. if an axis is already homed, the only case is to be to lazy to move via jog console the prinhead in its "rest" position), just curious what might be the reason for the behaviour? Or am I doing anything wrong here?
-
Workplace coordinate offsets are always ignored when running system macros. If that wasn't the case, homing would give different results depending on what coordinate offsets you are using. Similarly for pause/resume.
In firmware 2.02, tool offsets are also ignored in system macro files. This was a mistake, so in firmware 2.03 tool offsets are applied even in system macros, unless you use G53 at the start of the line to signal that you want to ignore them..
-
@dc42 said in New firmware 2.03RC2 available:
Workplace coordinate offsets are always ignored when running system macros. If that wasn't the case, homing would give different results depending on what coordinate offsets you are using. Similarly for pause/resume.
In firmware 2.02, tool offsets are also ignored in system macro files. This was a mistake, so in firmware 2.03 tool offsets are applied even in system macros, unless you use G53 at the start of the line to signal that you want to ignore them..
Thanks so much for coming back on this so fast! A lot to learn here for me.
O.K. I get the offsets are ignored, but that is strange: I try to explain the example again. O.K. E.g.: machine was powered up, homed (in G54 of course), a piece of fabric was fixed on the table, for Z G54 is used (adjustment is done if necessary via temporary baby-stepping), but for X&Y G55 is put on some corner of the fabric to better control where things are printed onto the fabric. Everything works fine, it prints fine, all done, perfect.
Now somebody wants to print somewhere else on the table (on the same or new fabric). Instaed of just updating G55 in x&y for positioning the print (or doig an shift/offset in the the slicer), because of getting in a lazy fashion the printhead out of the way, the person just homes x e.g., THEN: Not only is the printhead moving in x only - as one would suspect and as it does usually with standard-homing after powering up - BUT (I think because of the delta between G54 and G55 in X&Y) it makes a diagonal move of the amount in X & Y AND if that offset was very big, this is of course a big diagonal move I do not understand AND it ignores only on that move totally any endstop? What am I doing wrong? Should I open a diffrent thread and post all homing and config files?
-
I'll add this to my list of issues to investigate. Please post your homex.g file.
-
Working fine CoreXY with 3 steppers on X, 3 on Y, 3 on Z and one E. As seen on 3D Sweden Meetup. Though still same error about "homing file not found" after first reset. Tried printing at 300mm/s and travel at 600mm/s with 80 steps/mm.
-
@dc42
to not get confused: They are split macros to be able to call the actual homex-movement.g either direct and only for homex.g or to call it within homeall.g1st) homex.g
; called to home the x axis
; for general reference see https://duet3d.dozuki.com/Wiki/Gcode#main
;M291 P"Homing x?" R"Make sure fly-shuttle cannot crash!" S3 ; intentionally?
; change endstop/homing behaviour
M564 H0 S0 ; S1 = enable axis limits, H1 = NOT allow movement of axes that have not been homedM98 P"home-zhop-plus.g" ; call P".g" submacro; see https://duet3d.dozuki.com/Wiki/Gcode#Section_M98_Call_Macro_Subprogram
M98 P"homex-movement.g" ; call P".g" submacro; see https://duet3d.dozuki.com/Wiki/Gcode#Section_M98_Call_Macro_Subprogram
M98 P"home-zhop-minus.g" ; call P".g" submacro; see https://duet3d.dozuki.com/Wiki/Gcode#Section_M98_Call_Macro_Subprogram
; change endstop/homing behaviour
M564 H1 S1 ; S1 = enable axis limits, H1 = NOT allow movement of axes that have not been homed2nd) homex-movement.g
; actual homex-movement
; for general reference see https://duet3d.dozuki.com/Wiki/Gcode#mainG54 ; use 1st machine coordinate-system, see https://duet3d.dozuki.com/Wiki/Gcode#Section_G54_to_G59_3_Select_coordinate_system
M400 ; Finishes all current moves and and thus clears the buffer
;M913 X50 ; set specified motors to 0-100% of their normal current specd in the config.g
G1 H1 X-705 F1250 ; move "quickly" to specified axis endstop and stop there (first pass), make sure it is slow enough to have some place left after hitting endstop to break to halt before crashing
G1 X10 F550 ; go back a few mm to make sure the trigger can "untrigger"!
G4 P100 ; dwell for time in P_ milliseconds or S_ seconds
M400 ; Finishes all current moves and and thus clears the buffer
G1 H1 X-705 F65 ; move slowly to specified axis endstop once more (second pass)G1 X0 ; be sure to be at 0
; zero out also G55-2ndcsys
G10 L20 P2 X0 ; set P1=G54-1stcsys, P2=G55-2nd-csys, ...G1 X20 F1500 ; move inwards a few mm
G92 X0 ; set axis to 0M400 ; Finishes all current moves and and thus clears the buffer
;M913 X100 ; set specified motors to 0-100% of their normal current specd in the config.g
M117 Homed P1/G54 in X ; put out message to console/user
-
@typqxq said in New firmware 2.03RC2 available:
Though still same error about "homing file not found" after first reset.
What is the exact error message?
-
Thank you for adding the option to set the minimum movement speed! Now i can work all axes in mm.. However it seems like there is also a minimum limit of 1mm/s applied to G0 moves as well? In my config file I set this:
M203 X2500 Y2500 Z20 E10000 I1
If I send G1 Z5 F20; the commanded speed is correct.
If I send G0 Z5; The max feedrate set in M203 is not honoured and it commands 1mm/s or F60.
This doesn't really bother me except that all of the motion buttons on the PanelDue and Webcontrol send a G0.. Or am I missing something?? -
Hi , Wifi connected IP address provided , but the IP address is not working , pls help
-
@milan WiFi module is connected to access point MMM, IP address 192.168.43.250
-
@ben_van said in New firmware 2.03RC2 available:
Thank you for adding the option to set the minimum movement speed! Now i can work all axes in mm.. However it seems like there is also a minimum limit of 1mm/s applied to G0 moves as well? In my config file I set this:
M203 X2500 Y2500 Z20 E10000 I1
If I send G1 Z5 F20; the commanded speed is correct.
If I send G0 Z5; The max feedrate set in M203 is not honoured and it commands 1mm/s or F60.
This doesn't really bother me except that all of the motion buttons on the PanelDue and Webcontrol send a G0.. Or am I missing something??Are you running the machine in CNC mode (using M453) or in the default FDM mode? In CNC mode, G0 should use the maximum feed rate. In FDM mode, it uses the same feed rate as G1 commands.
-
@milan said in New firmware 2.03RC2 available:
Hi , Wifi connected IP address provided , but the IP address is not working , pls help
Is this specific to firmware 2.03RC2, or does it happen in 2.02 as well? If it isn't specific to 2.03RC2, please create a separate thread for your issue.
-
There are some known issues with firmware 2.03RC2 on CNC machines when using workplace coordinates, so please do not use workplace coordinates with this release.
-
@dc42 said in New firmware 2.03RC2 available:
@ben_van said in New firmware 2.03RC2 available:
Thank you for adding the option to set the minimum movement speed! Now i can work all axes in mm.. However it seems like there is also a minimum limit of 1mm/s applied to G0 moves as well? In my config file I set this:
M203 X2500 Y2500 Z20 E10000 I1
If I send G1 Z5 F20; the commanded speed is correct.
If I send G0 Z5; The max feedrate set in M203 is not honoured and it commands 1mm/s or F60.
This doesn't really bother me except that all of the motion buttons on the PanelDue and Webcontrol send a G0.. Or am I missing something??Are you running the machine in CNC mode (using M453) or in the default FDM mode? In CNC mode, G0 should use the maximum feed rate. In FDM mode, it uses the same feed rate as G1 commands.
I am running the machine in laser mode (M452). Previously when i was using older firmware, and had the Z axis in steps per micron, G0 moves would take the max feedrate set in M203. They do also on this release, however only for the X and Y axis, not Z.
-
That's odd because X Y and Z should be treated in exactly the same way. Please post your config.g file.
-
Anyone having issues with babystepping not working? On rc2 with dwc 1,23/2.0 and I can't step down but I've never tried on the stable. Will roll back after this print and check.
Edit: just read that M208 is stopping it from going below Z0. What a strange limit to have. Well then it's not a firmware issue atleast since I have M208 set to Z0.
-
@dc42
Just did a few tests..
Everything works as expected for G0 moves if the feedrate set in M203 is higher than 60mm/min. If I set the max feedrate lower than 60mm/min in M203 for any axes, G0 moves will still request a speed of 60mm/min.
Setup:- Duet 2 Wifi
- Web control 2.0.0-RC6
- Wifi server 1.23
- PanelDue 7.0i 1.23.2
Config.g is as follows:
; General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M550 P ; Set machine name
M552 S1 ; Enable network
M587 S"" P"" ; Configure access point. You can delete this line once connected
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Drives
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S0 ; Drive 1 goes forwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwardsM350 X256 Y256 Z256 I0 ; Configure microstepping without interpolation
M350 E64 I1 ; Configure microstepping with interpolation
M92 X3769 Y2094 Z256000 E53 ; Set steps per mm //// XY:mm, Z:mm, E:ulM566 X45 Y45 Z3 E200 ; Set maximum instantaneous speed changes (mm/min)
M203 X2500 Y2500 Z20 E10000 I1 ; Set maximum speeds (mm/min), and I (minimum speed)
M201 X2000 Y2000 Z10 E2000 ; Set accelerations (mm/s^2)
M906 X500 Y500 Z500 E500 I75 ; Set motor currents (mA) and motor idle factor in per cent
M84 S60 ; Set idle timeout; Axis Limits
M208 X-75 Y-48 Z-30 S1 ; Set axis minima
M208 X0 Y0 Z0 S0 ;Set axis maxima; Heaters
M140 H0 ; heater 0 is the bed
M305 P0 S"Vessel heater" T100000 B3950 R4700 C0;
M307 H0 A26.6 C73.9 D1.0 B0 S0.2 V12.6 ; set process parameters for heater 1, use PID, and limit heater 1 PWM to 20%
M143 H0 S45 ; Set temperature limit for heater 0 to 50C; Fans
M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S0.5 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P2 S0.5 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off; Automatic saving after power loss is not enabled
; Custom settings
M106 P0 I-1 ; Disable the Fan
M106 P2 I-1 ; Disable the Fan
M452 P22 R255 F8000 ; Set the printer into Laser mode P(Fan) R(Max power value for S command with M3) F(PWM frequency used)
M564 S1 H1 ; H0 allow movement before homing, S1 limit motion between axis boundaries
M574 X2 Y1 Z2 S0 ; Set active low endstops (for some reason never set z properly in configuration; Tools
M558 P0; disable the z probe
M563 P0 S"Laser"
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
G10 P0 X0 Y0;M563 P1 S"Camera"
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
G10 P1 X-1 Y-0.6;M563 P2 D0 S"Extruder" ; Define tool 2
G10 P2 R0 S0 ; Set initial tool 2 active and standby temperatures to 0C
G10 P2 X0 Y0 ; Set tool 2 axis offsetsT0 ; Select tool 0 (laser) on startup
-
@ben_van said in New firmware 2.03RC2 available:
I spotted to minor issues that have nothing to do with your minimum-speed-issue though:
M350 E64 I1 ; Configure microstepping with interpolation
Duet Wifi's TMC2660 only support interpolation with x16 microstepping. The above command won't do any harm but it will be "only" at x64 microstepping and won't be interpolated to x256.
M563 P1 S"Camera" G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C G10 P1 X-1 Y-0.6;
There is a typo or copy-and-paste error in the middle line of this block. You define tool 1 but the middle line is still for tool 0.
-
@wilriker Ah thankyou for pointing this out. The G10 for tool 1 was a typo from copy/paste. I guess I never noticed since i don't have any heaters bound to the tool anyway. As for the M350 extruder microstepping, I will change to the following:
M350 X256 Y256 Z256 E256 I0
Not sure why I didn't have it written like that before.. -
@dc42 the m291 isn't unlocking a tool change still when called. Or is this impractical to do within a tool change?