2018년 7월 17일 화요일

완전 초보도 따라하는 하이엔드 레이싱 드론 만들기 #10 - 베타플라이트(Betaflight) 완전정복 / Taranis X9D plus 조종기에 새로운 모델 만들기, XM+ 리시버와 바인딩하기

지난 시간에는 새로 만든 드론의 FC의 베타플라이트 펌웨어를 최신으로 업데이트 해 주었습니다. 오늘은 베타플라이트를 셋팅하기 전에 조종기에 새로운 모델을 만들어봅시다.

엇, 그런데 모델이 뭔가요?

예를 들어 조종기 하나로 딱 한 대의 드론만 조종해야 한다면 새로 드론을 만들거나 살 때마다 조종기를 하나씩 더 사야 할 것입니다. 그러한 낭비를 막기 위해 Taranis X9D plus RC (remote control) 조종기를 비롯한 대부분의 RC 조종기는 여러 대의 드론을 조종할 수 있습니다. 드론 뿐만 아니라 RC 비행기, RC 헬리콥터, RC 자동차도 조종할 수 있습니다. 그리고 이런 무선 모형(model)을 일컫는 말이 model입니다.

조종기 안에 내가 가진 여러 개의 무선 모형을 등록해 놓고 조종하고 싶은 드론이나 RC 자동차 등을 가지고 밖으로 나갈 때 조종기는 늘 같은 것을 들고 나갑니다. 그리고 가지고 나온 무선 모형을 조종기에서 해당 모델을 선택하면 그 모형을 조종할 수 있는 것이지요. 매번 셋팅을 번거롭게 할 필요 없이 선택만 하면 이미 저장된 셋팅으로 조종을 할 수 있습니다.

새로 드론을 만들었으니 그 드론에 매칭되는 모델을 조종기 안에 만들어주는 것입니다. 지금 이 개념이 저의 부족한 설명으로 와닿지 않을 수도 있겠습니다만, 직접 해보는 것이 이해가 제일 빠르겠지요?

조종기의 firmware인 opentx 2.2.1 버전을 기준으로 설명드리겠습니다. 혹시나 아래 보시는 화면이 다르다면 opentx 2.2.1로 update 후에 작업을 진행하시길 추천드립니다. 펌웨어 업데이트 방법은 일단은 구글링을 하시면 설명된 글들이 많습니다. 혹시 펌웨어 업데이트가 어렵다면 나중의 포스팅에서 따로 설명드리도록 하겠습니다. 일단은 최대한 비슷하게 설정하시면 되겠습니다. 크게 다르지 않습니다.

Taranis X9D plus 조종기에 새로운 모델 만들기


조종기를 켜봅니다. 예전에 등록해 놓고 최근에 비행을 한 모델이 기본으로 보입니다. "THOR V2"라는 이름으로 되어 있는데, 프레임의 이름이 THOR V2이기 때문에 프레임의 이름을 따서 제가 저장해 놓은 드론 모델입니다. 


메뉴 버튼을 누릅니다. LCD 화면 왼쪽 제일 상단의 버튼입니다. 아래와 같은 화면이 뜨면서 여러 개의 모델 이름들이 보입니다. 별표로 표시되어 있는 모델은 현재 선택되어 있는 모델을 의미합니다.


+, - 버튼을 눌러서 빈 슬롯을 찾아갑니다. 11번 슬롯이 비어있습니다. 이 슬롯에 커서를 위치하고 ENT 버튼을 길게 누릅니다.


아래와 같이 새로 모델을 만들꺼냐 보존할꺼냐 선택을 할 수 있습니다. 'Create model'을 선택하고 ENT를 누릅니다.


모델의 유형이 무엇이냐 물어보는 화면입니다. 왼쪽부터 비행기, 중간도 비행기이네요. 이 두 가지 유형의 비행기가 분명 어떤 차이가 있겠지만 저는 무선 비행기를 하지는 않으므로 잘 모르겠습니다. 그러나 맨 오른쪽에 멀티로터 모델이 보이니 그것을 선택해 줍니다.


아래와 같이 커서를 이동시키고 ENT를 누릅니다.


