Drone

3DM 98Bunker 제작기(6)-베타플라이트 설정하기2

LonleyEngineer 2019. 8. 23. 14:30
반응형

이번에는 98벙커 제작기 중 설정부분과 관련된 마지막인 모터 설정과 OSD 설정 부분에 대해서 다뤄보겠습니다.

 

 

이 글을 읽는 대상이 이미 레이싱이나 프리스타일을 하시는 분들이라면 다소 따분할 수 있는 부분입니다만

초심자들에게 조금이라도 도움이 되도록 쓰다보니 내용이 조금씩 늘어나는 것은 어쩔 수가 없네요.

 

이전 작업에서 리시버와 비행모드 설정까지 했었으니 이제

모터의 테스트와 모터 번호 조정, 회전방향설정, 그리고 비행의 편의를 위한 OSD 설정을 해보도록 하겠습니다.

 

원래 모터의 테스트는 조립의 초반에 해야하나 베타플라이트의 메뉴 구성 흐름 상 어쩔 수 없이 뒤에 나오게 되었습니다.

 

 

모터의 설정을 하기 전에 먼저 몇가지 알아야 할 부분이 있습니다.

 

1. 모터의 번호

- 베타플라이트 펌웨어에서는 모터의 번호가 있습니다. 모터의 번호에 맞도록 회전 방향도 결정이 되어 있는데요.

베타플라이트에서의 모터 번호와 회전 방향은 아래 그림의 번호와 화살표처럼 되어 있습니다.

 

모터의 번호와 회전 방향이 맞지 않으면 기체가 이륙하지 못하거나 이륙 하더라도 바로 뒤집혀 버리는 상황이 발생합니다.

그리고 모터 회전 방향에 맞게 프로펠러의 각도를 확인하여 하향풍이 발생하도록 끼워줘야 합니다.

 

 

2. ESC와 모터간 신호 프로토콜

- 이 부분은 모두 설명하기에는 워낙 내용도 방대하고 기술적으로 알기도 힘든 부분입니다.

요즘은 보통 브러시리스(Brushless) 모터에는 DSHOT 이라는 프로토콜을 사용합니다. 디샷프로토콜은 신호의 주파수에 따라 DSHOT300, 600, 1200 등으로 표현되는데 대부분 600 정도를 선택하면 무난하며 600으로 해서 안되면 300이나 그 이하를 선택하면 됩니다.

레이싱에서 고성능 모터와 ESC의 경우 1200을 선택해서 사용하기도 합니다.

- DSHOT을 사용하는 이유 중 하나는 모터의 캘리브레이션을 해줄 필요가 없기 때문입니다. 조종기의 신호 최소값과 최고값 사이에 회전량 등을 확인하고 지정하는 캘리브레이션 과정이 필요 없어 편리합니다.

- DSHOT 외에 ONESHOT, MULTISHOT 등등 몇가지 프로토콜이 있고 ESC 제조사에 따라 다른 프로토콜을 사용하기도 합니다.

 

3. ESC 펌웨어

- ESC 펌웨어는 FC 펌웨어와 다르게 ESC의 동작에 필요한 소프트웨어적 정보입니다.

몇가지 ESC 펌웨어가 있지만 요즘에는 주로 비헬리라고 많이 부르는 BLHeli 펌웨어를 많이 씁니다.

비헬리 펌웨어의 설정에는 비헬리슈트(BLHeliSuite) 라는 프로그램을 이용합니다.

- 그 외에 Simonk 펌웨어도 있으며 펌웨어에 따라 ESC를 설정하는 프로그램이 다릅니다.

 

 

 

기본적으로 이해 해야할 것들은 위와 같고 본격적으로 모터 설정에 들어가겠습니다.

 

모터의 설정시에는 Configurator 탭과 Motors 탭을 이용합니다.

Configurator 탭에서 설정하는 부분은 ESC 프로토콜과 시동이라고 부르는 아밍시 모터를 회전시킬지 말지에 대한 부분을 설정합니다.

Configurator 탭에 있는 정보를 설정할때는 FC와 PC를 연결한 USB 전원 만으로 가능하나

Motors 탭에서는 모터의 회전이 필요하기 때문에 ESC의 부팅도 필요하고 모터회전에 필요한 전력도 필요해서 배터리나 전원공급기의 연결이 필요합니다.

 

 

 

베타플라이트의 Configurator 탭 항목입니다.


ESC/Motor Features 항목에서 원하는 프로토콜을 설정해주고

MOTOR_STOP 항목을 설정하면 앵글(Angle)모드와 아크로(Acro)모드에서 아밍이 되더라도 모터가 회전하지 않습니다.

에어(Air)모드는 기본적으로 자세유지를 위해 기본적으로 회전하는 량이 있기 때문에 이 옵션이 설정되어도 아밍이 되면 회전을 합니다.

 



모터테스트를 할때는 기체에 배터리나 전원공급기로 전원을 넣어주고 FC와 PC를 연결해줍니다.

그리고 Motors 탭에 가서 ①번의 항목을 활성화 해줍니다.

모터테스트는 모터가 회전하기 때문에 위험하니 프롭을 제거하고 하라는 것이고 위험하다는 것을 인지했고 동의한다는 뜻입니다.

1번을 활성화 하고 나면 2번에서 개별 모터를 회전시킬 수 있고 MASTER 항목을 선택하면 모든 모터를 회전시킬 수 있습니다.

 

테스트 시에는 2번의 값을 천천히 올려서 회전방향을 확인해주는 것이 좋습니다.

마우스로 모터 번호의 바를 선택하고 화살표 위아래 키를 누르면 값이 변합니다.

 

