New experimental firmware 1.19beta10


  • administrators

    @Jackal:

    Just installed beta 10, seems to be having a problem when showing the heightmap.
    After calibration, the heightmap overlay appears, but it's empty
    If I choose Show Mesh Grid Heightmap under Auto Delta Calibration the browser won't response and needs to restart.
    Now sure if it's the problem with RRF or DWC 1.17+1.

    edit: it seems to print normally, will look into it later and provide the config and bed files for investigation

    No need to look into it. I forgot to warn chrishamm about the change to the height map file to support different X and Y spacings. We'll have to wait for him to do a DWC 1.17+2 release.


  • administrators

    @Jackal:

    @fcwilt:

    Under what circumstances would you want the probe to be deployed/retracted with each G30/G29 command?

    Thanks for the reply.

    Frederick

    I believe it is to avoid the probe not being deployed when executing G30/G29 as a single command
    If you are doing bed compensation with multiple G30, you should use M401 M402

    That's right. Several people complained that G29 didn't deploy the probe automatically.



  • Thanks David for the quick response


  • administrators

    I have just released DuetEthernetFirmware1.19beta10+1. The primary reason for this release is that on some Duet Ethernet boards, it was not possible to flash new firmware using the web interface or M997 when a recent 1.19beta firmware version was installed. AFAIK this only affected the Duet Ethernet, so I have not released new binaries for the other Duets.



  • Lesson learned. 🙂

    @minim:

    @DjDemonD:

    Fixed thank you. I did have deployprobe and retractprobe macros.

    However since we all know few if anyone reads the release notes, maybe that one could be in the original post above since it will affect almost everyone. Just saying realpolitik and all that.

    I'd agreed for a stable release but I think most people beta testing actually reads the release notes. I do.



  • @Jackal:

    I believe it is to avoid the probe not being deployed when executing G30/G29 as a single command
    If you are doing bed compensation with multiple G30, you should use M401 M402

    Thanks to you and dc42 for the replies.

    Frederick



  • I just tried tuning the heaters, my E3D V6 with 30W heater got this result:
    Heater 3 model: gain 454.8, time constant 203.3, dead time 5.0, max PWM 1.00, mode: PID
    Computed PID parameters for setpoint change: P15.9, I0.078, D55.9
    Computed PID parameters for load change: P15.9, I1.103, D55.9

    pre-beta 10 result:
    M307 H3 A465.8 C207.5 D7.0 S1.00 B0

    However it failed to tune my heat bed on first run:
    Auto tune of heater 0 failed due to bad curve fit (G=59.2, tc=65.8, td=0.0)

    one second run it got
    Heater 0 model: gain 53.4, time constant 52.2, dead time 1.0, max PWM 1.00, mode: PID
    Computed PID parameters for setpoint change: P177.6, I3.406, D122.1
    Computed PID parameters for load change: P177.6, I58.798, D122.1


    The 2 blue peaks are from the heat bed PID tuning, look similar to me
    The yellow peak is the heater after new PID tuning, look AMAZING



  • @dc42:

    Lars, thanks for trying the leadscrew adjustment. To help me diagnose this, please do the following:

    1. Create a copy of bed.g as a macro. In that macro, replace S3 on the last G30 command by S-1.

    2. First run the macro, then G31. Repeat until the corrections are out of range. Post the output.

    I take it you mean G32 not G31…

    20:40:32 M98 P0:/macros/4 - Leveling Check Probe
    Bed probe heights: -0.663 -0.068 -0.086, mean -0.272, deviation from mean 0.276
    20:39:49 G32
    Error: some computed corrections exceed configured limit of 0.50mm: -0.010 0.012 0.836
    20:37:26 M98 P0:/macros/4 - Leveling Check Probe
    Bed probe heights: -0.665 -0.068 -0.088, mean -0.273, deviation from mean 0.277
    20:36:37 G32
    Leadscrew adjustments made: -0.229 0.135 0.409, points used 3, deviation before 0.197 after 0.000
    20:35:37 M98 P0:/macros/4 - Leveling Check Probe
    Bed probe heights: -0.287 0.152 0.078, mean -0.019, deviation from mean 0.192
    
    

    Front left lead screw (-60,-10) is connected to Z (drive 2)
    Front right lead screw (560,-10) is connected to Y (drive 1)
    Back centre lead screw (250,560) is connected to X (Drive 0)

    Macro "4 - Leveling Check Probe":

    T0
    M401
    G30 P0 X40 Y40 Z-99999      ; probe near a leadscrew
    G30 P1 X250 Y460 Z-99999    ; probe near a leadscrew
    G30 P2 X460 Y40 Z-99999 S-1  ; probe near a leadscrew and calibrate 3 motors
    M402
    G90
    G1 X250 Y250
    T-1
    
    ```bed.g
    

    T0
    M401
    G30 P0 X40 Y40 Z-99999 ; probe near a leadscrew
    G30 P1 X250 Y460 Z-99999 ; probe near a leadscrew
    G30 P2 X460 Y40 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
    M402
    G90
    G1 X250 Y250
    T-1

    M584 Y5 X7 U8 V6 E3:4 Z0:1:2 ; Set up steppers for x, y, u, v, z and e, use P4 once it works to hide V
    M671 X250:560:-60 Y560:-10:-10 S0.5 ; Set up lead screw positions for bed leveling


  • administrators

    Thanks Lars, that gives me something to look at. You are probing close to leadscrews 2,0,1 in that order, so we would expect the corrections to be close to the height errors for points 1,2,0 in that order. They are:

    Height errors in order 1,2,0: 0.152 0.078 -0.287
    Adjustments: -0.229 0.135 0.409

    So the corrections look way out. I'll check and simulate the maths.

    Which variety of Duet do you have?



  • @dc42:

    Thanks Lars, that gives me something to look at. You are probing close to leadscrews 2,0,1 in that order, so we would expect the corrections to be close to the height errors for points 1,2,0 in that order. They are:

    Height errors in order 1,2,0: 0.152 0.078 -0.287
    Adjustments: -0.229 0.135 0.409

    So the corrections look way out. I'll check and simulate the maths.

    Which variety of Duet do you have?

    Duet WiFi 1.0 + DueX5

    @dc42:

    Hi lars, is the speed problem still present in beta10? Please respond in the thread on beta10 if is is.

    I do believe I know what caused the speed problem. In cura (2.6.2) there is a setting of max Z speed in mm/s. This was for some unknown reason set to 5mm/s for extruder 2. This translates a M203 Z5 (not at the start of the print but after first switch to t1) but should have been generated to M203 Z300 as on the duet the M203 command max federate is in mm/min.

    If you stop the print you still got this federate when starting a new print. It might need to drop 10mm in Z with a max speed of 5mm/min at the start of the print… This should be easily solved by setting this parameter to 0 in cura, it will then not issue any M203 …

    Would it make sense to revert max speed (and other configuration settings) to the original configuration after printing from file is done/stopped?



  • I think I found a bug in 1.19beta10 with my delta.

    config.g contains:

    M665 L265.000 R109.801 H289.779 B105.0 X-0.308 Y-0.499 Z0.000
    M666 X0.281 Y-0.325 Z0.045 A0.00 B0.00
    

    After a reboot, [c]M665[/c] returns the above parameters, but [c]M666[/c] returns:

    Endstop adjustments X0.00 Y0.00 Z0.00, tilt X0.00% Y0.00%
    ```and the bed height is incorrect when I try to print. Manually entering [c]M666 X0.281 Y-0.325 Z0.045 A0.00 B0.00[/c] after a reboot sets it correctly and the bed height is corrected when I go to print.
    
    Which reminds me… I'm curious what "good" numbers for endstop correction, tilt, and tower position correction are. I'd like some idea where my printer is on the range between perfect and "you really ought to fix that"...

  • administrators

    Do you have a config-override.g file, and a M501 command near the end of config.g?

    Those numbers look good to me.


  • administrators

    Lars, I found the problem: I missed a minus sign when transposing a formula from Maxima to the source code. So in the 3 leadscrews case it was computing the second leadscrew correction with the wrong sign.

    Please try 1.19beta10+2 which I have just released.



  • Heater tuning
    Old version 1.18.1
    M307 H0 A311.7 C649.8 D3.1 S1.00 B0
    M307 H1 A423.4 C203.6 D5.1 S1.00 B0
    1.19 Beta 10
    M307 H0 A240.2 C387.9 D1.1 S1.00 B0
    M307 H1 A469.9 C253.0 D4.8 S1.00 B0



  • Can this new independent Z motor leveling be used for dual Z Cartesian printers like the Prusa, OrdBot, clones, etc, or is this a Delta only feature? Seems like it could be used to automatically get the X-axis of the bed mechanically leveled, only requiring the Z motors to track Y-axis movement…



  • @dc42:

    Do you have a config-override.g file, and a M501 command near the end of config.g?

    No. I took the post-calibration M665 and M666 numbers from config-override.g, put them in config.g, and deleted config-override.g. No M501 command at the end of config.g. (I tried the M501 / config-override.g methodology in the past but ultimately prefer to have it all in config.g).

    Those numbers look good to me.

    Good to hear!



  • @dc42:

    Lars, I found the problem: I missed a minus sign when transposing a formula from Maxima to the source code. So in the 3 leadscrews case it was computing the second leadscrew correction with the wrong sign.

    Please try 1.19beta10+2 which I have just released.

    Works now!



  • I have another oddity to report with 1.19beta10:

    Sometimes when a (successful) print ends, I get a "Can't delete file 0:/sys/resurrect.g" error. It's not surprising it can't delete it (because I don't have a resurrect.g file), but I never saw that error until recently (I'm pretty sure coincident with going from beta8 to beta10). I also don't know where the [c]G10 P1 S0[/c] came from - it's not in my gcode, and the only [c]G10[/c]s I have in my Duet config files are [c]G10 P0 R0 S0[/c] and [c]G10 P1 R0 S0[/c] in my config.g file when I set up my tools. Here's the console output from a print I ran last night:

    11:12:00 PM	G10 P1 S0
    		Can't delete file 0:/sys/resurrect.g
    		Done printing file
    11:11:56 PM	Can't delete file 0:/sys/resurrect.g
    		Done printing file
    

    Here are the last lines of gcode from that print:```
    G1 X0.053 Y9.146 F540
    G1 E-8.0000 F6000
    ; layer end
    T0 ; Select Extruder 0 if not already selected
    G90 ; Switch to absolute mode
    G1 X0 Y0 Z250 E-10 F6000 ; Retract filament and raise printhead
    M104 S0 ; Turn off heater
    M84 S10 ; turn off motors after 10 seconds

    BTW, do you prefer feedback like this in this forum or as an issue in github?

  • administrators

    Thanks, Yonkiman. I prefer issues reported here, especially for betas.

    Regarding G1 P1 S0, do you have a stop.g file, and if so, is it in that?

    I'll suppress the "Can't delete" message in the next beta.


  • administrators

    Chrishamm has released DWC 1.17+2 which includes the changes needed to work with the new height map. So will those of you running firmware 1.19beta10 please upgrade it to 1.19beta10+2 if you haven't already, and upgrade DWC to 1.17+2. The mesh bed compensation height map should then display correctly.



  • @dc42:

    Regarding G1 P1 S0, do you have a stop.g file, and if so, is it in that

    Yes, I have the file; no it is not in that file. File only has the default 2 comment lines. I actually did a search for the word "G10" on my entire SD card, and it only appeared in the tool setup in config.g (as reported above) and one or two binary files.

    Speaking of which…once we successfully flash the firmware, is it safe to remove all the non-text (i.e. .bin/.zip/.rar) files from our sys directory?


  • administrators

    @Yonkiman:

    Speaking of which…once we successfully flash the firmware, is it safe to remove all the non-text (i.e. .bin/.zip/.rar) files from our sys directory?

    Yes, although the only binary files that should be in there are the two extra .bin files for the Duet WiFi.



  • Hey David, did you see my question nested up a few posts about dual-Z motor cartesian printers?


  • administrators

    @W3DRK:

    Can this new independent Z motor leveling be used for dual Z Cartesian printers like the Prusa, OrdBot, clones, etc, or is this a Delta only feature? Seems like it could be used to automatically get the X-axis of the bed mechanically leveled, only requiring the Z motors to track Y-axis movement…

    Yes, it's for Cartesian and CoreXY printers, not deltas.. See https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors.

    It can also be used to tell you what adjustments to make to manual bed levelling screws, but I haven't documented how to do that yet.



  • Did some more testing for the leveling. There might be some other bug. Feels like its still adjusting in the wrong direction…
    I changed the probe order to match the reporting of G32 and moved the points a bit.

    16:55:14 M98 P0:/macros/4 - Leveling Check Probe
    Bed probe heights: -0.136 -0.441 -0.471, mean -0.349, deviation from mean 0.151
    16:54:26 G32
    Error: some computed corrections exceed configured limit of 0.50mm: -0.007 0.505 0.553
    16:52:50 M98 P0:/macros/4 - Leveling Check Probe
    Bed probe heights: -0.138 -0.439 -0.461, mean -0.346, deviation from mean 0.147
    16:52:09 G32
    Leadscrew adjustments made: -0.294 0.260 0.269, points used 3, deviation before 0.170 after 0.000
    16:51:36 M98 P0:/macros/4 - Leveling Check Probe
    Bed probe heights: 0.186 -0.203 -0.174, mean -0.064, deviation from mean 0.177
    
    

    Front left lead screw (-60,-10) is connected to Z (drive 2)
    Front right lead screw (560,-10) is connected to Y (drive 1)
    Back centre lead screw (250,560) is connected to X (Drive 0)

    Macro "4 - Leveling Check Probe":

    T0
    M401
    G30 P0 X250 Y420 Z-99999    ; probe near a leadscrew
    G30 P1 X420 Y80 Z-99999     ; probe near a leadscrew and calibrate 3 motors
    G30 P2 X80 Y80 Z-99999 S-1  ; probe near a leadscrew
    M402
    G90
    G1 X250 Y250
    T-1
    
    ```bed.g:
    

    T0
    M401
    G30 P0 X250 Y420 Z-99999 ; probe near a leadscrew
    G30 P1 X420 Y80 Z-99999 ; probe near a leadscrew and calibrate 3 motors
    G30 P2 X80 Y80 Z-99999 S3 ; probe near a leadscrew
    M402
    G90
    G1 Y250
    T-1

    M584 Y5 X7 U8 V6 E3:4 Z0:1:2 ; Set up steppers for x, y, u, v, z and e, use P4 once it works to hide V
    M671 X250:560:-60 Y560:-10:-10 S0.5 ; Set up lead screw positions for bed leveling


Log in to reply