Металл2024 Реклама
Метобр2024 Реклама

Выравнивание температуры на хотенде.

serega2009
Идет загрузка
Загрузка
31.01.2019
2718
7
Вопросы и ответы
Статья относится к принтерам:
Hercules New
Не могу понять что нужно менять в марлине чтобы температура была более стабильная.

Термистор менял, PID калибровал уже раз 10, ничего не помогает.

вот то что у меня в прошивки и то что на графике.
Выравнивание температуры на хотенде.
// Comment the following line to disable PID and enable bang-bang.

#define PIDTEMP

#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current

#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current

#if ENABLED(PIDTEMP)

//#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_EXTRUDER // 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 then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.

#define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term

#define K1 0.97 //smoothing factor within the PID

//=============================Thermal Settings ============================

//===========================================================================

#if ENABLED(BED_LIMIT_SWITCHING)

#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS

#endif

#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control

/**

* Thermal Protection parameters

*/

#if ENABLED(THERMAL_PROTECTION_HOTENDS)

#define THERMAL_PROTECTION_PERIOD 25 // Seconds

#define THERMAL_PROTECTION_HYSTERESIS 5 // Degrees Celsius

/**

* Whenever an M104 or M109 increases the target temperature the firmware will wait for the

* WATCH_TEMP_PERIOD to expire, and if the temperature hasn't increased by WATCH_TEMP_INCREASE

* degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,

* but only if the current temperature is far enough below the target for a reliable test.

*/

#define WATCH_TEMP_PERIOD 35 // Seconds

#define WATCH_TEMP_INCREASE 15 // Degrees Celsius

#endif

#if ENABLED(THERMAL_PROTECTION_BED)

#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds

#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius

#endif

#if ENABLED(PIDTEMP)

// this adds an experimental additional term to the heating power, proportional to the extrusion speed.

// if Kc is chosen well, the additional required power due to increased melting should be compensated.

#define PID_ADD_EXTRUSION_RATE

#if ENABLED(PID_ADD_EXTRUSION_RATE)

#define DEFAULT_Kc (100) //heating power=Kc*(e_speed)

#define LPQ_MAX_LEN 50

#endif

#endif

/**

* Automatic Temperature:

* The hotend target temperature is calculated by all the buffered lines of gcode.

* The maximum buffered steps/sec of the extruder motor is called 'se'.

* Start autotemp mode with M109 S B F

* The target temperature is set to mintemp+factor*se[steps/sec] and is limited by

* mintemp and maxtemp. Turn this off by excuting M109 without F*

* Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp.

* On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode

*/

//#define AUTOTEMP

#if ENABLED(AUTOTEMP)

#define AUTOTEMP_OLDWEIGHT 0.98

#endif

//Show Temperature ADC value

//The M105 command return, besides traditional information, the ADC value read from temperature sensors.

#define SHOW_TEMP_ADC_VALUES

// @section extruder

// extruder run-out prevention.

//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded

//#define EXTRUDER_RUNOUT_PREVENT

#define EXTRUDER_RUNOUT_MINTEMP 190

#define EXTRUDER_RUNOUT_SECONDS 30.

#define EXTRUDER_RUNOUT_ESTEPS 14. //mm filament

#define EXTRUDER_RUNOUT_SPEED 1500. //extrusion speed

#define EXTRUDER_RUNOUT_EXTRUDE 100
Ответы на вопросы
Кремень КБ Реклама
Кремень КМ Реклама