반응형

2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요

 

인생 프로젝트 시작 - MORS 프로젝트 #1 개요

2020/05/17 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - MORS 프로젝트 #1 개요를 작성한 것이 19년 8월 5일이었다. 그리고..

mazdah.tistory.com

2020/05/17 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart

 

인생 프로젝트 시작 - MORS 프로젝트 #2 Restart

2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 내가 아두이노를 처음 접한 것이 2016년 5월 이었다. 그리고 내 인생에는 새로운 세상이 열

mazdah.tistory.com

2020/05/30 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #3 Modeling

 

인생 프로젝트 시작 - MORS 프로젝트 #3 Modeling

2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 내가 아두이노를 처음 접한 것이 2016년 5월 이었다. 그리고 내 인생에는 새로운 세상이 열

mazdah.tistory.com

2020/07/28 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #4 다리 제작

 

인생 프로젝트 시작 - MORS 프로젝트 #4 다리 제작

2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 2020/05/17 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - M..

mazdah.tistory.com

 

 

이 프로젝트를 RESTART한 것이 올해 5월 17일… 거의 3개월 전이다.

그동안 상당히 많은 부품을 모델링하고 출력하고…또 일부는 출력대행을 맡기고…

테스트를 위해 조립하고… 잘못된 설계를 바로잡고… 다시 출력하고…

 

최근에는 3D 프린터의 유해성(정확히는 3D 프린팅 과정에서의 유해물질 배출) 논란으로 인해

심리적 부담까지 가지면서 나름 열심히 달려왔다. 출력 대행을 맡긴 2개의 부품도 사실은 바로 

이 유해성 논란이 찜찜해서 가장 출력 시간이 긴 2개를 맡긴 것이었다. 그 이후 미봉책으로 소형

공기청정기를 3D 프린터 옆에 두고 프린팅 할 때마다 켜놓고 있기도 하다.

 

아무튼 오랜 시간과 노력을 기울여 드디어 모든 부품이 출력 완료 되었고 이제 조립을 하는 일만

마무리하면 절반 이상은 끝나는 것과 다름 없다.

 

출력된 부품들과 간단한 조립 과정

 

출력된 부품은 대략 100여개이며 출력 후 공차가 맞지 않아 다시 출력한 것들만도 10여개는 될

것같다. 또한 3D 프린팅이 아닌 기성품을 사용한 것으로 서보모터 외에 RC용 링크 로드와 서스펜션을

사용하였다. 아래 사진은 일부 테스트를 위해 조립된 것을 포함한 부품들이고 출력 대행을 맡긴

몸체 2파트는 빠진 부품들이다.

 

 

그리고 출력 대행을 맡긴 부품들은 몸통을 구성할 부품으로 아래와 같다. 상단부는 무게 감소와

다양한 장치를 부착할 수 있도록 트러스 구조 비슷하게 만들어보았다. 구조가 이렇다보니 출력대행을

맡길 때에도 아예 출력을 못하겠다는 곳도 있었고 수 십 만원의 견적을 내는 곳도 있었는데 다행히

좋은 분을 만나 괜찮은 품질로 전달을 받았다(구조상 서포터가 붙은 아래쪽의 품질은 포기할 수밖에

없는 상황이었다).

 

 

애초에 크기가 예상보다 많이 커졌다는 것은 짐작하고 있었지만 모든 부품을 받아보고 나니 더욱

실감이 날 수밖에 없었다…-.-

 

조립은 테스트용 다리 하나가 이미 만들어진 상태에서 동일한 부품들을 조립하는 것이라 초반 진행은

그리 어렵지 않았다. 다만 처음부터 끝까지 힘들게 한 것은 아슬아슬하게 공차가 맞지 않는 부분들을

줄로 갈아내고 드릴로 뚫고 하는 부분이 어려웠고 손잡이가 따로 없는 육각렌치로 작은 나사들을

조이다보니 오른손 엄지와 검지가 고생을 좀 많이 했다…ㅠ.ㅠ

 

 

이렇게 각각의 부분들이 조립된 상태가 아래 사진과 같다.

 

 

조립 완료…그러나…

 

