-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathBED_PID.cfg
93 lines (91 loc) · 5.3 KB
/
BED_PID.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#.................................................................................................................
# BED_PID - Optional parameters: BED_TEMP{float_value}, FAN_SPEED{0-1},
# ENCLOSURE_TEMP{float_value}, ZERO_OVERSHOOT{0,1},
# WRITE_FILE{0,1}
#
# / Usage:
# BED_PID,
# BED_PID BED_TEMP=110 FAN_SPEED=60 ENCLOSURE_TEMP=40
# BED_PID BED_TEMP=110 FAN_SPEED=60 ENCLOSURE_TEMP=40 WRITE_FILE=1
# BED_PID BED_TEMP=110 FAN_SPEED=60 ENCLOSURE_TEMP=40 WRITE_FILE=1 ZERO_OVERSHOOT=1
#
# It performs bed PID tune. If no parameters are specified, BED_TEMP will be [defaultTempBed]
#
#.................................................................................................................
# Required variable(s) to be set. Add the following to your global variable dictionary block as:
#
# [gcode_macro _USER_VARIABLE]
# variable_filament.profile.defaultTempBed
# variable_park.mid.x
# variable_park.mid.y
# variable_hw.chamber.fan
# variable_filament.profile.defaultEnclosure
#
#.................................................................................................................
# Required external macro(s) used by this macro.
#
# _general_Debug
# G32
# M117
# CURRENT_NORMAL
# PARK_UpperRight
# _COOL_WAIT
# STATUS_READY
# TURN_OFF_HEATERS
# _USER_VARIABLE
# M141
# FILTER
#
#.................................................................................................................
#.................................................................................................................
#
## URL Resources: https://github.com/rkolbi/voron2.4/blob/main/MY_V24-350/ACTIVE/MACRO-BED_PID_TUNE.cfg
##
#.................................................................................................................
[gcode_macro BED_PID]
# Usage: BED_PID BED_TEMP=110 FAN_SPEED=40
# Fan speed, from 0 to 255. S255 provides 100% duty cycle; S128 produces 50%
description: Helper: Performs BED PID tune
gcode:
_general_Debug msg="_BED_PID - entering"
{% if printer.idle_timeout.state == "Printing" or printer.pause_resume.is_paused %}
{action_respond_info("Cannot do that while printing")}
{% else %}
{% set user = printer['gcode_macro _USER_VARIABLE'] %}
{% set defaultTB = user.filament.profile.defaultTempBed|float %}
{% if printer.configfile.config['zero_overshoot heater_bed'].zero_overshoot|string in ['True','true'] %}
{% set defaultOverShoot = 1 %}
{% endif %}
{action_respond_info("defaultOverShoot for heater_bed = %s;" % defaultOverShoot)}
{% set Z_OVER = params.ZERO_OVERSHOOT|default(defaultOverShoot)|int %}
{% set WRITE_FILE = params.WRITE_FILE|default(0)|int %}
{action_respond_info("Z_OVER for heater_bed = %s;" % Z_OVER)}
# if WRITE_FILE = 1 then file is saved to `/tmp/heattest.txt` on raspberry pi
{action_respond_info("WRITE_FILE for heater_bed = %s;" % WRITE_FILE)}
{% set BED_TEMP = params.BED_TEMP|default(defaultTB)|float %}
{% set FAN_SPEED = params.FAN_SPEED|default(0.40)|float %}
{% set X_MID = user.park.mid.x|float %}
{% set Y_MID = user.park.mid.y|float %}
{% set defaultENCLOSURE = user.filament.profile.defaultEnclosure|float %}
{% set ENCLOSURE_TEMP = params.ENCLOSURE_TEMP|default(defaultENCLOSURE)|float %}
G90 ;Absolute Positioning
{% if user.hw.chamber.fan %} M141 S{ENCLOSURE_TEMP} {% endif %} ;set chamber temperature for Exhaust fan and Bed fans
M117 Performing initial homing.
G32 ;Clears bed-mesh and performs G28, ATTACH_PROBE, QGL, DOCK_PROBE
FILTER ;Toggle Nevermore Filter
G1 Z5 Y{Y_MID} X{X_MID} F4000 ;move to center of bed
SET_FAN_SPEED FAN=Bedfan_Left SPEED={FAN_SPEED} ;set Fan speed for bedfans fan
SET_FAN_SPEED FAN=Bedfan_Right SPEED={FAN_SPEED} ;set Fan speed for bedfans fan
M117 Starting PID calibration.
PID_CALIBRATE HEATER=heater_bed TARGET={BED_TEMP} ZERO_OVERSHOOT={Z_OVER} WRITE_FILE={WRITE_FILE} ;PID tune the heater_bed
M117 Finished PID calibration.
TURN_OFF_HEATERS ;Turn off all heaters and reset the chamber temperature for Exhaust fan
FILTER ;Toggle Nevermore Filter
CURRENT_NORMAL ;call Macro CURRENT_NORMAL
PARK_UpperRight ;Parks nozzle at top front-right
M18 X Y E ;Disable Stepper motor
_COOL_WAIT MINUTES=1 ;Cooling cycle waiting routine
STATUS_READY ;SB LED status
SAVE_CONFIG ;save results of PID tune back in printer.cfg file
{% endif %}
_general_Debug msg="_BED_PID - exiting"