Parcourir la source

Merge pull request #4914 from Rerouter/PID-Unconstrained-Itemp

Pid unconstrained itemp
Scott Lahteine il y a 8 ans
Parent
révision
473f4a17a8
24 fichiers modifiés avec 4 ajouts et 90 suppressions
  1. 0
    3
      Marlin/Configuration.h
  2. 0
    3
      Marlin/example_configurations/Cartesio/Configuration.h
  3. 0
    3
      Marlin/example_configurations/Felix/Configuration.h
  4. 0
    1
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  5. 0
    3
      Marlin/example_configurations/Hephestos/Configuration.h
  6. 0
    3
      Marlin/example_configurations/Hephestos_2/Configuration.h
  7. 0
    3
      Marlin/example_configurations/K8200/Configuration.h
  8. 0
    3
      Marlin/example_configurations/K8400/Configuration.h
  9. 0
    3
      Marlin/example_configurations/K8400/Dual-head/Configuration.h
  10. 0
    3
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  11. 0
    3
      Marlin/example_configurations/RigidBot/Configuration.h
  12. 0
    3
      Marlin/example_configurations/SCARA/Configuration.h
  13. 0
    3
      Marlin/example_configurations/TAZ4/Configuration.h
  14. 0
    3
      Marlin/example_configurations/WITBOX/Configuration.h
  15. 0
    3
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  16. 0
    3
      Marlin/example_configurations/delta/biv2.5/Configuration.h
  17. 0
    3
      Marlin/example_configurations/delta/generic/Configuration.h
  18. 0
    3
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  19. 0
    3
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  20. 0
    3
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  21. 0
    3
      Marlin/example_configurations/makibox/Configuration.h
  22. 0
    3
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  23. 2
    20
      Marlin/temperature.cpp
  24. 2
    6
      Marlin/temperature.h

+ 0
- 3
Marlin/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/Cartesio/Configuration.h Voir le fichier

@@ -299,7 +299,6 @@
299 299
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
300 300
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
301 301
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
302
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
303 302
   #define K1 0.95 //smoothing factor within the PID
304 303
 
305 304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -347,8 +346,6 @@
347 346
 
348 347
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
349 348
 
350
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
351
-
352 349
     //24V 500W silicone heater on to 4mm glass CartesioW
353 350
     #define  DEFAULT_bedKp 390
354 351
     #define  DEFAULT_bedKi 70

+ 0
- 3
Marlin/example_configurations/Felix/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // Felix 2.0+ electronics with v4 Hotend
@@ -334,8 +333,6 @@
334 333
 
335 334
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
336 335
 
337
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
338
-
339 336
   // Felix Foil Heater
340 337
   #define DEFAULT_bedKp 103.37
341 338
   #define DEFAULT_bedKi 2.79

+ 0
- 1
Marlin/example_configurations/Felix/DUAL/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // Felix 2.0+ electronics with v4 Hotend

+ 0
- 3
Marlin/example_configurations/Hephestos/Configuration.h Voir le fichier

@@ -301,7 +301,6 @@
301 301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
302 302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
303 303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
304
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
305 304
   #define K1 0.95 //smoothing factor within the PID
306 305
 
307 306
   // Hephestos i3
@@ -337,8 +336,6 @@
337 336
 
338 337
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
339 338
 
340
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
341
-
342 339
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
343 340
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
344 341
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/Hephestos_2/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 250  // If the temperature difference between the target temperature and the actual temperature
300 300
                                     // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // Tuned PID values using M303
@@ -339,8 +338,6 @@
339 338
 
340 339
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
341 340
 
342
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
343
-
344 341
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
345 342
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
346 343
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/K8200/Configuration.h Voir le fichier

@@ -305,7 +305,6 @@
305 305
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
306 306
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
307 307
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
308
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
309 308
   #define K1 0.95 //smoothing factor within the PID
310 309
 
311 310
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -356,8 +355,6 @@
356 355
 
357 356
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
358 357
 
359
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
360
-
361 358
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
362 359
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
363 360
   //#define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/K8400/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/K8400/Dual-head/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/RigidBot/Configuration.h Voir le fichier

@@ -301,7 +301,6 @@
301 301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
302 302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
303 303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
304
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
305 304
   #define K1 0.95 //smoothing factor within the PID
306 305
 
307 306
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -349,8 +348,6 @@
349 348
 
350 349
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
351 350
 
352
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
353
-
354 351
   //RigidBot, from pid autotune
