본문 바로가기
- Malrin

Marlin firmware study_4

by Kevin_Park 2020. 4. 16.
반응형

마를린 펌웨어를 꾸준히 공부하도록 하겠습니다.

본문을 클립해와서 번역기 돌린 내용과 같이 올린 후 보면서 제 의견까지 코멘트하는 방식으로 공부가 진행될 것 같습니다.


Power Supply

//#define PSU_CONTROL

//#define PSU_NAME "Power Supply"

 

#if ENABLED(PSU_CONTROL)

#define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2)

 

//#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80

//#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin

#if ENABLED(AUTO_POWER_CONTROL)

#define AUTO_POWER_FANS // Turn on PSU if fans need power

#define AUTO_POWER_E_FANS

#define AUTO_POWER_CONTROLLERFAN

#define AUTO_POWER_CHAMBER_FAN

//#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature

//#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature

#define POWER_TIMEOUT 30

#endif

#endif

This option allows the controller board to switch the power supply 12v on and off with M80 and M81. Requires PS_ON_PIN.

//#define PS_DEFAULT_OFF

Enable this if you don’t want the power supply to switch on when you turn on the printer. This is for printers that have dual power supplies. For instance some setups have a separate power supply for the heaters. In this situation you can save power by leaving the power supply off until needed. If you don’t know what this is leave it.

파워서플라이

//#define PSU_CONTROL

//#define PSU_NAME "Power Supply"

 

#if ENABLED(PSU_CONTROL)

#define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2)

 

//#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80

//#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin

#if ENABLED(AUTO_POWER_CONTROL)

#define AUTO_POWER_FANS // Turn on PSU if fans need power

#define AUTO_POWER_E_FANS

#define AUTO_POWER_CONTROLLERFAN

#define AUTO_POWER_CHAMBER_FAN

//#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature

//#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature

#define POWER_TIMEOUT 30

#endif

#endif

이 옵션은 컨트롤러 보드가와와 떨어져 전원 공급 장치 12V를 전환 할 수 있습니다 M80 M81. 필요합니다 PS_ON_PIN.

//#define PS_DEFAULT_OFF

프린터를 켤 때 전원 공급 장치를 켜지 않으려면이 옵션을 활성화하십시오. 이중 전원 공급 장치가있는 프린터 용입니다. 예를 들어 일부 설정에는 히터를위한 별도의 전원 공급 장치가 있습니다. 이 상황에서는 필요할 때까지 전원 공급 장치를 꺼 두어 전원을 절약 할 수 있습니다. 이것이 무엇인지 모른다면 남겨 두십시오.


Thermal Settings

Temperature Sensors

#define TEMP_SENSOR_0 1

#define TEMP_SENSOR_1 0

#define TEMP_SENSOR_2 0

#define TEMP_SENSOR_3 0

#define TEMP_SENSOR_4 0

#define TEMP_SENSOR_5 0

#define TEMP_SENSOR_BED 0

#define TEMP_SENSOR_CHAMBER 0

Temperature sensors are vital components in a 3D printer. Fast and accurate sensors ensure that the temperature will be well controlled, to keep plastic flowing smoothly and to prevent mishaps. Use these settings to specify the hotend and bed temperature sensors. Every 3D printer will have a hotend thermistor, and most will have a bed thermistor.

The listing above these options in Configuration.h contains all the thermistors and thermocouples that Marlin knows and supports. Try to match your brand and model with one of the sensors in the list. If no match is found, use a profile for a similar sensor of the same brand, or try “1” – the generic profile. Each profile is calibrated for a particular temperature sensor so it’s important to be as precise as possible.

 

It is crucial to obtain accurate temperature measurements. As a last resort, use 100k thermistor for TEMP_SENSOR and TEMP_SENSOR_BED but be highly skeptical of the temperature accuracy.

// Dummy thermistor constant temperature readings, for use with 998 and 999

#define DUMMY_THERMISTOR_998_VALUE 25

#define DUMMY_THERMISTOR_999_VALUE 100

Marlin provides two dummy sensors for testing purposes. Set their constant temperature readings here.

//#define TEMP_SENSOR_1_AS_REDUNDANT

