EBFO-QUADV2 REV 1.0 매뉴얼 E2BOX COMPANY http://www.e2box.co.kr E 2 B O X
INDEX 1. 특징 3 2. 제품구성 4 3. 주의사항 5 4. 보드구성 6 5. 쿼드콥터조립 9 6. 조종기조립 13 7. 배터리충전 14 8. 캘리브레이션 15 9. 비행하기 17 10. 펌웨어업데이트 19 11. 소스수정하기 23 12. 라이브러리설명 25 13. Revision History 27 E 2 B O X 2
1. 특 징 초소형사이즈의쿼드콥터 ( 모터축기준 5.5cm *5.5cm) tilting 방식의조종기 LIPO 1CELL 충전 / 펌웨어다운로드겸용 USB 보드제공 개발을위한라이브러리(binary), main 프로그램소스제공 보드별회로도제공 최대비행시간 : 약 7 분호버링 ( 기준) 쿼드콥터본체 -Cortex-M3 32bit MCU 사용 -3 축자이로센서,3축가속도센서 -2.4GHz RF Transceiver -FET 모터드라이버 -PID 자세제어 - 무게 :16.5g ( 배터리제외) 조종기 -4 채널컨트롤(roll, pitch, yaw, throttle) -Cortex-M3 32bit MCU 사용 -3 축자이로센서,3축가속도센서 -2.4GHz RF Transceiver - 조종기캘리브레이션, 쿼드콥터본체캘리브레이션기능 충전/ 데이터송수신용 USB 보드 -1Cell 리튬폴리머배터리충전 ( 기본충전전류 CC=240mA) - 펌웨어다운로드 & 시리얼데이터송수신 (VCP 지원) - 충전상태 LED E 2 B O X 3
2. 제품구성 쿼드콥터보드 조종기보드 충전/ 데이타 USB보드모터 x4개 배터리 x 2개수축튜브 x 4개 프로펠러CW x2 개 / CCW x2개무선안테나 mini-usb 케이블 프로그램 CD E 2 B O X 4
3. 주의사항 3-1. 리튬폴리머배터리취급주의사항 리튬폴리머배터리의충전은반드시전용충전기(USB 보드충전회로로충전해야 ) 하며, 배터리용량의1C 범위이내에서충전해야합니다. 제품에포함된리튬폴리머배터리는방전이되어있는상태이기때문에만충전을한후사용하시기 바랍니다. 리튬폴리머배터리는완전방전(2.75V 이하) 이되면회복불능상태가됩니다. 그리고과방전을자주할경우 배터리의수명이떨어집니다. 배터리잔량이부족할경우바로충전해주시기바랍니다. 고온에두거나, 단자간단락쇼트 ( ) 시킬경우배터리가폭발할수있습니다. 임의로분해하지마십시오. 장기보관시만충전상태로보관하지마십시오. 만충전상태로보관시온도변화에따라부풀어오르는 현상이발생될수있으며, 배터리의성능이저하될수있습니다. 장기간보관시에는용량의 50%~60%(3.7V~3.8V) 정도의잔량을남겨둔후보관하십시오. 사용온도가내려가면배터리의성능이저하될수있습니다. 3-2. 쿼드콥터운용시주의사항 비행시프로펠러는고속으로회전하여피부에상처를줄수있습니다. 특히얼굴, 눈등에가까이가지 않도록하십시오. 배터리수명을위해과방전을금하고, 가급적자주충전해서사용하시기바랍니다. 충격에의해모터, 프로펠러,PCB 등이손상될수있으니주의하시기바랍니다. 쿼드콥터또는조종기를 USB 보드와연결시전원이차단된상태( 전원스위치OFF, USB 케이블제거) 에서 하십시오. E 2 B O X 5
4. 보드구성 4-1. 쿼드콥터보드구성 무선안테나 모터선(+) 연결부 모터선(+) 연결부 상태 LED 전원스위치 USB 보드연결커넥터 모터선(-) 연결부 모터선(-) 연결부 배터리커넥터 E 2 B O X 6
4-2. 조종기보드구성 yaw 축보정 / 조종기캘리브레이션 안테나커넥터 yaw 축보정 / 쿼드콥터캘리브레이션 스로틀제어다이얼 전원스위치 상태 LED USB 보드연결커넥터 배터리커넥터 E 2 B O X 7
4-3. USB 보드구성 쿼드콥터/ 조종기연결커넥터 충전상태 LED 리셋( 다운로드) 스위치 미니USB 커넥터 배터리충전커넥터 E 2 B O X 8
5. 쿼드콥터조립 5-1. 모터결합 모터를안쪽에서바깥쪽으로밀어넣어고정합니다. 모터를아래로눌러모터윗부분이고정되도록합니다. 모터결합완료 * 쿼드콥터가추락할경우모터가충격에의해파 손되지않고자연스럽게모터가빠지도록되어 있어모터가충격으로부터보호됩니다. * 모터가너무헐거울경우모터고정홀에종이를댄후끼우면단단히결합됩니다. ( 모터를너무단단히결합하게되면모터보호가안될수있습니다.) E 2 B O X 9
5-2. 모터선연결 아래그림과같이모터선을납땜합니다. 흰색(+) 는윗쪽, 검정색(-) 는아랫쪽에납땜합니다. 5-3. 수축튜브장착 모터를보호하기위해수축튜브를씌운뒤열풍기/ 드라이기/ 라이터불등으로수축시킵니다. 니퍼등으로수축튜브의긴부분을잘라정리합니다. E 2 B O X 10
5-4. 프로펠러결합 아래그림과같이프로펠러의방향을구분하여장착합니다. counter-clockwise clockwise E 2 B O X 11
5-5. 배터리결합 배터리를배터리단자에연결합니다. 붉은색선이 + 쪽으로가도록연결해야합니다.( 극성주의) + - 배터리에폼양면테이프를붙이고쿼드콥터의바닥면에위치시킨후고무줄로고정합니다. 쿼드콥터완료. E 2 B O X 12
6. 조종기조립 조종기에안테나를연결합니다. 배터리를배터리단자에연결합니다. 붉은색선이 + 쪽으로가도록연결해야합니다.( 극성주의) 배터리에폼양면테이프를붙이고조종기의바닥면에위치시킨후고무줄로고정합니다. E 2 B O X 13
7. 배터리충전 USB보드에 USB케이블을꽂아 PC( 또는 USB 전원장치와연결합니다 ). USB 보드의충전커넥터에배터리를연결합니다. 붉은색선이 + 쪽으로가도록연결해야합니다.( 극성주의) 배터리충전중에는적색LED 가켜져있으며, 충전이완료되면 LED 가꺼집니다. E 2 B O X 14
8. 캘리브레이션 8-1. 조종기캘리브레이션 조종기캘리브레이션버튼을누른상태로 ❶ 전원스위치를 ( 버튼을계속누르고있어야합니다.) ON 합니다.❷ ❶ ❷ 잠시후상태 LED 가빠르게점멸합니다.( 조종기캘리브레이션모드진입) 버튼을때고조종기를움직이지않는상태로수평을유지합니다. LED 가잠시꺼져있습니다.( 캘리브레이션중) LED 가느린속도로점멸합니다.( 캘리브레이션완료) 전원스위치를 OFF 합니다. * 캘리브레이션데이터는내부플래시메모리에저장되어전원차단후에도기억됩니다. E 2 B O X 15
8-2. 쿼드콥터캘리브레이션 조종기의쿼드콥터캘리브레이션버튼을누른상태로 ❶ 조종기전원스위치를 ( 버튼을계속누르고있어야합니다.) ON 합니다.❷ ❸ ❶ ❷ 조종기의상태 LED 가빠른속도로무한점멸합니다.( 캘리브레이션명령전송중) 쿼드콥터의전원스위치를 ON❸ 후움직이지않는상태로수평을유지합니다. 쿼드콥터의상태LED가 3 회깜박인후빠른속도로점멸합니다.( 쿼드콥터캘리브레이션모드진입) 쿼드콥터의상태LED 가잠시꺼져있습니다.( 쿼드콥터캘리브레이션중) 쿼드콥터의상태LED 가느린속도로점멸합니다.( 쿼드콥터캘리브레이션완료) 조종기전원스위치를 쿼드콥터의전원스위치를 OFF 합니다. OFF 합니다. * 캘리브레이션데이터는내부플래시메모리에저장되어전원차단후에도기억됩니다. E 2 B O X 16
9. 비행하기 쿼드콥터와조종기를아래그림처럼같은방향을향하게합니다. ( 쿼드콥터와조종기는전원이 ON 되는순간의 yaw 각을시작점으로판단합니다. 따라서항상같은 방향으로둔상태에서전원을 ON 해야합니다.) 조종기의스로틀을완전히내립니다.❶ 쿼드콥터의전원을 조종기의전원을 ON 합니다.❷ ON 합니다.❸ ❷ ❶ ❸ 쿼드콥터의상태LED는 1 초에한번씩점멸합니다. 조종기의신호가수신되면쿼드콥터의상태 LED 는빠른속도로점멸합니다. E 2 B O X 17
조종기를수평으로두고스로틀을천천히올리면호버링을합니다. 넓은공간에서충분히호버링연습을하시기바랍니다. 조종기를기울이면쿼드콥터는동일한방향으로길울어집니다. down up roll roll pitch pitch yaw yaw 캘리브레이션이정상적이지않을경우나시간경과에따라조종기 yaw각과쿼드콥터의 yaw 각이달라집니다. 비행시조종기의좌우스위치를눌러쿼드콥터와조종기의방향을일치시칼수있습니다. ( 비행중에설정가능) ❶ ❷ ❶ ❷ E 2 B O X 18
10. 펌웨어업데이트 10-1. USB 연결 PC에 USB 드라이버를설치합니다. 제공되는 CD 에해당드라이버가있습니다. 쿼드콥터( 또는조종기) 의전원스위치를 OFF 하고배터리를제거합니다. 쿼드콥터( 또는조종기) 와 USB 보드를결합합니다. 이후 USB 케이블을연결합니다.( 아래그림참조) *USB 보드와쿼드콥터( 또는조종기) 의결합또는분리는 USB케이블이 PC에서분리된상태에서하시기 바랍니다. USB 보드 USB 보드 E 2 B O X 19
10-2. 펌웨어다운로드 쿼드콥터( 또는조종기) 가 USB보드를통해 PC와연결된상태에서 Windows의장치관리자를실행하여 USB가연결된 COM 포트번호를확인합니다.(USB 드라이버가설치되어있어야합니다.) FlashLoader 를설치후실행합니다. E 2 B O X 20
USB드라이버의 COM포트를 PortName 에설정합니다. BuadRate 는빠른다운로드를위해최고속도로지정합니다. Next 버튼을누릅니다. Flash 사이즈와 Page별 Protect 에대해나타납니다.Next 버튼을누릅니다. Download to device 를선택합니다.... 버튼을눌러다운로드할파일을선택합니다. Jump to the user program을설정하면다운로드후자동으로 user program 이실행되므로편리합니다. Next 버튼을한번더누르면다운로드가완료됩니다. E 2 B O X 21
펌웨어를다시다운로드할경우 USB보드의스위치를한번누른후 FlashLoad의 Back 버튼을누릅니다. 이후 Next 버튼을눌러다시다운로드가능합니다. 펌웨어다운로드후반드시캘리브레이션을해야합니다. E 2 B O X 22
11. 소스수정하기 IAR 컴파일러를실행합니다. File -Open -Workspce 메뉴를선택합니다. 소스가있는폴더에서 EWARMv5폴더의 main.eww 를선택하여프로젝트를불러옵니다. E 2 B O X 23
소스수정후 Project -Make 메뉴(F7 키를 ) 누르면컴파일이됩니다. 에러없이정상적으로컴파일이되었을경우 \\EWARMv5\Debug\Exe 폴더에 main.bin파일이 생성됩니다. FlashLoader 를통해쿼드콥터조종기 ( ) 에다운로드할수있습니다. E 2 B O X 24
12. 라이브러리설명(ARS 관련함수) #define MPU6050_GYRO_250DPS #define MPU6050_GYRO_500DPS #define MPU6050_GYRO_1000DPS #define MPU6050_GYRO_2000DPS 0x00 0x08 0x10 0x18 #define MPU6050_ACC_2G #define MPU6050_ACC_4G #define MPU6050_ACC_8G #define MPU6050_ACC_16G 0x00 0x08 0x10 0x18 #define MPU6050_LPF_256HZ 0 // delay 0ms #define MPU6050_LPF_188HZ 1 // delay 2ms #define MPU6050_LPF_98HZ 2 // delay 3ms #define MPU6050_LPF_42HZ 3 // delay 4.9ms #define MPU6050_LPF_20HZ 4 // delay 8.5ms #define MPU6050_LPF_10HZ 5 // delay 13.8ms #define MPU6050_LPF_5HZ 6 // delay 19ms signed int AccCalX,AccCalY,AccCalZ 설명 가속도센서각축의캘리브레이션값 AccCal() 함수실행시값이재설정된다. signed int GyroCalX,GyroCalY,GyroCalZ 설명 자이로센서각축의캘리브레이션값 GyroCal() 함수실행시값이재설정된다. void Mpu6050Setting(unsigned char acc_s, unsigned char gyro_s, unsigned char lpf) 함수설명 MPU6050 센서의초기설정함수. 인자 acc_s : 가속도센서의 sensitivity를설정 MPU6050_ACC_2G ~MPU6050_ACC_16G 의값설정가능 gyro_s : 자이로센서의 sensitivity를설정 MPU6050_GYRO_250DPS ~MPU6050_GYRO_2000DPS 의값설정가능 lpf : 센서의 Low Pass Filter 설정 MPU6050_LPF_5HZ ~MPU6050_LPF_256HZ 의값설정가능반환 없음. E 2 B O X 25
void GyroCal(void) 함수설명 자이로센서캘리브레이션함수. 센서가움직이지않는상태에서함수를실행해야정상적인캘리브레이션이된다. 약 500ms 시간요소 캘리브레이션후결과값은 인자 없음. 반환 없음. GyroCalX,GyroCalY,GyroCalZ 에저장된다. void AccCal(void) 함수설명 가속도센서캘리브레이션함수. 센서를수평으로유지하고움직이지않는상태에서함수를실행해야정상적인캘리브레이션이된다. 약 500ms 시간요소 캘리브레이션후결과값은 인자 없음. 반환 없음. AccCalX,AccCalY,AccCalZ 에저장된다. int GetEulerAngle(float *euler_x, float *euler_y, float *euler_z) 함수설명 센서로부터값을읽어와 이함수는 인자 1ms 마다호출되어야함. Euler 각도값으로변환하는함수. euler_x :x축 euler 각도값이저장된변수의주소 euler_y :y축 euler 각도값이저장된변수의주소 euler_z :z축 반환 euler 각도값이저장된변수의주소 정상처리시 1 을반환. 함수초기설정시 0을반환 E 2 B O X 26
Revision History V1.0 Initial release E 2 B O X 27
이투박스 homepage :www.e2box.co.kr e-mail :e2b@e2box.co.kr E 2 B O X 28