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

3.2 heater tuning issues

Scheduled Pinned Locked Moved
Beta Firmware
5
40
1.6k
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.
  • undefined
    matt3o @Phaedrux
    last edited by 7 Jan 2021, 17:35

    @Phaedrux yes, the tuning succeeded but still I get the error when printing (didn't happen with the duet2). I have no config-override.g.

    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

    M98 P"config.g" does not report any error.

    I'll try increasing the dead time as @Veti suggests. Thanks!

    1 Reply Last reply Reply Quote 0
    • undefined
      Phaedrux Moderator
      last edited by 7 Jan 2021, 17:41

      If that doesn't help I'll see what DC42 suggests. The new algorithm is quite new afterall.

      Z-Bot CoreXY Build | Thingiverse Profile

      undefined 1 Reply Last reply 8 Jan 2021, 09:43 Reply Quote 1
      • undefined
        matt3o @Phaedrux
        last edited by matt3o 1 Aug 2021, 09:58 8 Jan 2021, 09:43

        @Phaedrux I tried increasing the dead time (by 5 each time up to 20) but still "Error: Heater 0 fault: temperature rising much more slowly than the expected 0.4°C/sec". I'll try to put some crazy high value (100?), but I have to wait for the plate to reach ambient temp and it takes an hour every time 🔥

        It's weird because I get the error always at around 50C. I guess it's very fast to go from 20 to 50 and being such a big bed it slows down dramatically from 50 to 60... maybe I should do the calibration when the bed is already at around 45?

        Edit: nope, it seems the calibration cycles between 50C and 60C 20+ times, so it can't be it. What I noticed is that each time I run the calibration the values for M307 are "substantially" different.

        undefined 1 Reply Last reply 8 Jan 2021, 10:11 Reply Quote 0
        • undefined
          deckingman @matt3o
          last edited by 8 Jan 2021, 10:11

          @matt3o I've have a bed very similar to yours (400x400mm). Mine is 10mm thick with 12mm semi-rigid insulation under it but has a slightly less powerful mains heater (800Watt IIRC). The temperature sensor is located in a deep 3mm dia hole in the side of the bed, as close to the top surface (and as far away from the heat pad) as possible.

          Looking at my config.g, I last tuned that heater on 6th Auguest 2019 so that would have been with gen 3 but an older firmware. Here is what I have

          M307 H0 A230.8 C2252.5 D20.3 S1.00 B0 V27.3 ; auto tune 06/08/2019
          

          I've just "upgraded" to 3.2. I'll try tuning that heater later today and let you know how I get on and what values I end up with. (From what I've seen on these forums, I'm dreading what will happen............).

          Ian
          https://somei3deas.wordpress.com/
          https://www.youtube.com/@deckingman

          undefined 1 Reply Last reply 8 Jan 2021, 10:15 Reply Quote 1
          • undefined
            matt3o @deckingman
            last edited by 8 Jan 2021, 10:15

            @deckingman you are the 6-input hotend guy. A heated bed can't scare you! 😄

            undefined 1 Reply Last reply 8 Jan 2021, 13:35 Reply Quote 0
            • undefined
              matt3o
              last edited by 8 Jan 2021, 10:53

              Dead time 50 finally worked (from the 4 suggested). Bed overshoots quite a bit but that's easily fixed by setting a lower temp.

              I'll start lowering the value at each print until I find the optimal dead time. The auto calibration probably needs some work though

              undefined 1 Reply Last reply 8 Jan 2021, 10:55 Reply Quote 0
              • undefined
                Veti @matt3o
                last edited by 8 Jan 2021, 10:55

                @matt3o said in from duet 2 to duet 3 bed temp issues:

                Bed overshoots quite a bit but that's easily fixed by setting a lower temp.

                see
                https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control#Section_Manual_adjustments_to_the_heater_model_parameters

                1 Reply Last reply Reply Quote 0
                • undefined
                  deckingman @matt3o
                  last edited by 8 Jan 2021, 13:35

                  @matt3o said in from duet 2 to duet 3 bed temp issues:

                  @deckingman you are the 6-input hotend guy. A heated bed can't scare you! 😄

                  6 input hot end, 7 axes CoreXYUVAB, 13 steppers, one main Duet board and 3 expansion boards as well as a mains heated bed, none of which bother me in the slightest - but the new firmware (or what bugs, faults or foibles may be contained therein) terrifies me. 🙂

                  But actually, I've now completed the heated bed tuning, with the new algorithm and RRF 3.2. "stable (ish)", and can confirm that my prior misgivings were unfounded in this case. The process completed without any obvious signs of bad behaviour. I didn't take much note of the time but it took less than 2 hours overall (it takes about 13 minutes to get from ambient of around 20 to 90 deg C but much much longer to cool because if the insulation).

                  For info, the parameters I ended up with were as follows

                  M307 H0 R0.104 C2186.5 D28.16 S1.00 B0; auto tune 08/01/2021 using RRF 3.2. 
                  

                  Vin was 27.6 but that's irrelevant with a mains heated bed. I haven't tried an actual print yet.

                  Ian
                  https://somei3deas.wordpress.com/
                  https://www.youtube.com/@deckingman

                  undefined 1 Reply Last reply 8 Jan 2021, 13:39 Reply Quote 0
                  • undefined
                    matt3o @deckingman
                    last edited by 8 Jan 2021, 13:39

                    @deckingman have you already tried to print? because the calibration completed correctly for me too.

                    wait until the bed is back to room temp, and try to heat it up to 60-90C.

                    undefined 1 Reply Last reply 8 Jan 2021, 13:57 Reply Quote 0
                    • undefined
                      deckingman @matt3o
                      last edited by 8 Jan 2021, 13:57

                      @matt3o said in from duet 2 to duet 3 bed temp issues:

                      @deckingman have you already tried to print?................

                      Read my last sentence.

                      I'll have to wait another hour or so for the bed to cool to ambient, then I'll try heating it.

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      undefined 1 Reply Last reply 8 Jan 2021, 14:54 Reply Quote 0
                      • undefined
                        matt3o @deckingman
                        last edited by 8 Jan 2021, 14:54

                        @deckingman oh yeah sorry, I missed that last sentence after the code. finger crossed then. but your dead time seems high enough and it might work

                        undefined 1 Reply Last reply 8 Jan 2021, 16:04 Reply Quote 0
                        • undefined
                          deckingman @matt3o
                          last edited by deckingman 1 Aug 2021, 16:06 8 Jan 2021, 16:04

                          @matt3o Ok, so it took a while for the bed to cool but eventually got down to 23 degC which is close enough to ambient I think. I just heated it to 70 deg C (I normally run it at 50 or 60 but because of your problems I decided to use a higher temperature).

                          I can report that I had no problems. The heating process was smooth and even - the shape of the slope is a nice straight line up to around 69 deg C where it gradually curves to a slight overshoot which I observed to be 0.7 deg C (to a temperature of 70.7 deg C) before very gradually dropping back down to 70.0 where it sits as solid as a rock. I'd say that the control is actually better than the old algorithm (this is from someone who has no hesitation in being critical when things are not as good as expected).

                          So from my results, with my similar build plate configuration, it looks you might have some other issue.

                          One thing that comes to mind is that when I changed from Duet 2 to Duet 3, the trace for the bed temperature was very noisy. That may have been coincidental because there were some wiring changes as well. On the other hand, it might be that Gen 3 products are more susceptible to noisy signals.

                          This noise on the thermistor signal did play havoc with the bed heater control. My solution was to use screened cable for that thermistor and connect the screen to gnd. Does your signal look noisy or is it a nice, clean, "sharp" line?

                          EDIT. ....and of course, to be clear, I had no heater fault messages just now.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          undefined 1 Reply Last reply 8 Jan 2021, 17:31 Reply Quote 0
                          • undefined
                            matt3o @deckingman
                            last edited by matt3o 1 Aug 2021, 17:32 8 Jan 2021, 17:31

                            @deckingman thanks for your feedback.

                            The curve is rather smooth, without jittering. It's very fast from 20 to 50 then it becomes incredibly slow. So, yeah definitely something's wrong there.

                            I'll check my wires but everything's grounded and the exposed thermistor cable is not longer than 10cm.

                            undefined undefined 2 Replies Last reply 8 Jan 2021, 19:11 Reply Quote 0
                            • undefined
                              deckingman @matt3o
                              last edited by 8 Jan 2021, 19:11

                              @matt3o said in from duet 2 to duet 3 bed temp issues:

                              @deckingman thanks for your feedback.

                              The curve is rather smooth, without jittering. It's very fast from 20 to 50 then it becomes incredibly slow. So, yeah definitely something's wrong there.

                              I'll check my wires but everything's grounded and the exposed thermistor cable is not longer than 10cm.

                              Long shot - the heater doesn't have a thermal cut-out embedded in it does it? If there was something like that, it would explain why it heats quickly to around 50 then cycles slowly beyond that. Alternatively, maybe the heater has a fault of the "bi-metalic" nature with the heating element itself.

                              Ian
                              https://somei3deas.wordpress.com/
                              https://www.youtube.com/@deckingman

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                matt3o
                                last edited by matt3o 1 Aug 2021, 19:17 8 Jan 2021, 19:17

                                okay, insulated the wires and tried different in/out for bed and thermistor. same result.

                                what I don't understand is that during tuning the bed is super snappy. It reaches the temperature very quickly, but then during printing it becomes very slow.

                                Stupid question incoming: is it normal that the bed light on the duet is flashing during heating? I guess it's showing the PWM but I don't remember if it was flashing on the duet2...

                                @deckingman said in from duet 2 to duet 3 bed temp issues:

                                Long shot - the heater doesn't have a thermal cut-out embedded in it does it? If there was something like that, it would explain why it heats quickly to around 50 then cycles slowly beyond that. Alternatively, maybe the heater has a fault of the "bi-metalic" nature with the heating element itself.

                                nah, don't think that's the case. Again, it was working great on the duet2 (prev firmware) both in pid and BB.

                                undefined 1 Reply Last reply 8 Jan 2021, 21:37 Reply Quote 0
                                • undefined
                                  deckingman @matt3o
                                  last edited by deckingman 1 Aug 2021, 21:42 8 Jan 2021, 21:37

                                  @matt3o said in 3.2 heater tuning issues:

                                  ...............is it normal that the bed light on the duet is flashing during heating? I guess it's showing the PWM but I don't remember if it was flashing on the duet2...

                                  Yes that's normal. It depends a bit on what frequency you have the PWM set to. (That's the Q value in your M950 H0).

                                  What I see is that the light is fully on as the bed start to heat - that's because the PWM ratio (not the frequency) will be at 1.0. Then when the temperature gets close to the set point, PWM will start to kick in and the LED will start to flash - on when the heater is on, off when it's off.
                                  For the hot end, the LED appears to be fully on all the time but that's because the PWM frequency is much higher so retinal retention (or whatever it's called) comes into being and one's eyeball can't detect the rapid flashing.

                                  Actually, that's a point .......... for use with an SSR, you should have that set to 10 Hz. If it's too high, that might possibly be your problem because the SSR might not be able to switch at the frequency that the Duet board puts out. During the initial heating, that won't matter because it'll be fully on, but as the temperature approaches the set point, then PWM will kick on and the SSR will start to switch. So you'll get the initial rapid rise, then the temperature might go haywire as it approaches the set point because the SSR can't switch at the frequency that Duet is out putting.

                                  That reminds me of something else. I could be wrong but I have a nagging thought that Duet 2 always used a default value of 10 Hz for a bed heater but Duet 3 does not. If that is the case, then might indeed be the cause of your problem. So add G10 Q10 to your M950 H0 if you don't already have that.

                                  Ian
                                  https://somei3deas.wordpress.com/
                                  https://www.youtube.com/@deckingman

                                  undefined 1 Reply Last reply 8 Jan 2021, 22:51 Reply Quote 1
                                  • undefined
                                    matt3o @deckingman
                                    last edited by 8 Jan 2021, 22:51

                                    @deckingman said in 3.2 heater tuning issues:

                                    That reminds me of something else. I could be wrong but I have a nagging thought that Duet 2 always used a default value of 10 Hz for a bed heater but Duet 3 does not. If that is the case, then might indeed be the cause of your problem. So add G10 Q10 to your M950 H0 if you don't already have that.

                                    Yeah I've read that on the docs, the default is 500 and you have to set it 10 for the SSR. "unfortunately" I have that already... But as far as I can tell the LED is always flashing (only during calibration is always on). I'll check again later when the bed is finally cold again (gosh this is extenuating 🙂 )

                                    that was a good call, though! Thanks. Maybe my ssr needs a different frequency?

                                    undefined 1 Reply Last reply 9 Jan 2021, 07:36 Reply Quote 0
                                    • undefined
                                      deckingman @matt3o
                                      last edited by 9 Jan 2021, 07:36

                                      @matt3o I think that because you get an initial, rapid, temperature rise, that the PWM is working as it should. But it could be that the SSR goes flaky when it needs to switch on and off rapidly. I.e when the PWM mark-space ratio changes (the "W" part of PWM). You could try a really low frequency like say 1Hz. If that doesn't work, maybe try another SSR.
                                      Might it also be possible that the MOSFET on the Duet board is flaky and goes a bit haywire when it has to switch rapidly? Dunno - not my area of expertise.......

                                      Ian
                                      https://somei3deas.wordpress.com/
                                      https://www.youtube.com/@deckingman

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        matt3o
                                        last edited by 9 Jan 2021, 11:17

                                        oookay I did more experimenting and tried to figure out the new algorithm. This is my theory I wish @Phaedrux or @dc42 could confirm my findings

                                        Dead time (D parameter) is the time needed to "kick start" the heating. Before you see any change in the curve basically. I believe it's just at the beginning of the heating process.

                                        Time Constant (C param) I believe is the time to reach the end of the straight heating before the start of the curve (should be 63% of the target temperature). The temp raise is fast and straight up to 50C (in my case) and then it slows down and reaches the target temp with a smooth curve.

                                        Heating rate I don't know exactly, but I guess it's the heater efficiency/power. I think that the higher the number the more efficient it is.

                                        Since my heating always fails at the very beginning of the heating curve (at about 50C) I believe the auto-tuning fails either to find the right "Time constant" or over-estimate my "Heating rate".

                                        With this theory I changed the auto-tuned values FROM:

                                        M307 H0 R0.729 C638.9 D4.16 S1.00
                                        

                                        TO

                                        M307 H0 R0.600 C700 D6 S1.00
                                        

                                        And the heating process was actually successful. So basically I gave it more time to reach the curve and under evaluated the heater.

                                        What is the unit that "Dead time" and "Time constant" are measured? I don't think it's seconds.

                                        @deckingman 's auto-tuning was M307 H0 R0.104 C2186.5 D28.16 S1.00 B0 for a bed similar to mine but with less wattage. In fact it takes a lot of time to reach the start of the curve (C2186.5) and the heater is indeed very slow (R0.104).

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          dc42 administrators @matt3o
                                          last edited by dc42 1 Sept 2021, 11:57 9 Jan 2021, 11:43

                                          @matt3o said in 3.2 heater tuning issues:

                                          @deckingman thanks for your feedback.

                                          The curve is rather smooth, without jittering. It's very fast from 20 to 50 then it becomes incredibly slow. So, yeah definitely something's wrong there.

                                          I'll check my wires but everything's grounded and the exposed thermistor cable is not longer than 10cm.

                                          Are you using a silicone bed heater with an embedded thermistor?

                                          There is a problem with this arrangement, which is that the thermistor responds very quickly to changes in heater power, but the temperature of the bed plate responds much more slowly. So in effect you have a heating system (heater + thermistor) loosely coupled to a heat reservoir (the bed plate). This means there are two different values for the gain. There is the gain for short-term changes to heater power when the bed is already close to the required temperature and can be considered at constant temperature. This value is needed to get good PID control. And there is the long-term gain, which is much lower. It is the long-term gain that is needed to avoid overshoot during initial heating.

                                          In future firmware versions, I may provide for the long-term gain to be measured and included in M307 separately from the short-term heating rate.

                                          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

                                          undefined 1 Reply Last reply 9 Jan 2021, 11:50 Reply Quote 1
                                          26 out of 40
                                          • First post
                                            26/40
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA