메이킹 일지 (진행 중)/하이퍼랩스 게임기

하이퍼랩스 게임기 제작 - 6. Nema17과 A4988, Accelstepper

  • -

https://bker001.tistory.com/395

 

하이퍼랩스 게임기 제작 - 5. 중간 점검

https://bker001.tistory.com/392 하이퍼랩스 게임기 제작 - 4. 모델링&프린팅 수정 (1) 구슬이 안쪽으로 빠져 버릴 수 있는 공간이 생겼습니다. 이 공간은 롤러가 들어가면서 어쩔 수 없이 생기는 구간이니

bker001.tistory.com

 

 

이어서 개발하고 있습니다.

종합적으로 저번에 말씀드렸듯이 커패시터도 도착해서 간단하게 회로를 구성했습니다.

 

 

 

 

 

일단은 조건에 맞게 다양한 검색을 해봤는데 전부 뻘짓이었고 (약 이틀의 시간)

결론적으로 아래의 링크를 참조했습니다. 특히 8번 예제를 참고하여 거의 그대로 코딩을 진행했더니 문제없이 잘 제어할 수 있었습니다.

 

https://bota.tistory.com/1855

 

[아두이노#418] A4988드라이버를 이용해서 nema17 스탭모터를 간단하게 제어해보기!(녹칸다/포로리야

https://youtu.be/r4POiSNRuYY A4988드라이버를 이용해서 nema17 스탭모터를 간단하게 제어해보기! 녹칸다의 a4988를 이용한 스탭모터 제어 시리즈이다! 이번편에서는 a4988을 이용해서 스탭모터를 제어하되

bota.tistory.com

 

 

그래도 간단한 설명을 드려보겠습니다

일단, Nema17은 별도의 드라이버가 필요하기에 보통 A4988도 사용합니다. 

대신 이 경우, 아래의 링크처럼 digitalwrite로 코딩하여 구성도 가능하지만, 이 경우 가속, 감속의 조절이 불가능하게 되어 장기적으로 모터에 문제가 생긴다고 합니다. 이를 해결하기 위해서 아두이노 내에서 AccelStepper 라이브러리를 사용합니다. 이것들을 모두 포함해서 제어할 수 있게 해둔 것이 위쪽의 링크입니다.

 

youtube.com/watch?v=Fgy1D_vxsg4

 

여기서 코드를 조금 해석해보자면

 

 

void setup 부의 stepper.setMaxSpeed 값과 stepper.setAcceleration 값이 실제 스테퍼 모터에 가장 큰 영향을 주는 요소입니다. 특히 stepper.setAcceleration 값이 확실히 중요해보이고, 녹칸다님의 주석에는 50~300 사이라고 하였지만 저도 직접 돌려보니 2000까지 올리면 인형뽑기등에 사용되는 모터의 속도와 비슷하게 진행되는 모습을 볼 수 있었습니다.

 

아래의 stepper.moveTo를 통해 목표지점 설정값을 조정할 수 있는데 작으면 작을 수록 마지막에 감속되는 시간이 줄어드니 알맞은 값으로 선택하면 될 듯합니다.

 

이 게시글을 따로 구성한 이유는 녹칸다님의 실험을 제외하고 Nema17을 A4988, Accelstepper, 조이스틱으로 동시 구성한 사례가 없었기에 검색하는 데에 도움이 되었으면 하는 마음에 글을 작성해봤습니다. 이후 양쪽에 엔드스톱 스위치를 구성하여 추가적인 코딩을 진행하면 거의 끝나가는 것이 보입니다.

반응형
Contents

포스팅 주소를 복사했습니다!

이 글이 도움이 되었다면 추천 부탁드립니다!