2018년 7월 22일 일요일

완전 초보도 따라하는 하이엔드 레이싱 드론 만들기 #12 - 베타플라이트(Betaflight) 완전정복 / Configuration tab 설정

베타플라이트의 세번째 tab인 'configuration' tab을 살펴보고 적당한 값을 넣어보도록 하겠습니다.

Mixer 부분은 default 값으로 되어있는 Quad X를 그대로 씁니다. 화살표가 뜻하는 것은 드론의 앞쪽을 뜻하고 화살표는 모터가 돌아가는 방향입니다. 숫자는 모터의 번호를 뜻하는데 순서를 기억하고 있는 것이 좋습니다. 즉, 이 부분은 따로 바꿀 것이 없습니다.


System configuration에서는 아래와 같이 설정합니다. Matek F405-CTR FC의 경우 barometer가 달려있지만 LED와 같이 쓰려면 따로 수동으로 설정해야 할 부분이 있어 쓰지 않기로 합니다. 가속 센서만 켜 둡니다. Gyro update frequency는 드론의 기울어짐을 일초에 몇번 읽어들이느냐 하는 값인데 default 값인 8kHz 즉, 1초에 8000번 값을 읽어들이기로 합니다. PID loop frequency는 1초에 몇번이나 조종신호를 제어할 것이냐인데 2kHz로 default 값으로 씁니다. PID에 대해서 이해를 높이려면 따로 자료를 찾아서 공부를 해보시는 것이 좋습니다. 설명이 길어지므로 이 포스팅에서는 생략하겠습니다.


드론의 이름을 정하는 곳입니다. 이름을 정해두면 OSD에서 드론 이름을 띄워둘 수 있습니다. 참고로 OSD란 고글 화면에서 드론에 부착된 fpv 카메라가 보여주는 영상에 덧붙여 비행정보를 표시하는 화면을 말합니다.


FPV camera가 몇도로 되어 있는지를 넣어주는 칸입니다. Default 값인 0으로 해둡니다.


Receiver type을 설정하는 곳입니다. Serial-based receiver를 선택하고 SBUS를 선택합니다. XM+가 직렬 방식의 SBUS type receiver이기 때문입니다. 사용하는 rc receiver에 맞게 설정해 줍니다.


Other features에서는 제가 켜둔 feature 들에 대해서만 설명하겠습니다. 나머지는 betaflight manual을 참고하셔서 필요한 경우 사용하시면 되겠습니다.

LED_STRIP은 제 드론에 led를 달았기 때문에 켜두었습니다. 이것을 켜면 왼쪽 side의 tab 메뉴에 LED Strip tab이 하나 더 생기는 것을 보실 수 있습니다. LED의 색깔 및 특별한 alarm 을 넣어줄 수 있습니다.

AIRMODE는 throttle을 맨 아래로 내리더라도 최소한으로 프로펠러가 회전하면서 자세를 유지하도록 하는 기능입니다. 이것이 켜져 있지 않는 경우를 설명해 보도록 하죠. 높게 드론을 올려서 throttle을 맨 아래로 내리면 드론은 자유낙하를 할 것입니다. 이때 프로펠러는 돌지 않기 때문에 공기의 흐름과 저항에 따라 드론이 낙엽처럼 떨어집니다. 서서히 하늘을 보기 시작하거나 옆으로 기울어지며 떨어지거나 그렇게 됩니다. 그런데, airmode를 켜두게 되면 그렇게 자유낙하 하는 상황에서도 자세를 잡아주기 때문에 만약에 수평을 잡은 상태에서 throttle을 맨 아래로 내려도 그대로 수평을 유지한 채로 떨어집니다.

OSD는 on screen display를 뜻하고 아까 말씀드렸듯이 고글 영상에 비행정보를 추가로 보여주는 기능입니다. 이것 역시 활성화 하면 왼쪽에 OSD tab이 하나 더 생기고 표시할 비행 정보를 넣어줄 수 있습니다.

ANTI GRAVITY는 throttle을 급격하게 올리는 상황에서 PID control의 I 값을 올려주어 흔들리지 않게 해주는 기능입니다. PID를 잘 모르시더라도 급격한 throttle 변화에도 드론이 자세를 잘 유지하도록 해준다라고 생각하시면 되겠습니다.

DYNAMIC FILTER는 gyro sensor의 noise를 걸러주는 filter를 자동으로 넣어주는 기능입니다. Gyro sensor에 noise가 들어가게되면 드론이 틱틱 흔들리는 twitch 현상이 일어나고 모터가 과열되고 타버릴 수도 있습니다.


Dshot Beacon Configuration은 dshot protocol을 사용할 때만 사용가능한 기능입니다. 조종기의 신호가 끊겨 추락했을 때 motor를 이용해 알람 소리가 나도록 해서 드론을 찾기 쉽게 해 주는 기능입니다. 저는 buzzer를 따로 설치했기 때문에 필요가 없어 사용하지 않습니다.


Beeper configuration에서는 드론에 달린 buzzer가 어떤 상황에서 소리를 내게 할 지 설정해 줄 수 있습니다. 오른쪽의 설명을 참고하시고 아래와 같은 정도로 셋팅해 주시면 사용하시기에 무난합니다.


ESC/Motor protocol은 ESC가 어떤 protocol을 사용하여 motor와 통신할 지 알려주는 것입니다. 제 ESC는 dshot600을 지원하므로 dshot600으로 설정했습니다. Motor idle throttle value는 motor에 throttle 입력이 0일 때 최소 값을 percent로 알려주는 것입니다. 4.7 정도로 해줍니다. 너무 낮으면 비행중 급격한 회전시 deathroll이 일어나 빙글빙글 돌면서 추락할 수 있습니다. Oneshot이나 multishot 계열의 protocol에서는 throttle 값으로 입력해 주는데 그때는 1050~1070 정도로 넣어줍니다.


FC가 어떤 방향으로 장착되어 있는지를 알려주는 것입니다. 저는 FC의 원래 방향대로 장착했으므로 건드려 줄 필요는 없습니다. 그러나 FC를 뒤집어서 장착한 경우라면 roll degrees를 180으로 FC를 yaw 방향으로 90도 돌려서 장착했다면 yaw degrees를 90도로 해주면 됩니다. 하고나서 setup 화면에서 정상적으로 드론이 손으로 기울이는 방향과 일치하는지 꼭 확인해 주어야합니다.


Accelerometer trim은 아직 제가 모르는 것으로 default인 0으로 넣어둡니다.


드론이 몇도까지 기울여져 있어도 아밍이 되게 할 것인지 그 각도를 입력해줍니다. 25도를 넘어서 기울여져 있으면 시동이 걸리지 않습니다.


Analog RSSI input을 사용할 때 활성화해줍니다. 제가 쓴 XM+ receiver에서는 해당 안되므로 비활성화 상태로 그대로 둡니다.


프로펠러들이 역회전도 가능하게끔 하는 3D flying을 위해서 활성화 시켜주는 항목입니다. 3D flying이 가능한 ESC, motor, propeller를 사용해서 3D flying을 하고 싶을 때 활성화시킵니다.


GPS module을 따로 장착하거나 FC가 내장하고 있지 않으므로 꺼줍니다.


댓글 없음:

댓글 쓰기