Marlin DEFAULT_AXIS_STEPS_PER_UNIT https://blog.naver.com/voicecomm/221833367912
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
출처
안녕하세요.
DEFAULT_AXIS_STEPS_PER_UNIT 값 설정 공식입니다.
위의 값은 1mm를 이송하기위한 스텝값 입니다.
2가지 방식으로 계산을 해야 합니다.
타이밍 벨트를 이용한 방식과 볼스크류를 이용한 방식 입니다.
1. 타이밍 벨트를 이용한 방식의 공식
1mm = ( 360 / ( N x PB x MS x SA ) ) [step]
N : 타이밍 벨트 풀리의 잇수, 보통 GT2 경우 20개 일겁니다.
PB : Pitch of Belt 즉 벨트의 피치, 보통 우리가 많이 사용하는 값은 2mm
MS : Micro Step , 모터 드라이버의 마이크로 스텝 값을 넣어주면 됩니다. 보통 , 1/2 부터, 1/4, 1/8, 1/16, 1/32 등으로 나눠죠.
SA : Step Angle , 스텝모터의 한 pulse당 각도를 나타내며, 2상모터인 경우 보통 1.8도 이고, 5상은 0.72도 이죠. 모터 겉 표면에 적혀 있어요.
2. 볼스크류를 이용한 방식의 공식
1mm = 360 / ( L x MS x SA ) [step]
L=리드 값, 보통 볼스크류가 한바뀌 회전했을때 볼스크류 위의 블록이 이송한 거리를 나타냅니다.
MS : Micro Step , 모터 드라이버의 마이크로 스텝 값을 넣어주면 됩니다. 보통 , 1/2 부터, 1/4, 1/8, 1/16, 1/32 등으로 나눠죠.
SA : Step Angle , 스텝모터의 한 pulse당 각도를 나타내며, 2상모터인 경우 보통 1.8도 이고, 5상은 0.72도 이죠. 모터 겉 표면에 적혀 있어요.
이제 예를 한번 들어보죠.
3. 예제
문제) 3D 프린터를 설계를 하는데,
X, Y축 은 2상 스텝모터를 사용하고, 풀리는 GT2를 사용하고, 벨트도 GT2를 사용합니다. 그리고, 스텝모터 드라이버는 A4988을 사용한다고 하고, 1/16 Micro Step를 사용한다고 합니다. 그리고, Z축은 전산 볼트를 사용하고, 스텝모터는 2상, 드라이버는 DRV8825에 1/32 Micro Step을 사용하고, E축은 2상스텝을 사용한다면, DEFAULT_AXIS_STEPS_PER_UNIT 값은 어떻게 설정할까요?
풀이l)
x,y axis A4988 , ms1,ms2,ms3=> all close(1/16)
z axis DRV8825, ms1,ms2,ms3=> all close(1/32)
e axis A4988 , Extruder
볼스크류 -> 전산볼트(L=2mm)
-> x,y axis 계산
N=20, PB=2, SA=1.8. MS=1/16
1mm = (360*16)/(20*2*1.8) = 80 step
-> z axis 계산
L=2, SA=1.8, MS=1/32
1mm = 360 / ( L x MS x SA ) [step]
1mm = (360*32)/(2*1.8) = 3200 step
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,3200,113.26}
ps.
4. step driver 당 모드 설정
1. A4988 마이크로 스텝 모드 설정
2. DRV8825 마이크로 스텝 모드 설정
ps.
5. 추가 extruder 계산 방법
e_steps_per_mm = (motor_steps_per_rev * driver_microstep) * (big_gear_teeth / small_gear_teeth) / (hob_effective_diameter * pi)
공식은 이렇게 나와 있는데... 이 어원은 이렇다.
big_gear_teeth/small_gear_teeth = 1 로 본다.
그러므로...
= (200*16)/(9*3.14159)
= 113.1769
사실...
= 360*1 / (SA*MS*hob_effective_diameter*pi)
= 360 * (big_gear_teeth / small_gear_teeth) / (SA*MS*hob_effective_diameter*pi)
라고 봐야 한다.
즉, A4988로 MS가 1/16 이고, 2상 bi-polar 모터를 사용하면, SA=1.8 도 이다. 그리고, 저의 경우 hob_effective_diameter=9mm 이다.
지금은 11mm 이지만..ㅎㅎ
여기서
= 360/(1.8*(1/16)*9*3.14159)
= 113.1769
조금 차이가 나는것은 big_gear_teeth / small_gear_teeth = 비율이 1보다 조금 큰것 같다..ㅎ
ps. 지인께서 위 공식을 토대로 엑셀 파일을 만들어주셨다.
맞는지 모르겠다고 한다.^^
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기