Bed tuning bang-bang? - And thermo fan



  • Hello! After rebuilding my 3d printer with a duet 3, I have come across a few issues. A few of them are because I'm now running firmware v3.

    I have an issue with my bed - Its a 900W mains connected bed, that im controlling through a SSR. I have ran the PID auto tune and got the following values:
    M307 H0 A345.9 C654.0 D1.9 S1.0 V23.9 B0

    I changed the last B0 to B1 as: M307 H0 A345.9 C654.0 D1.9 S1.0 V23.9 B1 to let it run bang-bang mode.

    But in both modes, I get the "temperature rising slower than 1.6*C/Sec" error. Why is that? It is just tuned like a few minutes ago.

    Second is my hot end cooling fan (for the hot end, not part fan) - I have tried to set it up to thermostatic mode, and if I set my tool temperature to 200 degrees, it turns on fine.

    But when I try to start a print with a full gcode, it doesnt start???
    It is defined by:
    ; Fans
    M950 F0 C"out7" Q500 L127 C"Heat sink" ; create fan 0 on pin out7 and set its frequency
    M106 P0 H1 T45 ; set fan 0 value. Thermostatic control is turned on

    I hope someone can help me understand the 2 errors. Br Martin

    ; General preferences
    G90                                          ; send absolute coordinates...
    M83                                          ; ...but relative extruder moves
    M550 P"Duet 3"                               ; set printer name
    M669 K1                                      ; select CoreXY mode
    
    ; Drives
    M569 P0.1 S1                                 ; physical drive 0.1 goes forwards
    M569 P0.2 S1                                 ; physical drive 0.2 goes forwards
    M569 P0.3 S0                                 ; physical drive 0.3 goes forwards
    M569 P0.4 S0                                 ; physical drive 0.4 goes forwards
    M569 P0.5 S0                                 ; physical drive 0.5 goes forwards
    M569 P0.0 S0                                 ; physical drive 0.0 goes forwards
    M584 X0.2 Y0.1 Z0.4:0.3:0.5 E0.0             ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
    M92 X200 Y200 Z800.00 E415.00           	 ; set steps per mm
    M566 X1500.00 Y1500.00 Z12.00 E120.00        ; set maximum instantaneous speed changes (mm/min)
    M203 X8400.00 Y8400.00 Z4000.00 E1200.00      ; set maximum speeds (mm/min)
    M201 X800.00 Y500.00 Z200.00 E250.00          ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z800 E800 I40                 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                      ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                             ; set axis minima
    M208 X315 Y286 Z480 S0                       ; set axis maxima
    
    ; Endstops
    
    M574 X1 S3                                                          ; Set endstops controlled by motor load detection
    M574 Y1 S3                                                          ; Set endstops controlled by motor load detection
    M574 Z0 															; Set endstop Z to be probe
    M915 X Y H200 S1 R0 F0						 						; set X and Y to sensitivity , do nothing when stall, unfiltered
    
    ; Z-Probe
    
    M558 P9 C"^io7.in" H5 F300 T6000             ; set Z probe type to bltouch and the dive height + speeds
    M950 S0 C"io7.out"                           ; create servo pin 7 for BLTouch
    G31 P500 X30 Y70 Z1.4                          ; set Z probe trigger value, offset and trigger height
    M557 X40:215 Y80:195 S30                     ; define mesh grid
    
    ; Define the X and Y coordinates of the leadscrews.
    ; Must come after M584 (Set drive mapping), M667 (Select CoreXY Mode) and M669 (Choosing Kinematics type)
    ; Motor order: Front right (1), front left (2), rear center (3).
    ; Snn Maximum correction in mm to apply to each leadscrew (optional, default 1.0)
    M671 X-55:360:360.0 Y175:30:308 S20 P2
    
    ; Heaters
    M308 S0 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B1 S1.00                             ; enable bang-bang mode for the bed heater and set PWM limit
    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 temp2
    M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"out7" Q500 L127 C"Heat sink"             ; create fan 0 on pin out7 and set its frequency
    M106 P0 H1 T45                             ; set fan 0 value. Thermostatic control is turned on
    
    M950 F1 C"out4" Q500                         ; create fan 1 on pin out5 and set its frequency
    M106 P1 H-1 C"Part cooler"            ; set fan 1 value. Thermostatic control is turned off
    
    ; Tools
    M563 P0 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
    
    ; Custom settings are not defined
    
    ; Miscellaneous
    T0                                           ; select first tool
    
    

  • Moderator

    Don't use bang bang. PID tuning implies that you're not using bang bang.



  • @Phaedrux said in Bed tuning bang-bang? - And thermo fan:

    Don't use bang bang. PID tuning implies that you're not using bang bang.

    Well, leaving the value as M307 H0 A345.9 C654.0 D1.9 S1.0 V23.9 B0 still give me the 1.6*C / sec fault, so what should I change in my PID routine? - I have tried both as bang-bang and as PID (B=0)



  • The relevant M307 in the config file you posted is M307 H0 B1 S1.00, not the tuned values. Are you restarting the printer after the tuning? Where have you set the PID parameters?


  • Moderator

    After tuning, send M500 to save the results to config-override.g and then add M501 to the end of config.g to load the saved values at startup.



  • @Phaedrux Aha! there it is, I did not know it needed M501 to read the override.g

    I already have the values stored in it, but I guess it does not read them XD

    Also any ideas why my fan doesnt turn on when I print? Anyway, thanks!



  • typically, fans should be setup so F0 is the part cooling fan and F1 is the heat sink cooling fan.
    Slicers by default use F0 as the part cooling fan.
    Swap your settings round so F0 is the part cooling fan and F1 is the heat sink fan and you should be good to go



  • @Martin1454 said in Bed tuning bang-bang? - And thermo fan:

    Also any ideas why my fan doesnt turn on when I print? Anyway, thanks!

    Can you clarify what works and what doesn't.

    You said "if I set my tool temperature to 200 degrees, it turns on fine" - set it how? Is that in DWC?

    You said "when I try to start a print with a full gcode, it doesnt start". Can you post the first 100-ish lines of a gcode file where it doesn't start.

    If the fan starts when you set a hot end temperature at the control panel but not when you upload gcode, that suggests it might be a problem with the gcode.



  • @achrn

    Well, If I set the hot end temperature by DWC, the fan turns on at the 45 degree mark, but If I try start a print from cold state, it doesnt turn on, even if the hot end reaches 200 degrees

    here is the first layer from sli3cr PE

    ; generated by PrusaSlicer 2.2.0+win64 on 2020-11-22 at 14:32:01 UTC
    
    ; 
    
    ; external perimeters extrusion width = 0.45mm
    ; perimeters extrusion width = 0.45mm
    ; infill extrusion width = 0.45mm
    ; solid infill extrusion width = 0.45mm
    ; top infill extrusion width = 0.40mm
    ; first layer extrusion width = 0.42mm
    M80;
    M107
    M190 S60 ; set bed temperature and wait for it to be reached
    M104 S220 ; set temperature
    G28 ; home all axes
    G1 Z5 F5000 ; lift nozzle
    M109 S220 ; set temperature and wait for it to be reached
    G21 ; set units to millimeters
    G90 ; use absolute coordinates
    M82 ; use absolute distances for extrusion
    G92 E0
    ; Filament gcode
    G1 Z0.350 F7800.000
    G1 E-2.00000 F3000.00000
    G92 E0
    G1 X134.903 Y117.482 F7800.000
    G1 E2.00000 F3000.00000
    G1 F1800.000
    G1 X135.970 Y116.731 E2.06547
    G1 X137.161 Y116.216 E2.13063
    G1 X138.439 Y115.953 E2.19610
    G1 X159.076 Y115.922 E3.23179
    G1 X160.185 Y116.021 E3.28762
    G1 X161.258 Y116.311 E3.34345
    G1 X162.265 Y116.785 E3.39929
    G1 X163.173 Y117.427 E3.45512
    G1 X163.956 Y118.218 E3.51095
    G1 X164.588 Y119.134 E3.56678
    G1 X165.050 Y120.146 E3.62261
    G1 X165.329 Y121.223 E3.67844
    G1 X165.415 Y122.245 E3.72992
    G1 X165.408 Y142.572 E4.75004
    G1 X165.291 Y143.516 E4.79778
    G1 X165.034 Y144.432 E4.84552
    G1 X164.644 Y145.299 E4.89326
    G1 X164.124 Y146.103 E4.94131
    G1 X163.166 Y147.112 E5.01113
    G1 X162.007 Y147.891 E5.08125
    G1 X160.710 Y148.396 E5.15107
    G1 X159.335 Y148.606 E5.22089
    G1 X138.734 Y148.603 E6.25475
    G1 X137.797 Y148.483 E6.30217
    G1 X136.888 Y148.225 E6.34960
    G1 X136.027 Y147.834 E6.39703
    G1 X135.234 Y147.321 E6.44446
    G1 X134.225 Y146.363 E6.51427
    G1 X133.446 Y145.203 E6.58440
    G1 X132.941 Y143.907 E6.65421
    G1 X132.731 Y142.532 E6.72403
    G1 X132.734 Y121.931 E7.75789
    G1 X132.854 Y120.994 E7.80532
    G1 X133.112 Y120.084 E7.85275
    G1 X133.503 Y119.224 E7.90017
    G1 X134.016 Y118.431 E7.94760
    G1 X134.862 Y117.526 E8.00975
    G1 X136.632 Y118.253 F7800.000
    G1 F1800.000
    

    Edit: now that you say, I can see where I define my tool (M563 P0 D0 H1 F0) it have F0 in it, so it tries to tie it as a part cooling fan!



  • @Martin1454 said in Bed tuning bang-bang? - And thermo fan:

    where I define my tool (M563 P0 D0 H1 F0) it have F0 in it, so it tries to tie it as a part cooling fan!

    Does fixing that solve the problem?



  • @achrn Just tested, it seems so! 🙂 thanks for the help everyone


Log in to reply