RepRapFirmware 3.6.0-alpha.4+3 available for testing
-
@edsped Before you do that I suggest that you test with the latest version of 3.6 (after running 3.5.1 for a while to be sure that you do not get any further problems when changing tools).
-
@gloomyandy Will do, switching back to 3.6.5 alpha from this link and will let you know. Ran over 100 tool changes without issue on 3.5.1. I'm going to stick with the 3.5.1 DWC and not use one of the earlier alphas that was released..
-
@gloomyandy Follow up several prints and a couple of hundred tool changes on 3.5.1, reverted to the latest 3.6.0 A5, (2) prints in and a tool is dropped while pulling away from the parking post. Config.g below
; Jubilee CoreXY ToolChanging Printer - Config File ; This file intended for Duet 3 hardware, main board plus Tool Boards ; Name and network ; This is configured from the connected Raspberry Pi or here if in stand alone ; mode ; Connect to PanelDue 7i M575 P1 S0 B57600 ;------------------------NETWORKING IF NOT HANDLED BY SBC------------------------------ ; Networking ;M540 PBE:43:37:31:51:31 M550 P"Jubilee" ; Name used in ui and for mDNS http://Jubilee.local M552 P0.0.0.0 S1 ; configure Ethernet adapter M586 P0 S1 ; configure HTTP ;M552 S1 P192.168.1.19 ; Use Ethernet with a static IP, 0.0.0.0 for dhcp ;M553 P255.255.255.0 ; Netmask ;M554 192.168.1.1 ; Gateway ; General setup ;------------------------------------------------------------------------------- M550 P"Printster" ; Set Machine Name G4 S2 ; Pause for 2 seconds to allow CAN boards to initiate M111 S0 ; Debug off M929 P"eventlog.txt" S0 ; Start logging to file eventlog.txt (turned logging off) ; General Preferences M555 P2 ; Set Marlin-style output G21 ; Set dimensions to millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Stepper mapping ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; Note: first row is numbered left to right and second row right to left ; _________________________________ ; | X(Right) | Y(Left) | U(lock) | ; | Z(Back) | Z(Right) | Z(Left) | M584 X0 Y1 ; X and Y for CoreXY M584 U2 ; U for toolchanger lock M584 Z3:4:5 ; Z has three drivers for kinematic bed suspension. ;*********************RRF-36 Stepper Mapping ****************************************** M584 E20.0:21.0:22.0:23.0 ; "AMY" "BETTY" "CHLOE" "DAISY" Extruder drive mapping M569 P0 S0 ; Drive 0 | X stepper M569 P1 S0 ; Drive 1 | Y Stepper M906 X{0.6*sqrt(2)*2500} ; LDO XY 2500mA RMS the TMC5160 driver on duet3 M906 Y{0.6*sqrt(2)*2500} ; generates a sinusoidal coil current so we can ; multply by sqrt(2) to get peak used for M906 ; Do not exceed 90% without heatsinking the XY ; steppers. M569 P2 S0 ; Drive 2 | U Tool Changer Lock 670mA M906 U{0.7*sqrt(2)*670} I60 ; 70% of 670mA RMS idle 60% ; Note that the idle will be shared for all drivers M569 P3 S0 ; Drive 3 | Front Left Z M569 P4 S0 ; Drive 4 | Front Right Z M569 P5 S0 ; Drive 5 | Back Z M906 Z{0.6*sqrt(2)*2500} ; 70% of 2500mA RMS ;********************RRF-36 Tool steppers on expansion board**************************** M569 P20.0 S0 D2 ; Drive 0 "AMY" direction | Extruder 0 in Spreadcycle Mode M569 P21.0 S0 D2 ; Drive 1 "BETTY" direction | Extruder 1 in Spreadcycle Mode M569 P22.0 S0 D2 ; Drive 2 "CHLOE" direction | Extruder 2 in Spreadcycle Mode M569 P23.0 S0 D2 ; Drive 3 "DAISY" direction | Extruder 3 in Spreadcycle Mode ;======================SET MAXIMUM PRINTING SPEEDS============================================ M204 P5000 T5000 ; Kinematics ;------------------------------------------------------------------------------- M669 K1 ; CoreXY mode ; Kinematic bed ball locations. ; Locations are extracted from CAD model assuming lower left build plate corner ; is (0, 0) on a 305x305mm plate. M671 X297.5:2.5:150 Y313.5:313.5:-16.5 S10 ; Front Left: (297.5, 313.5) ; Front Right: (2.5, 313.5) ; Back: (150, -16.5) ; Up to 10mm correction ; Axis and motor configuration ;------------------------------------------------------------------------------- M350 X1 Y1 Z1 U1 ; Disable microstepping to simplify calculations M92 X{1/(0.9*16/180)} ; step angle * tooth count / 180 M92 Y{1/(0.9*16/180)} ; The 2mm tooth spacing cancel out with diam to radius M92 Z{360/0.9/4} ; 0.9 deg stepper / lead (4mm) of screw M92 U{13.76/1.8} ; gear ration / step angle for tool lock geared motor. ; Enable microstepping all step per unit will be multiplied by the new step def M350 X32 Y32 I1 ; 16x microstepping for CoreXY axes. Use interpolation. M350 U4 I1 ; 4x for toolchanger lock. Use interpolation. M350 Z16 I1 ; 16x microstepping for Z axes. Use interpolation. M350 E16 I1 ; 16x microstepping for Extruder axes. Use interpolation. ; Speed and acceleration ;------------------------------------------------------------------------------- M201 X8000 Y8000 ; Accelerations (mm/s^2) M201 Z100 ; LDO ZZZ Acceleration M201 U800 ; LDO U Accelerations (mm/s^2) M203 X24000 Y24000 Z800 U9000 ; Maximum axis speeds (mm/min) M566 X2000 Y2000 Z100 U50 P1 ; Maximum jerk speeds (mm/min) ;********************RRF-36 motor configuration *************************************** M906 E800:800:800:800 I10 ; Motor currents for all E (mA). M201 E18000:18000:18000:18000 ; E600:600:600 E Acceleration (mm/s^2) M203 E7200:7200:7200:7200 ; Maximum axis speeds (mm/min) was 3600 M566 E3000:3000:3000:3000 ; Maximum jerk speeds (mm/min) M92 E719:719:719:719 ;E Steps VZ-Hextrudort - 0.9 deg/step Tool0:Tool1:Tool3 ; Endstops and probes ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; | U | Z | ; | X | ; | Y | M574 U1 S1 P"^io4.in" ; homing position U1 = low-end, type S1 = switch M574 X1 S1 P"^io1.in" ; homing position X1 = low-end, type S1 = switch M574 Y1 S1 P"^io2.in" ; homing position Y1 = low-end, type S1 = switch M574 Z0 ; we will use the switch as a Z probe not endstop M558 P8 C"io3.in" H3 F360 T6000 ; H = dive height F probe speed T travel speed G31 K0 X0 Y0 Z-2 ; Set the limit switch position as the "Control Point." ; Note: the switch free (unclicked) position is 7.2mm, ; but the operating position (clicked) is 6.4 +/- 0.2mm. ; A 1mm offset (i.e: 7.2-6.2 = 1mm) would be the ; Z to worst-case free position, but we add an extra 1mm ; such that XY travel moves across the bed when z=0 ; do *not* scrape or shear the limit switch. ; Set axis software limits and min/max switch-triggering positions. ; Adjusted such that (0,0) lies at the lower left corner of a 300x300mm square ; in the 305mmx305mm build plate. M208 X-13.75:313.75 Y-44:341 Z0:295 M208 U0:200 ; Set Elastic Lock (U axis) max rotation angle ; Heaters and temperature sensors ;---------------------------------------------------------------------------------------------------- ; Bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; Keenovo thermistor M950 H0 C"out0" T0 ; H = Heater 0 ; C is output for heater itself ; T = Temperature sensor M143 H0 S130 ; Set maximum temperature for bed to 130C M307 H0 A589.8 C589.8 D2.2 V24.1 B0 ; Keenovo 750w 230v built in thermistor ; mandala rose bed M140 H0 ; Assign H0 to the bed ;**********************FLY-RRF 36 Extruder configurations********************************************** ;---------------------Tool 0 aka "AMY" With CAN Address 20.0 ------------------------------------------ ;Heater Thermistor M308 S1 P"20.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Amy" ;"T1" Semtec Thermistor defined ;M308 S6 P"20.temp1" Y"thermistor" A"Amy Fly RRF" T100000 B4092 ; Cooling Fans M950 F0 C"20.out1" ; Fan 0, part cooler fan on Tool 0 M106 P0 C"Amy" ; Set Fan Name M950 F1 C"20.out2" ; Fan 1, hotend fan on Tool 0 M950 H1 C"20.out0" T1 ; Heater 1 "H1" uses the Out0 pin and Temp0 M570 H1 P15 T20 R5 ; An anomaly on "H1" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H1 S280 ; Maximum H1 (Extruder 1) heater temperature M106 P1 S1.0 T45 H1 ; Tool 0 Hotend Fan to start cooling at 45C Monitoring Heater 1 (H1) M563 P0 S"Amy" D0 H1 F0 ; Define tool 0 "AMY" using H1 heater, F0 cooling ;G10 P0 X0.188 Y32.637 Z-0.345 ; Set tool 0 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P0 S0 R0 ; Set tool 1 operating (S) and standby temperatures (R) (-273 = "off") M572 D0 S0.04 ; Set pressure advance on Extruder Drive 1 ;Turn on tool Lights M950 E0 C"20.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E0 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E0 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P20.0 I52 ; Enable accelerometer on Amy ;---------------------End of Tool 0 aka "AMY" ----------------------------------------------------------- ;---------------------Tool aka "BETTY" With CAN Address 21.0 ------------------------------------------ ;Heater Thermistor M308 S2 P"21.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Betty" ;"T1" Semtec Thermistor defined ;M308 S7 P"21.temp1" Y"thermistor" A"Betty Fly RRF" T100000 B4092 ; Cooling Fans M950 F2 C"21.out1" ; Fan 2, part cooler fan on Tool 1 M106 P2 C"Betty" ; Set Fan Name M950 F3 C"21.out2" ; Fan 3, hotend fan on Tool 1 M950 H2 C"21.out0" T2 ; Heater 2 "H2" uses the Out0 pin and Temp0 M570 H2 P15 T20 R5 ; An anomaly on "H2" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H2 S280 ; Maximum H2 (Extruder 1) heater temperature M106 P3 S1.0 T45 H2 ; Tool 1 Hotend Fan to start cooling at 45C Monitoring Heater 2 (H2) M563 P1 S"Betty" D1 H2 F2 ; Define tool 1 "BETTY" using H2 heater, F2 cooling ;G10 P1 X0.188 Y32.637 Z-0.345 ; Set tool 1 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P1 S0 R0 ; Set tool 1 operating (S) and standby temperatures (R) (-273 = "off") M572 D1 S0.04 ; Set pressure advance on Extruder Drive 2 ;Turn on tool Lights M950 E1 C"21.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E1 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E1 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P21.0 I52 ; Enable accelerometer on Betty ;-------------------------------End of Tool 0 aka "BETTY". ------------------------------------- ;---------------------Tool aka "CHLOE" With CAN Address 22.0 ------------------------------------------ ;Heater Thermistor M308 S3 P"22.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Chloe" ;"T1" Semtec Thermistor defined ;M308 S8 P"22.temp1" Y"thermistor" A"Chloe Fly RRF" T100000 B4092 ; Cooling Fans M950 F4 C"22.out1" ; Fan4, part cooler fan on Tool 2 M106 P4 C"Chloe" ; Set Fan Name M950 F5 C"22.out2" ; Fan 5, hotend fan on Tool 2 M950 H3 C"22.out0" T3 ; Heater 3 "H3" uses the Out0 pin and Temp0 M570 H3 P15 T20 R5 ; An anomaly on "H3" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H3 S280 ; Maximum H3 (Extruder 2) heater temperature M106 P5 S1.0 T45 H3 ; Tool 3 Hotend Fan to start cooling at 45C Monitoring Heater 3 (H3) M563 P2 S"Chloe" D2 H3 F4 ; Define tool 2 "CHLOE" using H3 heater, F4 cooling ;G10 P2 X0.188 Y32.637 Z-0.345 ; Set tool 1 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P2 S0 R0 ; Set tool 1 operating (S) and standby temperatures (R) (-273 = "off") M572 D2 S0.04 ; Set pressure advance on Extruder Drive 2 ;Turn on tool Lights M950 E2 C"22.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E2 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E2 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P22.0 I52 ; Enable accelerometer on CHLOE ;-------------------------------End of Tool 0 aka "CHLOE". ------------------------------------- ;---------------------Tool aka "DAISY" With CAN Address 22.0 ------------------------------------------ ;Heater Thermistor M308 S4 P"23.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Daisy" ;"T3" Semtec Thermistor defined ;M308 S9 P"23.temp1" Y"thermistor" A"Daisy Fly RRF" T100000 B4092 ; Cooling Fans M950 F6 C"23.out1" ; Fan4, part cooler fan on Tool 3 M106 P6 C"Daisy" ; Set Fan Name M950 F7 C"23.out2" ; Fan 7, hotend fan on Tool 4 M950 H4 C"23.out0" T4 ; Heater 4 "H4" uses the Out0 pin and Temp0 M570 H4 P15 T20 R5 ; An anomaly on "H4" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H4 S280 ; Maximum H4 (Extruder 2) heater temperature M106 P7 S1.0 T45 H4 ; Tool 4 Hotend Fan to start cooling at 45C Monitoring Heater 4 (H4) M563 P3 S"Daisy" D3 H4 F6 ; Define tool 4 "DAISY" using H4 heater, F4 cooling ;G10 P3 X0.188 Y32.637 Z-0.345 ; Set tool 4 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P3 S0 R0 ; Set tool 4 operating (S) and standby temperatures (R) (-273 = "off") M572 D3 S0.04 ; Set pressure advance on Extruder Drive 4 ;Turn on tool Lights M950 E3 C"23.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E3 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E3 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P23.0 I52 ; Enable accelerometer on DAISY ;-------------------------------End of Tool 0 aka "DAISY". ------------------------------------- ;*******************************END OF RRF-36 TOOLS ********************************************** M593 P"ZVD" F55 L0.25 S0.1 ; Set Dynamic Acceleration Adjustment M376 H10 ; bed compensation taper M98 P"config-user.g" ; Load custom user config M501 ; Load saved parameters from non-volatile memory
-
@edsped Maybe you could disable IS during toolchanges?
The acceleration on short tracks is different now and moving on the edge to make the toolchange as fast as possible might have flaws now and then... -
@edsped another thing that may help is to use M400 between critical moves of a tool change, for example between the pull-in move and the locking motor move when picking a tool up. Using IS in 3.6 will overlap adjacent moves to some extent. So in this example, the lock motor will start to move before the pull-in has completed. This may or may not matter, depending on the speeds of the moves and the type and frequency of IS in use.
-
@o_lampe I've lowered tool change speeds to see if that helped and it didn't. Initially my rationale for high speeds was to minimize ooze in an effort to eliminate the need for a wipe tower. It didn't work and I never lowered them but have more than halved them the past few days...
-
@dc42 One thing that is consistent when there's a tool drop is that the locking pin isn't fully rotated to the lock or unlock position which initially had me thinking there was mechanical binding. I'll stick an M400 before the call to the tool lock/unlock macro to see if that helps. I've reduced my tool change speeds by about 60% to see if that helped and it made no difference, but I'll leave them low until I figure out why I'm not getting proper tool engagement.
-
@dc42 I added M400 prior to macro calls for lock and unlock and stuck one in the macro as well... Following are the macros if that helps and a couple of pictures showing the pin when a failure occurs.. Pin should be horizontal when unlocked and stop should be at the limit switch, when there's a tool drop the stepper never reaches the limit switch...
tool_lock.g
; Engage the toolchanger lock. RepRap Firmware V2.0.1 version. G91 ; Set relative mode G1 U10 F5000 H0 ; Back off the limit switch with a small move M400 G1 U200 F5000 H1 ; Perform up to one rotation looking for the torque limit switch ;G1 U200 Y0.5 F5000 H1 ; Perform up to one rotation looking for the torque limit switch G90 ; Set absolute mode
tool_unlock.g
; Disengage the toolchanger lock G91 ; Set relative movements G1 U-4 F9000 H2 ; Back off the limit switch with a small move M400 G1 U-360 F9000 H1 ; Perform up to one rotation looking for the home limit switch G90 ; Restore absolute movements
-
Will try the M400 commands and if they don't help, I'll disable IS at start of tool change and re-enable it after tool is picked up.
Thanks for the assistance
-
A quickie follow up, several prints, maybe 50'ish tool changes and no issues. It appears as if the M400 is helping.
-
I want to chime in and report that the 3.6.0 5+1 alpha has been working well for me. I have not run any long prints, and I don't probe or tool change, but I changed over from 3.5.1 because I was hitting suspicious layer shifts at well below expected accelerations for printing moves only (not for travels) in speedboat testing. I have run 25 prints since changing over Sept 3rd, along with various non-printing tuning and tests, at accelerations from 50-200k and in-print speeds up to 900mm/s, on a 6WD delta at 400 steps/mm (6HC with a 3HC running a 2WD extruder), as I've been working into the three-minute range on regulation boats. (Yes, it's not a particularly useful pastime, but my machine is finally finished and I've gotta do it once -- plus I'm hoping it's a useful stress test of the new motion stuff in 3.6.0.) The new IS melts down print crispness at these accels, but after some deep breathing I've concluded that's not a bad thing -- if you want crispy prints, the answer is to print in the accel range that's sane for your machine, anyway.
Part of my testing has been aimed at stress testing the delta segmentation change -- I've tested from 100 to 400 seg/s with 0.1 to 0.2mm segment length, as well as accidentally 0.1seg/sec and 400mm min length, and apart from the latter booboo there is little observable difference in quality at high speeds and no difference I've yet found in terms of speed ceiling. I have found that high speeds with high-poly models are causing reports of underruns in the first array slot and, sometimes, very small numbers of LaErrors -- e.g., a 67-layer test vase print with a portion that is a 200-segment, 10mm-diameter circle, sliced at 350 x 100k x 20 jerk consistently reports back underruns [800+,0,0] -- but I don't have comparison data from before I updated, so I don't know if this has anything to do with the alpha. I do know that the circle in that stress test print shows evidence of slowdowns starting at about the same segment count as the move queue length, and that extending the queue length with M595 causes proportionately more reported underruns. (I changed SD cards, just to see if the originally-supplied card with its 4kb clusters was an issue, but a new 32GB card with 32kb clusters did not change anything.) For my foolishly-fast speedboat runs, I've dodged the issue by enabling Arc Welder, which seems to work just fine.
To date I have yet to see a single reported hiccup, regardless of LaError or underrun counts.
I hope the above is useful!
-
@Kiolia thanks for your report. It's good to hear when things are working well, not just when there are problems.
-
@dc42 Cheers! And if there's anything in particular I can look out for and/or try while I'm breaking in my delta, please let me know.
-
@Kiolia not really, just watch out for changes in behaviour. The only bug I am aware of in 3.6 that is not in 3.5.3-rc.1 relates to expansion boards and homing moves.
-
Day 3 without any tool drops so I'm going to say inserting M400 prior to tool lock/unlock macros is working. Out of curiosity, will this be addressed in the final release or will the M400 always be required? It won't matter much for me as I'll likely forget to remove it when the 3.6 is released but I am curious.
-
@edsped I haven't decided yet. We'd need to either disable IS throughout tool change files, or implicitly wait for motion to stop between certain pairs of moves - but what pairs, exactly? I'm not sure that either of those would be appropriate in all circumstances. We could add a means of specifying that a certain axis is used as a tool locking mechanism, but would that be any better than advising users where to use M400?
-
If people don't want to sprinkle M400s, they could also disable and re enable IS at the beginning and end of the macros.
-
@oliof yes. I am considering extending M593 to allow IS to be turned off and then turned on again without needing to specify the parameters.
-
Okay, I'm back with a problem report with my delta. I noticed during extrusion "blob" testing tonight that it was making a light clunking noise during each blob extrude. At first I assumed it was the extruder, but it was happening on all the blobs, and doing it the most on the lowest cubic (slowest) ones. To judge from finger-on-arms, it may only be the Z axis (AWD, so this is two steppers). IS on/off does not affect it. It is reproducible without extrusion, too, using a very slow move with Z component like G1 X3 Y1 Z20.5 F16.84 starting from X0 Y0 Z1. There is no discernible interval to the clunking; it sounds random, and it happened at least once on most of the blobs, which were done across the bulk of the bed area. M122 shows nothing amiss to my eyes. I can confirm that this wasn't happening with nigh-identical GCode in 3.5.1. I think I've seen this or something similar reported already, but I thought that was connected somehow to IS, and this doesn't seem to be.
-
@Kiolia Hi, thanks for your report. I think this may be related to this issue: https://github.com/Duet3D/RepRapFirmware/issues/1015. I don't think this has been fixed in 3.6.0 yet, so one for @dc42.
Ian