만일 모터를 돌려보는데 다른 모터가 돌아간다면 서로 바뀐 모터의 번호를 기록해둡니다.

보통의 조립방법이라면 모터 번호가 바뀔 일이 없지만 98벙커처럼 FC와 ESC를 뒤집어서 마운트 하는 경우 모터 번호가 다르게 연결될 수 있기 때문에 이를 정정해주는 작업이 필요합니다.

 

 



모터의 번호가 바뀐 것이 확인 되었다면 CLI 탭에 가서 resource 라고 입력하면 FC의 각종 포트 연결 정보를 확인할 수 있는데 거기서 Resuorce Motor 1~4 의 값을 확인합니다.

드래그해서 복사한 다음 메모장에 바뀐 모터의 리소스를 서로 변경해줍니다.

예를들면 위에서 

resource MOTOR 1 A03

resource MOTOR 2 A02

resource MOTOR 3 B00

resource MOTOR 4 B01

이렇게 나와있는데 2-4, 1-3이 서로 바뀐 것이 확인되었다면

 

 

resource MOTOR 1 B00

resource MOTOR 2 B01

resource MOTOR 3 A03

resource MOTOR 4 A02

 

이렇게 메모장에서 수정하고 복사해서 커맨드 입력창에 2~3번 붙여넣기하고 입력하고 붙여넣기하고 입력하고 해줍니다.

그 이유는 기존에 할당된 자원(Resource)가 있기 때문에 충돌난다는 메시지 때문인데 2~3번 반복하면 충돌이 없이 바뀌기 때문입니다.

 

다시 CLI의 커맨드 창에 resrouce 입력하고 정보를 조회해서 모두 맞게 변경되었다면

save를 입력해줍니다. 그러면 설정값이 저장되며 FC와 ESC가 리부팅 됩니다.

 

이렇게 하면 모터 번호가 바뀐 것이 변경됩니다.

그리고 다시 Motors 탭에 가서 회전을 시켜보며 번호가 맞는지 확인해보고 맞다면 회전 방향을 확인합니다.

회전방향이 만일 반대방향으로 회전한다면 이를 수정해줘야 하는데 수정하는 방법은 2가지가 있습니다.

 

1. 모터와 ESC의 연결선 2가닥을 바꿔서 납땜

2. BLHeliSuite 프로그램에서 모터 회전 방향을 반대로(Reverse)로 설정

 

각자 편한 방법으로 하시면 되는데 2번의 방법은 BLHeliSuite 프로그램을

https://github.com/4712/BLHeliSuite/releases

에서 다운로드 하고 FC의 같은 Comport 를 사용하기 때문에 베타플라이트를 종료한다음 BLHeliSuite를 실행합니다.

 

 

 

BLHeliSuite를 실행하고 나면 1과 같이 FC와 연결된 PC의 Com port를 선택한 후 Connect 버튼을 누릅니다.

그리고 2번의 Read Setup을 하고 나면 현재 BLHeli 펌웨어 ESC의 설정정보를 가져오게 됩니다.

 

 

 

< 출처  - https://oscarliang.com/change-motor-spin-direction-quadcopter/>

 

 

원하는 ESC를 Connect 버튼 옆에 있는 ESC 번호에서 남겨두고 보이게 한 후 Motor Direction을 현재방향과 반대로 해주면 됩니다. 

가령 Normal이면 Reverse로 Reverse면 Normal로 선택하면 됩니다.

설정을 마쳤으면 Write Setup 버튼을 누르고 다시 Read Setup 버튼을 눌러 정보가 맞게 설정되었는지 확인한 후

Disconnect 버튼을 눌러줍니다. 그러면 ESC가 리부팅되면서 모터에서 소리가 날겁니다.

 

그다음 위의 베타플라이트의 Motors 탭에서 다시 회전시켜보며 방향이 맞는지 확인하면 됩니다.

 

 

 

 

이후에 OSD 설정을 하는 과정입니다.

OSD는 On Screen Display로 정보를 스크린에 연결해주는 기능입니다.

 

화면에 모두 표시하지 못할 정도로 방대한 정보가 있지만 주로 타이머, 전압, 기체명, RSSI 정도만 설정합니다.

때로는 중앙에 크로스헤어(CrossHair)를 표시하거나 수평(Horizontal)정보를 설정하여 초심자때 수평잡는 연습에 사용할 수 있습니다.

 

 

위와같이 표시하고자 하는 정보를 선택한 후 가운데 예제 그림에서 글자를 끌어서 표시하고 싶은 스크린의 위치에 놓으면 됩니다.

 

OSD는 모두 되는 것이 아니고  Camera---> FC OSD Video in ---> FC Video out ---> VTX Video 순으로 영상신호가 연결되어야만 가능합니다.

즉 카메라 영상을 FC가 받아서 그 위에 OSD 정보를 입혀서 VTX에 보내줘서 고글같은 영상 수신기에서 받아보는 구조입니다.

 

이번 조립기에 사용된 Fly Tower에는 위와같은 연결을 하지 않고 Camera만 FC에 연결해주었지만 FC와 VTX 사이에 있는  핀커넥터에서 알아서 연결되어 있기 때문에 OSD 표현에 문제가 없습니다.

 

 

 

뒤로 갈수록 글로 표현하기 상당히 어려운 부분이 있어서 급하게 넘어가거나 모호하게 표현되는 것들이 있네요.

시간이 되면 이해가 쉽도록 더 상세히 기술해보도록 하겠습니다.

 

위와 같은 설정 까지만 하면 대부분 비행은 가능하며 부가적인 설정은 또 따로 알아보도록 하겠습니다.

 

이제는 테스트 비행만 할 차례네요. 

긴 글 읽어주셔서 감사합니다.

 

반응형