RepRapFirmware 3.6.0-alpha.4+3 available for testing
-
@edsped If you stick with 3.6 make sure you are using the most recent release (see the link I provided above), this contains a number of fixes so that may impact your tests. You may also want to try disabling input shaping to see if that has any impact on your high speed moves as IS in 3.6 is very different to that used in 3.5 (as a result you may also need to retune your motor current if you are getting missed steps).
-
@gloomyandy Timing was on my side this morning... Started a print and went for cup of coffee and came back to the carriage air printing, tool was never picked up and it doesn't appear that the twist lock was ever actuated. Attached video starts at the print being paused while tool 4 was supposed to be attached and printing. Clearly the tool wasn't picked up as it should have been. When I cancelled the print the carriage went to the return position and didn't appear to fully park the tool as the two plates never made contact and the twist lock was never actuated. I'm not sure if this is something in the tool lock or unlock macro or something else, again it's an issue I've never seen before and those macros haven't been "tweaked" in ages. Twist lock moves freely and I can't do anything to make it bind FWIW...
-
@edsped What version of RRF were you using for this test?
-
@gloomyandy 3.5.1 Will revert at some point this weekend or today. The issue with the tool change is that it's so random. I can have hundreds of flawless tool changes other times they'll happen in short periods and of course it's never when I'm looking. As an aside I mostly do single tool prints and sometimes will have a flawless pickup and the tool lock will not fully disengage at the end of the print and will drop the tool as the carriage retracts from the tool posts. Other times the lock will not fully engage during pickup and will drop the tool as it retracts or the tool plate won't be tight to the carriage during print and the tool will kind of flop. My initial thought was mechanical binding in the pin mechanism but the mechanism operates freely. Other thought maybe bad connector or an issue with the stepper that drives the pin that just happens to coincide with the firmware change. I have a print that I need the higher quality for so will get through it and revert and print a bunch of parts that I've been printing to see how it goes. Upside is that it will also give me a baseline to compare print quality between firmwares.
-
@edsped So just to check you got the tool change failure with 3.5.1?
-
@gloomyandy Sorry to be unclear... No issues with 3.5.1 prior to updating to 3.6.0 Alpha. I've not reverted to 3.5.1 yet so can't say for certain it's a 3.6.0 thing yet only circumstantially for now. Will revert to 3.5.1 later to see if it's firmware or other issue.
-
@gloomyandy reverted to 3.5.1 and am ~50 tool changes in without issue... Will continue to run throughout the morning and will follow up. I'm thinking it may just be wise to zip up my configuration files and link to them if there's no issues when running 3.5.1. One thing for sure is print quality improvement is definitely noticeable..
-
@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.