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

    Heater Tuning M307

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    2
    10
    511
    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.
    • NeueKlasseundefined
      NeueKlasse
      last edited by NeueKlasse

      https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control#Section_Measuring_the_cooling_time_constant_M307_C_parameter

      The Instructions for Manual Tuning are not updated.
      (for example there's a line that says Tuning the A Parameter
      but that's deprecated now)...

      I've done the Autocalibration without good results (overshooting about 15 degree C).

      after a little bit manual correction the Temperature now overshoots about
      9-10 degree C

      Sure.. playing around works always, but,

      How to tune correctly with R, C, D?

      at the Moment:

      M307 H1
      Heater 1 model: heating rate 2.000, cooling time constant 200.0, dead time 6.50, max PWM 1.00, calibration voltage 25.3, mode PID
      Computed PID parameters: setpoint change: P13.7, I0.381, D62.5, load change: P13.7, I0.787, D62.5

      Prusa Mini, Chiron @ BMG X2
      Metal SLS Printer Development

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

        What firmware version are you using? The tuning algorithm was updated in 3.2.

        For tools, use M303 T0 S220 to tune the heater as a tool with feed forward for the part cooling fan.

        For bed heaters continue to use M303 H0 S60 etc.

        Since you're asking about the R parameter I assume it's v3.2

        Z-Bot CoreXY Build | Thingiverse Profile

        NeueKlasseundefined 1 Reply Last reply Reply Quote 0
        • NeueKlasseundefined
          NeueKlasse @Phaedrux
          last edited by NeueKlasse

          @Phaedrux

          3.3 beta 2, i've already done the Autocal. with M303 H1 P1 S230
          my mostly used Temp. 230C.
          but the Autocal itself has a lot of overshooting...
          so i tried to tune it manually... a little better results but not as wanted.

          is M303 T0 S230 better than to calibrate the heater itself?

          Prusa Mini, Chiron @ BMG X2
          Metal SLS Printer Development

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

            Can you share a photo of the heater graph from tuning?

            And also some details about the heater setup? And Photos?

            @NeueKlasse said in Heater Tuning M307:

            is M303 T0 S230 better than to calibrate the heater itself?

            Usually yes because it can take account of the part cooling fan.

            Z-Bot CoreXY Build | Thingiverse Profile

            NeueKlasseundefined 1 Reply Last reply Reply Quote 0
            • NeueKlasseundefined
              NeueKlasse @Phaedrux
              last edited by NeueKlasse

              @Phaedrux

              Following Picture is from Heating up to 230 degree, (overshoots to 238) then i set it to 205 degree to cool down a little bit (Standby Temp) and Heat up to 230 again (overshoots to 238). it's not bad but i don't want that

              i don't want that overshooting behavior, the Overshooting get's worse when the
              Second hotend is at temperature too (that's normal, i know, but how to solve that?)

              Setup: 2x Mosquito Hotends with 50W Cartridge @24V

              Duet Heating.JPG

              Prusa Mini, Chiron @ BMG X2
              Metal SLS Printer Development

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

                Can you post your full config?

                50W heater is pretty powerful.

                Z-Bot CoreXY Build | Thingiverse Profile

                NeueKlasseundefined 1 Reply Last reply Reply Quote 0
                • NeueKlasseundefined
                  NeueKlasse @Phaedrux
                  last edited by

                  @Phaedrux

                  Yes, here are the config.g

                  ; Configuration file for Duet 3 (firmware version 3)
                  ; executed by the firmware on start-up
                  
                  ; General preferences
                  G90                                                      ; send absolute coordinates...
                  M83                                                      ; ...but relative extruder moves
                  M550 P"ChironBMG"                                        ; set printer name
                  
                  ; Network Settings DHCP
                  M552 S1													 ; Enable Network Connection
                  M552 P0.0.0.0				                           	 ; (0 = DHCP)	;Set Network Adress
                  M553 P255.255.255.0										 ; Netmask
                  
                  ; Maxima / Drives
                  M569 P0.0 S0                                             ; physical drive 0.0 goes forwards X
                  M569 P0.1 S1                                             ; physical drive 0.1 goes forwards Y
                  M569 P0.2 S1                                             ; physical drive 0.2 goes forwards ZL
                  M569 P0.3 S1 											 ; physical drive 0.3 goes forwards ZR
                  M569 P0.4 S0                                             ; physical drive 0.4 goes forwards E1
                  M569 P0.5 S1                                             ; physical drive 0.5 goes forwards	E2		                                            
                  M584 X0.0 Y0.1 Z0.2:0.3 E0.4:0.5                         ; set drive mapping
                  M671 X-40:450 Y0:0 S3									 ; leadscrew positions and max correction in mm
                  M350 X16 Y16 Z16 E16:16 I1                           	 ; configure microstepping with interpolation
                  M92 X80.00 Y100.00 Z400.00 E413.00:413.00         		 ; set steps per mm
                  M566 X1600.00 Y1600.00 Z100.00 E150.00:150.00     		 ; set maximum instantaneous speed changes (mm/min)
                  M203 X18000.00 Y18000.00 Z600.00 E1200.00:1200.00 		 ; set maximum speeds (mm/min)
                  M201 X800.00 Y800.00 Z60.00 E5000.00:5000.00        	 ; set accelerations (mm/s^2)
                  M906 X1200 Y1200 Z900 E700:700 I20                		 ; set motor currents (mA) and motor idle factor in per cent
                  M84 S30    												 ; Set idle timeout
                  
                  ; Axis Limits
                  M208 X-19 Y-2 Z0 S1                                      ; set axis minima
                  M208 X406 Y410 Z400 S0                                   ; set axis maxima
                  
                  ; Endstops
                  M574 X1 S1 P"!io3.in"                                    ; configure active-high endstop for low end on X via pin io3.in
                  M574 Y1 S1 P"!io4.in"                                    ; configure active-high endstop for low end on Y via pin io4.in
                  M574 Z1 S2 											     ; configure Z-probe endstop for low end on Z
                  
                  ; Filament Sensors
                  M591 P1 C"io5.in" S0 D0 							 	 ; filament monitor connected to E0 extruder
                  M591 P1 C"io6.in" S0 D1 							 	 ; filament monitor connected to E1 extruder
                                                               
                  ; Z-Probe
                  M558 P5 A2 I1 C"^io7.in" H2 F200 T15000                  ; set Z probe type to bltouch and the dive height + speeds
                  G31 P500 X7.5 Y-26 Z1.12                               	 ; set Z probe trigger value, offset and trigger height
                  M557 X19:391 Y15:379 S93:91 							 ; define mesh grid
                  
                  ; Heaters
                  M308 S0 P"temp0" Y"thermistor" T100000 B4138             ; configure sensor 0 as thermistor on pin temp0
                  M950 H0 C"out1" T0                                       ; create bed heater output on out0 and map it to sensor 0
                  M307 H0 A126.3 C485.1 D1.5 S1.0 V25.0 B0
                  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 B4138             ; configure sensor 1 as thermistor on pin temp1
                  M950 H1 C"out2" T1                                       ; create nozzle heater output on out1 and map it to sensor 1
                  M307 H1 A340 C140.0 D5.5 S1.0 V0.0 B0
                  M308 S2 P"temp2" Y"thermistor" T100000 B4138             ; configure sensor 2 as thermistor on pin temp2
                  M950 H2 C"out3" T2                                       ; create nozzle heater output on out2 and map it to sensor 2
                  M307 H2 A340 C140.0 D5.5 S1.0 V0.0 B0
                  
                  
                  ; Fans
                  M950 F1 C"out8" Q500                                     ; create fan 1 on pin out8 and set its frequency
                  M106 P1 C"Extruderfan" S1 H1:2 T70                       ; set fan 1 name and value. Thermostatic control is turned on
                  M950 F2 C"out9" Q500                                     ; create fan 2 on pin out9 and set its frequency
                  M106 P2 C"Partcoolingfan" S0 H-1 						 ; set fan 2 name and value. Thermostatic control is turned off
                  M950 F3 C"!out4+out4.tach" Q5000                 		 ; create fan 3 on pin out4 and set its frequency
                  M106 P3 C"Cabinetfan" S200 H-1                           ; set fan 4 name and value.
                  M950 F4 C"!out5+out5.tach" Q5000                         ; create fan 4 on pin out5 and set its frequency
                  M106 P4 C"Powersupplyfan" S200 H-1                       ; set fan 4 name and value.
                  
                  ; Tools
                  M563 P0 S"Left Nozzle" D0 H1 F2                          ; 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
                  M563 P1 S"Right Nozzle" D1 H2 F2                         ; define tool 1
                  G10 P1 X14.43 Y0 Z0                                      ; set tool 1 axis offsets
                  G10 P1 R0 S0  											 ; set initial tool 1 active and standby temperatures to 0C
                  
                  
                  ; Miscellaneous
                  M912 P0 S-13											 ; MCU Temperature Adjustment
                  M575 P1 S1 B57600                                        ; enable support for PanelDue
                  M564 H0													 ; allow axis movement before homing, needed for Z axis
                  M501													 ; Load Parameterset
                  T0 P0													 ; Set Tool 0 without any Toolchange Scripts
                  

                  and the config-override.g

                  ; config-override.g file generated in response to M500 at 2021-03-05 08:12
                  ; This is a system-generated file - do not edit
                  ; Heater model parameters
                  M307 H0 R0.260 C485.100:485.100 D1.50 S1.00 V25.0 B0
                  M307 H1 R2.000 C200.000:200.000 D6.50 S1.00 V25.3 B0
                  M307 H2 R2.000 C200.000:200.000 D6.50 S1.00 V25.4 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
                  M486 S-1
                  

                  Prusa Mini, Chiron @ BMG X2
                  Metal SLS Printer Development

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

                    What exactly does the hotend look like? I see two heaters and two tools, but a single part cooling fan.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • NeueKlasseundefined
                      NeueKlasse
                      last edited by

                      Standard BMG X2 double Mosquito Setup, 2 Extruderfans, 2 Partcoolingfans
                      each Fan pair over a Distributionboard from 1 Fanoutput

                      Prusa Mini, Chiron @ BMG X2
                      Metal SLS Printer Development

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

                        I would suggest re-tuning again, but this time using a lower PWM factor to reduce the overshoot. 50w on a hotend is a lot of power in a small area. By the time the temperature rise has registered with the sensor the temperature has already shot past. Try P0.7 maybe.

                        Z-Bot CoreXY Build | Thingiverse Profile

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