#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10

Enable this option to use sensor 1 as a redundant sensor for sensor 0. This is an advanced way to protect against temp sensor failure. If the temperature difference between sensors exceeds MAX_REDUNDANT_TEMP_SENSOR_DIFF Marlin will abort the print and disable the heater.

열 설정

온도 센서

#define TEMP_SENSOR_0 1

#define TEMP_SENSOR_1 0

#define TEMP_SENSOR_2 0

#define TEMP_SENSOR_3 0

#define TEMP_SENSOR_4 0

#define TEMP_SENSOR_5 0

#define TEMP_SENSOR_BED 0

#define TEMP_SENSOR_CHAMBER 0

 

온도 센서는 3D 프린터의 필수 구성 요소입니다. 빠르고 정확한 센서는 온도를 잘 제어하여 플라스틱 흐름을 원활하게 유지하고 사고를 방지합니다. 이 설정을 사용하여 핫 엔드 및 베드 온도 센서를 지정하십시오. 모든 3D 프린터에는 핫 엔드 서미스터가 있으며 대부분 서미스터가 있습니다.

이러한 옵션 위의 목록 Configuration.h에는 Marlin이 알고 지원하는 모든 서미스터 및 열전대가 포함되어 있습니다. 목록에있는 센서 중 하나와 브랜드 및 모델을 일치 시키십시오. 일치하는 것이 없으면 동일한 브랜드의 유사한 센서에 대한 프로파일을 사용하거나 일반 프로파일 인 "1"을 시도하십시오. 각 프로파일은 특정 온도 센서에 대해 보정되므로 최대한 정밀해야합니다.

 

정확한 온도 측정을 얻는 것이 중요합니다. 마지막 수단으로 위해 100,000 서미스터를 사용 TEMP_SENSOR하고 TEMP_SENSOR_BED있지만, 온도 정확도 매우 회의적.

// Dummy thermistor constant temperature readings, for use with 998 and 999

#define DUMMY_THERMISTOR_998_VALUE 25

#define DUMMY_THERMISTOR_999_VALUE 100

Marlin은 테스트 목적으로 두 개의 더미 센서를 제공합니다. 여기에서 일정한 온도 판독 값을 설정하십시오.

//#define TEMP_SENSOR_1_AS_REDUNDANT

#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10

센서 1을 센서 0의 중복 센서로 사용하려면이 옵션을 활성화하십시오. 이것은 온도 센서 고장을 방지하는 고급 방법입니다. 센서 간의 온도 차이가 MAX_REDUNDANT_TEMP_SENSOR_DIFF말린을 초과 하면 인쇄가 중단되고 히터가 비활성화됩니다.


Temperature Stability

#define TEMP_RESIDENCY_TIME 10 // (seconds)

#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one

#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.

Extruders must maintain a stable temperature for TEMP_RESIDENCY_TIME before M109 will return success and start the print. Tune what “stable” means using TEMP_HYSTERESIS and TEMP_WINDOW.

#define TEMP_BED_RESIDENCY_TIME 10 // (seconds)

#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one

#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.

The bed must maintain a stable temperature for TEMP_BED_RESIDENCY_TIME before M109 will return success and start the print. Tune what “stable” means using TEMP_BED_HYSTERESIS and TEMP_BED_WINDOW.

#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target

Set how far from target the chamber can be and still be considered ok.

온도 안정성

#define TEMP_RESIDENCY_TIME 10 // (seconds)

#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one

#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.

성공 TEMP_RESIDENCY_TIME하기 전에 압출기는 안정적인 온도를 유지해야하며 M109인쇄가 시작됩니다. TEMP_HYSTERESIS및을 사용하여 "안정적인"의미를 조정하십시오 TEMP_WINDOW.

#define TEMP_BED_RESIDENCY_TIME 10 // (seconds)

#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one

#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.

성공적으로 돌아와 인쇄를 시작 TEMP_BED_RESIDENCY_TIME하기 전에 베드는 안정적인 온도를 유지해야합니다 M109. TEMP_BED_HYSTERESIS및을 사용하여 "안정적인"의미를 조정하십시오 TEMP_BED_WINDOW.

#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target

