작은항해자의 항해

스테핑모터자료 정리중 본문

IT 이야기/3D 프린터

스테핑모터자료 정리중

작은항해자 2014. 9. 24. 16:07


 #define default_axis_steps_per_unit { 80,80,2000,1178  } - { 1/16, 1/16, 1/8, ** }

{ } 안은 (x, y, z, 익스트루더)의 순서로 1유닛 당 스텝수를 설정

유닛이란 1 mm를 이야기하는 것임. 1mm 이동하기 위해서 몇 스텝 움직여야 하는가를 표시.

즉, 1 mm를 움직이기 위해 필요한 펄스의 스텝수를 이야기함.


1/16 마이크로스텝 예)

모터의 단위 회전각은 1.8도. 1/16 마이크로스텝의 경우 16펄스가 발생해야 1.8도가 돌아가게 된다.

모터가 1바퀴를 돌아가려면 1.8도의 회전이 (360/1.8=200) 200번 이루어져야 한바퀴를 돌아간다.

1바퀴를 도는데 필요한 펄스는


200(회전) X 16(마이크로스텝) = 3200


모터가 한바퀴를 회전하는데 필요한 펄스는 3200 펄스이다.


모터의 이빨이 20개이며 벨트의 피치가 2mm인경우

모터가 한바퀴도는 경우 20(이빨) X 2(피치) = 40mm 가 움직인다.


1mm를 움직이기 위해서는


3200(펄스, 한바퀴) / 40(mm, 한바퀴거리) = 80 (펄스/mm)


즉 80펄스로 1mm를 움직인다.



1/8 마이크로스텝 예)

1.8도의 회전이 200번 이루어짐으로


200(회전) X 8(마이크로스텝) = 1600


모터가 한바귀를 도는데 1600 펄스가 필요.


한바퀴의 길이가  0.8mm 인경우 (z축의 5mm 전산볼트의 피치 규격은 0.8mm로 되어 있다. 1번 회전시 0.8mm씩 움직인다.)

1mm를 움직이기위해서는


1600(펄스) / 0.8(mm) = 2000(펄스/mm)


2000펄스로 1mm를 움직인다.


공식은

S = 360 / ( L x MS x SA )


여기서, 

S = 1 mm 움직이기 위해 필요한 펄스스텝수 [step/mm]

L = 리드스크류의 리드길이 [mm]

MS = 마이크로스테핑 (예, 1/8 step 구동인경우 1/8)

SA = 스테핑모터 1 스텝당 회전각도 [deg]

 


X, Y축의 pully 이동


월메이커는 풀리를 핏치 2mm에 이빨 20개짜리를 사용합니다. 

결국은 한바퀴를 돌면 총 2mm X 20개 = 40mm를 이동하게 됩니다. 한바뀌는 200펄스를 모터에게 주어야 돌 수 있습니다.


200 / 40 하면 5 steps/mm가 나오게 됩니다.


Z축의 이동


Z축의 전산볼트는 한 바퀴가 1.25mm 이동하게 됩니다. 200 / 1.25 = 160 steps / mm가 됩니다.



익스트루더의 피더


익스트루더 피딩기어가 8 파이 짜리를 사용합니다. 한바퀴는 원주를 구하여야 하는데...

원둘레는 2 x 반지름 x 파이, 2 x 4 x 3.14 입니다. 그러면 25.1327 정도가 나옵니다.


200 / 25.1327 = 7.9577 steps / mm가 됩니다.


이제 다 구했네요. 이값을 바로 적용하면 되는 줄 알겠지만...한가지 더 !!


우리가 사용하는 A4988 드라이버는 마이크로 스테핑 제어가 됩니다. 16펄스를 주어야 1.8도 움직인다고 보면 됩니다.

다시말하면 모든 값이 16을 곱하여 주어야 된다는 것이죠.


#define DEFAULT_AXIS_STEPS_PER_UNIT   {5*16,5*16,160*16,7.9577*16}


요기까지 하셨다면 성공입니다.


'IT 이야기 > 3D 프린터' 카테고리의 다른 글

Recreus hotend  (0) 2014.09.26
보우덴방식  (0) 2014.09.26
익스트루더(Extruder,압출기)  (0) 2014.09.26
ramps board 정보  (0) 2014.09.22
3D Printer  (0) 2014.09.10