Stránka 1 z 1

marlin 1.1.9 nepřepne na PID

PříspěvekNapsal: 01.09.2019 12:21
od zemciko
Mám nainstalovaný marlin 1.1.9 na MKS GEN-L.
Je tam 24v zdroj. (18v se neosvědčil nefungovalo správně USB...)
Díky tomu topí vše několikenásobně intenzivněji než na 12V.
Nastavil jsem max hodnotu u bedu na +-100 z 255 a u HE na 50 (25 bylo už málo).
Nastavím na hootendu a na BEDU PID regulaci, u bedu to krásně funguje. U HE jede furt bang-bang ať dělám co dělám (teplota furt kolísá +- několik stupňů a power jede furt na max povoleného nebo vůbec, což vidím v repetieru)...
Už jste se s tím někdo potkali?

takhle vypadá poslední pokus..

Kód: Vybrat vše
//===========================================================================
//============================= PID Settings ================================
//===========================================================================
// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning

// Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP
#define BANG_MAX 50     // Limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX 50 // puvodne BANG_MAX - Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
#define PID_K1 0.9      // Smoothing factor within any PID loop
#if ENABLED(PIDTEMP)
  #define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
  //#define PID_DEBUG // Sends debug data to the serial port.
  //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
  //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
  #define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
                                  // Set/get with gcode: M301 E[extruder number, 0-2]
  #define PID_FUNCTIONAL_RANGE 30 // If the temperature difference between the target temperature and the actual temperature
                                  // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.

  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it

  // 24v
  #define DEFAULT_Kp 1.89
  #define DEFAULT_Ki 0.08
  #define DEFAULT_Kd 11.75

  // MakerGear
  //#define DEFAULT_Kp 7.0
  //#define DEFAULT_Ki 0.1
  //#define DEFAULT_Kd 12

  // Mendel Parts V9 on 12V
  //#define DEFAULT_Kp 63.0
  //#define DEFAULT_Ki 2.25
  //#define DEFAULT_Kd 440

#endif // PIDTEMP

//===========================================================================
//============================= PID > Bed Temperature Control ===============
//===========================================================================

/**
 * PID Bed Heating
 *
 * If this option is enabled set PID constants below.
 * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis.
 *
 * The PID frequency will be the same as the extruder PWM.
 * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
 * which is fine for driving a square wave into a resistive load and does not significantly
 * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W
 * heater. If your configuration is significantly different than this and you don't understand
 * the issues involved, don't use bed PID until someone else verifies that your hardware works.
 */
#define PIDTEMPBED

//#define BED_LIMIT_SWITCHING

/**
 * Max Bed Power
 * Applies to all forms of bed control (PID, bang-bang, and bang-bang with hysteresis).
 * When set to any value below 255, enables a form of PWM to the bed that acts like a divider
 * so don't use it unless you are OK with PWM on your bed. (See the comment on enabling PIDTEMPBED)
 */
#define MAX_BED_POWER 125 // limits duty cycle to bed; 255=full current

#if ENABLED(PIDTEMPBED)

  //#define PID_BED_DEBUG // Sends debug data to the serial port.

  //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
  #define DEFAULT_bedKp 347.29
  #define DEFAULT_bedKi 63.22
  #define DEFAULT_bedKd 476.66

  //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
  //from pidautotune
  //#define DEFAULT_bedKp 97.1
  //#define DEFAULT_bedKi 1.41
  //#define DEFAULT_bedKd 1675.16

  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED

Re: marlin 1.1.9 nepřepne na PID

PříspěvekNapsal: 04.09.2019 17:53
od lsl
Stejny problem.

ted jsem nahral Marlina 1.1.9 do nove kostky a resim totez. Teplota lita na extruderu +- 3 stupne, parametry z autopid nemaji zadny efekt :(.

Nema nekdo nejaky tip, co s tim? Bed se chova spravne.

LS.

Re: marlin 1.1.9 nepřepne na PID

PříspěvekNapsal: 05.09.2019 10:33
od zemciko
Zkusil sem z toho vyhodit #define PID_FUNCTIONAL_RANGE 30 ale to odmítne zkompilovat, tak druhej krok byl nastavit to na 200 a první test při 245°C se tvářil že drží teplotu v rámci jednoho stupně, tak snad to bylo ono. Osobně mi není jasné k čemu to přepínání z bamg bang má být (čas to podle mně moc neušetří) proč to nenechali jen jedno či druhé...

Re: marlin 1.1.9 nepřepne na PID

PříspěvekNapsal: 05.09.2019 14:08
od lsl
Potvrzuji.

Po nastaveni PID_FUNCTIONAL_RANGE na 200 neni na grafu teploty sinusoida, ale rovna cara. Asi je nekde chybka ve vyhodnoceni toho parametru :).

LS.