챔버가 얼마나 멀리 목표에서 멀어 질 수 있는지 설정하고 여전히 괜찮은 것으로 간주합니다.


Temperature Ranges

#define HEATER_0_MINTEMP 5

#define HEATER_1_MINTEMP 5

#define HEATER_2_MINTEMP 5

#define HEATER_3_MINTEMP 5

#define HEATER_4_MINTEMP 5

#define BED_MINTEMP 5

These parameters help prevent the printer from overheating and catching fire. Temperature sensors report abnormally low values when they fail or become disconnected. Set these to the lowest value (in degrees C) that the machine is likely to experience. Indoor temperatures range from 10C-40C, but a value of 0 might be appropriate for an unheated workshop.

If any sensor goes below the minimum temperature set here, Marlin will shut down the printer with a “MINTEMP” error.

 

Err: MINTEMP: This error means your thermistor has disconnected or become an open circuit. (Or the machine is just very cold.)

#define HEATER_0_MAXTEMP 285

#define HEATER_1_MAXTEMP 275

#define HEATER_2_MAXTEMP 275

#define HEATER_3_MAXTEMP 275

#define HEATER_4_MAXTEMP 275

#define BED_MAXTEMP 130

Maximum temperature for each temperature sensor. If Marlin reads a temperature above these values, it will immediately shut down for safety reasons. For the E3D V6 hotend, many use 285 as a maximum value.

 

Err: MAXTEMP: This error usually means that the temperature sensor wires are shorted together. It may also indicate an issue with the heater MOSFET or relay that is causing it to stay on.

 

Remember that cold surfaces near hot surfaces can lead to condensation, which is NOT GOOD for electronics. Use blower fans to keep air moving and use a Dew Point Calculator to check your local dew point.

온도 범위

#define HEATER_0_MINTEMP 5

#define HEATER_1_MINTEMP 5

#define HEATER_2_MINTEMP 5

#define HEATER_3_MINTEMP 5

#define HEATER_4_MINTEMP 5

#define BED_MINTEMP 5

이 매개 변수는 프린터가 과열되어 화재가 발생하는 것을 방지합니다. 온도 센서가 실패하거나 연결이 끊어지면 비정상적으로 낮은 값을보고합니다. 기계가 경험할 수있는 가장 낮은 값 (° C)으로 설정하십시오. 실내 온도는 10C-40C이지만 가열되지 않은 작업장에는 0 값이 적합 할 수 있습니다.

센서가 여기에서 설정 한 최저 온도보다 낮아지면 Marlin은 "MINTEMP"오류로 프린터  종료합니다 .

 

Err: MINTEMP:이 오류는 서미스터가 분리되었거나 개방 회로가됨을 의미합니다. 또는 기계가 매우 차갑습니다.

#define HEATER_0_MAXTEMP 285

#define HEATER_1_MAXTEMP 275

#define HEATER_2_MAXTEMP 275

#define HEATER_3_MAXTEMP 275

#define HEATER_4_MAXTEMP 275

#define BED_MAXTEMP 130

각 온도 센서의 최대 온도. Marlin이이 값보다 높은 온도를 읽으면 안전상의 이유로 즉시 종료됩니다. E3D V6 핫 엔드의 경우 많은 사람들이 285를 최대 값으로 사용합니다.

 

Err: MAXTEMP:이 오류는 일반적으로 온도 센서 와이어가 함께 단락되었음을 나타냅니다. 히터 MOSFET 또는 릴레이에 문제가있어 히터가 계속 켜져있을 수 있습니다.

 

뜨거운 표면 근처의 차가운 표면  응결로 이어질 수 있으며 전자 장치에는 좋지 않습니다. 송풍기 팬을 사용하여 공기 이동을 유지하고 이슬점 계산기  사용 하여 지역 이슬점을 확인하십시오.


PID

Marlin uses PID (Proportional, Integral, Derivative) control (Wikipedia) to stabilize the dynamic heating system for the hotends and bed. When PID values are set correctly, heaters reach their target temperatures faster, maintain temperature better, and experience less wear over time.

Most vitally, correct PID settings will prevent excessive overshoot, which is a safety hazard. During PID calibration, use the highest target temperature you intend to use (where overshoots are more critical).

