반응형

 내가 구매한 제품은 다음과 같다.

https://ko.aliexpress.com/item/32830338954.html?gatewayAdapt=glo2kor&spm=a2g0o.9042311.0.0.536a4c4dJW6zGk 

 위 제품은 BaseCam Electronics사의 8 bit 보드가 들어있다. ATmega8을 장착했으며 아마 카피판인것 같다. 그리고 최근엔 공식 사이트에서도 안파는 꽤 구형이며, 사용기들을 보면 2010년대 남긴 글들이 많다. 제품 판매 설명에 따르면 고프로 장착에 맞춰 세팅되어있어서 펌웨어를 건들지 말라고 한다.

 나는 고프로를 장착할 생각이 없어서, 펌웨어를 수정해야겠다. 

 

목차

인트로

0. HW 작업 해야할 일

0.1. 짐벌의 댐퍼 맞춰주기

0.2. 무게 중심 맞추기

0.3. 전선 정리

1. SimpleBGC GUI 세팅

1.1. 준비 작업 - JAVA 8u141, CP210X 드라이버(VCPdriver) 설치

1.2. 설정 항목들

1.3. Basic 탭에서

1.4. Advanced 탭에서

1.5. RC Setting 탭에서

2. TroubleShooting

 

0. HW 작업 해야할 일

0.1. 짐벌의 댐퍼 맞추기

짐벌의 마운트와 비행체 간의 진동을 저감하기 위한 고무 댐퍼를 달아준다.

멀티로터의 프롭 회전의 진동이 마운트를 타고 짐벌에 영향을 주기 때문이다.

 

0.2. 무게 중심 맞추기

무게 중심을 맞추는 것은 매우매우 중요하다.

이건 마치 배낭을 한 쪽 어깨로만 매는 것과 같다.

그렇게 되면 불필요하게 균형을 맞춰주기 위한 힘을 계속 주어야하기도 하며,

짐벌 자체의 성능을 떨어뜨리는 일이기 때문이다. 

짐벌 모터가 크고 힘세면 상관 없겠지만, 그렇진 않다.

짐벌의 회전력은 순전히 축을 돌리는 데에만 사용이 되도록 하기위해서는

회전축의 무게중심을 맞추어주는 것이 매우 중요하다.

0.3. 전선 정리

이는 무게 중심 맞추기와 동일한 이유이다.

회전하다가 선에 장력이 걸리게 되면 불필요한 모터의 토크를 필요로 하기 때문이다.

전선은 최대한 여유있으면서 흘러내리지 않도록 정리한다.

 

1. SimpleBGC GUI 세팅

1.1. 준비 작업 - JAVA 8u141, CP210X 드라이버(VCPdriver), SimpleBGC GUI 다운로드

JAVA 8u141

SimpleBGC GUI는 JAVA로 되어있어서 자바 런타임 환경(JRE)을 설치해주어야한다.

그런데 찾아보던 중, Connect 버튼을 누르면 Crash 되면서 꺼지는 문제가 보고된 바 있는데 [1]

해결 방법으로 새 버전의 JRE가 아니라, 이전 버전의 JRE를 설치해주면 된다고 한다.

추천하는 버전은 JRE 8u141이다.

https://www.oracle.com/kr/java/technologies/javase/javase8-archive-downloads.html

 

CP210X 드라이버(VCPdriver)

제어 보드와 USB로 연결하기 위해서 직렬통신을 USB 로 변환해주는 칩 CP2102의 드라이버를 깔아주어야한다.

버전에 맞추어서 받아서 설치하자.

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

 

SimpleBGC GUI 다운로드

특이한 점은 제어 보드에 설치된 펌웨어 버전과 SimpleBGC GUI의 버전이 맞아야한다고 한다.

내 제어 보드는 8bits 에 BGC 2.2 라고 하니 다음으로 가서 다운로드 받자.

https://www.basecamelectronics.com/downloads/8bit/

1.2. 설정 항목들

여러가지를 해볼 수 있다.

Basic 탭은 제어 축의 PID 제어 이득과 모터 토크 출력 조절, 센서 정렬 등을 한다.

Advanced 탭은 자세계측센서의 신뢰성이나 필터링, 제어 주기 설정과 RC 입력의 트림을 설정할 수 있다.

RC Settings 탭은 짐벌의 자세 명령을 주기 위한 RC 명령 값을 어떻게 맵핑할 것인가에 대한 내용이다. 

Realtime Data 탭은 실시간으로 짐벌의 센서가 계측하고 있는 값을 확인 할 수 있다.

1.3. Basic 탭에서

PID Controller에서 제어이득을 세팅하고

Motor Configuration에 POWER를 조절하면 모터 힘을 조절할 수 있다.

Sensor에서는 자이로 센서의 윗 쪽 방향과 우측 방향을 설정하는 란이 있는데

뒤집어져 붙어있으니, Top 은 -Z, Right는 X로 설정했다.

축 설정이 틀리면 마구 떨거나 하는 등의 이상한 행동을 취한다.

1.4. Advanced 탭에서

Timings에서

PWM frequency를 HIGH로 해주면 고주파음이 사라진다. 다시 말하면 소리 주파수가 올라가서 인간이 못듣는 비가청음으로 바뀐다고 한다.

 

1.5. RC Setting 탭에서

RC Input Mapping 에서는 입력 신호 PWM/Voltage Analog(0~5V)/PPM에 따라서 어떤 입력으로 Roll/Pitch/Yaw를 조절할지 맵핑할 수 있다.

또한 CMD로 맵핑하면 Command Assignment 에서 입력이 되는 것을 확인해볼 수도 있다.

RC Control 에서는 맵핑된 입력에 대해서 입력을 각도로 받을 것인지, 회전 속도로 받을 것인지 선택한다.

회전 각도라면 최대 최소 각도를, 회전 속도라면 회전 속도를 설정한다.

 

 

 

 

Reference.

[1] http://letus.net/why-does-my-gui-crash-when-i-hit-the-connect-button-in-the-gui-windows/

 

 

11

 

728x90

+ Recent posts