Throttle 채널 넘버를 정하라고합니다. 여기서 채널의 개념을 정리해 보겠습니다. 드론의 조종에 두 개의 스틱이 필요하다는 것은 이미 알고 계시겠지요? 그 스틱의 모션 중에서 일반적으로 왼쪽 스틱을 올리고 내리면 드론이 위로 올라가거나 내려오게됩니다. 4개 모터 모두의 회전을 높이거나 낮추어서 올리거나 내리는 것이지요. 또한 왼쪽 스틱을 좌우로 움직이면 드론이 오른쪽으로 또는 왼쪽으로 회전합니다. 이번엔 오른쪽 스틱을 위로 올리거나 내리면 드론이 앞으로 고개를 숙이거나 올리거나 합니다. 그리고 오른쪽 스틱을 좌우로 움직이면 기체가 좌우로 기우뚱 기울게 되지요. 요렇게 총 네가지 동작을 드론에게 전달해 주는 통로가 바로 채널이 되겠습니다. 이해를 쉽게 하기 위해 조종기와 드론 사이에 네 개의 가상의 길이 열려 있고 각각 1,2,3,4번이라 지칭한다면 1번 채널은 왼쪽 스틱이 위아래로 움직이는 정보만 전달하고, 2번 채널은 왼쪽 스틱이 좌우로 움직이는 정보를 전달합니다. 3번과 4번도 마찬가지입니다. 이러한 조종을 위한 4개의 채널 외에도 드론의 시동을 켜고 끄는 정보를 전달하는 것, 플라이트 모드를 angle, horizon, acro 등으로 바꾸는 것, 그리고 부저를 울리게 하는 정보를 전달하는 것 등등 스위치를 통해 조작되는 이 각각의 기능들도 따로 마련된 채널을 통해 드론으로 전달됩니다.

이제 채널에 대한 감이 좀 왔나요?

완전히 이해가 안되어도 좋습니다. 어짜피 이 포스팅을 통해서 전달하고자 하는 바는 내가 만든 드론을 날게끔 하는데 목적이 있으므로 무작정 끝까지 따라오시면 됩니다.


쓰로틀 채널은 CH1로 1번으로 되어 있습니다. ENT를 누르고 +,- 버튼을 눌러 CH3으로 바꾸어줍니다. 이유는 베타플라이트에서 기본값으로 되어 있는 것이 쓰로틀은 3번이다!라고 되어 있기 때문입니다.

더 진도를 나가기 전에 먼저 알아두어야 할 것이 있습니다. 각각의 모션이 뜻하는 용어가 여러가지로 혼재되어 사용되는데 드론을 올리고 내리는 모션은 throttle 또는 engine이라고 합니다. 또 드론을 좌우로 회전하는 것. 그러니까 수평한 상태에서 고개를 좌우로 돌리는 모션은 yaw 또는 rudder라고합니다. 드론이 고개를 들고 숙이는 모션은 pitch 또는 elevation이라고 하고요. 드론을 좌우로 기우뚱 기우뚱 기울이는 모션은 roll 또는 aileron이라고 합니다. 정리하자면,

throttle = engine
yaw = rudder
pitch = elevation
roll = aileron

자꾸 헤깔리실 수 있는데 조종기나 베타플라이트 세팅을 하면서 보게될 저 단어들이 뜻하는 바와 같은 말을 기억해 두시는 것이 좋습니다.


이제 페이지 버튼을 누르면 roll의 채널 넘버를 정해주어야 합니다. 롤은 1번입니다.


피치는 2번입니다.


요는 4번입니다.


페이지를 한 번 더 누르면 아래와 같이 채널이 할당되었다고 알려주며 쓰로틀, 롤, 피치, 요 각각 3, 1, 2, 4로 할당되어 있으면 제대로 된 것입니다.


이제 ENT 버튼을 길게 누르면 아래와 같이 MODEL11이라는 새로운 모델이 만들어졌습니다.


MODEL11에 별표가 찍혀 있는 것을 확인하고 페이지 버튼을 누르면 MODEL SETUP 화면이 나옵니다. 기본적인 설정 값들을 넣어주는 화면입니다.


이 모델의 이름을 바꾸어 보겠습니다. +.-와 ENT 버튼을 눌러가며 제가 만든 드론에 사용된 프레임 이름인 QAV-Skitzo로 이름을 넣어주었습니다.