See the PID Tuning topic on the RepRap wiki for detailed instructions on M303 auto-tuning. The PID settings should be tuned whenever changing a hotend, temperature sensor, heating element, board, power supply voltage (12v/24v), or anything else related to the high-voltage circuitry.

PID

제어 ( Wikipedia )를 사용하여 핫 엔드 및 베드의 동적 가열 시스템을 안정화합니다. PID 값이 올바르게 설정되면 히터는 목표 온도에 더 빨리 도달하고 온도를 더 잘 유지하며 시간이 지남에 따라 마모가 줄어 듭니다.

가장 중요한 것은 올바른 PID 설정은 과도한 오버 슈트를 방지하여 안전에 위험하다는 것입니다. PID 보정 중에는 사용하려는 최고 목표 온도를 사용하십시오 (오버 슈트가 더 중요한 경우).

자동 조정 에 대한 자세한 지시 사항은 RepRap 위키 에서 PID 조정 주제를 참조하십시오 M303. PID 설정은 핫 엔드, 온도 센서, 발열체, 보드, 전원 공급 전압 (12v / 24v) 또는 고전압 회로와 관련된 모든 것을 변경할 때마다 조정해야합니다.


Hotend PID Options

#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

#define K1 0.95

Disable PIDTEMP to run extruders in bang-bang mode. Bang-bang is a pure binary mode - the heater is either fully-on or fully-off for a long period. PID control uses higher frequency PWM and (in most cases) is superior for maintaining a stable temperature.

#if ENABLED(PIDTEMP)

//#define PID_EDIT_MENU

//#define PID_AUTOTUNE_MENU

//#define PID_DEBUG

//#define PID_OPENLOOP 1

//#define SLOW_PWM_HEATERS

//#define PID_PARAMS_PER_HOTEND

#define PID_FUNCTIONAL_RANGE 10

Enable PID_AUTOTUNE_MENU to add an option on the LCD to run an Autotune cycle and automatically apply the result. Enable PID_PARAMS_PER_HOTEND if you have more than one extruder and they are different models.

PID Values  

// Ultimaker

#define DEFAULT_Kp 22.2

#define DEFAULT_Ki 1.08

#define DEFAULT_Kd 114

 

// 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

Sample PID values are included for reference, but they won’t apply to most setups. The PID values you get from M303 may be very different, but will be better for your specific machine.

 

M301 can be used to set Hotend PID and is also accessible through the LCD. M304 can be used to set bed PID. M303 should be used to tune PID values before using any new hotend components.

 

핫엔드 PID 옵션

#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

#define K1 0.95

PIDTEMPBang-bang 모드에서 압출기를 실행 하지 않습니다 . Bang-bang은 순수한 이진 모드입니다. 히터는 장시간 동안 완전히 켜져 있거나 완전히 꺼져 있습니다. PID 제어는 고주파 PWM을 사용하며 (대부분의 경우) 안정적인 온도를 유지하는 데 탁월합니다.

#if ENABLED(PIDTEMP)

//#define PID_EDIT_MENU

//#define PID_AUTOTUNE_MENU

//#define PID_DEBUG

//#define PID_OPENLOOP 1

//#define SLOW_PWM_HEATERS

//#define PID_PARAMS_PER_HOTEND

#define PID_FUNCTIONAL_RANGE 10

사용 PID_AUTOTUNE_MENU오토튠을주기를 실행하고 자동으로 결과를 적용 할 수있는 LCD에 옵션을 추가 할 수 있습니다. 사용 PID_PARAMS_PER_HOTEND하나 이상의 압출기를 가지고 서로 다른 모델의 경우.

// Ultimaker

#define DEFAULT_Kp 22.2

#define DEFAULT_Ki 1.08

#define DEFAULT_Kd 114

 

// 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

샘플 PID 값은 참조 용으로 포함되어 있지만 대부분의 설정에는 적용되지 않습니다. 사용자가 얻는 PID 값 M303은 매우 다를 수 있지만 특정 머신에 더 좋습니다.

 

