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

      @deckingman yes, everything's fine. I just contacted the manufacturer who confirmed the thermistor config.

      I've read this lengthy thread https://forum.duet3d.com/topic/20763/how-to-use-the-new-heater-tuning-algorithm-on-3-2/16

      I thought the problem was from duet2 to duet3, but it's probably because of the new firmware (sorry if I opened a new thread). I see others have my same issue especially with larger heatbeds... so at least I don't feel completely dumb.

      I'm now waiting for it to completely cool-down and try another calibration and I'll post the tuning values together with the full config.

      Thanks all for your help.

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

        Don't know what else to do. Basically now I'm preheating to 45C and then I can run the print.

        Auto tuning says

        Auto tuning heater 0 completed after 10 idle and 25 tuning cycles in 3226 seconds. This heater needs the following M307 command:
         M307 H0 R0.730 C670.5 D4.05 S1.00 V24.1
        

        My config (some values are still work in progress). Hope you can find something wrong

        ;                        _ _     
        ;  ___ ___ ___ ___ ___ _| | |___
        ; |  _| . |  _| -_|- _| | | | . |
        ; |___|___|_| |___|___|_|_|_|_|_|
        ;                               
        ; Duet 3 Configuration file
        ;
        
        
        ; General preferences
        ; --------------------------------------------------
        
        G90                                            ; send absolute coordinates...
        M83                                            ; ... but relative extruder moves
        M550 P"corezilla"                              ; set printer name
        M669 K1                                        ; select CoreXY mode
        
        
        ; Drives
        ; --------------------------------------------------
        
        M569 P0.0 S0                                   ; XY 1
        M569 P0.1 S0                                   ; XY 2
        M569 P0.2 S0                                   ; Z 1
        M569 P0.3 S0                                   ; Z 2
        M569 P0.4 S0                                   ; Z 3
        M569 P20.0 S1                                  ; 1st Extruder on toolboard
        M584 X0.1 Y0.0 Z0.2:0.3:0.4 E20.0              ; set drive mapping
        
        M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
        M92 X160.00 Y160.00 Z1600.00 E830.00           ; set steps per mm
        M906 X1400 Y1400 Z1200 E350 I60                ; set motor currents (mA) and motor idle factor
        M84 S30                                        ; Set idle timeout
        
        M566 X720.00 Y720.00 Z15.00 E120.00            ; set maximum instantaneous speed changes (jerk) (mm/min)
        M203 X11400.00 Y11400.00 Z600.00 E1200.00      ; set maximum speeds (mm/min)
        M201 X4800.00 Y4800.00 Z20.00 E200.00          ; set accelerations (mm/s^2)
        M593 F36                                       ; Dynamic Acceleration Adjustment
        
        ; Axis Limits
        ; --------------------------------------------------
        
        M208 X0 Y0 Z0 S1                               ; set axis minima
        M208 X410 Y410 Z370 S0                         ; set axis maxima
        
        ; Leadscrews location
        M671 X-37.4:192.4:422.2 Y340.0:-34.1:340.0 S25
        
        ; Endstops
        M574 X1 S3                                     ; configure sensorless endstop for low end on X
        M574 Y1 S3                                     ; configure sensorless endstop for low end on Y
        
        
        ; Z-Probe
        ; --------------------------------------------------
        
        M558 P8 C"^20.io0.in" H20 F120 T6000           ; set Z probe type to switch and the dive height + speeds
        G31 P500 X0 Y0 Z22.85                          ; set Z probe trigger value, offset and trigger height
        M557 X20:370 Y20:370 S50                       ; define mesh grid
        
        
        ; Heaters
        ; --------------------------------------------------
        
        ; bed
        M308 S0 P"temp0" Y"thermistor" T100000 B3950   ; configure sensor 0 as thermistor on pin temp0
        M950 H0 C"out1" T0 Q10                         ; create bed heater output on out1 and map it to sensor 0
        M307 H0 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
        M307 H0 R0.730 C670.5 D4.05 S1.00              ; PID tuning
        M140 H0                                        ; map heated bed to heater 0
        M143 H0 S120                                   ; set temperature limit for bed heater
        
        ; 1st tool
        ;M308 S1 P"20.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 1.temp0 (E3D)
        M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.196220e-7 R4700 H6 L0 ; configure sensor 1 as thermistor on pin 1.temp0 (Slice)
        M950 H1 C"20.out0" T1                          ; create nozzle heater output on 1.out0 and map it to sensor 1
        M307 H1 B0 S1.00                               ; disable bang-bang mode for heater and set PWM limit
        M143 H1 S320                                   ; set temperature limit for hotend
        
        
        ; Fans
        ; --------------------------------------------------
        
        M950 F0 C"20.out1" Q500                        ; create fan 0 on toolboard out1
        M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
        M950 F1 C"20.out2" Q500                        ; create fan 1 on toolboard out2
        M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
        
        
        ; Tools
        ; --------------------------------------------------
        
        M563 P0 S"mosquito" D0 H1 F0                   ; define tool 0
        G10 P0 X0 Y0 Z0                                ; set tool 0 axis offsets
        G10 P0 R0 S0                                   ; set initial tool 0 active and standby temperatures to 0C
        
        1 Reply Last reply Reply Quote 0
        • Vetiundefined
          Veti
          last edited by Veti

          can increase the dead time by 10 seconds D14 and try heating

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

            I'm a little confused. The tuning appears to have succeeded. Did you save the results with M500? Have you then added M501 to the end of config.g to load the saved results at boot? Have you used that M307 command that it suggests?

            Nevermind, I see you've copied the values to the config. In which case, are you sure that config-override.g isn't getting run and maybe overriding your values from config.g? If the file exists, and you're not using it, delete it.

            If it still errors out when using that M307, increasing the dead time as Veti suggests may help.

            It's a very large bed (400mm^2), but also a very large heater (1000w), so I'm not surprised it has a low dead time. So if the thermistor is directly in contact with the heater it will register the heat up quite quickly, but the large bed mass will still take a long time to saturate with heat.

            Can you confirm with M115 that firmware 3.2 has been installed?
            Can you send M98 P"config.g" and report any errors?

            Z-Bot CoreXY Build | Thingiverse Profile

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

              @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
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

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

                Z-Bot CoreXY Build | Thingiverse Profile

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

                  @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.

                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                  • deckingmanundefined
                    deckingman @matt3o
                    last edited by

                    @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

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

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

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

                        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

                        Vetiundefined 1 Reply Last reply Reply Quote 0
                        • Vetiundefined
                          Veti @matt3o
                          last edited by

                          @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
                          • deckingmanundefined
                            deckingman @matt3o
                            last edited by

                            @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

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

                              @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.

                              deckingmanundefined 1 Reply Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman @matt3o
                                last edited by

                                @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

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

                                  @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

                                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                                  • deckingmanundefined
                                    deckingman @matt3o
                                    last edited by deckingman

                                    @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

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

                                      @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.

                                      deckingmanundefined dc42undefined 2 Replies Last reply Reply Quote 0
                                      • deckingmanundefined
                                        deckingman @matt3o
                                        last edited by

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

                                          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.

                                          deckingmanundefined 1 Reply Last reply Reply Quote 0
                                          • deckingmanundefined
                                            deckingman @matt3o
                                            last edited by deckingman

                                            @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

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