차 그리고 레이싱2018.11.18 15:44

본 글은 다음 글의 연속 편입니다.


* SimTools 없이 만드는 모션 시뮬레이터 제작기 1탄 : http://guzene.tistory.com/264



자, 하도 쓴지가 오래돼서, 사실은 블로그 자체를 쓴지가 하도 오래되긴 했다만... 가물가물한 기억을 지난 글을 통해 살리고 제작기 2탄을 쓴다. 실제로 데이터를 처리하는 부분은 지난 글에서 거진 다 했었고, 이번 글에서는 기구물 제작이랑 DC모터 제어 등에 대해서 쓰려고 한다.


일단 기구물은 아래와 같다.



이런 식으로 알루미늄 프로파일로 설계. 앞부분에는 기존의 레이싱휠 거치대가 오고, 기존에 의자가 있던 부분에 모터 거치 및 유니버셜 조인트를 이용하여 움직임을 구현하기로. 모터는 24V DC 모터를 사용하고, 별도 센서가 없기 때문에 가변저항 (포텐셔미터) 를 위치센서로 이용하기로 한다. 그리고 모터의 제어에는 아두이노와 별도의 모터 드라이버 (BTS7960) 을 이용한다.



일단 최종 결과물은 이렇게 됨. 레이싱 버킷시트까지 사면 애초에 '저렴한 시뮬레이터'에 어긋나기 때문에 2만원짜리 원래 쓰던 의자를 대충 잘라서 씀 ㅋㅋㅋㅋ

레이싱휠 거치대에 알루미늄 프로파일 설계했던 대로 잘라서 조립한 후 모터를 3D프린팅한 기구물을 이용해 마운팅하고 의자는 유니버셜 조인트와 모터 두개로 움직이는 형식.


들어간 부품들은 대충 다음과 같다.


* 모터 : 24V 트럭용 와이퍼 모터 2개 (링크 클릭)

* 모터드라이버 : DC모터용 모터 드라이버 BTS7960 2개. 43A까지 전류 허용. 다음/네이버 등에 BTS7960 이라고 치면 쭉쭉 나온다. 대략 개당 25,000원. 

* 모터 제어기 : 아두이노 나노. 아두이노 우노는 연결이 헐렁헐렁해서 쓰기가 좀 그래...

* 모터용 전력 : 별도 SMPS 사용. 24V 600W 짜리로 구매. 마찬가지로 다음/네이버 등에 SMPS 쳐서 사양에 맞는 것을 사면 됨.

* 모터와 의자 링크 : 차량용 '활대링크'. 차량 하부의 스태빌라이저랑 바퀴 부분이랑 이어주는 링크인데 양쪽이 볼조인트로 되어 있어서 자유도가 높다.

* 모터에 연결된 바 : '평철' 이라고 치면 나온다. 내가 쓴 건 4.5T 짜리. 네이버 등에 평철 치면 원하는 길이로 끊어서 살 수 있는 사이트들이 나온다.


이중에 젤 개고생한 게 활대링크... 양쪽에 볼조인트가 장착된 바를 사고 싶은데 당최 뭐라고 쳐야 나오는지 알아야 말이지 ㅋㅋㅋㅋ 활대링크로 치면 쭉쭉 나옵니다


자 이제 본격적으로 모터를 제어해 볼까



내가 산 건 요놈. 메가트럭에 들어가는 와이퍼모터다. 여기서 이제 모터 뒷면 플라스틱처럼 생긴 걸 까보면 아래처럼 회로가 나오는데



싹 다 무시하고 다 뜯어내면 된다. 결국 모터에서 나오는 선 딱 두가닥만 필요하다. 그래서 사진의 우하단에서 모터에서부터 나오는 선 세가닥만 일단 길게 뺀 다음에 나머지 회로는 분리해버리면 됨. 모터에서 파란색 선이 두가닥 나오는데, 이 중에 파란 색 칠에 노란색 선이 가 있는 것이 저속제어고, 민짜로 파란색 선이 고속제어다. 고속제어만 쓴다! 저속제어선도 필요 없으니까 잘라버리든 아니면 걍 빼놓기만 하고 절연작업만 잘 해놓든 하면 된다.


