본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Study/아두이노

[아두이노] 미니 드론 만들기 #2

by 마즈다 2019. 1. 21.
반응형


2019/01/13 - [Study/아두이노] - [아두이노] 미니 드론 만들기 #1

2019/01/21 - [Study/아두이노] - [아두이노] 미니 드론 만들기 #2 (이번 글)

2019/03/03 - [Study/아두이노] - [아두이노] 미니 드론 만들기 #3

2019/03/11 - [Study/아두이노] - [아두이노] 미니 드론 만들기 #4

2019/03/31 - [Study/아두이노] - [아두이노] 미니 드론 만들기 #5

2019/06/09 - [Study/아두이노] - [아두이노] 미니 드론 만들기 #6

2019/07/20 - [Study/아두이노] - [아두이노] 미니 드론 만들기 #7





아두이노 미니 드론 만들기 #2


지난 포스팅에서는 우선 부품 구매와 간단하게 가조립을 통해 부품들을 어떻게 배치하는 것이 좋을 것인지에 대해
정리를 해보았다. 무게가 좀 불만스럽기는 하지만 대체로 만들만 하겠다는 판단이 섰다. 그리고 이번 주부터는 본격적으로
부품을 조립하고 아두이노 스케치를 작성하는 작업에 들어가기로 했다.


두 번째 삽질…


지난 번 첫 포스팅을 페이스북에 공유했을 때 페이스북의 한국 아두이노 사용자모임에서 ‘현자’님이 DC 모터 드라이버
보다 모스펫을 이용하여 모터를 제어하는 것이 어떻겠냐는 댓글을 달아주셨다. 안그래도 DC 모터 드라이버가 덩치도
큰데다가 역방향 회전이라는 불필요한 기능도 포함되어있어 불만스러웠던 차에 모스펫 이야기를 듣고나니 한번 모터
드라이버를 자작해볼까 하는 생각이 들었다.


당장에는 못만들어도 언젠가 만들겠거니 하고 적절한 사양의 모스펫을 주문을 했는데…이게 SMD 타입으로 너무
작아서 만능기판에는 납땜하기도 힘들고 아무래도 제대로 회로 기판을 만들어 써야할 것 같았다…ㅠ.ㅠ



그래서 덩치가 큰 트랜지스터 형태의 모스펫을 주문을 했는데…아뿔싸…ㅠ.ㅠ 이게 모스펫이 아니라 트라이액이라는
소자네…ㅠ.ㅠ 그냥 모양은 똑같고 triac이라고 써있길래 모스펫 브랜드 이름인가보다 했는데(실제로 triac이 브랜드
이름이 맞긴 하다)…모스펫하고 아예 성격이 다른 놈이었다…ㅠ.ㅠ 


모스펫 모스펫 빌어먹을 트라이액...-.-



모스펫과 트라이액에 대한 설명은 링크로 대신한다.


모스펫 : https://ko.wikipedia.org/wiki/MOSFET

트라이액 : https://ko.wikipedia.org/wiki/사이리스터#쌍방향_사이리스터_(TRIAC)


결국 처음 예정대로 구입한 DC 모터 드라이버를 사용하고 드라이버 자작은 훗날로 미루기로 했다.


하드웨어 조립


뭐든 시작하기 전에는 설계를 하기 마련! 그래서 일단 Fritzing을 통해 도면을 좀 그려봤다. 사실 그리 많은 부품이
있는 것은 아니라서 복잡하지는 않지만 송수신 부분에 사용하기로 한 nRF24 모듈이 핀을 7개나 잡아먹다보니
은근히 거미줄같은 도면이 나왔다.



지난 포스팅에서 말한 바와 같이 메인 컨트롤러는 아두이노 프로 미니를 사용하고 DC 모터 드라이버 2개, 수신용
nRF24, 그리고 자세 제어를 위한 MPU-9250 9축 센서가 전부이다.


처음에는 가능한한 부피와 무게를 줄이기 위해 핀헤더를 붙이지 않고 AWG30짜리 래핑 와이어를 이용하여 바로
연결을 할 생각이었다. 그리고 번거로움을 피하기 위해 납땜도 하지 않고 그냥 와이어를 절연테이프로 고정시키려고
했는데…역시나 절연테이프로는 제대로 고정이 되지 않아 접촉 불량이 심했다. 결국 납땜은 피할 수 없는 선택이
되고 말았다.


게다가 래핑 와이어를 직접 납땜을 해보니 와이어가 너무 가늘어서 피복 부분까지 덮어씌우지 않으면 납땜한 위치에서
똑똑 부러지기가 일쑤였다. 아무래도 불안하여 처음 MPU-9250 센서만 래핑 와이어로 직결하고 나머지 부분은 
핀헤더를 붙이고 말았다.



