쿼드콥터 제작기 04 - 안드로이드 -> 아두이노 USB 시리얼통신

Posted by dw0rdptr
2015. 8. 13. 04:24 IoT/QuadCopter

APC220 모듈이랑 라즈베리파이, 알피노, 아두이노 나노가 도착했다


아두이노 나노에서 우노로 apc220모듈로 통신하는방법은 간단하다 보드레이트만 맞춰주고 소프트웨어 시리얼로 하면 끝!

참고- apc220모듈 통신 http://bbangpan.tistory.com/27 


이제 안드로이드에서 시리얼브릿지(아두이노 나노)로 usb시리얼통신을 하면 되는데, 안드로이드를 해본적이 없어 여기서 일주일은 삽질하면서 보낸 것 같다. 다 때려치고 조종기 하나 사버릴까 하는 생각도 했고.. 

옆동네 사과랑 달리 안드로이드는 따로 usb시리얼을 지원을 안해서 드라이버 소스코드를 가져다 써야 한다고 한다.

https://github.com/mik3y/usb-serial-for-android  - 안드로이드 usb 시리얼 드라이버

이 드라이버를 프로젝트에 넣고 알아서 하면된다.

----------------------------------------------------------------------

여기까지 안드하는사람 기준 


나같은 경우는 

http://android.serverbox.ch/?p=549 여기에있는 소스를 거의 가져다 썼다. 

아두이노 analogWrite()함수의 pwm신호 범위에 맞게 0~255로 seek바 값의 범위를 맞추고 아두이노 우노까지 전달이 되는지 시리얼모니터를 키고 테스트해봤다.( 동영상은 우노와 나노가 바뀌었음 )

일주일간의_삽질이_끝나는_순간


다음글은 아마 ESC캘리브레이션이 될것같다.

이제 속도가 좀 붙을것 같으니까 다음주가 개학이네 언제쯤 날릴수 있을까..


쿼드콥터 제작기 03 - 안드로이드-아두이노 통신

Posted by dw0rdptr
2015. 7. 11. 04:16 IoT/QuadCopter

처음 계획은 안드로이드->아두이노로 블루투스를 이용해 통신하려고 했는데 블루투스 통신거리가 100미터밖에 안돼 모자란 감이 있어 

1km까지 통신가능한(실제로는 6~700m정도 될듯) RF통신모듈로 아두이노 나노를 거쳐 통신하는 방법을 찾았다

Android -----> Arduino nano -----> Arduino Uno(나중에 Rpino로 교체)

         serial                 APC220


출처- http://yogibotics.blogspot.kr/2013/02/arduino-android-apc220-rc-car.html


APC220 스펙

개요

  • APC220 라디오 모듈은 무선 데이터 통신을 위한 간단한 솔루션입니다.
  • 고속 마이크로프로세서를 탑재하여 UART/TTL 인터페이스를 제공하며, 패킷화 및 데이터 인코딩을 처리합니다.
  • 개활지에서 약 1000m 거리에서 통신이 가능합니다.

특징

  • Transmit distance up to 1000m (line of sight) @9600 bps
  • 256 bytes data buffer
  • High sensitivity (-112dbbm @9600 bps)
  • GFSK modulation
  • UART/TTL interface
  • Embedded watch dog
  • Size: 37x17x6.5 mm

구성품

  • APC220 module(2 units)
  • Antenna for radio communication(2 units)
  • USB to TTL Converter (CP210) (1 unit)



그냥 편하게 RC조종기랑 수신기를 사면 편하지만 이왕 만드는거 고생 제대로한번 해보자는 생각으로 구현해보려고 한다

안드로이드에서는 자이로센서를 이용해 쿼드가 나아가는 방향을 컨트롤하고 카메라로 영상송출은.. 일단 띄우고 생각해보자


-----10/9 추가-----

다른 분 블로그에서 시리얼브릿지 역할을 하는 아두이노 나노없이 apc220모듈과 안드로이드 디바이스를 직접 연결 할 수 있다고 한다.

조만간 시도해볼 예정













쿼드콥터 제작기 02 - 아두이노IDE, 모터구동테스트

Posted by dw0rdptr
2015. 6. 27. 04:24 IoT/QuadCopter

하비킹에서 산 파워분배기에 배터리를 연결했더니 타는냄새가 나서 얼른 이베이에서 새 파워분배기를 구매했다. 다행히 늦지 않게 와서 금방 납땜하고 다음단계로 넘어갈 수 있었음


일단 아두이노 우노를 당분간 쓸 예정..

아두이노에 프로그래밍을 하려면 아두이노 통합개발환경(IDE)가 필요하다 아두이노 공식 홈페이지에 있으니 다운받자

스케치라는 개발 언어를 사용하는데 c와 많이 다르지 않다


모터가 잘 돌아가는지 구동테스트부터 하자