자, 집중! 정말 중요합니다. Failsafe mode를 설정할 차례입니다. 페일세이프란 어쩌면 들어보셨을 노콘(no control) 상황에서 어떻게 조종기가 대처해야 하는 지를 알려주는 메뉴입니다. 현재는 아래와 같이 not set으로 아무런 설정이 되어 있지 않다는 것인데,


이것을 No pulses로 꼭 해주어야 합니다. 선택지 중에 hold가 있는데, 이것은 노콘이 났을 때 그 상태의 조종신호 그대로 유지를 해버린다는 뜻입니다. 예를 들어 드론의 고도를 쭈욱 올리고 있는데 노콘이 난다면? 페일세이프 모드는 어떻게 자동으로 대처하게 될까요? 그냥 쭉 올라갑니다. 왜냐하면 노콘나기 직전의 스틱 포지션을 그대로 유지하니까요. 드론은 쓰로틀이 그냥 올려져 있다고 생각하고 계속 올라갈 껍니다. 달나라까지. 그리고 배터리가 다되어 떨어져서 완전히 부서지거나 누군가의 뚝배기를 깨버릴 수도 있습니다. 아니면 누군가의 차 지붕을 우그러뜨리거나 리포 배터리가 터져서 불이나기도 하겠죠. 끔찍합니다.

그래서 그냥 아무런 조종신호도 안들어가게끔 해주어서 그냥 떨어지도록 하는 것이 제일 안전합니다. 나중에 직접 테스트도 해 볼 것인데요. 일단은 노 펄스로 해놓으면 됩니다. FrSky의 장점은 이것만 노 펄스로 해두면 따로 신경을 안써도 된다는 것입니다. 조종기에서 설정하는 failsafe도 있고 receiver에서도 failsafe를 설정할 수도 있으며, 베타플라이트에서 failsafe를 설정할 수도 있습니다. 나중에 추가로 이 두 가지 설정도 해 둘 것입니다. 이중 삼중으로 안전장치를 걸어두는 것입니다.


지금까지 한 작업을 한 번 정리해 보겠습니다.

1) 타라니스 조종기에 새로운 모델을 만들었습니다.
2) 조종에 필요한 네 개의 동작인 throttle(=engine), yaw(=rudder), pitch(=elevation), roll(=aileron)에 채널을 할당해 주었습니다.
3) 조종기와 리시버 간에 신호가 끊겼을 때의 동작인 failsafe를 no pulses로 설정하여 신호가 끊기면 그냥 추락하도록 해주었습니다.

XM+ 리시버와 바인딩하기


MODEL SETUP 화면의 아래쪽으로 더 내려가면 Internal RF 항목이 나옵니다. XM+ 리시버는 D16 mode를 사용하니 그대로 둡니다. Channel range는 CH1-8로 바꿔줍니다. 오른쪽 괄호 안에 9ms라고 쓰여져 있는데, 이것은 딜레이 타임이 9밀리세컨드임을 뜻합니다. 채널을 8개를 초과하여 사용하게 되면 이 딜레이 타임이 18ms가됩니다. 내가 조종기를 움직인 신호로 인해 드론이 실제 그 동작을 수행하기까지 18ms의 지연시간이 있다는 것입니다. 물론 9ms나 18ms나 찰나의 순간임에는 분명하지만, 또 다른 이유로 인하여 9ms로 짧게 가져가는 것이 좋습니다. 그 이유는 다음에 기회가 되면 또 설명을 드리고요. 지금은 굳이 알 필요가 없습니다. 채널 개수에 대해 부연하여 설명 드리면 우리가 새로 만든 이 모델에서 현재 4개의 채널은 점유가 되었습니다. 그러면 4개의 채널이 남겠죠? 이 남은 채널들을 통해서는 부가적인 스위치 조작이 전달되는 통로들입니다. 이렇게 조종신호를 제외한 스위치 신호가 전달되는 채널을 auxiliary channel 줄여서 aux channel이라고 합니다. 저는 주로 3개의 aux 채널을 사용합니다. 드론에 시동을 걸어주는 arming 스위치, 플라이트 모드를 바꾸어주는 스위치, 그리고 마지막으로 드론이 풀섶에 떨어졌을 때 부저를 울리게 해주는 스위치입니다. 총 7개의 채널을 이용해서 원하는 모든 조작을 할 수 있기 때문에 굳이 16개의 채널까지 딜레이를 감수하며 쓸 필요가 없는 것이죠. 