모터 부분도 문제가 좀 있었는데 8520 모터에 달린 커넥터가 DC 모터 드라이버의 소켓보다 작은 사이즈라서 모터 
드라이버의 핀을 안쪽으로 약간 휜 후 억지로 욱여 넣었다…ㅠ.ㅠ 육안으로 식별이 안되어 제대로 들어간 것인지 
모르겠지만 일단 느낌상으로는 뭔가 들어간 것 같긴 하다…-.- 그리고 DC 모터 드라이버의 input쪽에는 연결을 
하나씩 빼주었다. 어차피 역방향 제어는 필요 없으니까…



다음으로 문제가 되는 부분은 전원 분배 문제였다. 만능기판을 이용하여 만들려다가 그냥 케이블만 연결을 시켰다.
게다가 사용할 배터리는 2핀짜리 molex 51005 커넥터였는데 현재 가지고 있지도 않고 파는 곳도 국내 검색으로는
잘 안나오고…일단 아두이노용 점퍼 케이블로 배터리와 아두이노 프로 미니를 연결하기로 하고 DC 모터 드라이버로
들어가는 부분은 8520 모터와 동일한 규격의 커넥터(1.25mm JST Plug)를 연결하여 꽂기로 했다. 



전체가 마무리 된 것은 아니지만 이렇게 해서 일단 1차 조립은 완료가 되었다.


아두이노 스케치 하기


아두이노 스케치는 시작 하기도 전에 문제가 있었다. 나는 매킨토시를 사용 중인데 많은 호환 칩들이 Mac에서 쉽게
작동하지 않는다. 게다가 드라이버 설치도 만만치 않고 심할 경우 Mac 자체가 맛이 가는 경우도 있어 드라이버
설치가 꺼려지는 것도 사실이다.


아두이노 프로 미니에 스케치를 업로드 하기 위해서는 USB to TTL 시리얼 컨버터를 사용해야 하는데 구입한 것이
FTDI 칩을 사용한 것이었고 역시나 이 칩 역시 Mac에 별도의 드라이버를 설치해야 했다. 집에 윈도우즈 노트북이
있어 거기서 하면 편하긴 하지만 주로 아이들 학습용으로 쓰이고 있고 100만년만에 윈도우 환경에서 작업을 하려니
집중이 잘 안된다…ㅠ.ㅠ


결국 구글링을 통해 무사히 드라이버를 설치한 후 정상적으로 아두이노 프로 미니가 연결이 되었다.


Mac에 FTDI 드라이버 설치하기 : https://youtu.be/Ir2PVz1870E

드라이버 다운로드 : https://www.ftdichip.com/Drivers/D2XX.htm


하지만 여기서 끝이 아니었다. 스케치를 업로드 하려는데 컴파일 단계에서 다음과 같은 오류가 발생하였다.


fork/exec /Users/mazdah/Library/Arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/bin/avr-g++: no such file or directory


조금 당황스러웠으나 역시나 구글링을 통해 해답을 찾았다.


air-g++ 오류 관련 해결책 : https://forum.arduino.cc/index.php?topic=547545.0


이렇게 해서 겨우겨우 아두이노 프로 미니에 스케치를 업로드 할 수 있었다.


이렇게 준비를 마친 후 우선은 제일 먼저 연결을 한 것이 MPU-9250이기 때문에 이쪽 예제부터 찾아보았다.
에듀이노 오픈랩 사이트에 예제가 첨부되어있어 간단하게 다운로드 받아 실행을 해보았다. 실행은 잘 되는 것 
같은데 아직 값을 해석하는 방법을 몰라 공부를 좀 해야 할 것 같다.


MPU-9250(GY-9250) 예제 : https://blog.naver.com/eduino/220887867791


스케치를 업로드 한 후 모듈을 움직여보니 시리얼 모니터에 아래 동영상과 같이 값이 출력된다.



정리


삽질도 많았고 아직 모르는 내용도 많고 생각보다 만만치 않은 작업이었다. 그래도 납땜과 같은 번거로운 작업은
모두 마무리가 되었고 다음 주부터는 간단하게 점퍼 케이블 연결하고 아두이노 스케치에만 전념하면 된다(은근히 
판 벌리는 것을 싫어해서 납땜같은 작업은 정말 작심하고 해야한다…-.-).


사실 아직은 9축 자이로 센서가 드론에서 어떤 역할을 하는지도 잘 모른다…ㅠ.ㅠ 우선 다음 주에는 모터를 제어하는 부분부터 정리를 좀 하고 자이로 센서는 느긋하게 알아봐야겠다.

반응형