모터 구동코드


아두이노에 업로드 후 PWM 9번과 GND에 각각 ESC 핀을 연결

*프로펠러 장착하지 말고 테스트합시다




모터구동 테스트



아 기말고사가 코앞인데 이걸 놓을수가없다ㅠㅠ

쿼드콥터 제작기 01 - 부품주문, 조립

Posted by dw0rdptr
2015. 5. 31. 03:36 IoT/QuadCopter

중간고사 끝나자마자 수학여행, 체육대회가 겹치니까 정신이 없어 그동안 부품이도착해도 조립할 엄두를 못냈다.. 아무튼 다시 속도내보자


 

컨트롤보드(라즈베리파이2,아두이노 쉴드 Rpino) 

프레임(550mm 카본프레임)

BLDC 모터

ESC(변속기)

파워분배기

배터리(4000mah 이상으로 예정),배터리 충전기

프로펠러(10x4.7프롭)

가속도, 자이로센서(MPU-9250 or GY-86)

라즈베리파이 카메라 모듈

+ 배터리 셀 체커


사다보니 좀 많아지긴 했다.. 싸니까 이것저것 사게되는듯한데 가격은 모두 약 325달러, 우리돈으로 36만원쯤되는듯 (아두이노+라즈베리파이 제외)

아오ㅠㅠ 시즌준비 하려면 장비도 사야되고 시즌권도 사야돼서 돈모아놔야 되는데 예상했던것보다 더 많이 써서 출혈이 크다 ㅁㄴㄹㅇ


현재 배터리와 충전기 제외한 부품 배송완료 

센서는 이베이에서 싸게샀는데 2주는 더 걸릴 것 같다 


기본 프레임조립+모터와 프롭 조립 후 ESC와 커넥터납땜(절연테이프로 마감), 파워분배기

모터 프롭 악세서리 하나가 규격이 안맞아서 동네 철물점에서 깎아옴.. 납땜도 너무 오랜만에 해서 어설프게됐다



앞으로 할게 많은데 2학기 시작전에 끝낼수나 있으려나.. 안드로이드도 천천히 배워놓아야겠다.


*8월15일 추가 - 이분 반도 못하셨다고 합니다


쿼드콥터 제작기 00

Posted by dw0rdptr
2015. 5. 2. 02:47 IoT/QuadCopter

중간고사도 끝나서 전부터 생각해뒀던 라즈베리파이 쿼드콥터를 만들어보려고한다


필요한 부품 

컨트롤보드(라즈베리파이2,아두이노 쉴드 Rpino)

프레임(550mm 카본프레임)

BLDC 모터

ESC(변속기)

파워분배기

배터리(4000mah 이상으로 예정),배터리 충전기

프로펠러(10x4.7프롭)

가속도, 자이로센서(MPU-9250 or GY-86)

카메라 모듈(추후 추가예정)

-------------------------

BEC : 구상하면서 떠오른 건데 컨트롤보드에 전원공급은 어떻게하지 생각했었다. 찾아보니 ESC의 전원핀을 연결하면 된다고 한다. 하지만 출력을 급격히 높힐 때 등 배터리 사용이 많아지면  ESC가 컨트롤 보드로 전원을 제대로 공급해 주지 못한다고 해 따로 배터리와 컨트롤보드를 직접 연결해주는 BEC를 사용하는게 더 낫다고는 한다.


자세제어 알고리즘을 직접 구현해볼 생각이다(물론 여기저기 참고해서) 스마트폰이나 태블릿으로 조종할 예정이고 통신은 블루투스로 생각중인데 100m 통신거리가 조금 짧은 것 같아서 지그비도 고려중

필요한 기본지식부터 찾아봤는데 알아야할게 너무 많은것같다.. 시간여유는 많으니 천천히 배워가면서 해야겠다


필요한 부품 대부분은 하비킹이랑 이베이에서 구입할 예정. 국내사이트랑 비교해봤는데 가격이 싸다 관세, 배송비를 감안해도 싼편



찾아보니 라즈베리파이는 클럭수가 높아 연산은 빠르지만 센서값을 받아오고 모터를 제어하는 데는 아두이노가 좋아 최소 3ms 주기로 자세제어를 해야하는 멀티콥터 등에는 아두이노를 많이 쓰는 것 같다

하지만 영상처리를 하려면 아두이노로는 턱없이 부족하다. 그래서 라즈베리파이2+아두이노 Rpino 조합을 쓰려고 한다.



* 아두이노와 라즈베리파이의 차이점

요약 (3:00부터) - 아두이노는 '제어'에 특화된 보드. 라즈베리파이는 '처리'에 특화된 보드.

모터를 제어하는 멀티콥터에는 아두이노가 더 적합



** 쿼드콥터 스펙계산

http://www.ecalc.ch/xcoptercalc.php?ecalc&lang=en