Bind 항목에 커서를 옮겨 놓고 그대로 조종기를 잠시 내려둡니다.


아래 사진과 같이 드론의 리시버 쪽에 안테나 단자 옆에 작은 버튼이 보입니다. 이것을 bind 버튼이라고 합니다. 이 리시버와 조종기를 짝을 지워주어야 합니다. 그래야 조종기와 드론에 전원이 들어왔을 때 서로를 알아보고 리시버는 조종신호를 받아들일 수 있습니다. 바인트 버튼을 얇은 드라이버 등으로 살짝 누른 상태로 컴퓨터와 USB 단자를 연결합니다. 지금 상황에서는 리시버가 동작하기 위한 전원만 넣어주면 되므로 USB 단자를 연결하는 것인데, 배터리를 연결하셔도 됩니다.

주의! 집에서 드론에 배터리를 연결하는 상황에서는 무조건 프로펠러를 제거한 상태에서 작업힙니다. 예기치 못한 상황이나 실수로 모터가 돌게 되는데, 바로 상해로 이어질 수 있습니다. 앞으로의 모든 작업에서도 집에서 드론 정비나 수리 도중에 배터리를 연결하는 경우라면 절대! 프로펠러를 제거한 상황에서 작업을 하셔야만 합니다. 이것을 지키지 않아서 다치는 경우가 비일비재하고 드론 관련 외국 커뮤니티에 부상당한 얘기가 계속 올라오고 있습니다. 좋은 습관이 안전한 취미활동을 보장합니다.


그렇게 전원을 연결하면 아래 사진과 같이 리시버에 달려있는 빨간색 엘이디와 녹색 엘이디가 동시에 불이 들어온 상태가 됩니다. 바인딩 대기 상태에 있다는 것을 알려주는 것입니다. 만약 빨간색 엘이디만 깜빡거리고 있다면 바인딩 대기 상태로 들어가지 않았다는 뜻입니다. 보통 USB 단자를 연결하거나 배터리를 연결하면서 누르고 있던 바인딩 버튼이 제대로 눌려지지 않았거나 전원이 연결되자마자 버튼을 누르고 있던 것을 떼어서 그렇습니다. 충분히 잘 눌러준 상태에서 전원을 넣고 2초에서 3초 정도 있다가 눌렀던 버튼을 떼는 것이 좋습니다.


자이제 조종기에서 ENT를 누릅니다. 네가지 옵션이 뜰텐데, 자세한 설명은 생략합니다. 그냥 맨 위의 것을 선택합니다.


그러면 조종기에서 청아한 소리의 삐빅~ 삐빅~ 삐빅~ 소리가 날 것입니다. 그리고 재빨리 드론의 리시버 엘이디를 보면 빨간색 엘이디가 깜빡거리는 것을 볼 수 있습니다. 바인딩이 완료되었다는 것입니다. 리시버가 어떤 조종기의 신호를 받아야 하는지 알아들었다는 뜻입니다.

조종기를 끄고 드론의 전원도 해제합니다.

드론의 전원을 넣어봅니다. 리시버는 빨간색 엘이디만 깜빡깜빡 거리고 있을 것입니다. 이제 조종기 스위치를 켜봅니다. 아래 사진에서 보시는 바와 같이 녹색 엘이디만 켜진채로 있습니다. 조종기와 리시버가 연결된 상태임을 알려줍니다.

이로써 리시버와 조종기의 바인딩이 완료되었습니다.


예전에는 유투브나 웹문서를 보면서 무작정 따라했던 것들을 다시 복기하면서 해보고 설명까지 덧붙이려고 하니 잘 몰랐던 것들은 더 공부하게되네요. 이제 남은 작업은 베타플라이트와 조종기의 세부 설정들입니다. 오늘 포스팅은 여기서 마무리하도록 하고 다음 시간에 또 이어서 한단계씩 진행해 보도록 하겠습니다.

댓글 없음:

댓글 쓰기