펌웨어 teacup 설정
내가 설정한 값.
#define STEPS_PER_M_X 80000
#define STEPS_PER_M_Y 80000
#define STEPS_PER_M_Z 800000
#define STEPS_PER_M_E 92600
밀리미터당 모터의 스텝수 계산하기
스텝 모터는 한번 신호를 주면 일정한 각도로 회전하는데
한번 신호를 한 스텝.
각도를 스텝각이라 한다.
일반 스텝모터의 스텝각은 1.8도이다.
360도를 회전하려면 200번의 스텝이 필요하다.
x,y축의 경우 풀리와 벨트를 사용하게 되는데
내가 산 벨트의 피치 간격은 2mm
풀리의 이 수는 20개이다.
스텝모터가 한바퀴를 돌게되면 풀리가 한바퀴를 돌게되고
그때 벨트가 움직인 거리는
풀리의 이 수 x 벨트의 피치 간격
구하는 것이 밀리미터당 스텝수이므로
360도를 회전하는데 필요한 스텝수 : 360도를 회전할때 벨트가 움직인 거리
= 밀리미터당 스텝수 : 1mm
밀리미터당 스텝수 = 360도를 회전하는데 필요한 스텝수/360도를 회전할때 벨트가 움직인 거리
이건 풀 스텝인 경우이고
마이크로 스텝을 쓰는 경우
1/2 스텝의 경우 한스텝에 0.9도를 움직이므로 360도를 회전하는데 필요한 스텝수x2
1/4 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x4
1/8 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x8
1/16 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x16
나는 1/16 스텝을 쓰므로 곱하기 16
그리고 밀리미터당 스텝수에 1000을 곱해준다.
z축의 경우는 보통 리드 스크류를 사용하는데
리드 스크류 봉이 한바퀴를 회전할때 볼트가 이동하는 거리를 리드거리라 한다.
360도를 회전하는데 필요한 스텝수 : 360도를 회전할때 리드거리
= 밀리미터당 스텝수 : 1mm
밀리미터당 스텝수 = 360도를 회전하는데 필요한 스텝수/360도를 회전할때 리드 거리
마이크로 스텝을 쓰는 경우
1/2 스텝의 경우 한스텝에 0.9도를 움직이므로 360도를 회전하는데 필요한 스텝수x2
1/4 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x4
1/8 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x8
1/16 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x16
나는 1/16 스텝을 쓰므로 곱하기 16
그리고 밀리미터당 스텝수에 1000을 곱해준다.
익스트루더의 경우
360도를 회전하는데 필요한 스텝수 : 360도를 회전할때 익스트루더 기어의 원주(2πr)
= 밀리미터당 스텝수 : 1mm
밀리미터당 스텝수 = 360도를 회전하는데 필요한 스텝수/360도를 회전할때 익스트루더 기어의 원주
마이크로 스텝을 쓰는 경우
1/2 스텝의 경우 한스텝에 0.9도를 움직이므로 360도를 회전하는데 필요한 스텝수x2
1/4 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x4
1/8 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x8
1/16 스텝의 경우 한스텝에 360도를 회전하는데 필요한 스텝수x16
나는 1/16 스텝을 쓰므로 곱하기 16
그리고 밀리미터당 스텝수에 1000을 곱해준다.
이동속도 최대치 설정
#define MAXIMUM_FEEDRATE_X 12000
#define MAXIMUM_FEEDRATE_Y 12000
#define MAXIMUM_FEEDRATE_Z 12000
#define MAXIMUM_FEEDRATE_E 12000
이건 분당 이동할수 있는 최대 속도이므로 초당은 60을 나누면 된다.
나는 최대치니까 200mm/s로 설정.
소프트웨어 리미트 스위치.
#define X_MIN 0.0
#define X_MAX 150.0
#define Y_MIN 0.0
#define Y_MAX 150.0
#define Z_MIN 0.0
#define Z_MAX 150.0
이동할수있는 거리 적어주기
테스트용으로 약간 작게 잡음.
그외 핀아웃 설정
#define X_STEP_PIN DIO2
#define X_DIR_PIN DIO3
#define X_MIN_PIN DIO10
#define Y_STEP_PIN DIO4
#define Y_DIR_PIN DIO5
#define Y_MIN_PIN DIO11
#define Z_STEP_PIN DIO6
#define Z_DIR_PIN DIO7
#define Z_MIN_PIN DIO12
#define Z_INVERT_DIR
#define E_STEP_PIN DIO8
#define E_DIR_PIN DIO9