드디어 조립이 완료되었다! 전체 부품이 확보된 이후 조립 완료까지는 하루에 3~4시간 씩 대략 2일 정도가 걸려

그리 오래 걸리진 않았다.

 

 

그래도 제대로 된 설계 없이 하나의 부품을 디자인하고 거기에 연결되는 다음 부품을 디자인하는 식으로 두서

없이 디자인 한 것치고는 제법 그럴싸한 비주얼이었다. 다만 여러차례 언급했듯이 무식하게 커진 크기와 그 

크기에 걸맞는 어마어마한 무게가 걱정스러울 뿐… 무게는 대충 따져도 3Kg을 넘는 무게였다(지난 포스팅

내용 중 다리 하나의 무게가 대략 580g이라는 내용을 적은 적이 있다).

 

포스팅을 공유했을 때 많은 분들이 현재 사용하고 있는 SG90 서보 모터로는 토크가 부족할 것이라고 우려를

해주셨는데 역시나 아무리 각 다리별로 2개씩 총 8개의 서보모터가 지지를 한다고 해도 SG90으로는 택도 

없었다. 결국 로봇은 주저앉았고 한쪽 다리에서는 서보모터 지지대까지 파손되었다…ㅠ.ㅠ

 

 

결국 고관절쪽 서보모터들은 좀 더 상급의 모터로 교체를 할 수밖에 없는 상황이 되었고 그나마 다행인 것은 

새로운 서보모터 브라켓 정도만 새로 모델링하면 큰 수정 없이 보완이 가능하다는 것이다.

 

정리

 

아마도 내가 공돌이 출신이라면 이지경이 되기 전에 보완을 했으련만…결국은 맛을 봐야 똥인지 된장인지

구분할 수 있는 어설픈 실력으로 너무 무리한 프로젝트를 진행한 것은 아닌가 싶은 생각마저 든다.

 

하지만 불행중 다행으로 아무생각 없이 나중에 쓸 곳이 있겠지 하며 뚫어 놓은 나사 구멍 덕분에 보완하는

데는 큰 무리가 없을 것 같아 얼마나 다행인지 모른다.

 

 

일단 체력 소진으로 당장은 진행도 못하겠거니와 새로운 모터 사이즈에 맞는 브라켓을 모델링 해야 하기 

때문에 로봇은 다시 일부 분해하여 수면 모드로 작업 책상(나의 사랑스러운 토마스 책상~)에 올려놓았다.

어서 기력을 회복하여 다음 작업을 진행해야겠다.

 

  1. 2020.10.10 14:47

    비밀댓글입니다

    • 2020.10.11 13:57

      비밀댓글입니다

반응형


좌충우돌 로봇 만들기!


이제 막 걸음마를 뗐는데…
벌써 수퍼맨이 되어 날아가려고 한다고나 할까…
어디서 본 것은 있어가지고…
목표를 3관절의 4족 보행 로봇으로 잡았다…-.-
(일단 기본 지식을 정리하는 내용은 기존의 ‘문돌이의 공돌이 따라잡기’로 계속
포스팅을 할 예정이고 로봇 제작 과정은 ‘좌충우돌 로봇 만들기’로 따로 정리할
생각이다.)


사실 요즘같이 수없이 많은 정보가 공유되는 세상에서
내 것이 아닐 뿐 못만들 것은 없기도 하다.
그래도 최대한 스스로의 연구를 통해 만들어보고자 하지만
시작부터 난관의 연속이다.


우선 오늘의 준비물이다.

  • 아두이노 나노와 빵판
  • 배터리 케이스 2개
  • HM-10 1개
  • 서보모터 MG996R 4개 (사진은 1개만 찍음)




목표 1. 아이폰-아두이노 블루투스 통신


일단 로봇은 무선 통신을 통해 컨트롤하기로 하였다.
무선 통신 중 그래도 가장 무난한(은 무슨…이걸로 하루 그냥 버렸다…ㅠ.ㅠ)
블루투스 통신을 사용하기로 하였다.


첫 번째 난관은 나는 아이폰 사용자인데 미리 구매해놓은 HC-06모듈이
아이폰과 통신이 되지 않는다는 것이었다. 뒤늦게 부랴부랴 블루투스 4.0이
지원되는 HM-10을 새로 구입하여 테스트를 진행하였다.


