Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    M500 not saving correctly in SBC mode. 3.2.2 Duet3

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    5
    27
    1.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Th0mpyundefined
      Th0mpy
      last edited by Phaedrux

      This may or may not be an issue but I thought I'd get everyone's opinion.

      Here are my steps to reproduce.

      I am running G32 on my Delta printer, when finished these are my results:
      Calibrated 8 factors using 10 points, (mean, deviation) before (0.001, 0.052) after (-0.000, 0.052)

      (I run M500 to save the results)

      Ok great. I move around and run G32 again THESE are the results:
      Calibrated 8 factors using 10 points, (mean, deviation) before (-0.002, 0.050) after (-0.000, 0.050)
      (still decent results, I save with M500)

      Now I run an M999 to reset everything and run G32:
      Calibrated 8 factors using 10 points, (mean, deviation) before (-0.560, 1.155) after (0.000, 0.050)

      So I'm close to how bad it was before I calibrated and will need to run another 2-3 times to get the calibration back to where it was. It almost acts like it's not reading the config-override.g but I can confirm the PID parameters are in fact loaded (which also exist in the override). Additionally, the M501 is present at the end of the config.g.

      I've tried everything I can think of, I even started homing before G32 and probing for Z. Additionally I've gone from 6 - 8 factor on the calibration. I've also tried it with the heated bed on and off. No matter what I do, after a reset it loses or the calibration is way off. I can understand one or two microns but half a mm seems excessive.

      I would think if this were a build issue, the issue would be present after moving around a bit and running and checking the calibration again.

      To add icing on the cake, I also have a tilt on the bed that I can't account for, mesh leveling does not correct it and I'm guessing it's got something to do with the calibration procedure.

      Any ideas?

      Specs of the machine:

      • Duet 3 6HC
      • Optical Endstops
      • 24v power supply (tests fine)
      • BL-Touch
      • LDO 2004MAC steppers

      One side note.. I've deleted the config-override.g and recreated it with the thought that it might be corrupt or something weird.

      droftartsundefined 1 Reply Last reply Reply Quote 0
      • Th0mpyundefined
        Th0mpy
        last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • Th0mpyundefined
          Th0mpy
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @Th0mpy
            last edited by

            @Th0mpy It sounds like config_override.g is not being loaded after the reset. Can you post your config.g? Do you have M501 at the end of config.g to load config_override.g? Also, what firmware version are you running? Send M115 and post response.

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by

              You could run M665 and M666 without parameters after power up and after each G32, to ses what parameters it is using.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              1 Reply Last reply Reply Quote 0
              • Th0mpyundefined
                Th0mpy
                last edited by Th0mpy

                Below is my config and override. I can confirm with M666 and M665 that at reboot it's using the config-override parameters.

                M115:
                FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.2 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2021-01-05

                ; Configuration file for Duet 3 (firmware version 3)
                ; executed by the firmware on start-up
                ;
                ; generated by RepRapFirmware Configuration Tool v3.2.1 on Mon Jan 18 2021 10:08:36 GMT-0600 (Central Standard Time)
                
                ; General preferences
                G90                                                 ; send absolute coordinates...
                M83                                                 ; ...but relative extruder moves
                M550 P"Rostock"                                      ; set printer name
                M665 R136.356 L291.06 B120 H285                      ; Set delta radius, diagonal rod length, printable radius and homed height
                M666 X0 Y0 Z0                                       ; put your endstop adjustments here, or let auto calibration find them
                
                ; Drives
                
                M569 P0.0 S0                                        ; physical drive 0.0 goes backwards
                M569 P0.1 S1                                        ; physical drive 0.1 goes forwards
                M569 P0.3 S1                                        ; physical drive 0.3 goes forwards
                M569 P0.4 S0                                        ; physical drive 0.4 goes forwards
                M569 P0.5 S1                                        ; physical drive 0.5 goes forwards
                ;M584 X0.0 Y0.1 Z0.3 E0.4:0.5                        ; set drive mapping
                M584 X0.0 Y0.1 Z0.3 E0.4:0.5                        ; set drive mapping
                ;M350 X32 Y32 Z32 E32:32 I0                          ; configure microstepping without interpolation
                M350 X8 Y8 Z8 E32:32 I0                          ; configure microstepping without interpolation
                ;M92 X320 Y320 Z322.58 E837.00:837.00					; set steps per mm
                ;M92 X320.978 Y322.250 Z323.229E837.00:837.00
                M92 X80 Y80 Z80 E837.00:837.00		; 16 microstep
                M566 X1200.00 Y1200.00 Z1200.00 E900.00:900.00    	; set maximum instantaneous speed changes (mm/min)
                M203 X18000.00 Y18000.00 Z18000.00 E4100.00:4100.00 ; set maximum speeds (mm/min)
                M201 X1000.00 Y1000.00 Z1000.00 E300.00:300.00    	; set accelerations (mm/s^2)
                M906 X1800 Y1800 Z1800 E1200:1200 I30               ; set motor currents (mA) and motor idle factor in per cent
                ;M584 X0.0 Y0.1 Z0.3 E0.4                           ; set drive mapping
                ;M350 X32 Y32 Z32 E32 I0                            ; configure microstepping without interpolation
                ;M92 X320.00 Y320.00 Z320.00 E837                   ; set steps per mm
                ;M566 X1200.00 Y1200.00 Z1200.00 E900.00            ; set maximum instantaneous speed changes (mm/min)
                ;M203 X25000.00 Y25000.00 Z25000.00 E4800.00        ; set maximum speeds (mm/min)
                ;M201 X900.00 Y900.00 Z900.00 E300.00               ; set accelerations (mm/s^2)
                ;M906 X1800 Y1800 Z1800 E1200 I30                   ; set motor currents (mA) and motor idle factor in per cent
                M84 S30                                             ; Set idle timeout
                
                ; Axis Limits
                M208 Z0 S1                                          ; set minimum Z
                
                ; Endstops
                M574 X2 S1 P"io0.in"                                ; configure active-high endstop for high end on X via pin io0.in
                M574 Y2 S1 P"io1.in"                                ; configure active-high endstop for high end on Y via pin io1.in
                M574 Z2 S1 P"io2.in"                                ; configure active-high endstop for high end on Z via pin io2.in
                
                ; Z-Probe
                M950 S0 C"io7.out"                                  ; create servo pin 0 for BLTouch
                ;M558 P9 C"^io7.in" H5 F175 T6000 R0.5 A4 S0.03      ; set Z probe type to bltouch and the dive height + speeds
                M558 P9 C"^io7.in" H5 F175 T6000 R0.5		        ; set Z probe type to bltouch and the dive height + speeds
                G31 P500 X0 Y29.5 Z3.14                             ; set Z probe trigger value, offset and trigger height
                M557 R110 S32	                                    ; define mesh grid
                
                ; Heaters
                M308 S0 P"temp2" Y"thermistor" T100000 B4300        ; configure sensor 0 as thermistor on pin temp2
                M950 H0 C"out3" T0                                  ; create bed heater output on out3 and map it to sensor 0
                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
                M143 H0 S120                                        ; set temperature limit for heater 0 to 120C
                M308 S1 P"temp1" Y"thermistor" T100000 B4300        ; configure sensor 1 as thermistor on pin temp1
                M950 H1 C"out1" T1                                  ; create nozzle heater output on out1 and map it to sensor 1
                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 280C
                ;M308 S2 P"temp0" Y"thermistor" T100000 B4300        ; configure sensor 2 as thermistor on pin temp0
                ;M950 H2 C"out2" T2                                  ; create nozzle heater output on out2 and map it to sensor 2
                ;M307 H2 B0 S1.00                                    ; disable bang-bang mode for heater  and set PWM limit
                ;M143 H2 S280                                        ; set temperature limit for heater 2 to 280C
                
                ; Fans
                M950 F0 C"out5" Q500                                ; create fan 0 on pin out5 and set its frequency
                M106 P0 S0 H-1                                      ; set fan 0 value. Thermostatic control is turned off
                M950 F1 C"out4" Q500                                ; create fan 1 on pin out4 and set its frequency
                M106 P1 S1 H1 T45                                   ; set fan 1 value. Thermostatic control is turned on
                
                ; Tools
                M563 P0 D0 H1 F0                                    ; define tool 0
                M563 P1 D1 H1 F0                                    ; define tool 1
                G10 P0 X0 Y0 Z0                                     ; set tool 0 axis offsets
                G10 P0 R0 S0                                        ; set initial tool 0 active and standby temperatures to 0C
                G10 P1 R0 S0                                        ; set initial tool 1 active and standby temperatures to 0C
                
                ; Heater model parameters
                M307 H0 R0.630 C141.300:141.300 D4.00 S0.75 V14.0 B0
                M307 H1 R2.227 C104.400:104.400 D6.00 S0.75 V14.0 B0
                
                ; Custom settings are not defined
                M376 H3
                ; Miscellaneous
                M501                                                ; load saved parameters from non-volatile memory
                
                
                
                ; config-override.g file generated in response to M500 at 2021-03-26 23:01
                
                ; Delta parameters
                M665 L291.060:291.060:291.060 R137.236 H281.541 B120.0 X-0.157 Y0.287 Z0.000
                M666 X-1.142 Y-0.378 Z1.520 A-0.00 B0.01
                ; Heater model parameters
                M307 H0 R0.630 C141.300:141.300 D4.00 S0.75 V14.0 B0
                M307 H1 R2.227 C104.400:104.400 D6.00 S0.75 V14.0 B0
                ; Workplace coordinates
                G10 L2 P1 X0.00 Y0.00 Z0.00
                G10 L2 P2 X0.00 Y0.00 Z0.00
                G10 L2 P3 X0.00 Y0.00 Z0.00
                G10 L2 P4 X0.00 Y0.00 Z0.00
                G10 L2 P5 X0.00 Y0.00 Z0.00
                G10 L2 P6 X0.00 Y0.00 Z0.00
                G10 L2 P7 X0.00 Y0.00 Z0.00
                G10 L2 P8 X0.00 Y0.00 Z0.00
                G10 L2 P9 X0.00 Y0.00 Z0.00
                
                
                1 Reply Last reply Reply Quote 0
                • Th0mpyundefined
                  Th0mpy
                  last edited by Th0mpy

                  Ok, closer inspection there is something weird.

                  A couple of the parameters for M665 don't seem to be saved properly during an M500.

                  Config-override.g

                  ; Delta parameters
                  M665 L291.060:291.060:291.060 R137.213 H281.548 B120.0 X-0.090 Y0.326 Z0.000
                  M666 X-1.052 Y-0.498 Z1.550 A-0.00 B0.01
                  

                  Before reboot:

                  3/27/2021, 7:49:19 AM	Connection interrupted, attempting to reconnect...
                  DCS has been stopped
                  3/27/2021, 7:49:19 AM	M999
                  3/27/2021, 7:49:14 AM	M666
                  Endstop adjustments X-1.05 Y-0.50 Z1.55, tilt X-0.27% Y1.42%
                  3/27/2021, 7:48:53 AM	M500
                  

                  After reboot:

                  3/27/2021, 7:49:41 AM	M666
                  Endstop adjustments X-1.05 Y-0.50 Z1.55, tilt X0.00% Y0.01%
                  3/27/2021, 7:49:22 AM	Connection established
                  

                  So it seems that M501 is working, it pulls the proper tilt, but the M500 does not save the updated tilt.

                  I'm going to recalibrate and run M500, I'll post the config-override.g

                  1 Reply Last reply Reply Quote 0
                  • Th0mpyundefined
                    Th0mpy
                    last edited by

                    Ok, here we are.

                    3/27/2021, 8:05:10 AM	M666
                    Endstop adjustments X-1.14 Y-0.45 Z1.59, tilt X-0.20% Y1.46%
                    3/27/2021, 8:05:04 AM	M500
                    
                    ; Delta parameters
                    M665 L291.060:291.060:291.060 R137.231 H281.551 B120.0 X-0.161 Y0.210 Z0.000
                    M666 X-1.135 Y-0.455 Z1.590 A-0.00 B0.01
                    

                    The config-override.g isn't being updated with the tilt on an M500. I can confirm that manually editing the value does work.

                    droftartsundefined 1 Reply Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @Th0mpy
                      last edited by

                      @Th0mpy thanks for your report and testing, one for @dc42 to fix!

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      dc42undefined 1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        In meantime may want to upload the 3.2.2 zip file just for the bug fixes

                        https://github.com/Duet3D/RepRapFirmware/releases/download/3.2.2/Duet2and3Firmware-3.2.2.zip

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @droftarts
                          last edited by dc42

                          @droftarts said in Weird error on my Delta:

                          @Th0mpy thanks for your report and testing, one for @dc42 to fix!

                          Ian

                          I've just re-tested M500 and M501. They are saving and loading the M566 tilt parameters for me. I don't recall making any changes in this area for more than a year.

                          Did you definitely run M500?

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          Th0mpyundefined 1 Reply Last reply Reply Quote 0
                          • Th0mpyundefined
                            Th0mpy
                            last edited by Th0mpy

                            @dc42 said in Weird error on my Delta:

                            d loading the M566 tilt parameters for me. I don't recall making any changes in this area for more than a year.
                            Did you definitely run M500?

                            Absolutely positive. I just ran a quick test where I calibrated, checked, saved, reloaded, and checked again. I also just updated to 3.2.2 just to make sure.

                            ab7d891e-834e-4206-ace1-ce5ddcb49430-image.png

                            1 Reply Last reply Reply Quote 0
                            • Th0mpyundefined
                              Th0mpy @dc42
                              last edited by

                              @dc42 Is there something I can to to help qualify this more?

                              dc42undefined 1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @Th0mpy
                                last edited by

                                If you use M666 to adjust the tilt and one of the endstop adjustments, confirm that you have made the adjustment by sending M666 without parameters, and then send M500, do the new values get saved to config-override.g?

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                Th0mpyundefined 1 Reply Last reply Reply Quote 0
                                • Th0mpyundefined
                                  Th0mpy @dc42
                                  last edited by

                                  @dc42 Ok, I tried it, it does save it but there seems to be a formatting issue on the A and B params:
                                  f137536d-1f5e-400a-ba72-537605b2b5c1-image.png

                                  ; Delta parameters
                                  M665 L291.060:291.060:291.060 R137.239 H281.544 B120.0 X-0.138 Y0.266 Z0.000
                                  M666 X-1.000 Y-1.000 Z-1.000 A0.10 B0.10
                                  ; Heater model parameters
                                  M307 H0 R0.630 C141.300:141.300 D4.00 S0.75 V14.0 B0
                                  M307 H1 R2.227 C104.400:104.400 D6.00 S0.75 V14.0 B0
                                  

                                  Am I going crazy here?

                                  dc42undefined 1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator
                                    last edited by

                                    Could it be a line length limit?

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    Th0mpyundefined 1 Reply Last reply Reply Quote 0
                                    • Th0mpyundefined
                                      Th0mpy @Phaedrux
                                      last edited by

                                      @phaedrux My other printer's M666 line is much longer.

                                      droftartsundefined 1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators @Th0mpy
                                        last edited by

                                        @th0mpy said in Weird error on my Delta:

                                        @dc42 Ok, I tried it, it does save it but there seems to be a formatting issue on the A and B params:
                                        f137536d-1f5e-400a-ba72-537605b2b5c1-image.png

                                        ; Delta parameters
                                        M665 L291.060:291.060:291.060 R137.239 H281.544 B120.0 X-0.138 Y0.266 Z0.000
                                        M666 X-1.000 Y-1.000 Z-1.000 A0.10 B0.10
                                        ; Heater model parameters
                                        M307 H0 R0.630 C141.300:141.300 D4.00 S0.75 V14.0 B0
                                        M307 H1 R2.227 C104.400:104.400 D6.00 S0.75 V14.0 B0
                                        

                                        Am I going crazy here?

                                        Odd, I did the same and it worked correctly. Are you definitely running firmware 3.2.2 ? Send M115 to check.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        1 Reply Last reply Reply Quote 0
                                        • droftartsundefined
                                          droftarts administrators @Th0mpy
                                          last edited by

                                          @th0mpy Are you using an Single Board Computer with your Duet 3? Your M115 doesn't report this. I just tested the following, which seems to be stored and retrieved correctly:
                                          56b62231-2b36-4ff7-975e-2ad8a66fece0-image.png
                                          The resultant M501 looks like this (in part):

                                          ; Delta parameters
                                          M665 L161.612:161.612:161.612 R81.896 H173.484 B75.0 X-0.843 Y-0.003 Z0.000
                                          M666 X-1.000 Y-1.000 Z-1.000 A10.00 B10.00
                                          ; Heater model parameters
                                          M307 H1 R2.429 C140.000:140.000 D5.50 S1.00 V0.0 B0 I0
                                          

                                          Though this is on a Duet 2 Maestro running 3.3beta2 (2021-03-10).

                                          Ian

                                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                          1 Reply Last reply Reply Quote 0
                                          • Th0mpyundefined
                                            Th0mpy
                                            last edited by

                                            Here's the result of M115:

                                            FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.2.2 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2021-02-11
                                            

                                            I am running in SBC mode.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA