상세 컨텐츠

본문 제목

[드론 만들기] Pixhawk의 변속기(ESC)

만들기/드론

by kwangpil 2020. 7. 5. 19:30

본문

 

이전 글...

 

드론 만들기

  

   하드웨어

      [드론 만들기] 기본부품

         [드론 만들기] 비행 제어기(FC)

            [드론 만들기] Pixhawk 시리즈

               [드론 만들기] Pixhawk의 GPS

               [드론 만들기] Pixhawk의 텔레메트리(Telemetry)              

               [드론 만들기] Pixhawk의 변속기(ESC)

               [드론 만들기] Pixhawk 4

                  [드론 만들기] QGroundControl에서 Pixhawk 4 펌웨어 설치

                  [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 1/2

                  [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 2/2                   

                  [드론 만들기] Pixhawk 4의 Power Management Board

         [드론 만들기] 모터

         [드론 만들기] 배터리

            [드론 만들기] 리튬 폴리머 배터리 팩

         [드론 만들기] 변속기 (ESC)

         [드론 만들기] 프로펠러 (Propeller)

         [드론 만들기] 파워 분배기(PDB, Power Distribution Board)

         [드론 만들기] 조종기(Radio Control)    

 

   소프트웨어

      [드론 만들기] MissionPlanner와 QGroundControl

      [드론 만들기] QGroundControl 설치

         [드론 만들기] QGroundControl 사용방법 1/3

         [드론 만들기] QGroundControl 사용방법 2/3         

         [드론 만들기] QGroundControl에서 Pixhawk 4 펌웨어 설치

         [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 1/2

         [드론 만들기] QGroundControl에서 Pixhawk 4 설정하기 2/2

         [드론 만들기] QGroundControl에서 Pixhawk 파라미터 변경하기  

 

   조립

      [드론 만들기] 모터, 변속기에 커넥터 연결하기

      [드론 만들기] Power Management Board에 커넥터 연결하기

      [드론 만들기] 변속기(ESC)와 Power Management Board 연결하기

      [드론 만들기] GPS, Telemetry Pixhawk 4에 연결하기  

 

   비행

      [드론 만들기] 쿼드콥터(Quadcopter) 비행 원리  

 

   기타

      [드론 만들기] 비행금지구역

      [드론 만들기] 비행 시 주의 사항

      [드론 만들기] VMware Workstation Pro 설치하기

         [드론 만들기] VMware Workstation Player에 Virtaul Machine 만들기

         [드론 만들기] VMware Workstation Player에 Ubuntu 설치하기

      [드론 만들기] 멀티콥터 종류

      [드론 만들기] 커넥터(connector)

      [드론 만들기] 용어


완전 초짜의 드론 만들기 도전! 도전! 도전~!입니다.
맨땅에 헤딩~

인터넷 검색, 관련 사이트를 참고하여 Pixhawk 4를 이용한 중/소형 드론을 만들려고 하고 있습니다.

참고만 하세요~!

 

※ 아래 내용은 픽스호크 홈페이지 내용을 기반으로 작성한 것이며 정확한/상세한 내용은 픽스호크 홈페이지 참조


 

픽스호크를 사용하는 대부분의 드론은 브러시리스 모터(brushless motor)를 사용한다.

 

브러시리스 모터는 변속기(또는 전자 변속기, ESC)로 속도를 제어하는데 변속기는 픽스호크로부터 받은 신호를 변환하여 모터에 전력을 공급한다.

 

픽스호크(PX4)는 PWM 입력을 갖는 ESC, ESC OneShot standard, DShot, UAVCAN ECSs, PCA9685(I2C로 연결), 몇몇 UART ESCs(Yuneec제품)를 지원한다.

 

여기서는 픽스호크에서 PWM ESC, DShot, UAVCAN ESC를 어떻게 사용하는지 살펴본다.

 

변속기의 기본적인 내용은 [드론 만들기] 변속기 (ESC)을 참조한다.

 

 

1. PWM 변속기(ESC)

 

PWM ESC (출처: www.wikipedia.org)

 

PWM 변속기는 모터에 전원을 제공하는 3개의 전원선(왼쪽), 변속기에 전원을 공급하는 배터리 전원공급선(전원선, 접지선), PWM 신호선, 접지선 그리고 경우에 따라서 BEC 전압선(오른쪽)이 있다.

 

일반적으로 배터리 전원 공급선의 전압선붉은색, 접지선검은색이다. 전선의 두께는 사용하는 배터리 사양에 따라서 다를 수 있는데 보통 AWG 16이거나 고전압을 사용할 경우에는 AWG 12를 많이 사용한다.

 

PWM 신호선은 보통 흰색이거나 노란색이고 접지선의 경우는 검은색이거나 갈색이다. BEC가 있는 변속기의 경우 BEC 단자 전선은 보통 붉은색이거나 주황색이다.

 

픽스호크는 판매되고 있는 모든 PWM 변속기와 호환된다. 

 

만약 구매한 변속기가 작동하지 않는다면 전선 연결에 문제가 있거나 설정을 잘못한 것이기 때문에 재확인해본다.

 

주의해야 할 다른 사항 하나는 변속기의 PWM 신호선을 파워 분배기인 Power Management Board에 연결할 때 접지선을 연결하지 않고 신호선만 연결할 경우 아래 그림처럼 펄스에 잡음이 발생한다. 

 

 

잡음이 섞인 PWM 신호선(출처: https://docs.px4.io)

 

잡음을 최소화하기 위해서 잊지 말고 PWM 접지선을 꼭 접지시켜주어야 한다.

 

- 최소 무효 값 설정

 

전원 연결 시 스로틀 스틱이 중간점에 있는 경우 사용자를 보호하기 위해서 몇몇 변속기의 경우 전원이 연결되기 전에 특정 저점을 설정해야 한다.

 

드론이 비행준비해제(disarming)가 될 때 PX4는 PWM_DISARMED 값을 전송한다. 이 PWM_DISARMED 값은 변속기가 준비해제(disarmed) 되었을 때 변속기의 동작을 정지시키고 변속기를 올바르게 초기화한다.

 

최소 무효 값은 변속기에 맞게 설정되어야 하는데 대략적으로 1200us~900us사이이다.

 

- Timeout

 

몇몇 변속기는 전원이 공급된 후 일정 시간 이내에 유효가 저펄스(low pulse)가 수신되지 않을 경우, 모터 회전을 방지하기 위해서 시간 초과(time out)를 활성화한다.

 

PX4 flight stack의 경우 전원이 공급된 후 바로 PWM_DISARMED 펄스를 보내기 때문에 설정이 올바르게 되어있다면 변속기의 시간 초과는 발생하지 않는다.   

 

- 유효 펄스의 모양, 전압 및 업데이트 속도

 

픽스호크는 모든 메이저 브랜드(Futaba, Specktru, FrSky)처럼 능동 고펄스(active high pulse)를 사용한다.

 

PWM 인터페이스는 공식 표준은 아니지만 일반 마이크로 컨트롤러 모두 TTL 또는 CMOS 전압 레벨을 사용한다. TTL의 경우 전압이 0.8V보다 낮으면 저펄스, 2.0 V 보다 높으면 고펄스이다. 제조사에 따라서 기준값은 조금씩 다를 수 있다. CMOS 역시 TTL과 유사하다. 

 

* TTL은  transistor-transistor logic 약자로 트랜지스터와 트랜지스터를 조합한 논리 회로.

* CMOS는 complementary metal-oxide semiconductor의 약자이며 집적 회로의 한 종류.

 

 

2. OneShot 변속기

 

모양, 조립, 주의 사항 등 대부분의 사용방법이 PWM ESC와 동일하다.

 

 

3. DShot 변속기

 

DSHOT ESC (출처: www.aliexpress.com)

 

DShot 변속기 연결은 PWM ESC와 동일한데 변속기를 연결하면 픽스호크는 자동으로 선택한 프로토콜을 인식한다. 변속기의 종류는 파라미터를 이용해서 변경할 수도 있다.

 

만약 픽스호크에 MAIN 포트만 있을 경우, 무인비행체의 종류에 맞게 핀을 연결해주면 된다.

 

쿼드콥터인 경우는 아래와 같다.

 

 

만약 픽스호크에 AUX/MAIN 포트 또는 FMU/IO 포트가 있을 경우에는 파라미터 SYS_SUE_IO = 0으로 설정하면 AUX 또는 FMU 포트를 MAIN 또는 IO 포트처럼 사용할 수 있다.

 

하지만 이렇게 DSHOT를 사용할 경우, 무인비행체 종류에 따라 AUX 포트에 할당된 기존 출력은 더 이상 사용할 수 없는 문제가 있다.

 

픽스호크 4, CUAV 픽스호크 V5+처럼 FMUv5를 기반으로 하는 보드는 하드웨어 충돌을 피하기 위해서 4(AUX1 ~ AUX 4) 개의 FMU 핀만 지원하며 다른 핀들은 모터나 서보 출력에 사용할 수 없다.

 

당연한 이야기지만 FMU에 ESC/servos와 PWM ESC/servos를 함께 사용할 수 없다.

 

 

- 설정

 

!! 변속기를 설정하기 전에는 꼭 모터에서 프로펠러를 분리해야 한다.

 

파라미터 DSHOT-CONFIG로 DShot를 활성화한다(만약 이 파라미터가 없을 경우는 보드가 DShot를 지원하지 않는다는 의미이다.).

 

(QQG에서 파라미터 변경은 [드론 만들기] QGroundControl에서 Pixhawk 파라미터 변경하기 참조)

 

 

DShot의 속도에 따라 DShot150, DShot300, DShot600, DShot1200가 있다. 여기서 숫자들은 변속기가 지원하는 최고 속도로 단위는 kbit/s이다.

 

따라서 변속기 설정 시 우선 사용하는 변속기의 최대 속도를 파라미터에 입력하고 저장 후 재시작해야 한다.

 

 

그다음 Power Management Board에 배터리를 연결하고 무인비행체의 비행준비(arming)를 활성화하면 변속기는 초기화되고 모터는 올바른 방향으로 회전한다.

 

이때 모터가 올바른 방향으로 회전하지 않을 경우, 변속기에 명령어 내려서 방향을 변경한다.

 

명령어는 MAVLink Console에서 변속기에 보낼 수 있다.

 

 

만약 모터 1의 회전 방향을 번경할 경우 다음의 명령어를 명령어 입력 창에 입력해서 모터의 회전 방향을 변경한다.

 

모터 1 회전 변경

dshot reverse -m 1

 

변경사항 저장

dshot save -m 1

 

몇몇 DSHOT 변속기는 FC(Flight Controller)에 온도, 전압, 전류, 총 전류 소비량, RPM 수치를 송신할 수 도 있다.

 

이 기능을 사용하기 위해서는 DSHOT 변속기가 텔레메트리 신호선을 가지고 있어야 하며, 변속기의 모든 텔레메트리 신호선을 모아서 FC에서 사용하지 않는 시리얼 포트의 RX(receiver) 핀에 연결한 후 파라미터 DSHOT_TEL_CFG를 변경하여 텔레메트리 기능을 활성화한다.

 

 

사용하는 시리얼 포트를 선택한 후 저장한다.

 

저장이 완료되면 재시작하여 설정을 완료한다.

 

텔레메트리가 잘 동작하는지는 MAVLink Console에서 다음 명령어로 확인할 수 있다.

 

dshot esc_info -m 1

 

이때 배터리가 Power Management Board에 연결되어 있어야 한다.

 

 

3. UAVCAN ESCs

 

PX4는 ESC, GPS 모듈뿐만 아니라 여러 가지의 센서 등의 주변장치를 연결하기 위해서 UAVCAN을 지원한다.

 

Zubax Orel 20 (출처: https://docs.px4.io)

 

 

UAVCAN 변속기는 PWM 변속기와 비교해서 상대적으로 먼 거리에 대해서 견고성과 신뢰성 있는 통신, 양방향 통신이라 상태 모니터링과 진단이 동시에 가능, 간단한 와이어링, 수동으로 각 모터를 회전시키기 때문에 변속기 번호 매기기를 설정할 때 더 쉬운 장점이 있다.

 

PX4는 모든 UAVCAN 변속기와 호환이 되지만 현재는 UAVCAN v0 만 지원한다.

 

대중적으로 사용되고 있는 UAVCAN 변속기 펌웨어/제품은 아래와 같다.

- Sapog 펌웨어:  Zubax Orel 20, Holybro Kotleta20

- Mitochondrik: - Zubax Sadulli Integrated Drive

- Myxa 

- VESC Project ESCs

- OlliV/s UC4H ESC-Actuator Node

 

- 와이어링/연결

 

on-board UAVCAN 변속기를 체인(chain)에 연결하고 버스(bus)가 끝단 노드에서 종단되었는지 확인한다.

 

- PX4 설정

 

PX4에서 UAVCAN 변속기를 사용하기 위해서 UAVCAN 드라이버를 허용해야 한다.

 

먼저 배터리를 연결(FC뿐만 아니라 전체 무인비행체에 전원 공급)하고 QGroundControl을 실행한다.

 

설정에서 파라미터를 이동한 후 파라미터 UAVCAN_ENABLE을 선택한다.

 

 

Sensor and Actuator...(3)으로 선택하고 저장한다.

 

변경사항을 저장하기 위해서 재부팅하면 변경이 완료된다.

 

- 변속기 설정

 

일반적으로 UAVCAN 장치는 플러그 앤 플래이(plug and play)이지만 PX4로 제어하기 위해서 사용하는 각 변속기에 번호와 방향을 설정해야 한다. 

 

UAVCAN 변속기의 번호를 설정하는 방법은 변속기에 따라서 다르기 때문에 사용하는 변속기의 사용설명서를 참조해서 설정하면 된다.

 


EMAX ESC(PWM 형태)는 Pixhawk와 호환상에 문제가 여전히 존재하는 것 같다. 변속기 구입 시 EMAX 제품은 피하는 게 좋겠다.


 

관련글 더보기

댓글 영역