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

    Erratic M109

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    14
    529
    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.
    • matt3oundefined
      matt3o
      last edited by

      I'm on duetwifi latest 2.x firmware. I have a very weird temperature issue. I initially set the tool temp to 130C, then probe and finally set the temp to the final temp for printing.

      Something like this

      M140 S85 ; bed temperature
      M109 S130 ; set tool temp and wait. 130°C to prevent ooze and damage to the print bed while probing
      M190 S85 ; wait for bed temperature
      
      G28 ; home all axes
      G32 ; true bed leveling
      
      M109 S260 ; set initial tool temp and wait
      

      what is happening is that the temp is correctly set to 130C, but the second M109 is completely ignored and the print starts with a warning in the console. As soon as it reaches the second layer where I have a third M109 (I'm lowering the temp at second layer) the temp is correctly set to the new temp.

      I'm a little confused... I use a mosquito with a Slice heater and slice thermistor. Any idea? I noticed just now that M109 is deprecated on RRF but I guess internally it converts it to the appropriate commands.

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

        @matt3o My guess is that in G28 and or G32 the current tool (probably T0) is being set to standby. Watch what happens to the tool in DWC when you run the start gcode. What happens if you insert T0 after G32, but before M109 S260?

        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
        • matt3oundefined
          matt3o
          last edited by

          @droftarts said in Erratic M109:

          Watch what happens to the tool in DWC when you run the start gcode. What happens if you insert T0 after G32, but before M109 S260?

          I tried with T0 after G32 but didn't work. From web interface I can see temp and standby temp set to 130C but not to 260C. When it reaches the second layer the temps are updated.

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

            @matt3o M109 should still work. What happens if you type the commands in directly?

            Can you confirm what firmware version you are on? 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

            matt3oundefined 1 Reply Last reply Reply Quote 0
            • matt3oundefined
              matt3o @droftarts
              last edited by

              @droftarts

              FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.04 ELECTRONICS: Duet WiFi 1.02 or later + DueX5 FIRMWARE_DATE: 2019-11-01b1
              

              apparently it's not the latest 🙂 but close enough

              if I set M109 manually it seems to be working... I'm pretty confused... I swear it was working before.

              1 Reply Last reply Reply Quote 0
              • matt3oundefined
                matt3o
                last edited by

                okay... I'm a bit ashamed but in my defense the docs are not completely clear 😛

                the wiki for M143 says "S Maximum permitted temperature". Apparently the maximum permitted temperature is actually what you define in the S parameter minus 1 (I guess you should give it a good +5 margin anyway).

                If you set the temp (with 109) to the max temperature the duet just ignores the command but keeps executing the following gcode. Shouldn't the machine just stop or maybe give an error that tells you we reached a soft temperature limit?

                It took me more time than I'd like to admit... my bad... I'll see myself out... sowwy.

                dc42undefined droftartsundefined 2 Replies Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @matt3o
                  last edited by

                  @matt3o said in Erratic M109:

                  If you set the temp (with 109) to the max temperature the duet just ignores the command but keeps executing the following gcode. Shouldn't the machine just stop or maybe give an error that tells you we reached a soft temperature limit?

                  Yes, there should be an error message.

                  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

                  matt3oundefined 1 Reply Last reply Reply Quote 0
                  • matt3oundefined
                    matt3o @dc42
                    last edited by

                    @dc42 it's a warning regarding a faulty thermistor, it would be nice that if the maxtemp is reached the duet would just say so

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

                      @matt3o said in Erratic M109:

                      the wiki for M143 says "S Maximum permitted temperature". Apparently the maximum permitted temperature is actually what you define in the S parameter minus 1 (I guess you should give it a good +5 margin anyway).

                      I didn't realise you had M143 set, but then you didn't post your whole config.g! However, well done for working it out. I'd give it a larger margin that just 5 degrees, to allow for overshoot; I'd say 5-10%, so for 260C you probably want the limit to be 280C.

                      Not sure why you didn't get a warning message. I'll test tomorrow.

                      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

                      matt3oundefined 1 Reply Last reply Reply Quote 0
                      • matt3oundefined
                        matt3o @droftarts
                        last edited by

                        I didn't remember I actually set M143, it was an initial configuration and it was set to a very conservative value. I've set it to 290C now.

                        @droftarts said in Erratic M109:

                        Not sure why you didn't get a warning message. I'll test tomorrow.

                        you get a warning but so generic that it was of little use to me. Also the docs put me off a little.

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

                          @matt3o I've tested this on RRF 2.05.1 (2020-02-09b1), and it works correctly. I set M143 S100, then M109 S99. As temperature overshoots a little (105C), triggered error at 100C, turned off heater and set fault condition. Also works when setting temperature in DWC. The following is copied from console, so is in reverse order, newest first.

                          13/02/2020, 14:45:31 Error: Heating fault on heater 1
                          13/02/2020, 14:45:29 M109 S99
                          13/02/2020, 14:44:31 M109 S100 [Checked to see if setting the temperature limit would turn on... it didn't]
                          13/02/2020, 14:40:19 M143
                          Temperature protection item 1 is configured for heater 1 and supervises heater 1 to generate a heater fault if the temperature exceeds 100.0°C
                          13/02/2020, 14:40:15 M143 H1 S100

                          I also tested this with the bed heater, and it works the same.

                          Can you try the same in RRF 2.04, and let me know the response? Then update to the latest RRF https://github.com/dc42/RepRapFirmware/releases/tag/2.05.1 and check it works as expected?

                          You can see the current setting for any heater by sending M143 H[heater number]:

                          13/02/2020, 15:18:47 M143 H1
                          Temperature protection item 1 is configured for heater 1 and supervises heater 1 to generate a heater fault if the temperature exceeds 100.0°C
                          13/02/2020, 15:18:44 M143 H0
                          Temperature protection item 0 is configured for heater 0 and supervises heater 0 to generate a heater fault if the temperature exceeds 25.0°C

                          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

                          matt3oundefined 1 Reply Last reply Reply Quote 0
                          • matt3oundefined
                            matt3o @droftarts
                            last edited by

                            @droftarts thanks for checking, can you try to set M109 == M143 ?

                            I'll try to update to 2.05 or 3 at this point

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

                              @matt3o Yes, I tried setting M109 == M143 (and higher temps), and it does ignore it without warning. On the bed heater you get a warning if you try and set the bed temp at or higher than M143 setting:

                              Error: Temperature 60.0°C too high for heater 0
                              13/02/2020, 15:08:35 M143 H0 S25

                              I've flagged this as a bug in 2.05.1 to @dc42

                              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
                              • matt3oundefined
                                matt3o
                                last edited by

                                okay so I'm not a complete idiot, it is indeed a bug 🙂

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