분 to the 리


이제 분리를 해버리면 여긴 센서고 뭐고 없기 때문에 가변저항을 센서로 쓴다. 모터 중간에 하얀색 축이랑 가변저항 축이랑 연결해주기로. 그래서 별도로 3D 프린터를 이용해 커플링을 하나 제작하고 가변저항이랑 연결해 준다.



중간과정이고 뭐고 없다... 이거조차 하도 옛날에 한 거라... 가변저항 저 안에 커플링으로 모터 축이랑 묶여있고, 가변저항을 고정하기 위한 하우징도 3D 프린터로 제작해 준다. 그리고 조립. 당연히 저 하우징이랑 이런 건 직접 설계해야 한다... 나는 카티아로 함



속을 까보면 이런 식으로 고정되어 있음


여기까지 해 두고서 이제 모터 드라이버/아두이노/SMPS/모터/가변저항을 위 회로와 같이 결선한다. 복잡해보이는데 이게 모터를 두개 다 보여서 이런 거지 별거 없다.이 그림을 외국 어디 사이트에서 가져왔는데 너무 옛날에 가져와서 출처를 도저히 모르겠다... 성님 감사히 쓰겠습니다 역시 덕중의 덕은 양덕이야!!



이야기가 또 뭔가 빠르게 진행... 모터를 프로파일에 거치를 해야 되는데, 그 거치대도 3D 프린터로 만들었다. 모터 축에 연결된 것이 아래 위 움직임을 위한 바 (평철로 제작) 이고, 기다란 바가 의자랑 연결하기 위한 링크 (활대링크) 이다. 사실 이 사진은 위와 같이 결선하고 프로그램을 짠 후에 모터 위치제어가 잘 되는지 보려고 한 것... 모터 제어에는 PID 제어를 썼고 PWM 주파수는 31kHz... 이거 PID 게인 튜닝을 잘 해야 한다. 모터가 상당히 힘이 세기 때문에 위험할 수 있음


아래위로 슉슉 잘 움직인다. 모터 특정 위치 제어하는 아두이노 소스는 아래와 같음. 내가 짠 건데 이거도 오래전에 짠 거라 가물가물함다. 주석이 왕창 달려 있으니 보고 해석하세요!!!


DC_MOTOR_BTS7960_POS.ino


이제 모터 제어는 얼추 되니까 기구부를 만들어야지?



일단 기존에 사용하던 거치대를 산산히 분해



의자도 분해해서 필요한 부분만 짜름짜름



구매한 알루미늄 프로파일을 조립조립



기존 거치대랑 잘 맞춰서 조립조립



급 조립 완성 빠밤

유니버셜 조인트를 고정하고 그 위에 의자거치대를 얹고 의자거치대 앞쪽은 모터와 활대링크로 연결. 모터도 싹다 조립해줌. 



그 위에 의자판때기를 고정하고 이제 이 위에 의자만 얹으면 끝



해서, 처음에 봤던 그 사진. 빠밤


요놈이 어떻게 제어가 되냐면



이렇게 슉슉 움직임


게임에서 받아온 데이터를 각도로 적당하게 편하게 환산해주고 실제로 게임을 해보면



철걱철걱 슈룩슈룩



...하지만 아직 완성이 아니다.


* 모터 마운팅 : 절대 플라스틱은 절대 네버 안됨. 철로 다시 제작 예정

* 가변저항을 이용한 위치센서 고정 : 다시 해야 함.... 와나 진짜 너무 약한거 아니냐

* 의자 : 나무 의자가 탄성이 있다 보니까 모터가 움직여도 좀 뒤늦게 따라오는 감이 있음. 그냥 알루미늄 프로파일을 의자 모양으로 만들어서 써야겠어



뭐 쨌든 일단 초저가형 DIY 레이싱심 (거의) 완성!!

Posted by 에일라거

댓글을 달아 주세요