유의사항 1
참조한 사이트 및 스케치 테스트 코드에서 분명 디지털 2번 핀에 HM-10의 TX를,
디지털 3번 핀에 HM-10의 RX를 연결하라고 되어있음에도 불구하고 나는 아무생각없이
아두이노 나노의 TX와 RX에 연결을 해버렸다. 블루투스 연결 시에는 우선 연결에
주의하도록 하자. 


두 번째 난관은 HM-10을 연결하고 LightBlue Explorer라는 앱을 이용하여
테스트할 때는 정상적으로 데이터 송수신이 잘 되었는데 Swift로 된 샘플 코드를
이용하여 진행하니 커넥팅까지는 잘 되었는데 데이터 송수신이 안되는 것이었다.
일단 HM-10을 scan하고 connect하는 것까지는 잘 되는 것 같은데 이후 작동이
묵묵부답이었다.


확인 결과 CBPeripheral의 discoverCharacteristics 함수에서 파라미터 중
characteristic의 UUID를 정상적으로 설정해주지 않은 것이 원인이었다.
보통의 경우 이 UUID는 0xFFE1으로 표시된다.


이 부분을 제대로 구현하고 나서 앱과 HM-10과의 데이터 송수신이 정상적으로 
처리되는 것을 확인하였다.


확인할 내용 1
CBCentralManager의 scanForPeripheralsWithServices 함수에 첫 번째 인자로
블루투스 기기의 Service UUID를 넣어주면 해당 기기만 스캔한다고 하는데 HM-10의
Service UUID를 넣으면 찾지를 못한다. 인자를 nil로 하여 모든 기기를 찾도록 해야만
HM-10을 찾는데 이 부분은 확인이 필요하다.


목표 2. 서보모터 구동


세 번째 난관은 아두이노 회로 연결 과정에서 발생했다.
아직은 회로 연결에 대한 지식이 부족하다보니 막연히 이렇게 하면 될 것 같다 해서
연결하는 경우가 많다.


처음 HM-10과 서보모터 1개로 테스트했을 때는 아두이노 나노의 5V핀과 GND핀에
바로 연결을 했다. 물론 잘 동작을 하였다. 이제 서보모터 3개를 더 추가하려니 연결할
공간이 모자랐다. 그래서 나름 머리를 굴린 결과 아두이노의 5V를 빵판의 +에 
아두이노의 GND를 빵판의 -에 연결하고 서보모터의 전원을 빵판의 +와 -에 연결을 했다.
결과는…실패였다. 전원이 전혀 들어오지 않는다.


일단 검색을 좀 하고 서보모터 2개 이상인 경우 아두이노의 전원으로는 부족하다는
글들을 보고는 외부 전원을 연결하는 방법을 확인한 후 아래의 그림대로 연결을 하였다.



결과는 성공이었다. 물론 이 과정에서도 아두이노의 GND와 빵판의 -를 연결하지 않아
작동을 하지 않는 실수가 있었다.


확인할 내용 2
아두이노 5V와 GND를 연결하여 다수 기기를 활용하는 방법을 확인한다.


최종 결과


아직은 특정 조건에서 서보모터를 2개씩 짝지어 동일한 각도로 움직이도록 한 것이 다이다.
앞으로 로봇의 움직임을 구현하려면 보다 복잡한 코딩을 해야 할 것 같다.
오늘 작업 결과 동영상으로 이 작업을 마무리 한다.

동영상에서 아이폰을 컨트롤한 사람은 나의 둘 째 공주님이다...^^;;


딸과 함께 하다보니 쓸데없는 목소리가 녹음되어버렸다…-.-


작업에 사용한 스케치 코드 및 Swift 소스 코드
https://github.com/mazdah/BluetoothController


참조 사이트

Swift 소스 참조
https://github.com/0x7fffffff/Core-Bluetooth-Transfer-Demo.git

외부 전원 연결 참조
http://www.hardcopyworld.com/ngine/aduino/index.php/archives/1174

서보모터 배선 참조
http://wiki.vctec.co.kr/opensource/arduino/servocontrol

HM-10 연결 기초 참조
http://bbangpan.tistory.com/17


+ Recent posts