M301Hotend PID를 설정하는 데 사용할 수 있으며 LCD를 통해 액세스 할 수도 있습니다. M304베드 PID를 설정하는 데 사용할 수 있습니다. M303새로운 핫 엔드 구성 요소를 사용하기 전에 PID 값을 조정하는 데 사용해야합니다.


Bed PID Options

//#define PIDTEMPBED

Enable PIDTEMPBED to use PID for the bed heater (at the same PWM frequency as the extruders). With the default PID_dT the PWM frequency is 7.689Hz, fine for driving a square wave into a resistive load without significant impact on 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, you probably shouldn’t use bed PID until it’s verified that your hardware works. Use M303 E-1 to tune the bed PID for this option.

//#define BED_LIMIT_SWITCHING

Enable BED_LIMIT_SWITCHING

#define MAX_BED_POWER 255

The max power delivered to the bed. All forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis). Setting this to anything other than 255 enables a form of PWM. As with PIDTEMPBED, don’t enable this unless your bed hardware is ok with PWM.

 

베드 PID 옵션

//#define PIDTEMPBED

PIDTEMPBED베드 히터에 PID를 사용 하도록 설정 합니다 (압출기와 동일한 PWM 주파수에서). 기본 PID_dT를 사용하면 PWM 주파수는 7.689Hz이며, FET 가열에 큰 영향을주지 않고 구형파를 저항 부하로 구동하는 데 적합합니다. 이것은 또한 Fotek SSR-10DA 솔리드 스테이트 릴레이에서 250W 히터로 잘 작동합니다. 구성이 이것과 크게 다르고 관련된 문제를 이해하지 못하면 하드웨어가 작동하는지 확인할 때까지 bed PID를 사용하지 않아야합니다. M303 E-1이 옵션의 베드 PID를 조정하는 데 사용 합니다.

//#define BED_LIMIT_SWITCHING

사용 BED_LIMIT_SWITCHING

#define MAX_BED_POWER 255

침대에 전달되는 최대 전력. 모든 형태의 침대 제어가 이에 부합합니다 (PID, 뱅뱅, 히스테리시스가있는 뱅뱅). 이것을 255 이외의 것으로 설정하면 PWM 형식이 가능합니다. 와 마찬가지로 PIDTEMPBED침대 하드웨어에 PWM이 없으면이 기능을 활성화하지 마십시오.


Bed PID Values  

#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 10.00

#define DEFAULT_bedKi .023

#define DEFAULT_bedKd 305.4

 

//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

Sample Bed PID values are included for reference, but use the result from M303 E-1 for your specific machine.

Bed PID Values  

#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 10.00

#define DEFAULT_bedKi .023

#define DEFAULT_bedKd 305.4

 

//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

샘플 베드 PID 값은 참조 용으로 포함되어 있지만 M303 E-1특정 기계에 대한 결과를 사용하십시오 .


Safety

Prevent Cold Extrusion 

#define PREVENT_COLD_EXTRUSION

#define EXTRUDE_MINTEMP 170

So-called “cold extrusion” can damage a machine in several ways, but it usually just results in gouged filament and a jammed extruder. With this option, the extruder motor won’t move if the hotend is below the specified temperature. Override this setting with M302 if needed.

Prevent Lengthy Extrude

#define PREVENT_LENGTHY_EXTRUDE

#define EXTRUDE_MAXLENGTH 200

A lengthy extrusion may not damage your machine, but it can be an awful waste of filament. This feature is meant to prevent a typo or glitch in a G1 command from extruding some enormous amount of filament. For Bowden setups, the max length should be set greater than or equal to the load/eject length.

안전

냉간 압출 방지 

#define PREVENT_COLD_EXTRUSION

#define EXTRUDE_MINTEMP 170

소위 "냉간 압출"은 여러 가지 방법으로 기계를 손상시킬 수 있지만 일반적으로 필라멘트가 구부러지고 압출기가 걸리게됩니다. 이 옵션을 사용하면 핫 엔드가 지정된 온도보다 낮 으면 압출기 모터가 움직이지 않습니다. M302필요한 경우이 설정을 재정의하십시오 .

긴 돌출 방지

#define PREVENT_LENGTHY_EXTRUDE

#define EXTRUDE_MAXLENGTH 200

