1. 보드 설정
- 통신속도#define BAUDRATE 250000
- 보드 종류
#define MOTHERBOARD BOARD_ULTIMAKER
보드 설정은 board.h 파일에 정의되어 있음
- 익스트루더 개수
#define EXTRUDERS 1
- 파워 서플라이 종류
#define POWER_SUPPLY 1
2. 온도 제어 설정
- Thermistor (온도센서) 설정#define TEMP_SENSOR_0 -1
#define TEMP_SENSOR_1 -1
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 0
- 온도센서 차이 허용치
온도 센서간의 차이가 이보다 크면 프린트를 중단한다.
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
- M109 명령 수행 기준
M109 : Set Extruder Temperature And Wait
#define TEMP_RESIDENCY_TIME 10 //결정 시간
#define TEMP_HYSTERESIS 3 //오차범위
#define TEMP_WINDOW 1 //타이머 시작 오
- 최저 온도 설정
#define HEATER_0_MINTEMP 5
#define HEATER_1_MINTEMP 5
#define HEATER_2_MINTEMP 5
#define BED_MINTEMP 5
- 최고 온도 설정
#define HEATER_0_MAXTEMP 275
#define HEATER_1_MAXTEMP 275
#define HEATER_2_MAXTEMP 275
#define BED_MAXTEMP 150
- PID 설정 (Proportional Integral Differential)
#define PIDTEMP //PID 모드는 사용하는 경우
#define BANG_MAX 255 //bang-bang control 경우의 최대 제한 전류
#define PID_MAX BANG_MAX
#define PID_FUNCTIONAL_RANGE 10
#define PID_INTEGRAL_DRIVE_MAX PID_MAX
#define K1 0.95
#define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0))
#define DEFAULT_Kp 22.2
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114
#define MAX_BED_POWER 255
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4
3. Extruder 제한
- 안전 범위 설정
#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH)
4. 엔드스탑/모터 설정
- 엔드스탑 풀업 설정#define ENDSTOPPULLUPS
- 스텝모터 회전 방향
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define INVERT_E0_DIR true
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
- 홈 이동 방향
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
- 이동 범위 제한 (프린터의 크기)
#define X_MAX_POS 205
#define X_MIN_POS 0
#define Y_MAX_POS 205
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0
5. 오토레벨링
- 레벨링 기준 포인트#define LEFT_PROBE_BED_POSITION 15
#define RIGHT_PROBE_BED_POSITION 170
#define BACK_PROBE_BED_POSITION 180
#define FRONT_PROBE_BED_POSITION 20
- PROBE 와 익스트루터 간의 거리
#define X_PROBE_OFFSET_FROM_EXTRUDER -25
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
- 오토레벨링간 움직임 설정
#define Z_RAISE_BEFORE_HOMING 4
#define XY_TRAVEL_SPEED 8000
#define Z_RAISE_BEFORE_PROBING 15
#define Z_RAISE_BETWEEN_PROBINGS 5
Steps per mm = ((360°/Motor step size°) * (1/Driver microstepping))/(Belt pitch * Tooth count)
#define Z_RAISE_BEFORE_HOMING 4
#define XY_TRAVEL_SPEED 8000
#define Z_RAISE_BEFORE_PROBING 15
#define Z_RAISE_BETWEEN_PROBINGS 5
6. 이동 상세 설정
- 홈 위치 설정
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
- 가속하지 않는 (급격한) 이동 거리
#define DEFAULT_XYJERK 20.0
#define DEFAULT_ZJERK 0.4
#define DEFAULT_EJERK 5.0
- 가속하지 않는 (급격한) 이동 거리
#define DEFAULT_XYJERK 20.0
#define DEFAULT_ZJERK 0.4
#define DEFAULT_EJERK 5.0
- 유닛(mm)당 스텝수
#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200.0*8/3,760*1.1}
Steps per mm = ((360°/Motor step size°) * (1/Driver microstepping))/(Belt pitch * Tooth count)
예) Steps per mm = ((360°/1.8°) * (1(1/16)))/(5 * 12) = 53.333333
Z축 공식은 (steps for a 360° rotation of stepper/Threaded Rod Pitch)
예) (360 / 1.8) * 16 = 3200에서 피치로 나누면 3200 / 4 = 800
E축 공식은 Steps per Unit (Extruder) = Motor Steps per Revolution * Extruder Gear Ratio / (Pinch Wheel Diameter * Pi)
Extruder Gear Ratio = (big_gear_teeth / small_gear_teeth)
예) // Classic Wade with a 39:11 gear ratio
(200 * 16) * (39 / 11) / (7 * 3.14159) = 515.91048
// MK7 Direct Drive with 2engineers 50:1 planetary gear motor
(48 * 16) * (50 / 1) / (10.56 * 3.14159) = 1157.49147