프로젝트

나도 메이커! 메이커스 여러분들의 작품/프로젝트를 공유하는 공간입니다.

[Dotduino] Drone Project

2015-08-20 13:36:51

안녕하세요. Sabo입니다.

요즘 아이디어 고갈로 인해 프로젝트를 정말 오랜만에 작성하게 됬습니다. 튜토리얼도 역시 왠만한 내용은

전부 Kocoafab 페이지에 전부 들어있기 때문에 무엇을 포스팅해야 할지 고민하던 찰나, 현재 진행 중인

드론 보드 개발기를 작성해보기로 했습니다~

 

 

바로 요런 모양으로 소형 드론을 개발하는 중에 있는데요~

마침 출시를 앞두고 있는 "초소형 아두이노 Dotduino"의 프로토타입이 있어, 요 녀석을 탑재해서

드론을 만들어 보고 있습니다.

 

제가 만드는 드론의 가장 하이라이트는 바로 '소형'인데요, 소형으로 만들기 위해서는 기존의 완제형 모듈과 센서를

사용하는데 상당히 제한적입니다. 따라서 필요한 IC 또는 센서를 하나의 PCB 기판에 내장시켜 One-Board 형태로

만들기 위해 처음 회로 설계부터 진행을 하게 되었습니다.

 

 

일단 간단하게 필요한 것들을 점검해볼까요?!

 

MCU - 우리는 초소형 아두이노 Dotduino를 사용하여 드론을 제어하게 되겠죠~

Gyro Sensor - 9축 자이로 센서 모듈인 MPU9250 칩을 사용하여 주변회로를 구성합니다.

Motor Driver - 소형 드론이기 때문에 BLDC가 아닌 소형 DC 모터를 사용해야 합니다. DC모터의 정역제어와 변속제어는 모터 드라이버 IC를 사용하면 되겠죠~ 요즘 나오는 모터드라이버 IC는 추가 회로 구성없이 바로 사용할 수 있어 편리합니다.

POWER - 사실 이 부분은 하드웨어 디버깅을 하며 조금씩 수정해야 하지만, 일단 3.3V제어를 하기 위해 LM1117-3.3 제품을 사용했습니다.

             (*MPU9250 칩의 동작전압이 3.3V 표준으로 되어있어 닷두이노(및 아두이노)를 5V 동작 시키게 되면 레벨 쉬프트 또는 컨버터 회로가 추가적으로 필요합니다.)

BLUETOOTH - 흔히 사용하는 HC-06을 사용할까 고민을 많이 했지만, HC-06의 부피가 드론 보드에 비해 상당히 크기 때문에 오렌지보드 BLE 버전에 탑재되는 블루투스 회로를 사용하기로 하였습니다.

 

 

 

개요는 간단합니다~ 자이로 센서 값을 읽어 PID제어를 이용하여 모터드라이버에 PWM신호를 조절해줌으로써 4개의 모터 속도를 독립적으로 제어합니다. 그리고 블루투스를 이용해 스마트 폰으로 부터 신호를 받아 방향 및 속도를 제어합니다. 생각은 참 완벽합니다.

 

자 그럼 본격적으로 H/W 구성부터 하게 될 텐데요~ 나름대로의 완벽한 회로도를 작성하고, 아트웤을 하여 PCB를 완성하였습니다.

 

 

뭐... 이렇게 생겼습니다 ㅎㅎ 회로도는 아직 수정해야 할 사항이 많을 수 있기 때문에 공개는 나중으로 미루도록 하죠.

 

좀 더 구체적으로 설명을 드리자면

 

이런식으로 나누어져 있습니다. PCB 각 모서리 부분에 있는 작은 솔더 마스크가 모터에 연결되는 부분이 됩니다.

중요한 점은 BLE CIRCUIT과 MPU9250의 배치입니다. MPU9250의 경우 정확한 기울기, 가속도를 측정하기 위해서는 정중앙에 배치하여야 합니다.

BLE CIRCUIT은 이미 회사에서 개발완료한 회로를 그대로 사용했는데, 안테나 회로 부분에서 임피던스 매칭 등의 문제로 최초 개발했을 때의 구조와 

최대한 동일하게 구성하였습니다.