355 352
   #define  DEFAULT_bedKp 355
356 353
   #define  DEFAULT_bedKi 66.5

+ 0
- 3
Marlin/example_configurations/SCARA/Configuration.h Voir le fichier

@@ -330,7 +330,6 @@
330 330
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
331 331
   #define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
332 332
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
333
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
334 333
   #define K1 0.95 //smoothing factor within the PID
335 334
 
336 335
   // Merlin Hotend: From Autotune
@@ -366,8 +365,6 @@
366 365
 
367 366
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
368 367
 
369
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
370
-
371 368
   //12v Heatbed Mk3 12V in parallel
372 369
   //from pidautotune
373 370
   #define  DEFAULT_bedKp 630.14

+ 0
- 3
Marlin/example_configurations/TAZ4/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 16 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -355,8 +354,6 @@
355 354
 
356 355
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
357 356
 
358
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
359
-
360 357
   //24V 360W silicone heater from NPH on 3mm borosilicate (TAZ 2.2+)
361 358
   #define  DEFAULT_bedKp 20
362 359
   #define  DEFAULT_bedKi 5

+ 0
- 3
Marlin/example_configurations/WITBOX/Configuration.h Voir le fichier

@@ -301,7 +301,6 @@
301 301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
302 302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
303 303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
304
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
305 304
   #define K1 0.95 //smoothing factor within the PID
306 305
 
307 306
   // Witbox
@@ -337,8 +336,6 @@
337 336
 
338 337
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
339 338
 
340
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
341
-
342 339
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
343 340
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
344 341
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/adafruit/ST7565/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/delta/biv2.5/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/delta/generic/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/delta/kossel_mini/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -345,8 +344,6 @@
345 344
 
346 345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347 346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350 347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351 348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352 349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/delta/kossel_pro/Configuration.h Voir le fichier

@@ -304,7 +304,6 @@
304 304
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
305 305
   #define PID_FUNCTIONAL_RANGE 50 // If the temperature difference between the target temperature and the actual temperature
306 306
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
307
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
308 307
   #define K1 0.95 //smoothing factor within the PID
309 308
 
310 309
   // Kossel Pro
@@ -340,8 +339,6 @@
340 339
 
341 340
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
342 341
 
343
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
344
-
345 342
   //Kossel Pro heated bed plate with borosilicate glass
346 343
   //from pidautotune (M303 E-1 S60 C8)
347 344
   #define  DEFAULT_bedKp 370.25

+ 0
- 3
Marlin/example_configurations/delta/kossel_xl/Configuration.h Voir le fichier

@@ -291,7 +291,6 @@
291 291
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
292 292
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
293 293
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
294
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
295 294
   #define K1 0.95 //smoothing factor within the PID
296 295
 
297 296
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -343,8 +342,6 @@
343 342
 
344 343
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345 344
 
346
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
347
-
348 345
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
349 346
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
350 347
   #define  DEFAULT_bedKp 15.00

+ 0
- 3
Marlin/example_configurations/makibox/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -348,8 +347,6 @@
348 347
 
349 348
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
350 349
 
351
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
352
-
353 350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
354 351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
355 352
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/tvrrug/Round2/Configuration.h Voir le fichier

@@ -298,7 +298,6 @@
298 298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299 299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300 300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302 301
   #define K1 0.95 //smoothing factor within the PID
303 302
 
304 303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@@ -335,8 +334,6 @@
335 334
 
336 335
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
337 336
 
338
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
339
-
340 337
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
341 338
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
342 339
   #define  DEFAULT_bedKp 10.00

+ 2
- 20
Marlin/temperature.cpp Voir le fichier

@@ -136,9 +136,7 @@ volatile bool Temperature::temp_meas_ready = false;
136 136
     int Temperature::lpq_ptr = 0;
137 137
   #endif
138 138
 
139
-  float Temperature::pid_error[HOTENDS],
140
-        Temperature::temp_iState_min[HOTENDS],
141
-        Temperature::temp_iState_max[HOTENDS];
139
+  float Temperature::pid_error[HOTENDS];
142 140
   bool Temperature::pid_reset[HOTENDS];
143 141
 #endif
144 142
 
@@ -148,9 +146,7 @@ volatile bool Temperature::temp_meas_ready = false;
148 146
         Temperature::pTerm_bed,
149 147
         Temperature::iTerm_bed,
150 148
         Temperature::dTerm_bed,
