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

    Setting up heater chamber - need help

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    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.
    • felt342undefined
      felt342 @JoergS5
      last edited by felt342

      @JoergS5 I saw this and I first what I used to check why I don't see any difference between dead time 5 and 2000 is this:

      M307 H5 ; report model parameters for heater 5, and whether the model is being used
      

      And it did report me this:

      	M307 H5
      Heater 5 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.00, calibration voltage 0.0, mode PID, inverted no, frequency default
      Computed PID parameters for setpoint change: P13.4, I0.482, D51.4
      Computed PID parameters for load change: P13.4
      

      Then in my config-override is a completely different story for Heater 5.

      If I do M307 H1 then it reports correct numbers from config-override corresponding to Heater 1.

      Why it might happen?

      Trying with higher C now..

      Industrial 3D printing service in the Netherlands - gagatstudio.com

      JoergS5undefined 1 Reply Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @felt342
        last edited by JoergS5

        @felt342 the config-override is loaded if you have M501 in your config (in most cases at the end of the config). I would comment the M307 H5 in override out until solved in config.

        The D parameter seems to be a delay time "The D parameter is the dead time, which is the delay between a change in PWM and an appreciable effect on the rate of temperature change.", so in my understanding better set it low.

        felt342undefined 1 Reply Last reply Reply Quote 0
        • felt342undefined
          felt342 @JoergS5
          last edited by

          @JoergS5

          I did remove M501 from config.g, and if I use now M370 H5 to report PID values, its show me again something wrong..

          M307 H5
          Heater 5 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.00, calibration voltage 0.0, mode PID, inverted no, frequency default
          Computed PID parameters for setpoint change: P13.4, I0.482, D51.4
          Computed PID parameters for load change: P13.4
          

          this is my config.g

          ; General preferences
          G90                                             ; send absolute coordinates...
          M83                                             ; ...but relative extruder moves
          M550 P"own"                                     ; set printer name
          
          M667 S1                                         ; select CoreXY mode
          
          ; Network
          M552 S1                                         ; enable network
          M586 P0 S1                                      ; enable HTTP
          M586 P1 S0                                      ; disable FTP
          M586 P2 S0                                      ; disable Telnet
          
          ; Drives
          M569 P0 R-1
          M569 P0 S1                                      ; physical drive 0 goes forwards
          M569 P1 S1                                      ; physical drive 1 goes forwards
          M569 P2 S1                                      ; physical drive 2 goes forwards
          M569 P3 S1                                      ; physical drive 3 goes backwards
          M569 P4 S1                                      ; physical drive 4 goes forwards
          M584 X4 Y1 Z2 E3:0                             ; set drive mapping
          M350 X16 Y16 Z16 E16:16 I1                      ; configure microstepping with interpolation
          M92 X200.8 Y200.8 Z400.5 E415:415		; set steps per mm
          M566 X900 Y900 Z20 E2000.00:2000.00      	; set maximum instantaneous speed changes (mm/min)
          M203 X15000 Y15000.00 Z200 E13000.00:13000.00   ; set maximum speeds (mm/min)
          M201 X1000 Y1000 Z100 E3000.00:3000.00      	; set accelerations (mm/s^2)
          M906 X1300 Y1300 Z1500 E600:600 I30             ; set motor currents (mA) and motor idle factor in per cent
          M84 S90                                         ; Set idle timeout
          
          ; Axis Limits
          M208 X-16 Y0 Z0 S1                                ; set axis minima
          M208 X321 Y208 Z305 S0                        ; set axis maxima
          
          ; Endstops
          M574 Z1 S2                		     ; set active low and disabled endstops
          M574 X1 S0                			  ; set active high endstops
          M574 Y2 S0
          
          ; Z-Probe
          M307 H3 A-1 C-1 D-1                             ; disable heater on PWM channel for BLTouch
          M558 A10 S0.005 P9 H3 F60 T5000 R0.3                          ; set Z probe type to bltouch and the dive height + speeds
          G31 P25 X-10 Y-47.06 Z-0.19                  ; set Z probe trigger value, offset and trigger height (positive value brings bed closer)
          M557 X0:290 Y-45.952:190 S20                      ; define mesh grid
          
          ; Heaters
          M141 H5 					; heater 5 is the chamber heater
          M305 X1 P5 B4725 C7.060000e-8 			; heater 5 is monitored by a E3D thermistor
          M307 H5 A70 C600 D2000 S1.00 V0.0 B1	; use bang-bang control for the chamber heater
          M307 H0 B0 S1.00                        	; disable bang-bang mode for the bed heater and set PWM limit
          M305 P0 T100000 B4138 R4700             	; set thermistor + ADC parameters for heater 0
          M143 H0 S150                            	; set temperature limit for bed heater 0 to 150C
          M305 P1 X200                                    ; configure PT100 for heater 1
          M143 H1 S480                                    ; set temperature limit for heater 1 to 480C
          M305 P2 X201                                    ; configure PT100 for heater 2
          M143 H2 S300                                    ; set temperature limit for heater 2 to 300C
          
          ; Fans
          M106 P0 S0 I0 F20 H-1                          ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
          M106 P1 S1 I0 F20 H-1                          ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
          M106 P2 S1 I0 F20 H-1                          ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
          
          ; Tools
          M563 P0 S"Left" D0 H1 F-1                       ; define tool 0
          G10 P0 X0 Y0 Z0                                 ; set tool 0 axis offsets
          G10 P0 S0 R175 									; Set tool 0 active and standby temperatures
          M563 P1 S"Right" D1 H2 F-1                      ; define tool 1
          G10 P1 X20.09 Y0 Z0                               ; set tool 1 axis offsets
          G10 P1 S0 R175 									; Set tool 0 active and standby temperatures
          
          ; Custom settings are not defined
          
          ; Miscellaneous
                                                     ; load saved parameters from non-volatile memory
          
          
          

          Higher C did not work.

          Industrial 3D printing service in the Netherlands - gagatstudio.com

          JoergS5undefined 1 Reply Last reply Reply Quote 0
          • JoergS5undefined
            JoergS5 @felt342
            last edited by

            @felt342 please try setting D low (see my text change).

            I expect the values to be changed after a reboot only or setting it differently explicitly.

            felt342undefined 1 Reply Last reply Reply Quote 0
            • felt342undefined
              felt342 @JoergS5
              last edited by felt342

              @JoergS5

              Okay, there is some light -

              I did set D value to 1, and for some reason, if I report M307 H5 its does show me values from the config.g finally!

              And start to autotune however it seems didn't change anything.

              Industrial 3D printing service in the Netherlands - gagatstudio.com

              JoergS5undefined 1 Reply Last reply Reply Quote 0
              • JoergS5undefined
                JoergS5 @felt342
                last edited by

                @felt342 is the error message Error: Heating fault on heater 5, temperature rising much more slowly than the expected 1.7°C/sec gone now? Would be interesting how the 1.7 is calculated. Then we can understand how to set it higher.

                felt342undefined 1 Reply Last reply Reply Quote 0
                • felt342undefined
                  felt342 @JoergS5
                  last edited by felt342

                  @JoergS5 I just did a test and got now this error with 0.3C/s

                  Error: Heating fault on heater 5, temperature rising much more slowly than the expected 0.3°C/sec
                  

                  Could be what my value for E3D thermistor are wrong? But those values is something that I found on duet forum for e3d thermistor.

                  Industrial 3D printing service in the Netherlands - gagatstudio.com

                  JoergS5undefined 1 Reply Last reply Reply Quote 0
                  • JoergS5undefined
                    JoergS5 @felt342
                    last edited by JoergS5

                    @felt342 can you see how 1.7 and 0.3 is calculated? M307 original and now)?
                    I found the error message in the source code, it depends on expected rate, dead time, the current temperature and the PWM.

                    Measuring the temperature wrong could be a reason.

                    I've also seen 4725 as value for the E3D thermistor. You could try verifying that it works by heating up somehow without the chamber heater. (hair dryer)

                    felt342undefined 1 Reply Last reply Reply Quote 0
                    • felt342undefined
                      felt342 @JoergS5
                      last edited by felt342

                      @JoergS5

                      Well, setting C value to 2000 doesn`t give me an error anymore about Fault in heater 5, and its keeps the rising temperature. But I still can not do the autotune.

                      Yeah the thermistor seams works.

                      Industrial 3D printing service in the Netherlands - gagatstudio.com

                      JoergS5undefined 1 Reply Last reply Reply Quote 0
                      • JoergS5undefined
                        JoergS5 @felt342
                        last edited by JoergS5

                        @felt342 you get the same autotune error like in the first post? And does the reported temperature value of the thermistor go up?

                        felt342undefined 1 Reply Last reply Reply Quote 0
                        • felt342undefined
                          felt342 @JoergS5
                          last edited by

                          @JoergS5

                          Yes, this is an error:

                          Autotune canceled because the temperature is not increasing.
                          

                          Temperature goes up, but slowly about 1 degree a minute. This would be fine for me because I am planning to add two heaters there overall of 600, but first I got one and would like to deal it up first, to at least heating without errors. Which we did now (thanks to you!) setting C to 2000, but to perform autotune for real values would be better.

                          Industrial 3D printing service in the Netherlands - gagatstudio.com

                          JoergS5undefined 1 Reply Last reply Reply Quote 0
                          • JoergS5undefined
                            JoergS5 @felt342
                            last edited by

                            @felt342 Seems to be a timeout. I cannot find the error message in the source at the moment.

                            felt342undefined 1 Reply Last reply Reply Quote 1
                            • felt342undefined
                              felt342 @JoergS5
                              last edited by

                              @JoergS5

                              Yeah, I really appreciate your help and digging in! What I am thinking is maybe better to move thermistor to the middle of the chamber, it will probably be the faster response until I have only one heater.

                              Industrial 3D printing service in the Netherlands - gagatstudio.com

                              JoergS5undefined 2 Replies Last reply Reply Quote 0
                              • JoergS5undefined
                                JoergS5 @felt342
                                last edited by JoergS5

                                @felt342 Now I know why I cannot find it. I search in the 3.1.1 code....

                                => didn't find it in 2.05 code also. Will search and will tell you if I find something.

                                felt342undefined 1 Reply Last reply Reply Quote 1
                                • felt342undefined
                                  felt342 @JoergS5
                                  last edited by

                                  @JoergS5

                                  Happens 🙂
                                  Thank you!

                                  Industrial 3D printing service in the Netherlands - gagatstudio.com

                                  1 Reply Last reply Reply Quote 0
                                  • JoergS5undefined
                                    JoergS5 @felt342
                                    last edited by JoergS5

                                    @felt342 I found it in pid.cpp of 2.05 source:

                                    // Heating up
                                    {
                                    const bool isBedOrChamberHeater = reprap.GetHeat().IsBedOrChamberHeater(heater);
                                    const uint32_t heatingTime = millis() - tuningPhaseStartTime;
                                    const float extraTimeAllowed = (isBedOrChamberHeater) ? 60.0 : 30.0;
                                    if (heatingTime > (uint32_t)((model.GetDeadTime() + extraTimeAllowed) * SecondsToMillis)
                                    && (temperature - tuningStartTemp) < 3.0)
                                    {
                                    platform.Message(GenericMessage, "Auto tune cancelled because temperature is not increasing\n");
                                    break;
                                    }

                                    So the error message is called and a break occurs, if the heating time is bigger than dead time + extraTimeAllowed.

                                    A low dead time helps in any case.

                                    extraTimeAllowed is defined by:
                                    const float extraTimeAllowed = (isBedOrChamberHeater) ? 60.0 : 30.0;
                                    so for Chamber it is 60.
                                    You could try setting D negative, say -59. Don't know whether it works.

                                    You're welcome and I wish you success with the heated chamber!

                                    felt342undefined 1 Reply Last reply Reply Quote 2
                                    • felt342undefined
                                      felt342 @JoergS5
                                      last edited by

                                      @JoergS5

                                      That seems working without error!
                                      I didn't try negative D, but I set D to 1 and kept C at 2000, waiting for autotune and values 🙂

                                      Thanks a lot again!

                                      Industrial 3D printing service in the Netherlands - gagatstudio.com

                                      JoergS5undefined 1 Reply Last reply Reply Quote 0
                                      • JoergS5undefined
                                        JoergS5 @felt342
                                        last edited by

                                        @felt342 Nice to hear, thank you!
                                        See you.

                                        felt342undefined 1 Reply Last reply Reply Quote 0
                                        • felt342undefined
                                          felt342 @JoergS5
                                          last edited by

                                          @JoergS5

                                          I must say it`s a nice way of solving the issue, digging the source code, will take it as a tip 🙂

                                          Industrial 3D printing service in the Netherlands - gagatstudio.com

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