뭐...나머지는 아트웤하기 편한대로 배치를 하게 되었습니다.

 

현재까지는 부품 실장을 완료하고 하드웨어 디버깅 작업을 하고 있습니다.

예상과는 다르게 참 여러가지 문제점이 많더군요... 씨리얼통신과, 모터, MPU9250과의 I2C 통신 등 여러가지가 먹통인 바람에...

설계단계의 문제도 있지만 아트웤 과정에서 부품을 잘못 그리는 바람에 생기는 문제점도 보이네요 ㅎㅎ

 

요약하자면

1. 전원 공급 불 안정 : 레귤레이터의 PCB DECAL을 잘못 그려 연결이 꼬인 문제....

2. 씨리얼 통신 불가 : Dotduino Connector 납땜 문제....

3. 모터 제어 문제 : 회로에서 일부 결선으로 인해 제어 불가.... 이 부분은 점퍼를 여러개 날려서 수정을 했습니다;;

4. I2C 통신 문제 : MPU9250의 레퍼런스 회로에서 일부 누락된 내용으로 인해 동작 불가...<수정중>

이렇게 네가지 에러사항이 있습니다.

 

1~3까진 80% 해결이 되었고, I2C의 경우 수정 중에 있습니다~ 하지만 MPU9250은 패키지가 너무 작기 때문에 점퍼로 추가회로를 구성하는데 시간이 많이 소요 될걸로 보입니다...

 

다음 시간엔 좀 더 디버깅된, 그럴 듯한 하드웨어를 가지고 개발기 2부를 작성하겠습니다 ^^

 

SaBo

드론,닷두이노,오렌지보드,모터,모터드라이버,I2C,자이로,자이로센서,MPU9250,블루투스,BLE
profile

나두이노 2015-08-26 01:53:49

2부가 기자려 지네요. 드론 . ... 만들어 보겠다고 사서는 날리고만 있습니다. 한대 분해 해보고 너무 작아 어떻게 해 볼 수 없어서 낙심...

profile

Requiem 2015-08-28 15:40:26

많은 시행착오가 예상되지만, 끝까지 한번 가보려고 합니다. OSHW(Open Source Hard-Ware)로 하루 빨리 Kocoafab에 2부에서 완료까지 게시글을 올리는 날이 오게 되었으면, 좋겠네요.. 중간 중간 상황 작성 예정이 오니, 혹시 드론 제어 해보신 분들이 계시다면 많은 도움 부탁드립니다.
화이팅~

profile

윤원근 2015-10-12 16:17:01

저는 아두이노 + MPU6050 을 이용해서 자작 드론을 제작하였는데,
글을 보고 닷두이노에 관심을 가지게 되었습니다
혹시 닷두이노 제품이 현재 판매중인건가요?

profile

Requiem 2015-10-13 13:03:36

원근님~ 자작 드론 멋지시군요~
닷두이노는 확실한 버전업을 위해 노력중입니다....
드론은 현재 모터 테스트 중인대..
괜찮으시다면~ 혹시 연락 드릴만한 메일주소 알수 있을까요?
현재 드론을 공개 프로젝트로 진행하려고 하거든요~
몇가지 궁금한 사항이 있어서 메일 드리려고 합니다.

profile

어수영 2015-10-16 20:49:48

결과물 보고싶습니다 화이팅입니다

profile

이세영 2015-10-19 18:18:00

저도 언젠가는 자작 드론을....

profile

송덕원 2015-11-10 16:04:38

블루투스 쪽은 안테나 때문에 설계하기가 겁나던데 멋집니다 ㅎ

profile

하나로 2016-01-17 10:42:47

ㄴ저도 드론 좋아해서 드론을 만들고 싶었는데 막상 아두이노가 오니 욕심이 커져서 라즈베리 파이를 응용해보고 싶어지네요.

profile

모모 2016-02-01 22:46:36

평소에 많이 궁금했던 내용인데 잘 알아 갑니다!

profile

김수현 2016-03-03 23:07:24

파이팅입니다!

profile

아두이노놀이터 2016-04-26 18:46:55

2부가 기다려지내요

profile

아두이노놀이터 2016-04-26 18:46:57

2부가 기다려지내요