151
-        Temperature::pid_error_bed,
152
-        Temperature::temp_iState_min_bed,
153
-        Temperature::temp_iState_max_bed;
149
+        Temperature::pid_error_bed;
154 150
 #else
155 151
   millis_t Temperature::next_bed_check_ms;
156 152
 #endif
@@ -448,12 +444,6 @@ void Temperature::updatePID() {
448 444
     #if ENABLED(PID_EXTRUSION_SCALING)
449 445
       last_e_position = 0;
450 446
     #endif
451
-    HOTEND_LOOP() {
452
-      temp_iState_max[e] = (PID_INTEGRAL_DRIVE_MAX) / PID_PARAM(Ki, e);
453
-    }
454
-  #endif
455
-  #if ENABLED(PIDTEMPBED)
456
-    temp_iState_max_bed = (PID_BED_INTEGRAL_DRIVE_MAX) / bedKi;
457 447
   #endif
458 448
 }
459 449
 
@@ -564,7 +554,6 @@ float Temperature::get_pid_output(int e) {
564 554
         }
565 555
         pTerm[HOTEND_INDEX] = PID_PARAM(Kp, HOTEND_INDEX) * pid_error[HOTEND_INDEX];
566 556
         temp_iState[HOTEND_INDEX] += pid_error[HOTEND_INDEX];
567
-        temp_iState[HOTEND_INDEX] = constrain(temp_iState[HOTEND_INDEX], temp_iState_min[HOTEND_INDEX], temp_iState_max[HOTEND_INDEX]);
568 557
         iTerm[HOTEND_INDEX] = PID_PARAM(Ki, HOTEND_INDEX) * temp_iState[HOTEND_INDEX];
569 558
 
570 559
         pid_output = pTerm[HOTEND_INDEX] + iTerm[HOTEND_INDEX] - dTerm[HOTEND_INDEX];
@@ -627,7 +616,6 @@ float Temperature::get_pid_output(int e) {
627 616
       pid_error_bed = target_temperature_bed - current_temperature_bed;
628 617
       pTerm_bed = bedKp * pid_error_bed;
629 618
       temp_iState_bed += pid_error_bed;
630
-      temp_iState_bed = constrain(temp_iState_bed, temp_iState_min_bed, temp_iState_max_bed);
631 619
       iTerm_bed = bedKi * temp_iState_bed;
632 620
 
633 621
       dTerm_bed = K2 * bedKd * (current_temperature_bed - temp_dState_bed) + K1 * dTerm_bed;
@@ -955,16 +943,10 @@ void Temperature::init() {
955 943
     // populate with the first value
956 944
     maxttemp[e] = maxttemp[0];
957 945
     #if ENABLED(PIDTEMP)
958
-      temp_iState_min[e] = 0.0;
959
-      temp_iState_max[e] = (PID_INTEGRAL_DRIVE_MAX) / PID_PARAM(Ki, e);
960 946
       #if ENABLED(PID_EXTRUSION_SCALING)
961 947
         last_e_position = 0;
962 948
       #endif
963 949
     #endif //PIDTEMP
964
-    #if ENABLED(PIDTEMPBED)
965
-      temp_iState_min_bed = 0.0;
966
-      temp_iState_max_bed = (PID_BED_INTEGRAL_DRIVE_MAX) / bedKi;
967
-    #endif //PIDTEMPBED
968 950
   }
969 951
 
970 952
   #if ENABLED(PIDTEMP) && ENABLED(PID_EXTRUSION_SCALING)

+ 2
- 6
Marlin/temperature.h Voir le fichier

@@ -157,9 +157,7 @@ class Temperature {
157 157
         static int lpq_ptr;
158 158
       #endif
159 159
 
160
-      static float pid_error[HOTENDS],
161
-                   temp_iState_min[HOTENDS],
162
-                   temp_iState_max[HOTENDS];
160
+      static float pid_error[HOTENDS];
163 161
       static bool pid_reset[HOTENDS];
164 162
     #endif
165 163
 
@@ -169,9 +167,7 @@ class Temperature {
169 167
                    pTerm_bed,
170 168
                    iTerm_bed,
171 169
                    dTerm_bed,
172
-                   pid_error_bed,
173
-                   temp_iState_min_bed,
174
-                   temp_iState_max_bed;
170
+                   pid_error_bed;
175 171
     #else
176 172
       static millis_t next_bed_check_ms;
177 173
     #endif

Chargement…
Annuler
Enregistrer