압출 시간이 길어도 기계가 손상되지는 않지만 필라멘트를 끔찍하게 낭비 할 수 있습니다. 이 기능은 G1명령 의 오타 나 글리치가 엄청난 양의 필라멘트를 압출 하는 것을 방지하기위한 것 입니다. Bowden 설정의 경우 최대 길이는로드 / 배출 길이 이상으로 설정해야합니다.


Thermal Protection

#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders

#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed

#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber

Thermal protection is one of the most vital safety features in Marlin, allowing the firmware to catch a bad situation and shut down heaters before it goes too far. Consider what happens when a thermistor comes loose during printing. The firmware sees a low temperature reading so it keeps the heat on. As long as the temperature reading is low, the hotend will continue to heat up indefinitely, leading to smoke, oozing, a ruined print, and possibly even fire.

Marlin offers two levels of thermal protection:

  1. Check that the temperature is actually increasing when a heater is on. If the temperature fails to rise enough within a certain time period (by default, 2 degrees in 20 seconds), the machine will shut down with a “Heating failed” error. This will detect a disconnected, loose, or misconfigured thermistor, or a disconnected heater.
  2. Monitor thermal stability. If the measured temperature drifts too far from the target temperature for too long, the machine will shut down with a “Thermal runaway” error. This error may indicate poor contact between thermistor and hot end, poor PID tuning, or a cold environment.

More thermal protection options are located in Configuration_adv.h. In most setups these can be left unchanged, but should be tuned as needed to prevent false positives.

Information

For false thermal runaways not caused by a loose temperature sensor, try increasing WATCH_TEMP_PERIOD or decreasing WATCH_TEMP_INCREASE. Heating may be slowed in a cold environment, if a fan is blowing on the heat block, or if the heater has high resistance.

열 보호

#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders

#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed

#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber

열 보호는 Marlin에서 가장 중요한 안전 기능 중 하나이므로 펌웨어가 나쁜 상황을 포착하고 너무 멀리 가기 전에 히터를 종료 할 수 있습니다. 인쇄 중에 서미스터가 느슨해지면 어떻게되는지 고려하십시오. 펌웨어는 저온 판독 값을보고 열을 계속 유지합니다. 온도 판독 값이 낮 으면 핫 엔드가 계속 가열되어 연기가 나고, 삐걱 거리며, 인쇄물이 터져 화재가 발생할 수 있습니다.

말린은 두 가지 수준의 열 보호 기능을 제공합니다.

  1. 히터가 켜졌을 때 온도가 실제로 상승하는지 확인하십시오. 특정 시간 (기본적으로 20 초에 2도) 내에 온도가 충분히 상승하지 않으면 " Heating failed" "오류 와 함께 기계가 종료됩니다 . 서미스터 연결이 끊어 졌거나 느슨하거나 잘못 구성되어 있거나 히터 연결이 끊겼습니다.
  2. 열 안정성을 모니터링합니다. 측정 된 온도가 목표 온도에서 너무 멀리 떨어지면 " Thermal runaway"오류 와 함께 기계가 종료됩니다 . 이 오류는 서미스터와 핫 엔드 간의 접촉 불량, PID 튜닝 불량 또는 저온 환경을 나타냅니다.

더 많은 열 보호 옵션은에 있습니다 Configuration_adv.h. 대부분의 설정에서 이러한 설정은 변경되지 않은 상태로 유지 될 수 있지만 오 탐지를 방지하기 위해 필요에 따라 조정해야합니다.

 

정보

온도 센서가 느슨해져 잘못된 열 폭주  발생하는 경우 증가 WATCH_TEMP_PERIOD또는 감소를 시도하십시오 WATCH_TEMP_INCREASE. 추운 환경에서는 열 블록에 팬이 부풀 리거나 히터의 저항이 높은 경우 가열 속도가 느려질 수 있습니다.


 

반응형

'- Malrin' 카테고리의 다른 글

Marlin firmware study_5  (0) 2020.04.21
Marlin firmware study_3  (0) 2020.04.15
Marlin firmware study_2  (0) 2020.04.01
Marlin firmware study_1  (0) 2020.03.31