'Quadcopter'에 해당되는 글 79건

  1. 2016.09.12 클린플라이트 설정 - 비행 모드 - Modes
  2. 2016.09.11 클린플라이트 설정 - 프로필 - Profiles
  3. 2016.09.11 클린플라이트 설정 - 초음파 센서 - Sonar
  4. 2016.09.09 클린플라이트 설정 - 부저 - Buzzer
  5. 2016.09.09 클린플라이트 설정 - 디스플레이 - Display
  6. 2016.09.09 클린플라이트 설정 - 띠형 LED - LED Strip
  7. 2016.09.09 클린플라이트 설정 - 텔레메트리 - Telemetry
  8. 2016.09.09 클린플라이트 설정 - 수신신호강도 - RSSI
  9. 2016.09.09 클린플라이트 설정 - GPS
  10. 2016.09.09 클린플라이트 설정 - 배터리 체크 - Battery Monitoring
  11. 2016.09.08 클린플라이트 설정 - 비상대책 - Failsafe
  12. 2016.09.08 클린플라이트 설정 - Spektrum bind support
  13. 2016.09.07 클린플라이트 설정 - 수신기 - Receiver, Rx
  14. 2016.09.07 클린플라이트 설정 - 시리얼 - Serial
  15. 2016.09.07 클린플라이트 설정 - 명령어입력 - CLI (2)
  16. 2016.09.07 클린플라이트 설정 - 설정 - Configuration
  17. 2016.09.07 클린플라이트 설정 - 설치 - Installation
  18. 2016.09.07 클린플라이트 설정 - 안전 - Safety
  19. 2016.09.06 클린플라이트 설정- 시작하기 - Getting Started
  20. 2016.09.06 클린플라이트 설정 - 개요 - Introduction
  21. 2016.09.01 F1, F3, F4 비행 콘트롤러
  22. 2016.08.30 레이싱 드론용 비행콘트롤러
  23. 2016.04.01 Tower 앱으로 자동미션 날리기 (2)
  24. 2016.03.30 Pixhawk 쿼드콥터의 비행중 배터리 전압 하강 문제
  25. 2016.03.24 Pixhawk 쿼드콥터 조립(10) -비행계획수립(Mission Planning) (2)
  26. 2016.03.21 Pixhawk 기체 진동측정(Measuring Vibration)
  27. 2016.01.15 Pixhawk 쿼드콥터 조립(8) - 비행전 점검 (4)
  28. 2016.01.14 Pixhawk 쿼드콥터 조립(7) - 기본 튜닝 (8)
  29. 2015.12.25 Pixhawk 쿼드콥터 조립(6) - 시동 및 운전 (4)
  30. 2015.12.24 Pixhawk 쿼드콥터 조립(5) - 하드웨어 설정
드론/쿼드콥터2016. 9. 12. 09:24

비행 모드(Modes)

Cleanflight는 여러가지 모드가 있어서 켜거나 끌 수 있습니다. 모드는 조종간(stick) 위치 보조 수신기 채널, 기타 비상대책 감지 같은 이벤트를 통해 활성화 비활성화 할 수 있습니다.

MSP IDCLI IDShort NameFunction
00ARM모터와 비행 안정화 활성화
11ANGLE예전의 자동레벨(auto-level) 비행 모드
22HORIZON자동레벨(Auto-level) 비행 모드
33BARO

고도고정(Altitude hold) 모드
(기압계 센서 필요)

4N/AVARIOUnused
54MAG방향 고정(Heading lock)
65HEADFREE

방향 자유(Head Free) - yaw 가
pitch/roll 입력에 영향을 주지 않음

76HEADADJ

방향 변경(Heading Adjust) - HEADFREE
모드에새로운 yaw 원점 부여

87CAMSTAB카메라 안정화(Camera Stabilisation)
98CAMTRIGUnused
109GPSHOME

HOME 위치로 자동 비행

1110GPSHOLD동일한 좌표 유지
1211PASSTHRU

RX로부터 roll/yaw/pitch 값을 

Airplane에 직접 전달

1312BEEPERON소리 활성화 - 추락기체 탐색에 편리함
1413LEDMAX
1514LEDLOW
1615LLIGHTS
1716CALIB
1817GOVUnused
1918OSD

OSD 활성/비활성화

2019TELEMETRY텔레메트리 활성화(스위치로)
2120GTUNE

G-Tune - Pitch/Roll/Yaw P 값을
자동 튜닝

2221SONAR

고도고정(Altitude hold) 모드
(초음파 센서 전용)

2322SERVO1Servo 1
2423SERVO2Servo 2
2524SERVO3Servo 3
2625BLACKBOX블랙박스 기록 활성화
2726FAILSAFE비상대책 2단계 수동으로 진입
2827AIRMODE

안정적인 콥터를 위한
별도의 Mixer와 추가 PID 로직

모드 상세(Mode details)

방향 자유(Headfree)

방향 자유 모드에서는 멀티콥터의 "방향(head)" 가 항상 최초로 기능이 활성화된 때와 동일한 방향을 가르킵니다. 즉, 멀티콥터가 Z 축(yaw)방향으로 회전하여도, 동일한 "head" 방향에 따라 반응합니다.

이 모드를 사용하면 멀티콥터를 조종하기가 쉽습니다. 기체의 앞쪽이 물리적으로 나를 향하고 있다고 해도 이와 관계없이 조종 되기 때문입니다. 특히 이 모드는 멀티콥터 초보자에게 친숙한 모드로, 앞쪽 방향을 몰라도 조종을 할 수 있습니다.

GPS Home위치로 복귀(Return To Home)

현재 작업중입니다. 이 모드는 아직 안정적이 아니므로, 사용하다가 경험하신 부분을 개발자에게 알려주시면 감사하겠습니다.

이 모드에서는 기체가 시동걸렸을 때 기록된 GPS 위치로 기체가 돌아옵니다.

이 모드는 Angle 혹은 Horizon 모드, 고도고정(Altitude hold) 모드와 함께 사용해야 합니다.

GPS가 3D 고정이 되어야 하며 최소 5개의 위성이 보여야 합니다.

GPS 위치 고정(GPS Position Hold)

현재 작업중입니다. 이 모드는 아직 안정적이 아니므로, 사용하다가 경험하신 부분을 개발자에게 알려주시면 감사하겠습니다.

이 모드에서는 이 모드가 활성화된 시점의 GPS 위치에 계속 머무르려고 시도합니다.

비활성화하고 다시 활성화하면 GPS 위치를 재설정합니다.

이 모드는 Angle 혹은 Horizon 모드, 고도고정(Altitude hold) 모드와 함께 사용해야 합니다.

GPS가 3D 고정이 되어야 하며 최소 5개의 위성이 보여야 합니다.

에어모드(AirMode)

In the standard mixer / mode, when the roll, pitch and yaw gets calculated and saturates a motor, all motors will be reduced equally. When motor goes below minimum it gets clipped off. Say you had your throttle just above minimum and tried to pull a quick roll - since two motors can't go any lower, you essentially get half the power (half of your PID gain). If your inputs would asked for more than 100% difference between the high and low motors, the low motors would get clipped, breaking the symmetry of the motor balance by unevenly reducing the gain. Airmode will enable full PID correction during zero throttle and give you ability for nice zero throttle gliding and actobatics. 

표준적인 믹서 모드에서는 roll/pitch/yaw가 모터를 계산하고 포화시켜서 ???, 모든 모터가 동등하게 속도를 줄이게 됩니다. 모터가 최하한선 밑으로 가게 되면 꺼지게 됩니다. 현재 throttle의 최하한선 바로 위에 있다고 가정하고 빠르게 roll을 당겼다고 해보죠. 두개의 모터는 하한 아래이기 때문에 출력이 반으로 떨어지는 결과가 됩니다. (half of your PID gain ???) 빠른 모터와 늦은 모터간에 100%이상 차이나도록 조작할 경우, 늦은 모터는 꺼지게 되어 이득(gain)이 불균등하게 감소함으로써 모터 균형의 대칭성이 깨어지게 됩니다. 에어모드(Airmode)는 throttle 0 동안 PID 조정을 최대로 하여, zero throttle gliding 과 acrobatics를 할 수 있도록 해줍니다.???

But also the cornering / turns will be much tighter now as there is always maximum possible correction performed. Airmode can also be enabled to work at all times by always putting it on the same switch like your arm switch or you can enable/disable it in air. Additional things and benefits: Airmode will additionally fully enable Iterm at zero throttle. Note that there is still some protection on the ground when throttle zeroed (below min_check) and roll/pitch sticks centered. This is a basic protection to limit motors spooling up on the ground. Also the Iterm will be reset above 70% of stick input in acro mode to prevent quick Iterm windups during finishes of rolls and flips, which will provide much cleaner and more natural stops of flips and rolls what again opens the ability to have higher I gains for some. Note that AIRMODE will also overrule motor stop function! It will basically also act as an idle up switch.

그뿐 아니라, 최대한 많은 조정이 시행되므로, 코너링/턴이 훨씬 빡빡하게 이루어지게 됩니다. 에어모드는 또한 시동스위치와 동일한 스위치에 설정하여 항상 동작하도록 할 수도 있고, 공중에서 활성화/비활성화 시킬 수도 있습니다. 추가적인 장점 : 에어모드는 추가적으로 0 throttle에서 Iterm을 완벽하게 활성화시킵니다. 참고로 0 throttle (below min_check)이고 roll/pitch 가 중앙에 있을 때 기본적인 약간의 보호장치가 있습니다.???? 지상에서 모터가 떠오르지 못하도록 제한하는 기본적인 보호장치입니다. ??? 아울러 Iterm 은 70% 스틱 입력 위에서 재설정됩니다. Roll/Flip 을 끝낼 때 너무 빠른 Iterm 마무리를 방지하기 위해서 입니다. 이렇게 되면 Roll/Flip이 훨씬더 깔끔하고 자연스러워지며, I 게인을 어느정도 더 높일 수 있는 길이 열리게 됩니다. 참고로 에어모드는 모터정지 기능을 덮어쓰게 됩니다!! 또한 기본적으로 idle up 스위치로 작동됩니다. ????

보조채널 설정(Auxiliary Configuration)

예비용 보조 수신기 채널을 사용하여 여러가지 모드를 활성화/비활성화 시킬 수 있습니다. 일부 모드는 이 방법으로만 활성화시킬 수 있습니다.

수신기를 설정하여, 스위치 혹은 다이얼을 조작하면 5번 채널 이상의 채널 데이터를 송신하도록 합니다. (처음 4개의 채널은 일반적으로 throttle, aileron, rudder, elevator 채널로 할당되어 있습니다.)

예를 들어 3 positon 스위치를 낮은 위치에서 1000을 보내도록 설정하고 중간 위치에서 1500, 높은 위치에서 2000을 보내도록 설정할 수 있습니다.

tx/rx 채널 한계를 1000부터 2000까지의 값을 사용하도록 설정합니다. 모드 range에서 사용하는 범위는 900 부터 2000으로 고정됩니다.

채널이 지정된 범위 이내에 들어오면 해당되는 모드가 활성화됩니다. 

GUI 설정 도구를 이용하면 쉽게 설정할 수 있습니다.

CLI

CLI 명령 [aux] 를 사용하면 보조채널 설정이 가능합니다. 다음과 같은 5개의 매개변수가 필요합니다.

  • AUD 범위 슬롯 번호 (0 - 39) 
  • 모드 id (위에 있는 리스트를 보세요.)
  • AUX 채널 인덱스 (AUX1 = 0, AUX2 = 1,... etc) 
  • 낮은 위치, 900 부터 2100. 25의 배수여야 합니다.
  • 높은 위치, 900 부터 2100. 25의 배수여야 합니다.

낮은위치와 높은위치가 동일한 값을 사용하면 무시됩니다.

예를 들어 AUX 범위 슬롯 0를 AUX1이 1700-2100 사이에 들어오면 ARM을 활성화하도록 설정할 경우, 다음과 같이 설정합니다.

aux 0 0 0 1700 2100

아무런 매개변수없이 [aux] 명령을 사용하면 현재의 AUX 설정 정보가 표시됩니다.

====

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Modes.md

이전글 : 프로필(Profiles)

다음글 : 비행중 조정(In-flight Adjustments)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 11. 22:41

프로필 (Profiles)

프로필이란 설정 값의 모음입니다.

현재 프로필은 3개까지 지원됩니다. 기본 프로필은 0입니다.

프로필 변경(Changing Profiles)

프로필은 GUI를 통해 바꿀 수 있습니다. 다음과 같은 스틱 조합을 통해서도 바꿀 수 있습니다.

ProfileThrottleYawPitchRoll
0DownLeftMiddleLeft
1DownLeftUpMiddle
2DownLeftMiddleRight

CLI [profile] 명령으로도 가능합니다.

profile <index>

Rate 프로필

Cleanflight는 일반 프로필외에 Rate 프로필을 지원합니다.

Rate 프로필에는 조종 입력에 따은 기체 반응 방법을 조정하는 설정이 들어 있습니다.

세가지 Rate 프로필이 지원됩니다.

Rate 프로필은 비행중 조종 기능을 사용하여 비행하는 동안에도 선택할 수 있습니다.

각각의 일반 프로필은 'default_rate_profile'이라는 설정이 있습니다. 프로필이 활성화되면, 해당되는 rate 프로필도 활성화됩니다.

프로필 0 는 기본 rate 프로필이 0 입니다. 프로필 1 은 기본 rate 프로필이 1 이고 Profile 2는 기본 rate 프로필이 2입니다.

이처럼 기본적으로 프로필과 rate 프로필을 쉽게 설정할 수 있도록 되어 있습니다. ????

현재의 rate 프로필은 CLI [rateprofile] 명령을 사용하여 설정하거나 볼 수 있습니다.

rateprofile <index>

rate 프로필에 포함된 값들은 CLI [dump reates] 라는 명령을 사용하여 볼 수 있습니다. 아래는 그 예입니다.

# dump rates

# rateprofile
rateprofile 0

set rc_rate = 90
set rc_expo = 65
set thr_mid = 50
set thr_expo = 0
set roll_pitch_rate = 0
set yaw_rate = 0
set tpa_rate = 0
set tpa_breakpoint = 1500

====

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Profiles.md

이전글 : 초음파센서(Sonar)

다음글 : 모드(Modes)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 11. 17:33

초음파 센서(Sonar)

초음파 센서는 기압계(BARO)와 초음파(SONAR) 고도 고정 모드를 사용하여 높이를 측정하는데 사용될 수 있습니다.

초음파 센서는 낮은 고도(지상 3.5미터 이하)에서 압력센서(기압계) 대신 사용할 수 있습니다. 초음파센서는 기체 기울기(자세)가 작을 때(22.5도 이하)만 사용할 수 있습니다.

하드웨어(Hardware)

현재 주 지원 센서는 HCSR04 센서입니다. Parallax 28015 단선(single-wire) 소나도 Trigger와 Echo 핀에 1k 저항을 연결하면 사용할 수 있습니다. 또한 저항 반대편은 서로 연결하고 소나 모듈과 연결시키면 됩니다. ???

          1k
TRIGGER--/\/\--\
                \_______ 28015 SONAR
          1k    /
ECHO-----/\/\--/

연결(Connections)

Maze/Flip32+

ModeTriggerEchoInline 1k resistors
Parallel PWM/ADC current sensorPB8 / Motor 5PB9 / Motor 6NO (5v tolerant)
PPM/Serial RXPB0 / RC7PB1 / RC8YES (3.3v input)
제한

전력계는 병렬식 PWM, 초음파 센서와 함께 사용할 수 없습니다.

Olimexino

TriggerEchoInline 1k resistors
PB0 / RC7PB1 / RC8YES (3.3v input)
제한

전력계는 초음파 센서와 함께 사용할 수 없습니다.

CC3D

TriggerEchoInline 1k resistors
PB5 / RC4PB0 / RC5YES (3.3v input)
제한 

초음파 센서는 Softserial 또는 병렬식 PWM과 함께 사용할 수 없습니다.

SPRacingF3

TriggerEchoInline 1k resistors
PB0 / RC7PB1 / RC8YES (3.3v input)
제한

초음파 센서는 SoftSerial2 또는 병렬식 PWM과 함께 사용할 수 없습니다.

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Sonar.md

이전글 : 부저(Buzzer)

다음글 : 프로필(Profiles)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 9. 22:42

부저(Buzzer)

Cleanflight 는 다음과 같은 목적에 사용되는 부저를 지원합니다.

  • 저전압 경고 (배터리 모니터링이 활성화되었을 때)
  • 시동/시동해제 소리 (아울러 시동되어 있는 동안 경고 음)
  • 교정 완료 상태 알림
  • TX-AUX 작동 삐삐 - 기체 추락시 위치를 찾는데 유용함
  • 비상대책 상태
  • 비행 모드 변경
  • Rate 프로필 변경 (TX-AUX 스위치를 통해서)

시동/시동해제를 콘트롤 스틱으로 수행할 경우, 스틱을 시동해제에 둘때 반복되는 톤이 들립니다. "lost-model locator"로서 사용될 수 있습니다.???

보드에 전원을 넣었을 때 즉시 세번 삐삐거리면 자이로스코프 교정이 성공했다는 뜻입니다. Cleanflight 는 매번 전원을 넣을 때마다 자동적으로 자이로를 교정합니다. 따라서 세번 삐삐 소리가 들릴 때까지 콥터를 땅위에 안정적으로 놓아두는 게 중요합니다. 교정하는 동안 콥터를 상당히 움직이면, 그때까지의 결과를 삭제하고, 콥터가 안정된 후 다시 교정을 실시합니다. 이때는 세번 삐삐소리가 나중에 들립니다. 콥터를 약간만 움직였을 경우 자이로 교정이 틀릴 수 있고 비행이 잘 되지 않을 수 있습니다. 이 경우 스틱 명령을 통해 수동으로 자이로를 교정해야 하거나, 전원을 껐다가 다시 켜야 합니다.

GPS가 고정되면 울리는 특별한 시동 톤이 있습니다. 또한 GPX가 고정된 후 들리는 "준비완료" 톤도 있습니다. TX-AUX 스위치를 통해 울리는 톤은 GPS가 고정되어 있을 경우, 위성의 숫자만큼 울리게 됩니다.

CLI 명령인 [play_sound]를 사용하면 부저 톤을 스험해보는데 유용합니다. 이 명령을 반복적으로 입력하면 여러가지 톤이 순차적으로 울리게 됩니다. 숫자인덱스를 변수로 입력하면(아래를 보세요) 관련 톤이 울립니다.

부저는 부저가 연결되면 기본적으로 활성화됩니다.

톤의 종류(Tone Sequences)

부저톤 순서 (사각파 생성)은 홀수번째가 부저가 켜진 상태로 얼마나 지속되는지, 짝수번째는 꺼진 상태로 얼마나 지속되는지를 나타냅니다. 이 지연시간의 단위는 10 milisecond 입니다. (즉 5이면 50 ms)

Sequences available in Cleanflight v1.9 and above are :

Cleanflight v1.9 이상의 버전에서 사용할 수 있는 톤 순서는 다음과 같습니다.

0    GYRO_CALIBRATED       20, 10, 20, 10, 20, 10   자이로가 교정됨
1    RX_LOST_LANDING       10, 10, 10, 10, 10, 40, 40, 10, 40, 10, 40, 40, 10, 10, 10, 10, 10, 70    SOS 모르크 코드
2    RX_LOST               50, 50       TX 꺼짐 혹은 신호 꺼짐(TX가 정상이 될때까지 반복됨)
3    DISARMING             15, 5, 15, 5     보드의 시동이 꺼짐
4    ARMING                30, 5, 5, 5      보드에 시동이 켜즘
5    ARMING_GPS_FIX        5, 5, 15, 5, 5, 5, 15, 30    시동이켜지고 GPX가 고정됨
6    BAT_CRIT_LOW          50, 2        배터리가 극히 낮음(반복)
7    BAT_LOW               25, 50       배터리가 낮아짐 (반복)
8    NULL                  multi beeps      GPS 상태(위성의 수)
9    RX_SET                10, 10       RX가 설정됨(aux 채널이 GPS가 활성화 되었을 때 위성의 숫자만큼 울리도록 설정되어 있을 때)
10   ACC_CALIBRATION       5, 5, 5, 5       ACC 비행중 교정 완료
11   ACC_CALIBRATION_FAIL  20, 15, 35, 5    ACC 비행중 교정 실패
12   READY_BEEP            4, 5, 4, 5, 8, 5, 15, 5, 8, 5, 4, 5, 4, 5    GPS 고정 및 콥터가 준비완료
13   NULL                  multi beeps      삐삐 소리 여러번 (확인, GPS 숫자 등)
14   DISARM_REPEAT         0, 100, 10       스틱이 시동해제 위치에 있음(중지(pause) 이후)
15   ARMED                 0, 245, 10, 5    보드가 시동이 걸림(중지 이후 ; 보드가 시동해제 또는 Throttle이 상승할 때까지 반복)

지원되는 버저의 유형(Types of buzzer supported)

버저는 보드에 있는 GPIO 출력핀을 활성화/비활성화 시키기만 하면 버저가 활성화/비활성화 됩니다. 즉, 버저는 반드시 전연이 연결됨으로써 톤을 생성할 수 있어야 한다는 뜻입니다.

아날로그 또는 PWM 신호가 필요한 버저는 작동하지 않으며, 끄르릭 거리는 잡음이나 아무런 소리도 나지 않습니다.

아래는 현재까지 동작이 확인된 버저의 예입니다.

연결(Connections)

Naze32

지원되는 부저를 직접 BUZZ 핀에 연결합니다. 극성을 확인하세요. 아울러 기체 외부에 비행콘트롤러를 설치한 경우, (예를 들어 벤치에) 5V를 공급하고, ESC에 접지를 연결해야 합니다. 아니면 부저가 작동하지 않습니다.

CC3D

CC3D에 부저가 지원되도록 하려면 입력이 PA15가 되도록 부저회로를 만들어야 합니다. CC3D Revision A 스키마틱에 따르면 PA15는 사용되지 않고 연결되지 않습니다. PA15에 연결하려면 주의깊게 납떔해야 합니다.

자세한 내용은 CC3D - buzzer circuit.pdf 를 보세요.

====

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Buzzer.md

이전글 : 디스플레이(Display)

다음글 : 초음파 센서(Sonar)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 9. 17:28

디스플레이(Display)

Cleanflight는 기체 및 cleanflight 상태에 한 정보를 알려주는 디스플레이를 지원합니다.

기체를 시동을 걸면, 디스플레이는 갱신되지 않아 비행은 영향을 받지 않습니다. 시동을 끄면 화면에 여러가지 페이지가 돌아가며 나타납니다.

현재 페이지에 나타나는 정보, 페이지의 종류, 페이지가 표시되는 시간 등을 변경할 방법은 없습니다. 이것을 핸드링할 코드를 작성해주시면 감사하겠습니다.

지원되는 하드웨어

현재 지원되는 하드웨어는 SSD1306 / UG-2864HSWEG01 뿐입니다.

설정(Configuration)

CLI에서 DISPLAY 기능을 활성화합니다.

[feature DISPLAY]

SSD1306 OLED displays

SSD1306 은 128x64 OLED 디스플레이로서, 태양광하에서도 잘 보이며, 작고, 전력을 조금 소모합니다. 이때문에 기체 용도로 이상적입니다.

현재 SSD1306 보드는 여러가지가 있는데, 모두 등일하지 않고 작동하려면 약간의 추가적인 수정이 필요합니다. 현명하게 선택하세요!~

디스플레이 링크 :

banggood.com 디스클레이가 현재 가장 싸며, I2C ACK 신호를 를 정확하게 보내줍니다.

Crius CO-16

이 디스플레이는 사용하지 않는게 좋지만, 수정하면 작동됩니다.

1단계

공급된 상태로는 I2C ASK 신호가 보내지지 않습니다. 제작자가 D1 과 D2를 브릿지 시키지 않았기 때문입니다. 이를 고치려면 스크린으로 들어갈 때 두개의 핀을 납땜으로 붙여야 합니다. 이렇게 하지 않으면 스크린에 아무것도 나오지 않습니다.

2단계

14번 핀을 메인보드로부터 분리시켜야 합니다. 그리고 10nF 또는 100nF 콘덴서를 30번 핀과 잘라낸 14번 핀 사이에 결합합니다.

3단계

100K 저항을 9번핀과 잘라낸 14번 핀사이에 연결합니다.

2단계와 3단계를 수행하지 않으면 디스플레이가 파워를 넣을 때만 작동하며, 어떤 때는 수많은 점들이나 꺠진 영상만 나오게 됩니다.

이 절차에 대한 자세한 사항은 여기를 읽어보세요. http://www.multiwii.com/forum/viewtopic.php?f=6&t=2705&start=10

연결(Connections)

+5v, 접지, I2C SDA, I2C SCL 을 비행콘트롤러로부터 디스플레이에 연결합니다.

Naze32 rev 5 보드에서는 SDA 와 SCL 패드가 보드 아래쪽에 있습니다.

====

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Display.md

이전글 : 띠형 LED(LED Strip)

다음글 : 부저(Buzzer)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 9. 16:29

띠형 LED (LED Strip)

Cleanflight는 주소를 지정할 수 있는 띠형 LED 를 지원합니다. 주소지정 띠형 LED는 띠에 있는 각각의 LED를 프로그램하여 각자 독특하고 독립적인 색이 나오도록 할 수 있습니다. 이는 띠에 있는 모든 LED 가 동일한 색이 나오는 일반 띠형 RGB 보다 훨씬 진보된 것입니다.

주소지정 띠형 LED는 비행콘트롤러로부터 나오는 정보를 표시하는데 사용할 수 있으며, 현재 지원되는 것은 다음과 같습니다.

  • 최대 32 개의 LED
  • 피치/롤 스티 위치를 보이는 표시자(Indicators)
  • 방향/자세 
  • 비행모드 별 독자적인 색깔 지정
  • 저전압 경고
  • AUX로 On/Off 스위치
  • GPS 상태
  • 수신강도(RSSI) 수준
  • 배터리 수준

32개 이상의 LED도 지원가능하며, 추가 개발만 필요합니다.

지원되는 하드웨어(Supported Hardware)

현재 32개의 WS2811/WS2812 만 지원됩니다. 더 길어도 관계는 없지만, 첫 32개만 사용합니다.

WS2812 LED는 800khz 신호와 정확한 타이밍이 필요하며, 따라서 전용 하드웨어 타이머가 있어야 합니다.

참고 : 모든  WS2812 IC가 동일한 타이밍을 사용하지 않습니다. 생산 batch에 따라 timing 이 달라질 수 있습니다.

사용자가 요청한다면, CLI를 통하여 필요한 타이밍을 지정할 수 있습니다. 

시험완료된 하드웨어

  • Adafruit NeoPixel Jewel 7 (기본적인 테스트) 
    • 모두 하얀색으로 했을 때 전력소모량 : 약 350 mA
    • mini 250 쿼드의 모터밑에 장착가능
  • Adafruit NeoPixel Stick (잘 작동함) 
    • 모두 하얀색으로 했을 때 전력소모량 : 약 350 mA

연결 (Connection)

WS2812 LED strips generally require a single data line, 5V and GND.

WS2812 띠형 LED는 일반적으로 하나의 데이터 선과 5V, GND 가 필요합니다.

WS2812 LED 를 완전히 밝게 하면 상당한 전류가 소모됩니다. 전류 소모량을 확인하고 수용가능한지 확인해보시는 게 좋습니다. 여러개의 BEC ESC를 사용하는 멀티로터에서는 FC가 사용하지 않는 BED를 사용하는 것이 좋습니다. 예를 들어 ESC1/BEC1 -> FC, ESC2/BEC2 -> LED. 반은 어떤 BEC에서 전원을 뽑고, 나머지 반은 다른 BEC에서 뽑는 것도 가능합니다. 다만, GROUND는 모든 BEC 출력와 LEC가 동일한지 확인하세요.

TargetPinLED StripSignal
Naze/OlimexinoRC5Data InPA6
CC3DRCO5Data InPB4
ChebuzzF3/F3DiscoveryPB8Data InPB8
SparkyPWM5Data InPA6

Naze/Olimexino의 경우 SoftSerial도 RC5 를 사용합니다. 즉, SortSerial과 LED를 동시에 사용할 수 없습니다. 또한 Naze, Chebuzz, STM23F3Discovery targets 에서는 RC5가 병렬형 PWM RC 입력에도 사용되므로, 띠형 LED를 병렬형 PWM 과 동시에 사용할 수 없습니다.

LED가 깜빡거리거나 색이 다르다면, VIN을 4.7v 이하로 내리세요. VIN의 내장 diode를 띠형 LED에 사용하면 됩니다. 이 문제는 데이터 신호와 전원 신호간의 전압 차이로 인한 것입니다. WS2811 LED는 데이터 신호(Din)가 0.3 * Vin (Max) 와 0.7 * VIN(Min) 사이에 있어야 합니다. ??? CPU에 있는 LED 핀은 항상 0v 에서 약 3.3v 사이이므로 Vin 은 4.7v (3.3/0.7 = 4.71v)이어야 합니다. LED에 따라 관용도가 달라집니다.

데이터시트는 여기를 보세요. : http://www.adafruit.com/datasheets/WS2812.pdf

설정(Configuration)

(이하 생략합니다)

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/LedStrip.md

이전글 : 텔레메트리 (Telemetry)

다음글 : 디스플레이(Display)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 9. 14:26

텔레메트리(Telemetry)

텔레메트리는 기체를 날리는 동안 기체에서 발생하는 일들을 알 수 있습니다. 아울러 배터리 전압이나 GPS 위치 등을 송신기에서 받아볼 수 있습니다.

텔레메트리는 항상 켜둘 수도 있고, 시동을 걸었을 때만 활성화 시킬 수도 있습니다. 텔레메트리용 시리얼 보트는 다를 기능과 공유할 수 있으며, 그 포트에 시동되었을 때만 활성화됩니다.??

텔레메트리는 'TELEMETRY` 기능으로 활성화 시킵니다.

       [feature TELEMETRY]

현재 FrSky, Graupner HoTT V4, SmartPort (S.Port), LightTelemetry (LTM) 등 여러가지 텔레메트리 제품이 현재 지원됩니다. 

모든 텔레메트리 시스템은 시리얼 포트를 사용하며, 시리얼포트를 텔레메트리용으로 설정해야 합니다.

FrSky telemetry

FrSky 텔레메트리는 오직 전송만 하고, 시리얼포트의 TX 핀을 FrSKY 텔레메트리 수신기의 RX 핀에 연결면 하면 됩니다.

FrSky 텔레메트리 신호는 역전되어 있습니다. cleanflight 보드를 FrSky 수신기에 연결하려면 다음과 같은 몇가지 선택이 있습니다.

  1. 하드웨어 인버터 - 일부 비행콘트롤러에는 내장되어 있음
  2. 소프트웨어 시리얼을 사용하고 [frsky_inversion]을 활성화 함
  3. 소프트웨어로 설정가능한 하드웨어 역전이 있는 비행콘트롤러(예: STM32F30x) 를 사용함

1의 경우 UART 또는 소프트웨어 시리얼보트에 인버터를 결합하면 됩니다.

2나 3의 경우 다음과 같은 CLI 명령을 사용합니다.

[set telemetry_inversion = ON]

사용가능한 센서

다음과 같은 센서들을 송신할 수 있습니다.

  • Vspd : 수직속도. 단위는 cm/s. 
  • Hdg : 방향. 북쪽은 0°, 남쪽은 180°
  • AccX,Y,Z : 가속도계 값
  • Tmp1 : baro temp(있을 경우). 아니면 gyro
  • RPM : 시동걸렸을 때는 throttle 값, 아니면 배터리 용량(Taranis 의 경우 Blade 수를 12로 설정해야 함)
  • Cels : 평균 셀 값. vbat을 셀 수로 나눈 값임
  • VFAS : 실제 vbat 값 (아래의 VFAS 정밀도 부분을 볼 것)
  • Curr : 실제 전류 소모량 (단위 ㅁ)
  • Fuel : capacity를 설정하였을 경우 남은 배터리 퍼센트. 아니면 mAh 방출량. 
  • GPS : GPS 좌표 
  • Alt : 기압계 기반의 고도. 초기값은 0
  • Date : 전원을 넣은 후의 시간 
  • GSpd : 현재 속도. GPS를 기반으로 측정함
  • GAlt : GPS 고도. 해수면이 0
  • Tmp2 : 위성의 수. GPS 신호의 품질을 표현하기 위해 매초 100이상의 숫자가 들어옴

VFAS를 위한 정밀도 설정

Cleanflight는 VFAS(FrSky Ampere Sensor Voltage)를 다음 두가지 방법으로 보낼 수 있습니다.

[set frsky_vfas_precision = 0]

이는 기본값으로 VFAS 해상도 0.2 볼트를 지원하며, 모든 FrSky 하드웨어가 지원합니다.

[set frsky_vfas_precision = 1]

이는 새로운 설정으로 VFAS 해상도 0.1 볼트를 지원하며, OpenTX radio(custon ID 0x39사용함)만 지원합니다.

HoTT 텔레메트리

Electric Air Module 과 GPS 모듈만 나열됩니다.

송신기와 수신기에 최신의 Graupner 펌웨어를 사용하세요.

예전의 HoTT 송신기는 EAM과 GPS 모듈이 송신기의 텔레메트리 메뉴에서 활성화되어야 했습니다. (예 : MX-20)

시리얼포트는 두개의 선을 사용하지만, HoTT는 한 선만 사용하므로, 신호가 뒤섞이지 않도록 약간의 조작이 필요합니다. 시리얼포트의 TX와 RX 핀을 다이오드로 연결하고 HoTT 수신기의 T 포트에 연결해야합니다.

아래와 같이 연결하세요.

  • HoTT TX/RX T -> Serial RX (직접 연결) 
  • HoTT TX/RX T -> Diode -( |)- > Serial TX (다이오드를 통해 연결)

다이오드는 데이터 신호가 바른 방향으로 흐르도록 배열해야 합니다.

-( |)- == Diode, | indicates cathode marker.

1N4148 다이오드는 테스트가 완료되었으며, GR-24.와 작동됩니다.

As noticed by Skrebber the GR-12 (and probably GR-16/24, too) are based on a PIC 24FJ64GA-002, which has 5V tolerant digital pins.
Note: The SoftSerial ports may not be 5V tolerant on your board. Verify if you require a 5v/3.3v level shifters.

참고로 SoftSerial 포트는 5V 를 견디지 못할 수 있습니다. 5v/3.3v 변환기가 필요한지 확인해 보세요.

LightTelemetry(LTM)

(이하는 생략합니다)

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Telemetry.md

이전글 : 수신신호강도(RSSI)

다음글 : 띠형 LED (LED strip)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 9. 13:52

수신신호강도(RSSI)

수신신호강도(RSSI)는 신호강도를 측정하는 것으로, 기체가 범위를 벗어났는지 혹은 주파수 간섭을 받는지 등을 알 수 있는 편리한 방법입니다.

일부 수신기는 RSSI 출력이 있습니다. 다음과 같이 3가지 유형이 지원됩니다.

  • PPM 채널을 통한 RSSI 
  • 병렬식(Parallel) PWM 채널을 통한 RSSI
  • RSSI 출력이 있는 PPM RC의 ADC를 통한 RSSI - RSSI ADC라고도 함

PPM을 통한 RSSI

Configure your receiver to output RSSI on a spare channel, then select the channel used via the CLI.

수신기에서 RSSI를 별도의 채널에 출력하도록 설정하고, CLI를 통해 사용된 채널을 선택합니다.

채널 9를 사용한다면 다음과 같이 설정합니다.

   [set rssi_channel = 9]

참고 EZZUHF 와 같은 일부 시스템의 경우 RSSI를 역전(invert)시킵니다. ( 0 = Full signal / 100 = Lost signal).  이 문제를 해결하려면 다음 명령을 사용하여 채널 입력을 역전시켜야 합니다. 

   [ set rssi_ppm_invert = ON]

기본값은 "OFF"입니다. ( 100 = Full signal / 0 = Lost signal).

병렬 PWM을 통한 RSSI

RSSI 신호를 아무 PWM 입력 채널에 연결시키고, RSSI 채널을 PPM을 통한 RSSI와 동일한 방법으로 설정합니다.

RSSI ADC

RSSI 채널을 RC2/CH2 입력에 연결합니다. 신호는 반드시 0v 와 3.3v 사이어야 합니다. 필요하다면 inline 저항을 사용하여 전압을 떨어뜨리세요. inline smoothing 콘덴서 도 도움이 될 수 있습니다. 간단한 PPM->RSSI conditioner는 쉽게 만들 수 있습니다. 자세한 내용은 PPM-RSSI conditioning.pdf 를 참고하세요.

CLI 명령은 다음과 같습니다 :

  • RSSI_ADC 기능을 활성화 시킵니다. : [feature RSSI_ADC]
  • RSSI_SCALE 변수(1-255)를 사용하여, RSSI 수준을 사용중인 설정에 따라 조정합니다. ADC 원시입력값은 이 변의의 값으로 나눠지게 됩니다.

RSSI_SCALE 설정 명령 :

  • [rssi_scale = 100] 으로 설정합니다. 표시된 퍼센트는 ADC 원시값이 됩니다.
  • RX 를 겹니다(보드와 가깝게). RSSI값이 약간 변합니다.
  • rssi_scale 을 방금전 측정한 최대 RSSI 값으로 갱신합니다.

FrSky D4R-II 와 X8R 가 지원됩니다.

RX_PARALLEL_PWM 가 활성화된 상태에서는 사용할 수 없습니다.

====

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Rssi.md

이전글 : GPS

다음글 : 텔레메트리(Telemetry)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 9. 11:28

GPS

Cleanflight에서 GPS 기능은 실험중입니다. 무엇인가 발견한다면 개발자에게 알려주세요.

GPS는 윗쪽에, 다른 방해요인으로부터 멀리 떨어뜨려 설치하면 좋습니다.

전자나침판 센서는 전자파간섭으로부터 멀리 떨어뜨려야 합니다. 즉, 전선, 모터, ESC등으로 부터 멀리 띄우세요.

NMEA text 와 UBLOX binary 등 두가지 프로토콜을 지원합니다.

설정(Configuration)

CLI로 활성화시키는 방법은 다음과 같습니다.

  1. 시리얼포트를 GPS 용으로 설정합니다.
  2. GPS baud rate 을 설정합니다.
  3. [feature GPS] 을 활성화합니다.
  4. [gps_provider]를 설정합니다.
  5. GPS를 GPS용 시리얼포트에 연결합니다.
  6. 저장하고 리부팅합니다.

GPS 제공자

[gps_provider]를 적절히 설정합니다. 예 : gps_provider=UBLOX

Value
NMEA
UBLOX

GPS 자동 설정 (GPS auto configuration)

When using UBLOX it is a good idea to use GPS auto configuration so your FC gets the GPS messages it needs.

UBLOX를 사용한다면, GPS 자동 설정을 사용하는 것이 좋습니다. FC에서 필요한 GPS 메시지를 가져옵니다.

[set gps_auto_config=ON] 을 하면 GPS 자동설정이 활성화됩니다.

GPS 자동설정을 사용한다면 올바른 주파수로 올바른 메시지를 내보네는지 확인하세요. 자세한 사항은 아래에 있는 UBlox 설정을 보세요.

SBAS

UBLOX GPS를 사용할 경우, [gpx_sbas_mode] 를 사용하여 SBAS 모드를 설정할 수 있습니다.

기본값은 자동(AUTO)입니다.

ValueRegion
AUTOGlobal
EGNOSEurope
WAASNorth America
MSASAsia
GAGANIndia

지역별 설정을 사용하면 AUTO를 사용하는 것보다 GPS가 더 빨리 고정됩니다.

이 설정은 [gps_auto_config=ON] 일 경우에만 적용됩니다.

GPS 수신기 설정(GPS Receiver Configuration)

UBlox GPS 기기는 FC를 통해서 설정할 수도, 직접 설정도 할 수 있습니다.

UBlox GPS 직접 설정(Ublox GPS mannual configuration)

UBlox U-Center를 사용하여 GPS와 컴퓨터를 연결합니다. 별도의 USART->USB 어댑터가 없을 경우, CLI [gpspassthrough] 명령을 사용할 수도 있습니다.

참고로 SPRacingF3와 같이 많은 보드가 USB에서 GPS모듈로 +5V 를 제공해주지 않습니다. [gpspassthrough]를 사용하면, 보드에서 허용할 경우 콘트롤러에 BEC를 연결할 필요가 있고, 아니면 별도의 UART 어댑터를 사용하세요. GPS 포트가 USB에서 전원을 끌어쓰는지 알고 싶다면 보드에 관한 문서를 확인하세요.

(이하 생략합니다)

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Gps.md

이전글 : 배터리 모니터링(Battery Monitoring)

다음글 : 수신신호강도(RSSI)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 9. 09:27

배터리 체크(Battery Monitoring)

Cleanflight 에는 배터리 모니터링 기능이 있습니다. 주 배터리의 전압을 시스템에서 측정하여, 배터리 저전압 경고 부저와, 내장된 상태 LED 표시(status LED flashing) 및 LED 띠 패턴(LED strip pattern) 등이 작동되도록 할 수도 있습니다.

저전압 경고는 다음과 같은 곳에 도움이 됩니다.

  • 기체를 안전하게 착륙시킬 시간이 있는지 확인
  • 적정량 이하로 방전시키면 안되는 LiPo/LiFe 배터리의 생명과 안전을 유지하는데 도움

최소/최대 셀 전압을 설정할 수 있습니다. 이 전압이 배터리를 처음 연결할 때 배터리의 셀의 수를 자동 감지하는데 사용됩니다.

셀별 모니터링은 지원되지 않습니다. 하나의 ADC를 사용하여 배터리 전압을 읽습니다.

지원되는 타겟(Supported Target)

모든 타겟이 배터리 전압 모니터링을 지원합니다. ???

연결(Connections)

배터리를 사용할 때는 반드시 양극/음극을 확인하세요.!!

예상 전압을 먼저 측정하고, 비행콘트롤러에 연결합니다. 잘못된 전압 혹은 극성을 반대로 비행콘트롤러에 연결하면 비행콘트롤러가 망가지기 쉽습니다. 사용하시는 비행콘트롤러에 특정 배터리 전압을 측정하는 분압기(voltage divider)가 있는지 확인하세요. ???

Naze32

Naze32에는 분압기가 내장되어 있으므로, 배터리를 VBAT 커넥터에 연결하시면 됩니다.

주의 : 주 배터리로부터 VBAT 커넥터에 연결할 때, 먼저 프레임/전원분배판(PDB)로부터 주 배터리를 분리하세요. 배터리를 다시 연결할 때, 전선을 주의깊게 확인하세요. 잘못 연결하면 그 즉시 완전히 비행콘트롤러와 연결된 주변기기(ESC, GPS, 수신기 등)이 망가집니다.

CC3D

CC3D에는 분압기가 없습니다. 전압 모니터링을 하려면 주 배터리가 완전 충전되었을 때 최고 출력이 3.3 v가 나오도록 분압기를 제작해야 합니다. 분압기 출력은 S5_IN/PA0/RC5에 연결하세요.

참고 :

  • S5_IN/PA0/RC5 는 8 핀 커넥터늬 7번핀, 즉 끝에서 두번째 핀으로, GND/+5/PPM 입력으로 부터 반대쪽입니다.
  • CC3D에 배터리 모니터링을 사용하면, PWM 입력에서 RC5는 사용할 수 없습니다.

Sparky

Sparky 보드 문서를 확인하세요.

설정(Configuration)

VBAT 기능을 활성화시킵니다.

다음과 같은 CLI 설정을 사용하여 최소/최대 셀 전압을 설정합니다.:

  • vbat_scale - 실제 측정되는 배터리 전압과 보고도는 값을 일치시키도록 이 값을 조정합니다.
  • vbat_max_cell_voltage - 셀당 최대 전압. 배터리 전압을 자동감지하는데 사용됨. 0.1V 단위임 즉, 43=4.3V
  • vbat_warning_cell_voltage - 셀당 경고 전압: 배터리 경고를 촉발시키는 값. 0.1V 단위임 (즉 34 = 3.4V)
  • vbat_min_cell_voltage - 셀당 최소 전압. 배터리 경고를 촉발시키는 값.  0.1V 단위임 (즉 33 = 3.3V)

예를 들어, 다음과 같이 설정

set vbat_scale = 110
set vbat_max_cell_voltage = 43
set vbat_warning_cell_voltage = 34
set vbat_min_cell_voltage = 33

전류 모니터링(Current Monitoring)

전류모니터링을 위해서는 전류계를 적절한 전류계 ADC 입력(사용하는 보드의 문서를 보세요)에 연결해야 합니다.

활성화되면, 다음 값들이 계산되어 텔레메트리와 OLED 디스플레이에 사용됩니다.

  • Amps 
  • mAh used 
  • Capacity remaining

설정(Configuration)

다음 CLI 설정을 사용하여 전류 모니터링을 활성화시킵니다.

    feature CURRENT_METER

current_meter_type 설정으로 어떤 유형인지 설정합니다.:

ValueSensor Type
NONENone
ADCADC/hardware sensor
VIRTUALVirtual sensor

battery_capacity 로 용량을 설정합니다. (단위 : mAh)

OSD를 사용할 경우, OSD는 multiwii 전력계 출력값을 사용하므로, multiwii_current_meter_output을 ON으로 설정합니다. (이렇게 하면 MSP로 보내지는 전력값을 10으로 곱하고, 음수는 잘라냅니다.)

ADC 센서

전력계는 ADC 입력에서 읽히는 값이 실제 전력량과 일치하도록 설정해야 할 필요가 있습니다. 전압계가 실제의 전압과 일치하도록 조종하는 것처럼, 전류센서를 조정하려면 전류계(ammeter)가 필요합니다.

다음의 설정을 사용하여 설정을 조정합니다.

   current_meter_scale current_meter_offset

ADC 전력센서를 교정할때에는 multiwii_current_meter_output을 OFF로 설정하는 것을 추천합니다.

가상센서(Virtual Sensor)

(이하 생략합니다)

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Battery.md

이전글 : 비상대책(Failsafe)

다음글 : GPS

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 8. 17:58

비상대책(Failsafe)

두가지 종류의 비상대책이 있습니다.

  1. 수신기 기반 비상대책
  2. 비행 콘트롤러 기반 비상대책

수신기 기반의 비상대책은 수신기가 신호가 끊겼다는 것을 감지할 경우, 송신기와 수신기로부터 채널에 원하는 신호를 넣도록 설정하여, 비상대책 모드로 들어가도록 하는 것입니다. Throttle 과 다른 조종을 설정하여 잘 제어된 상태로 기체를 하강시키도록 하자는 것입니다. 이 방법은 수신기의 문서를 확인하시기 바랍니다.

비행콘트롤러 기반의 비상대책은 비행콘트롤러가 신호가 끊겼는지 혹은 수신기가 비상대책 모드로 들어갔는지 계속 감시하다가, 감지되면 비상대책 1단계로 들어갑니다. 비행콘트롤러가 모든 콘트롤에 대해 비상용 설정을 사용하기 시작한다는 아이디어 입니다. 비상용 설정은 CLI 의 rxfail (rx 문서의 rxfail 부분을 참고하세요) 또는 Cleanflight 설정프로그램 GUI를 사용하여 설정합니다.

두가지 유형을 동시에 사용할 수 있으며 그렇게 하는 게 바람직 할 수 있습니다. 비행콘트롤러 비상대책은 수신기 신호선이 느슨해졌거나, 망가졌거나, 수신기 자체로는 감지할 수 없는 수신기 고장 등의 경우도 도움이 될 수 있습니다.

또 다른 방법으로 송신기 스위치에 비상대책 모드를 가동시키는 기능을 설정할 수도 있습니다. 야외에서 비상대책 체계가 작동하는지 시험할 때도 유용하고, 방향감을 상실했을 때 PANIC 스위치로도 유용합니다.

비행콘트롤러 비상대책 체계(Flight controller failsafe system)

이 시스템은 두가지 단계가 있습니다.

비행채널의 pulse length가 잘못되어 수신기가 비상대책 모드를 신고할 때, 혹은 수신기에서 아무런 신호가 없을 때 1단계(Stage 1)로 들어갑니다.

참고 : 1단계에 들어가기 앞서, 펄스가 잘못된 각각의 AUX 채널에 비상용 설정도 적용됩니다.

기체가 시동이 걸려있고, 1단계가 설정된 보호시간(falisafe_delay)보다 더 길어지면 2단계(Stage 2)로 들어갑니다. 선택된 2단계 절차(failsafe_procedure)가 덮어쓰지 않는다면, 모든 채널은 적용된 비상용 설정으로 유지됩니다.

2단계는 비행콘트롤러가 부팅된 뒤 5초까지는 작동되지 않습니다. TX/RX 장비가 바인딩하는데 시간이 걸리는 경우 등으로 원치않게 발동되는 것을 막기 위함입니다.

비상대책 모드를 제어하도록 송신기를 설정했을 경우 스위치가 ON으로 켜지면 (falisafe_kill_switch 는 OFF), 2단계가 직접 발동됩니다.

2단계는 다음과 같은 경우 중단됩니다.

  • 잃어버린 RC 신호가 회복되었을 경우
  • 송신기 비상대책 스위치가 ON 위치로 갔다가 OFF로 설정된 경우 (failsafe_kill_switch 는 OFF)

아울러 다음 사항들을 참고하세요.

  • 2단계 절차가 끝나면 비행콘트롤러는 시동을 끕니다. 이후 수신기로부터 신호가 30초간 복구되고, 시동 스위치가 OFF 위치(시동 스위치를 사용할 경우)로 될 때까지 재시동은 불가능합니다.
  • failsafe_kill_switch가 ON으로 설정되어 있고, 비생대책용으로 지정된 송신기 스위치가 ON으로 되면 기체는 즉시 시동이 꺼집니다. 수신기로부터 신호가 적어도 3초동안 복구되고, 시동스위치가 OFF 위치에 있는 경우 재시동이 가능합니다. 'failsafe_throttle'을 1000으로 두고 'failsafe_off_delay'를 0으로 설정하면 비슷한 효과를 거둘 수 있습니다. 하지만, 이는 별로 좋은 방법이 아닙니다. 반응속도가 느리고 재시동이 Lock 되기 때문입니다.
  • 2단계 개입이 시작되기 전, 마지막 failsafe_throttle_low_delay 초 동안 Throttle 위치가 min_throttle 수준 밑에 있는지 체크합니다. 만약 그렇다면 기체는 땅위에 있다고 생각하고 시동만 끕니다. 이 경우 전원을 껐다 켜지 않아도 재시동이 가능합니다.

안전에 관한 몇가지 참고사항

  • 현재의 throttle 위치와 관계없이 비상대책이 발동됩니다. 따라서 비상대책 가동이 중단될 때(RC 신호가 복구되고 비상대책 스위치가 OFF로 설정) 현재의 스틱 위치가 그대로 기체에 전해집니다.!!
  • 기체가 이미 땅위에서 모터가 꺼진채 있을 수 있으며, 모터와 프롭이 다시 회전할 수 있습니다. 소프트웨어는 현재 기체가 땅에 있는지 감지하지 못합니다. MOTOR+STOP 기능을 사용할 때 주의하세요. MOTOR_STOP 기능이 ON인 상태로 시동될 경우 모터가 경고없이 회전할 수 있고 비상대책이 가동될 수 있습니다!

설정(Configuration)

비행콘트롤러 비상대책을 설정할 경우, 다음의 절차를 사용하세요.

  1. 수신기를 다음중 하나로 설정하세요.
    • 신호를 잃었을 때, 채널로 no signal/pulse를 보내세요.
    • 채널로 올바르지 않은 신호를 보내세요. (예를 들어 rx_min_usec보다 낮은 값으로 보내기)

아울러

    • FC에 의해서 등록된 스위치 또는 스틱에 의해 시동중지를 지시하는 채널데이터를 보내지 마세요. 이는 스위치를 사용해 시동을 거는 경우 특히 중요합니다.

이렇게 하는 방법은 수신기의 문서를 확인하시기 바랍니다.

  • 송신기의 스위치중 하나를 failsafe 모드를 가동시키도록 설정하기
  1. failsafe_off_delay를 비행고도에 근거하여 적당한 값으로 설정
  2. failsafe_throttle을 기체가 약 초당 1미터씩 하강하도록 설정(기본값은 1000으로 throttle off)

이상은 비행콘트롤러 비상대책을 설정하는 기본적인 절차입니다. 아래에 있는 비상대책 설정을 보시면 추가적으로 변경할 사항을 알 수 있습니다.

비상대책 설정(Failsafe Settigs)

비상대책 지연(Failsafe delay)는 0.1초 단계로 설정됩니다.

1 step = 0.1초

1 초 = 10 step

failsafe_delay

신호가 끊긴 뒤 비상대책 가동까지의 보호시간. 비상대책을 발동하기 전에 제대로된 신호를 다시 받을 수 있는지 비행콘트롤러가 기다리며 살펴보는 시간입니다.

failsafe_off_delay

비상대책이 가동된 후 실제로 모터가 꺼질 때까지의 지연시간. "failsafe_throttle"이 활성화되는 시간입니다. 기체가 높은 궤도로 난다면, 안전하게 하강할 때까지 더 많은 시간이 필요할 수 있습니다.

failsafe_throttle

착륙에 사용되는 Throttle 수준. 기체가 약 1 m/sec로 내려오도록 값을 설정하세요. 기본값은 1000으로, throttle off와 동등합니다.

failsafe_kill_switch

RC 스위치로 비상대책 가동할지 설정 : 무선 링크가 끊겼을 때와 동일한 행태(OFF 로 설정) 또는 즉시 시동중지 (ON으로 설정)중 선택할 수 있습니다. 자세한 내용은 위를 참고하세요.

failsafe_throttle_low_delay

완전한 비생대첵 절차 대신 시동을 끄기 위해 Throttle 레벨을 min_throttle 밑으로 내리는 시간

표준 RX usec 값을 사용합니다. RX 문서를 참고하세요.

failsafe_procedure

  • 낙하(Drop): 그냥 모터를 끄고 시동중시시킴(기체가 떨어짐)
  • 착륙(Land): 자동수평(auto-level)모드를 켜고 비행스틱을 가운데로 유지하고, throttle을 지정한 값(failsafe_throttle)으로 지정한 시간(failsafe_off_delay)동안 유지합니다. 이렇게 하면 기체가 안전하게 착륙할 수 있습니다.

rx_min_usec

유효한 최소 채널 값. 예: PWM/PPM 펄스시간

rx_max_usec

유효한 최대 채널 값. 예: PWM/PPM 펄스시간

rx_min_usec 과 rx_max_usec 설정은 송신기가 아무런 데이타도 보내지 않을 때를 감지하여 비상대책 모드로 들어갈 때나 수신기가 신호를 잃었을 때를 감지하는데 도움이 됩니다.

Graupner GR-24 를 채널 1-4에 비상대책으로 PWM 출력하도록 설정하였을 경우, 수신기 설정에서 OFF로 설정합니다. 그려면 이 설정이(기본값일 경우) 비상대책 모드가 가동되도록 합니다.

시험(Testing)

비행전 비상대책 체계를 시험하는 방법 - 프롭은 제거할 것

  1. 시동
  2. 송신기 전원을 끄거나, 수신기의 선을 뽑음
  3. 지정한 시간동안 지정한 throttle 설정으로 모터가 회전하는 지 관찰
  4. 지정한 시간 후 모터가 꺼지는 지 관찰
  5. 다시 송신기를 켜거나 수신기를 연결했을 때 모터가 꺼진 후에는 재 시동이 불가능한지 확인
  6. FC의 전원을 껐다 켬
  7. 시동
  8. 송신기 전원을 끄거나, 수신기의 선을 뽑음
  9. 지정한 시간동안 지정한 throttle 설정으로 모터가 회전하는 지 관찰
  10. 송신기를 켜거나 수신기를 연결
  11. 스위치 위치에 관계없이 기체가 시동이 꺼지는지 확인(아니라면 신호가 연결되었을 때 하늘로 날라가버림)
  12. 정상적인 비행 행태로 돌아오는지 확인
  13. 시동 끔

비상대책 체계 필드 테스트

  1. 먼저 비행전 테스트를 시행할 것! 
  2. 바람 없는날 빌딩에서 멀리 떨어진 사람들이 없는 곳 또는 안전 보장이 되는 실내 테스트장 (예 : 실내 그물망)에서 시행
  3. 시동
  4. 부드러운 것(긴 풀,  양치식물,  풀밭, 발포고무 등)위에서 호버링
  5. 기체를 내리면서 throttle의 위치를 확인하고 송신 채널 모니터를 통해 throttle 값을 기록. 이상적으로는 1500에서 호버링. 따라서 이 값이 1500 이하이어야 함.
  6. 정지. 시동끔
  7. failsafe_throttle 을 기록한 값으로 설정
  8. 시동. 부드러운 것 위에서 호버링
  9. 송신기를 끔.(!) 
  10. 기체가 하강하고 정해진 시간동안 모터가 계속 회전 하는지 관찰
  11. 지정한 시간 이후 FC가 시동을 끄는지 관찰
  12. 배터리 제거

기체가 너무 빨리 내려오면 failsafe_throttle 값을 증가시키세요.

Ensure that the duration is long enough for your craft to land at the altitudes you normally fly at. 

기체를 일반적으로 날리는 고도에서 안전하게 착륙할 수 있도록 failsafe_off_delay 값을 설정하세요.

위의 절차로 테스트해보기 전에 송신기를 끄는 대신, 비상대책을 가동시키는 스위치를 사용하여 테스트 하면 좋습니다.

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Failsafe.md

이전글 : Spectrum bind support

다음글 : 배터리 모니터링(Battery Monitoring)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 8. 17:37

Spektrum bind support


====

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Spektrum%20bind.md

이전글 : 수신기(Receiver)

다음글 : 비상대책(Failsafe)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 7. 23:20

수신기(Receivers, Rx)

수신기(Receiver)는 송신기(Transmitter)가 보내온 무선 조정 신호를 받아, 비행콘트롤러가 이해할 수 있는 신호로 변환합니다.

수신기는 3가지 기본 유형이 있습니다.

  1. 병렬식 PWM 수신기
  2. PPM 수신기
  3. 시리얼 수신기

2016년 현재 시리얼 혹은 PPM 방식의 수신기를 추천합니다. 병렬식 PWM 수신기(1채널당 1선)는 피하세요. 이는 병렬식 PWM 기반의 수신기가 IO 핀을 많이 사용하기 때문입니다. 일부 새로운 FC의 경우, 병렬식 PWM 을 지원하지 않습니다.

병렬식 PWM  수신기(Parallel PWM Receiver)

8개의 채널을 지원하며, 하나의 핀당 하나의 채널이 할당됩니다. 일부 플랫폼에서는 병렬식 입력을 받으면 시리얼 포트나 SoftSerial 기능이 비활성화 되어 텔레메트리나 GPS 기능을 사용할 수 없습니다.

PPM 수신기

PPM은 PPM SUM 혹은 CPPM 이라고도 합니다.

하나의 입력핀에 12개의 채널까지 사용가능. 시리얼 통신을 사용하는 방법보다 정확하지는 않지만, 다양하게 사용됩니다.

다음 수신기들이 사용가능합니다.

시리얼 수신기(Serial Receiver)

시리얼을 통해 8채널까지 지원됩니다.

다음의 수신기가 사용가능합니다.

S.BUS

시리얼을 통해 현재 16채널을 지원합니다. 다음은 송신기를 설정하는 방법입니다.

  • 아마도 수신기와 비행 콘트롤러 사이에 인버터(inverter)가 필요할 수 있습니다. 하지만, 일부 비행콘트롤러는 이미 내장(예를 들어 CC3D 메인 포트의 경우)되어 있을 수 있습니다.
  • 일부 OpenLRS 수신기는 역전되지 않은(non-inverted) SBUS 신호를 내보냅니다. 이 경우, CLI 명령어중 sbus_inversion = OFF를 사용하면 역전을 취소할 수 있습니다. (F3 기반의 비행콘트롤러의 경우)
  • Softserial 포트는 SBUS와 함께 사용할 수 없습니다. SBUS의 bitrate(1Mbps)가 너무 높기 때문입니다. 어느포트를 사용할 수 있는지는 사용하시는 보드를 다룬 문서를 참고하세요.
  • You will need to configure the channel mapping in the GUI (Receiver tab) or CLI (map command). Note that channels above 8 are mapped "straight", with no remapping.
  • GUI(수신기 탭) 또는 CLI (map 명령)를 통해 채널매핑을 설정해야할 수도 잇습니다. 참고로 9번 이상의 채널은 remapping이 불가능합니다.

다음의 수신기가 사용가능합니다.

OpenTX S.BUS 설정

OpenTX 세트 송신기 모듈을 D16 모드에 사용하였다면, 모든 16채널을 수신하도록 바인딩하기 전에 송신기에서 CH1-16으로 선택하세요.

일부 Taranis X9D 및 수신기와 함께 판매되는 OpenTX 2.09는 버그 - issue:1701 - 가 있습니다. 이 버그로 인해 16채널을 사용할 수 없습니다. 최신의 OpenTX 버전으로 업그레이드하면 모든 16채널을 수신할 수 있는데, 수정하지 않을 경우 CH1-16/D16 설정을 어떻게 바꿔도 8채널만 사용할 수 있습니다.

기타 다음과 같은 송수신기 모드는 생략합니다.

  • SRXL (formerly XBUS)
  • XBUS MODE B RJ01
  • SUMD
  • SUMH
  • IBUS

MultiWii serial protocol (MSP)

MSP 명령을 RC 입력으로 사용할 수 있습니다. MSP와 호환성을 유지하기 위해 8 채널만 지원합니다.

설정(Configuration)

수신기 모드를 제어하는 3개의 기능이 있습니다 :

RX_PPM
RX_SERIAL
RX_PARALLEL_PWM
RX_MSP

한번에 단 한가지 수신기 기능만 활성화시킬 수 있습니다.

RX signal-loss detection

Cleanflight에는 신호망실 감지 기능이 있으며 항상 켜져 있습니다. 신호망실감지는 안전과 비상대책 이유로 사용됩니다.

rx_min_usec 과 rx_max_usec 설정을 사용하면, 수신기가 아무런 데이타도 보내지 않거나, 비상대책 모드로 들어가거나, 수신기가 신호를 잃어버릴때를 감지할 수 있습니다.

기본적으로 신호망실이 감지되면 FC는 pitch/roll/yaw를 mid_rc에서 설정한 값으로 설정합니다. Throttle은 rx_min_usec에서 설정한 값, 혹은 3D 기능을 사용할 경우에는 mid_rc로 설정한 값으로 설정됩니다.

신호망실이 감지되는 경우는 다음과 같습니다.

  • (무선 신호문제, 수신기 설정, 케이블 문제 등)으로 인해 rx_data가 받아지지 않는 경우
  • Serial RX를 사용하고 수신기가 비상대책(failsafe)조건을 나타낸경우
  • 첫 4개의 채널 중 하나라도 rx_min_usec, rx_max_usec 으로 지정한 범위에 들어오지 않는 경우

==== 

(이하는 생략)

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Rx.md

이전글 : 시리얼(Serial)

다음글 : Spektrum bind support

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 7. 17:56

시리얼(Serial)

Cleanflight 는 시리얼포트의 유연함을 향상시켰지만, 이로 인해 설정은 약간 복잡해졌습니다.

Cleanflight는 function(MSP, GPS, Serial RX 등)과 포트(VCP, UARTx, SoftSerial x) 라는 개념이 있습니다. 모든 포트에 모든 기능이 사용되는 것은 아닙니다. 하드웨어 핀 매핑, 기능의 충돌, 하드웨어 및 소프트웨어 제한 등 때문입니다.

시리얼 포트 유형(Serial port types)

  • USB 가상 콤 포트(VCP : Virtual Com Port) - USB 포트의 USB 핀이 직접 프로세서에 연결되어, 전용 USB에서 UART 어댑터가 필요 없습니다. VCP는 물리적 UART 포트를 '사용'하지 않습니다.??
  • UART - 전송 및 수신 핀의 전용 하드웨어 쌍으로, 신호의 검출 및 생성을 하드웨어에서 처리합니다. ??
  • SoftSerial - 전송 및 수신 핀의 전용 하드웨어 쌍으로, 신호의 검출 및 생성을 소프트웨어에서 처리합니다.

UART가 CPU 사용의 관점에서 더 효율적입니다. SoftSerial은 가장 효율성이 낮고 늦습니다. SoftSerial은 텔레메트리 송신과 같이 용량이 적은 경우에만 사용해야 합니다.

UART 포트는 가끔 온보드 USB -> UART 변환기를 통해 노출이 됩니다. Naze와 Flip32 보드에 있는 CP2102 등이 그 예입니다. 비행 콘트롤러가 온보드 USB -> UART 컨버터가 없고 VCP를 지원하지 않으면, 별도의 USB -> UART 변환보드가 필요합니다. 이런 보드를 FTDI 보드라고 합니다. FTDI는 사실 USB -> UART 보드에서 사용되는 칩(FT232RL)의 제작회사일 뿐입니다.

USB -> UART 변환기를 골라야 하면, DTR이 노출되어 있고, 3.3v 및 5v를 선택할 수있는 것으로 고르세요. 훨씬 유용하기 때문입니다.

예를 들면 : 

SoftSerial 및 UART 포트는 모두 USB -> UART 변환보드를 사용하면 PC에 연결할 수 있습니다.

시리얼 설정(Serial Configuration)

시리얼 포트 설정은 Cleanflight 설정프로그램 GUI를 이용하는 것이 가장 좋습니다.

먼저 시리얼포트를 설정하고, 포트를 사용할 기능을 활성화/비활성화 시킵니다. SoftSerial 포트를 설정할 경우, SOFTSERIAL 기능도 반드시 활성화 시켜야 합니다.

제한사항(Constraints)

만약 설정이 유효하지 않다면, 시리얼 포트 설정은 기본값으로 리셋되고 기능들이 비활성화 될 수 있습니다.

  • 반드시 MSP/CLS로 사용되는 포트는 존재해야 합니다.
  • MSP 포트는 최대 2개까지 가능합니다.
  • 포트에서 어떤 function을 사용하려면, 해당 function의 관계 기능도 활성화시켜야 합니다. 예 : 어떤 포트를 GPS로 사용하려면, GPS 기능을 활성화시켜야 합니다.
  • SoftSerial 을 사용할 경우 모든 SoftSerial 포트는 반드시 동일한 baudrate를 사용해야 합니다.
  • SoftSerial은 최대 19200 baud까지 사용할 수 있습니다.
  • MSP를 제외한 모든 텔레메트리 시스템은 buadrate를 덮어쓰려는 어떠한 시도도 무시합니다.
  • MSP/CLI 는 Blackbox 혹은 텔레메트리 둘중 하나와 공용할 수 있습니다. 공유한 모드에서 블랙박스나 텔레메트리는 시동이 걸렸을 때만 출력합니다.
  • Smartport 텔레메트리는 MSP와 공유할 수 없습니다.
  • 기타 어떤 시리얼포트 공유 조합도 불가능합니다.
  • 원한다면 여러가지 텔레메트리 시스템을 동시에 사용할 수 있습니다. 
  • 각각의 텔레메트리 시스템은 하나만 사용할 수 있습니다. 예를 들어, FrSky 텔레메트리를 동시에 사용할 수 없지만, MSP 텔레메트리 + FrSky 를 다른 포트에서 각각 사용하는 것은 무방합니다.

CLI 를 통한 설정

CLI를 사용하여 설정할 수 있지만, 명령어는 개발자 및 고급 사용자에게만 허용되어 있습니다.

CLI 명령 serial 은 다음 6가지 변수를 받습니다.

  1. Identifier 
  2. Function bitmask (see serialPortFunction_e in the source) 
  3. MSP baud rate 
  4. GPS baud rate 
  5. Telemetry baud rate (auto baud allowed) 
  6. Blackbox baud rate

Baud Rates

허용되는 baud rate는 다음과 같습니다.

IdentifierBaud rate
0Auto
19600
219200
338400
457600
5115200
6230400
7250000

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Serial.md

이전글 : 명령어입력(CLI)

다음글 : 수신기(Receivers, Rx)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 7. 17:13

명령어입력(CLI)

Cleanflight에는 설정을 바꾸거나 FC를 설정할 있는 명령어입력 인터페이스(CLI : Command Line Interface)를 지원합니다.

CLI에 접근하는 방법(Accessing CLI)

명령어입력환경은 GUI 도구를 통해서도 접근할 수 있고, CLI 시리얼 포트에 연결된 터미널 에뮬레이터를 통해서도 접근할 수 있습니다.

  • 터미널 에뮬레이터를 CLI 시리얼 포트(기본으로 MSP 시리얼포트와 동일함)에 연결합니다.
  • msp_baudrate(기본 115200)으로 설정한 baudrate를 사용합니다.
  • # 문자를 보냅니다.

설정을 저장하려면 'save'라고 입력합니다. 저장을 하면 비행콘트롤러가 재부팅됩니다.

저장하지 않고 CLI를 마치려면 비행콘트롤러를 끄거나 'exit'을 입력합니다.

명령어 목록을 보고 싶으면 'help'를 입력하고 리턴키를 누릅니다.

(현재의 프로파일을 포함하여) 설정상태를 덤프 받으려면, 'dump' 명령을 사용합니다.

CLI 명령 및 기타 설정에 관해서는 이 문서의 아래 부분을 참고하세요.

CLI를 통한 백업

메인 전원을 끊고, USB/FTDI 를 통해 CLI를 연결합니다.

CLI를 이용한 덤프

rateprofile 0
profile 0
dump

프로필(profile)을 CLI를 통해서 덤프받기

profile 1
dump profile
profile 2
dump profile

Rate 프로필(rate profile)을 CLI를 통해서 덤프받기

rateprofile 1
dump rates
rateprofile 2
dump rates

그 다음 화면에 출력된 내용을 복사하여 저장합니다.

CLI를 통한 복구(Restore)

먼저 CLI의 [defaults] 명령을 사용합니다.

백업을 사용하여 복구할 경우, 최신의 디폴트값을 덤프받아 무엇이 바뀌었는지 알아보는 게 좋습니다. - 펌웨어 버전이 새로 나올때 마다 이렇게 작업해 두면, 펌웨어 버전간의 CLI 변화을 알 수 있습니다. 예를 들어, 2014년 12월에 기본 GPS 내비게이션 PID 값들이 변경되었습니다. 만약 백업된 내용을 아무 생각없이 복구시키면, 새로운 기본값에 의한 좋은 점을 놓치게 될 것입니다.

CLI를 사용하여 저장된 백업 명령으로부터 모든 출력을 보냅니다.

파일을 너무 빨리 보내지는 마세요. USART 어댑터(내장 어댑터 포함)를 사용할때 FC가 속도를 따라잡지 못할 수 있기 때문입니다. 하드웨어적인 시리얼 flow 제어가 없기 때문입니다.

한번에 몇줄 정도씩만 복사/붙이기를 하는 것이 좋습니다.

완료된 뒤 백업 절차를 다시 반복하세요.!~

두개의 백업을 비교하여 복구된 설정이 만족스러운지 확인하세요.

필요하다면 새로운 기본값에 대해 이상에서 기술된 내용을 반복합니다.

CLI 명령어 참조 매뉴얼

명령어를 클릭하면 관련 문서페이지로 이동합니다.

CommandDescription
1wire <esc>passthrough 1wire to the specified esc
adjrangeshow/set adjustment ranges settings
auxshow/set aux settings
mmixdesign custom motor mixer
smixdesign custom servo mixer
colorconfigure colors
defaultsreset to defaults and reboot
dumpprint configurable settings in a pastable form
exit
featurelist or -val or val
getget variable value
gpspassthroughpassthrough gps to serial
help
ledconfigure leds
mapmapping of rc channel order
mixermixer name or list
mode_colorconfigure mode colors
motorget/set motor output value
play_soundindex, or none for next
profileindex (0 to 2)
rateprofileindex (0 to 2)
rxrangeconfigure rx channel ranges (end-points)
rxfailshow/set rx failsafe settings
savesave and reboot
setname=value or blank or * for list
statusshow system status
versionshow version
serialconfigure serial ports
servoconfigure servos
sd_infosdcard info
tasksshow task stats

CLI 변수 참조 매뉴얼

변수명을 클릭하면 관련 문서페이지로 이동합니다.

===== 아주 많음. 생략


원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Cli.md

이전글 : 설정(Configuration)

다음글 : 시리얼(Serial)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

  1. 잉어오빠

    덕분에 클린플라이트에 대해 많이 배우고 있습니다. 감사합니다~^^

    2016.11.01 07:18 [ ADDR : EDIT/ DEL : REPLY ]

드론/쿼드콥터2016. 9. 7. 14:56

설정(Configuration)

Cleanflight는 주로 Cleanflight 설정프로그램 GUI를 통해 설정합니다.

명령어입력방식(CLI) 및 GUI는 시리얼포트를 연결하면 접근가능합니다. USB 버추얼 시리얼포트, 물리적인 하드웨어 UART포트, SoftSerial 포트 등으로 연결하면 됩니다.

자세한 내용은 시리얼(Serial) 부분을 확인하시고, 사용하고 계신 보드에 어떤 시리얼포트가 있는지 등은 해당보드에 관한 정보를 확인하세요.

현재 GUI는 모든 내용을 설정할 수 없으므로, 일부 기능및 설정의 경우 반드시 CLI를 사용해야 합니다.

계속 개발중이기 때문에 GUI는 모든 설정을 백업하지 못하므로, 새로운 버전의 설정프로그램이나 펌웨어가 나올 경우 CLI를 사용하여 현재의 설정을 백업 받아두는 것이 좋습니다. 

GUI

Cleanflight 설정은 GUI 도구를 사용하는 것을 추천합니다. GUI 도구에는 명령어입력(CLI)이 가능한 터미널도 포함되어 있습니다.

크롬 스토어에서 Cleanflight 설정프로그램 받기

펌웨어 호환성문제로 최신버전의 GUI를 사용하여 FC에 접근할 수 없는 경우에도, CLI 를 통해 FC에 접근하여 설정값을 백업하는 등의 작업이 가능하며, 구 버전의 설치프로그램을 설치하여 사용할 수도 있습니다.

예전 버전의 설정프로그램(Configurator)는 Configurator releases 페이지 에서 다운로드 받을 수 있습니다. 설치방법은 해당 설정프로그램과 함께 나오는 README 파일을 확인하세요.

명령어입력(CLI)

Cleanflight 는 명령어입력 인터페이스(CLI)를 통해서도 설정할 수 있습니다.

자세한 내용은 명령어입력(CLI)를 참고하세요.

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Configuration.md

이전글 : 설치(Installation)

다음글 : 명령어입력(CLI)


Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 7. 14:28

설치(Installation)

설정프로그램(Configurator) 사용하기

아래는 Cleanflight 설치프로그램을 사용하여 보드를 초기화하는 일반적인 절차입니다. Cleanflight 설치프로그램은 모든 보드를 지원하지 않으므로, 진행하기 전에 가지고 계신 보드가 가능한지 문서를 확인하시기 바랍니다.

먼저 설치프로그램(Configurator)이 설치되어 있는지 확인한 후,

  • 비행콘트롤러를 PC에 연결합니다.
  • Cleanflight 설정프로그램을 시작합니다.
  • 자동으로 보드가 연결되었다면, "Disconnect" 를 클릭합니다.
  • "펌웨어 초기화(Firmware Flasher)" 탭을 클릭합니다.
  • 인터넷이 연결되어 있는지 확인하고 "Load Firmware[Online]" 버튼을 클릭합니다.
  • "펌웨어/보드 선택(Choose a Firmware /Board)" 드롭다운 메뉴를 클릭하고, 여러분의 비행콘트롤러에 해당하는 최신의 안정 버전을 선택합니다.
  • 중요 : 표시되는 발매노트(release notes)를 읽고 이해하세요. 업그레이드 할 경우에는 현재의 펌웨어 버전 이후의 모든 발매노트를 읽어보세요.
  • 맨처음으로 Cleanflight로 보드를 초기화한다면 "Full Chip Erase" 체크박스를 클릭하세요.
  • PC에 비행콘트롤러를 연결합니다. 올바른 시리얼포트가 선택되었는지 확인하세요.
  • "펌웨어 설치(Flash Firmware)" 버튼을 누르고 잠시 기다리세요.
  • 진행막대가 초록색으로 변하고 "Programming : SUCCESSFUL"이 뜨면 성공입니다.

직접 설치

가지고 계신 보드의 설치방법을 참고하세요.

업그레이드(Upgrading)

업그레이드 할 경우, 현재의 설정을 백업해두거나 Dump로 받아두세요. 일부 펌웨어는 역방향으로 호환되지 않을 수 있고, FC가 오래전 설정을 감지할 경우, 기본 설정으로 복구될 수 있습니다.

백업/Restore 절차

현재의 설정을 백업하고 다시 불러들이는 방법은 명령어입력(CLI)을 참고하세요.

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Installation.md

이전글 : 안전(Safety)

다음글 : 설정(Configuration)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 7. 14:08

안전(Safety)

많은 분들이 말씀하시는 것처럼, 멀티콥터와 RC 모델은 일반적으로 매우 위험합니다. 특히 테스트중엔 더 위험하고요. 아래는 몇가지 간단한 지켜야 할 사항들입니다.

  • 비행시킬 것이 아니라면 절대로 프로펠러를 꼽은 채 절대 시동을 걸지 마세요.
  • 처음으로 설정하거나 펌웨어를 설치하거나 기타 의심스러운 상황에서는 반드시 프롭을 제거하세요.

설치 전(Before Installing)

보다 상세한 정보는 명령어입력방식(CLI), 제어(Controls), 비상대책(Failsafe), 비행모드(Modes)등의 문서를 확인하시기 바랍니다.

Cleanflight 설정프로그램에서 수신기(Receiver)탭을 사용하여 Rx 채널의 중앙값이 1500(후타바 RC의 경우 1520)이고, 조종간을 움직였을 때 최소 최대값이 각각 1000, 2000에 이르는 지 반드시 확인하시기 바랍니다. 이 값을 잘못 설정하면 시동을 걸지못한다던지(끝 지점까지 도달할 수 없어서), 시동을 걸자마자 비상대책(Failsafe)이 가동된다던지와 같은 문제가 발생하게 됩니다.

RC 송신기 채널의 끝 지점과 트림/부트림을 조종하여야 1000 에서 2000이 도달할 수도 있습니다.

각 채널의 참조 값은 비행콘트롤러의 작동에 영향을 주고 비행모드에 따라 달라질 수 있습니다???

시동시 프롭회전(Props Spining When Armed)

기본 설정하에서는 콘트롤러가 시동을 걸면 프롭이 낮은 속도로 회전합니다. 이렇게 해두면 시동이 걸렸다는 걸 눈으로 확인할 수 있기 때문에 이렇게 설정하는 것을 추천합니다.

이러한 반응이 싫으시다면, 설정프로그램(Configurator)에서 MOTOR_STOP 과 관련 문서를 보세요. 이 기능을 활성화하면 시동을 걸더라도 프롭이 회전하지 않습니다.

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Safety.md

이전글 : 시작하기(Getting Started)

다음글 : 설치(Installation)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 6. 23:08

시작하기(Getting Started)

이 글은 Cleanflight를 사용하여 비행콘트롤러와 기체를 설정하여 날려보지 않은 분들에게 도움이 되는 단계별 가이드입니다. 하지만, 기본적인 RC 지식이 필요합니다. 완전히 아무것도 모르는 분이라면 이 글을 읽기전에 먼저 RC에 대한 개념과 기법(예, 기본적인 조정, 납땜, 송신기 조작 등)에 익숙해져야 합니다. RCGroupsYoutube show FliteTest 를 보시면 도움이 되실 겁니다.

면책조항: 이 문서는 계속 변경되고 있습니다. 우리는 여러분의 프로젝트의 성공이나 안전을 보장해드리지 않습니다. 이 시점에서 문서는 도움을 위한 가이드 수준으로, 안전과 성공을 위해 반드시 해야하는 것들에 대한 권위있는 체크리스트가 아닙니다. 항상 일반상식과 비판적 사고를 따르고 항상 주의해주시기 바랍니다.

Cleanflight에 대한 개요 및 커뮤니티 활동에 대해서는 개요(Introduction)을 읽어보시기 바랍니다.

하드웨어

참고 : 비행콘트롤러는 대부분 가속도계를 장착하고 있습니다. 이 기기는 충격에 민감합니다. 비행콘트롤러를 기체에 설치하기 전, 매우 부피가 작습니다. 콘트롤러를 떨어뜨리거나 부딪치면 가속도계에 큰힘이 작용하여 망가뜨릴 수 있습니다. 최소한 지켜야 할 것 : 보드를 기체에 설치하기 전까지 아주 조심해서 다루세요.

Cleanflight(이하 CF) 를 설치할 수 있는 하드웨어에 대한 개요에 대해서는 비행콘트롤러 하드웨어를 읽어보세요. 특정 보드에 대한 정보는 보드별 문서를 참고하세요.

  • 여러분이 비행콘트롤러보드(이하 FC)를 가지고 있다면 먼저 FC에 딸려오는 매뉴얼부터 읽어야 합니다. 소프트웨어 설정에 대해서는 생략할 수 있습니다. 이 글에서 다루기 때문입니다.
  • 수신기 연결방법을 결정하려면 수신기(receiver) 부분을 읽어보시고, ESC나 서보 등을 연결할 출력(output)에서 몇개의 핀이 필요한지 결정하려면 믹서(Mixers) 부분을 읽어세요.
  • Cleanflight로 배터리를 체크하고 싶다면 배터리 체크(Battery Monitoring)을 읽어보세요.
  • 콥터로부터 이상신호를 듣고 싶다면 저(Buzzer) 부분을 읽고, 사용할 핀에 표시를 해두세요.
  • 보드에서 전송되는 RC 수신기의 RSSI(수신신호강도)를 알고 싶다면 RSSI 를 참고하세요. 경우에 따라서 수신기와 FC 간에 추가적인 연결이 필요할 수도 있습니다.
  • 기체에 Loiter(고정비행)이나 Return to Launch(원점 복귀)기능을 위해 GPS 를 사용하시고 싶다면 GPS 부분 GPS 테스트 하드웨어를 읽어보세요.
  • 어떤 추가 장비(블랙박스, OSD, 텔레메트리 등)가 필요할지, 어떻게 연결하는지에 대해 알고 싶다면 시리얼(Serial) 부분을 읽어보시기 바랍니다. 
  • 이제 어떤 기능을 사용할 지, 어떤 핀이 필요한지 알았다면, 이제 장치들을 보드에 납땜하세요. 필요한 핀만 납땜하면 무게를 줄이고 깔끔하게 조립할 수 있지만, 나중에 새로운 기능을 추가하고 싶을 경우, 기체에서 보드를 분리하고 빠뜨린 핀을 추가로 납땜해야 하므로, 신중하게 계획을 세우세요. FC에 납땜을 하기전에 실수를 하지 않도록 납땜방법에 관한 정보를 확인하고, 충분하게 연습하시기 바랍니다.
  • Oneshot125를 사용할 계획이라면 점퍼를 사용해 ESC를 활성화시키거나, 최신의 안정된 펌웨어로 ESC에 새로 설치하거나, (지원할 경우) 세팅에서 Damped Light을 활성화시키세요. 자세한 내용은 ESC의 문서나 온라인 토론그룹을 확인하시기 바랍니다.

소프트웨어 설정(Software setup)

이제 보드를 결합했으면 FC 보드를 컴퓨터에 연결하여, 클린플라이트 펌웨어를 설치할 수 있습니다. 컴퓨터에 크롬 브라우저 혹은 구글 크롬을 설치하고, 구글 확장프로그램에서 Cleanflight 설정프로그램을 추가하고 실행시킵니다.

그 다음 여기에 있는 설명을 따라 FC에 펌웨어를 설치합니다. 

Cleanflight 설정

이제 FC에 Cleanflgiht 펌웨어가 설치되었으니, 연결하여 설정프로그램(Configurator)를 사용할 수 있습니다. 연결이 안된다면 바로 위에 있는 방법대로 다시한번 실행하세요.

CF를 설정하는 방법은 두가지가 있습니다. 설정프로그램 화면의 탭을 이용하는 방법(화면에서 값을 선택/변경하거나 체크박스를 클릭 하는 등)과 명령어입력 방식(CLI : Command Line Interface)입니다. 일부설정은 명령어 입력으로만 설정할 수 있으며, 일부 설정은 GUI 화면을 이용해 설정하는 것이 최선입니다. (특히 포트 설정의 경우, 명령어 방식은 설정방법이 문서로 정리되어 있지 않습니다.)

  • 이쯤에서 RC 수신기와 송신기를 설정하는 것이 좋습니다. Tx를 최소한 4채널(Aileron, Elevator, Throttle, Rudder)을 설정하되, 가능하다면 좀 더 설정하는 게 좋습니다. 예를 들어 채널 5, 6을 3위치 스위치로 설정해두었다가 나중에 이용할 수 있습니다. AIL/ELE/RUD에 EXPO를 설정할 수도 있지만, 나중에 CF 소프트웨어로도 설정할 수 있습니다. PPM 이나 PWM에서 RSSI(수신신호강도)를 사용한다면, Rx를 여분 채널에 출력하도록 설정하세요. 
  • 수신기를 FC에 연결하고, FC를 컴퓨터에 연결합니다. 필요하다면 Rx를 BEC를 통해 전원을 공급하세요.(5V. 양극/음극을 잘 확인하세요)
  • PC에서 Cleanflight 설정프로그램을 연결한 후, 첫번째 탭을 누릅니다. 보드를 움직이면 이에 따라 보드 애니메이션이 적절하게 움직이는지 확인하세요. 가속도계 교정을 실시합니다.
  • 설정 탭(Configuration Tab) : 기체의 배치형태(예 : Quad X)를 선택하고, 해당 탭에서 옵션들이 관련있는지 체크합니다.
    • 예 : Oneshot을 지원하는 ESC의 경우 ONESHOT125를 활성화시킬 수 있습니다.
    • RC 수신기가 PPM 출력을 사용할 경우, RX_PPM을 설정합니다.
    • FC의 배터리 관리기능을 사용할 계획이라면, Battery Voltage 밑에 있는 VBAT를 체크하세요.
    • 아날로그 RSSI를 사용한다면, RSSI 아래에서 활성화하세요. RSSI가 PPM 스트림에 넣어지는 RSSI를 사용하는 경우에는 이 설정을 활성화시키지 마세요.
    • FC가 시동준비(arming)되면 모터가 회전하게 됩니다. 이게 싫으시다면 MOTOR_STOP을 활성화하세요.
    • 아래의 지침에 따라 Throttle의 최소, 중앙, 최대 값을 조종하세요.
      • 최소 Throttle - 이 값을 모든 모터가 안정적으로 시작될 수 있는 최소 Throttle 수준으로 설정하세요. 너무 낮으면 일부 모터가 spindown 후에 적절하게 시작되지 않을 수 있고, 이로 인해 안정성이 떨어지고 제어가 안될 수 있습니다. 일반적으로 1100으로 설정합니다.
      • 중앙 Throttle - Throttle 을 중앙으로 두었을 때의 Throttle 수준. 많은 송수신기는 1500을 사용하지만, 후타바 등 일부는 1520 이나 다른 값을 사용할 수 있습니다.
      • 최대 Throttle - ESC가 수신하는 최대 Throttle 수준. 일반적으로 2000으로 설정합니다.
      • 최소 명령 - 기체를 시동해제되어 있을 때 모터가 회전하지 않도록 ESC에 보내는 "idle" 신호 수준입니다. 일반적으로 1000으로 설정합니다.
    • 마지막으로 Save를 클릭하고 리부팅을 합니다.
  • 수신기 탭(Receiver tab) :
    • 송신기의 입력에 따라 채널이 움직이는지 확인합니다.
    • RSSI를 사용한다면 RSSI 채널과 함께 채널 맵(Channel map)이 올바른지 확인합니다.
    • 각 채널이 약 1000에서 2000까지 들어오는지 확인합니다.  제어(Control) 쪽과 rx_min_usec rx_max_usec 도 확인하세요.
    • 여기에서 Tx 대신 EXPO를 설정할 수도 있습니다.
    • Save를 클릭합니다.
  • 모드 탭(Modes tab) :원하는 모드로 설정합니다. 각각의 모드에 대한 상세한 내용은 여기를 참고하세요. 처음에는 주로 HORIZON 모드가 필요합니다.
  • 이 절을 마치기 전에 반드시 ESC를 교정하고, FC를 프레임에 설치하고, 필요하다면 RSSI 케이블, buzzer와 배터리를 연결합니다.

최종 시험과 안전(Final Testing and Safety)

CF를 적절하게 설정해야만 기체가 딴데로 날라가던가 최악의 경우 사람이나 물건으로 날라가는 사태를 피할 수 있습니다. 매우 중요한 단계이므로 처녀비행때까지 연기해서는 안됩니다. 반드시 비행장으로 나가기 전에 지금 테스트 하세요.

  • 먼저 안전 부분을 읽습니다.
  • FC를 시동준비(arm)시키는 방법과 기타 제어(Control)에 대해 알아봅니다.
  • 다음으로 비상대책(Failsafe)를 설정합니다. 천천히 정확하게.
  • 이제 벤치에서 프롭은 꽂지말고 (윗 문서에 따라) 비상대책이 적절하게 작동하는지 시험합니다.
  • 추가로 Tx 의 AIL/ELE 의 효과가 기체에서 적절하게 반응하는지 시험해보세요. 마찬가지로 RUD 입력도 시험해 보세요.
  • AIL/ELE 자동 조종 방향을 테스트합니다. 프롭은 없는 상태에서 Throttle을 30% 정도 올리고 기체를 기울이면 이를 보정하기 위해서 순간적으로 모터 속도가 변경되는지 확인해보세요. 이는 무작위적인 바람에 FC가 대응하는지에 대한 시험입니다.
  • HORIZON 모드에서 AIL/ELE 자동 보정 방향을 테스트합니다. Throttle을 30%정도 올린 상태에서 기체를 기울이면 모터의 RPM이 올라가고 다시 수평으로 만들 때까지 높은 RPM이 유지되는지 봅니다. 이는 자동레벨 기능에 대한 시험입니다.

이 테스트중 하나라도 실패하면 시행을 하지 마시고 다시 설정합니다. 채널을 반대(reverse)로 바꿔야 할 수도 있고, 보드의 방향이 잘못 설정되어 있을 수도 있습니다.

비행(Flight)

야외로 나가서 수신기를 켜고 기체를 바닥에 놓은 후 배터리를 연결하고 기다립니다. 시동을 걸고 날립니다. 기체가 시동이 걸리지 않는다면 빨간색 LED 가 몇번 반짝거리는지 세어보고 제어(Controls) 부분에 들어가 이유를 알아보세요.

추가 정보

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Getting%20Started.md

이전글 : 개요(Introduction)

다음글 : 안전(Safety)


Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 6. 22:52

Cleanflight

Cleanflight에 오신 걸 환영합니다.

Cleanflight는 비행콘트롤러 펌웨어 및 관련 도구를 제공하고자 하는 커뮤니티 프로젝트입니다.

주요 목표(Primary Goals)

  • 커뮤니티가 주도함
  • 친밀한 프로젝트 분위기
  • 사용자의 필요에 집중함
  • 최고의 비행 성능
  • 이해가능하고 유지가능한 소스코드

하드웨어

자세한 사항은 비행콘트롤러 하드웨어를 참고하세요.

소프트웨어

소프트웨어는 펌웨어(firmware)와 설정도구(configuration tool)등 두 가지 부분으로 구성됩니다. 펌웨어는 비행콘트롤러 보드상에서 실행되는 코드입니다. GUI 설정도구(configurator)는 비행콘트롤러를 설정하는데 사용되며, 윈도, OSX, Linux 에서 실행됩니다.

피드백과 기여(Feedback & Contributing)

우리는 모든 종류의 피드백을 환영합니다. 원하신다면 우리는 언제든지 여러분의 의견을 원합니다. 문제가 있다면 어떻게 향상시킬 수 있는지 말씀해주시면, 모든 분들을 위해 개선할 수 있을 것입니다. 

기여하고 싶으시다면 다음의 글을 참고하세요.

https://github.com/cleanflight/cleanflight#contributing

개발자분들은 다음 글을 읽어보세요.

https://github.com/cleanflight/cleanflight/blob/master/CONTRIBUTING.md

====

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Introduction.md

다음글 : 시작하기 (Getting Started)

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 9. 1. 00:31

자주 묻는 질문중의 하나가 F1, F3, F4 는 어떤 차이가 있고, 어느것이 성능이 좋느냐 하는 것이다.

이 글은 Betaflight 혹은 Cleanflight를 사용하고 있는 사람들에게만 의미가 있고 유용할 것이다. 이 글은 F1 및 F3만 집중적으로 다룬다. 현재의 비행컨트롤러 중 대다수가 이 프로세서를 사용하고 있기 때문이다.

F1, F3, F4의 의미?

기본적으로 F1, F3는 비행콘트롤러의 두뇌인 STM32 프로세서의 다른 시리즈이다. STM32 시리즈는 현재 F7, F4, F3, F2, F1, F0, L4, L1, L0, W 등 10가지가 있다. 

F1 비행 콘트롤러의 좋은 예가 Naze32 와 CC3D이며, F3 보드로는 X-Racer, Motolab Tornado, Seriously Pro Racing F3, RMRC Dodo 등이 있다. 자세한 사항은 레이싱 드론용 비행 콘트롤러를 확인하라.

또한 이미 F4 비행콘트롤러도 나와 있다. OpenPilot Revolution, Sparky V2 등이 그 예이다.

Seriously Pro Racing F3Seriously Pro Racing F3

F1과 F3 의 차이

간단히 말해 F3는 F1에 비해 다음과 같은 장점이 있다.

  • 클럭속도는 동일하지만, 부동소숫점연산(floating point calculation)이 빠르다.
  • UART 포트가 하나 더 있다.
  • 일부 새로운 F3 FC는 F1 FC 보다 설계/기능이 더 좋다.

XRacer F303 flight controller topXRacer F303 flight controller top

처리 성능(속도)

F1 과 F3는 최대 클럭 속도가 72 MHz로 동일하다. 반면 F4의 최대 클럭 속도는 180 MHz 이다.

F1 과 F3의 속도가 동일하지만, 수치 코프로세서가 있어 부동소숫점 연산을 더 빠르게 수행할 수 있다. F3는 PID controller 2 (Luxfloat)에서 상당히 빠르게 작동한다. Luxfloat가 부동소숫점을 기반으로 한 알고리듬이기 때문이다. 하지만, PID contoller 1 (Rewrite)의 경우 정수 기반 알고리듬으로써, 성능향상은 없다.

많은 사람들이 이미 아는 바와 같이 Betaflight에서 현재의 최적 looptime 은 1000 이다. 자이로 샘플속도(1kHz)에 동기화 되어 있다. (약간의 배경 설명. 이 1kHz 샘플 제한은 자이로셑서와 프로세서를 연결하는 I2C 연결 때문이다. 예를 들어 CC3D의 경우 더빠른 통신이 사용된다. SPI라고 하는데 8 kHz로 작동된다. 따라서 이론상 looptime은 125까지 내려갈 수 있다. 그러나, 널리 적용하기전에 그처럼 낮은 looptime이 가능한지는 좀더 테스트해봐야 할 것으로 생각한다.)

F3 보드는 가속도계, LED 줄, Soft-serial 과 같이 CPU-intensive 작업을 돌릴 때에도 PID controller 1 및 2에서 1000 looptime까지 쉽게 내릴 수 있다. 그러나, F1 보드의 경우, 이러한 기능을 먼저 비활성화시켜야 한다. 예를 들어 1000 looptime을 달성하려면 가속도계를 꺼야 한다. 다행히 F1에 여러가지 조치나 해킹, 오버클록 등을 하여 ACC 가 활성화된 상태에서 조차 Luxfloat에서 1000 looptime을 돌릴 수 있게 되었다.

betaflight 펌웨어가 아니라면 F3 보드에서 FPU가 있다는 건 엄청난 이득이다. 가속도계 계산은 상당한 양의 부동소수점 계산이 필요하다. Cleanflight 1.10 공식발매버전의 경우 우리가 아는 바와 같이 F1 비행콘트롤러에서 1200 looptime 이해로 내릴 수 없고, 가속도계를 끄면 600 looptime을 얻을 수 있지만, autolevel은 포기해야 한다. 하지만, F3의 경우엔 가속도계를 켠상태에서도 600 looptime을 획득할 수 있다.

Betaflight를 돌릴 경우, 나는 사실 F3 보드를 꼭써야 할 필요가 없다는 데 동의하지만, 모든사람이 Betaflight를 원하는 것은 아니다.

MotoLab Tornado F3MotoLab Tornado F3

UART 포트의 수

F1은 F3와 마찬가지로 최적 looptime이 1000이기 때문에 내 생각에 F3의 가장 큰 장점은 시리얼포트(UART)가 하나 더 있다는 점일 것이다.

MiniOSD, SBUS SmartPort telemetry, Blackbox(Openlog 와 SD카드를 이용한), 컴퓨터와의 연결, GPS 등 이 모든 것들이 시리얼 포트를 사용한다.

Naze32와 같은 F1 비행콘트롤러의 경우 UART가 2개 뿐이다. 나의 경우 보통 blackbox, SBUS, MIniOSD를 동시에 다는데, F1의 경우에는 불가능하다. F3보드에는 UART가 하나 더 있어 편리하다.

F3 의 또다른 장점

어떤 F3 보드의 경우 5v 레귤레이터 또는 Pololu backpack 용 핀을 가지고 있다. 따라서, 이론적으로는 비행콘트롤러를 직접 LiPo 배터리에 연결할 수 있다.

F3보드는 또한 UART에 내장 hardware inversion 이 있어서 SBUS와 SmartPort를 연결하기 위해 X4B-SB 수신기를 해킹할 필요가 없다. F1 보드는 추가 하드웨어나 해킹이 필요하다.

F3는 거의 STM32 F1 시리즈와 pin-to-pin으로 호환가능하여, 어떤 사람의 댓글에 따르면 CC3D에서 F1 칩을 F3으로 성공적으로 교체하여 125 looptime으로 돌리고 있다고 한다.

참고로 F3는 플래시 데이터 용량과 직접적인 관계는 없다. 실제로는 보드에 사용되는 메모리가 어떤 메모리칩인가에 의해 결정된다.

RMRC Dodo F3RMRC Dodo F3

그래서, 어떤 걸 사용할까?

나는 아직 모든 드론에 F1 보드를 사용하고 있다. betaflight를 사용중으로 그것만 필요하다면 구지 F1 비행콘트롤러를 차버릴 필요는 없다.

그러나 언급한 바와 같이 Luxfloat와 가속도계를 사용하게 되면 F1 보드는 거의 한계에 근접하게 된다. soft-serial과 같이 다른 기능을 켜야 한다면 looptime을 1000에 맞추는데 문제가 생길 수 있다. 아울러 Cleanflight/Betaflight는 계속 진화하고 있어, F1 보드는 좀더 높은 처리능력이 필요할 기능을 사용하지 못할 수도 있다.

만약 내일 새로운 FC를 사야한다면 나는 아마도 F3를 구입할 것 같다. 하지만, 예산이 부족하다면 F1도 나쁘지 않다.

이글은 2015년 10월 15일에 올린 글임

원본 : https://oscarliang.com/f1-f3-f4-flight-controller/

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 8. 30. 16:07

비행콘트롤러(flight controller)는 쿼드콥터의 균형을 유지하고 조정하기 위하여 센서 데이터, 사용자 명령 등을 읽어 모터 속도 등을 조절하는 회로판이다. 요즘의 모든 멀티콥터 비행 콘트롤러는 자이로(Gyroscopes)와 가속도계(Accelerometer)가 탑재되어 있으며, 고급 비행콘트롤러 중에는 기압계(barometer)와 전자나침반(magnetometer), GPS 등을 탑재하는 경우도 있다. 예를 들어 자이로스코프는 방향을 유지하고 기압계는 고도를 유지하며, GPS는 자동 운항이나 Fail-safe 목적으로 사용될 수 있다.

많은 비행콘트롤러는 비슷한 하드웨어 혹은 센서를 사용하지만, 소프트웨어와 계산 알고리듬은 달라서 비행 특성과 사용자 인터페이스가 다르다. 이때문에 다른 비행콘트롤러를 설치하면 느낌과 비행 형태가 달라지게 된다.

현재 시장에는 수많은 비행콘트롤러가 판매중이다. 비싼 것도 있고, 기능이 더 많은 것도 있다. 오래전에 만들어진 것도 있고, 값싼 짝퉁도 있다. 이 글은 비교가 아니며 단지 몇몇 비행콘트롤러에 대한 간략한 느낌 정도와, 어떤 비행콘트롤러를 선택해야 하는 가에 대한 몇가지 조언이 있다.

비행콘트롤러 선택방법

멋진 비행을 위해서는 좋은 비행 콘트롤러가 필요하지만, 어떤 FC가 다른 FC보다 항상 좋은 것은 아니다. 좋고 나쁨은 어떤 비행을 할 것인지, 어떤 멀티콥터를 날리고자 하는지 등등 여러가지 요인에 따라 달라진다. 예를 들어 설정이 편한 콘트롤러도 있고, 작은 비행체에 좋은 것도 있고, GPS를 지원하는 것도, 없는 것도 있다.

또한 많은 짝퉁이 나와 있다. 저급한 부품을 사용하기 때문에 기능과 외양은 비슷하지만, 저렴하다. 신뢰할 수 없는 FC를 사용할 경우, 쿼드콥터 전체를 위험에 빠뜨릴 수 있다.

마지막으로 항상 질문을 하고, 인터넷에 올려진 정보만 신뢰하지 말라.

비교표

아래는 널리 사용되고 있는 비행콘트롤러 목록이다.

FC NamePriceRX ModesBaro/CompassGPSMicroController
APM 2.6$50PWM, PPMExternalYes8-bit, 16MHz
BrainFPV$130PWM, PPM, S.Bus, DSM, HoTTInternal/ExternalYes32-bit, 168MHz
CC3D$14PWM, PPM, S.Bus, DSMNoLimited32-bit, 72MHz
Crius AIO$48PWM, PPMInternal/ExternalYes8-bit, 16MHz
Flip32$24PWM, PPM, S.BusNoLimited32-bit, 72MHz
KK2.1.5$22PWM, PPMNoNo8-bit, 16MHz
Multiwii SE 2.5$15PWM, PPMInternalYes8-bit, 16MHz
Naza M Lite$170PWM, PPM, S.BusExternalYesunknown
Naza M V2$300PWM, PPM, S.BusExternalYesunknown
Naze32 Acro$25PWM, PPM, S.BusNoLimited32-bit, 72MHz
Naze32 Full$53PWM, PPM, S.BusYesYes32-bit, 72MHz
Quanton$66PWM, PPM, S.Bus, DSM, HoTTInternal/ExternalYes32-bit, 168MHz
Revo$130PWM, PPM, S.Bus, DSMInternal/ExternalYes32-bit, 168MHz
Sparky$60PPM, S.Bus, DSMInternalYes32-bit, 72MHz
Sparky 2$35PPM, SBUS, DSM32-bit,
SPRacing F3$65PPM, SBUS, DSM32-bit,
Tornado F3$29PPM, SBUS, DSM32-bit,
DoDo F3$50PPM, SBUS, DSM32-bit,

나의 첫 비행콘트롤러 -KK2

KK2 는 저자가 사용한 첫 비행콘트롤러로서, 초보자에게 첫 FC로 추천할 수 있다. 현재 가장 대중적인 보드로, 상당히 저렴하다. 32비트 FC보다 잘 날지는 못하지만, KK2보드는 보드에 스크린과 메뉴가 있다는 장점이 있다. 따라서 컴퓨터가 없이도 쿼드콥터를 설정하거나 변경할 수 있다. 사용자 친화적으로 초보자에게 유용하다. KK2를 생략하고 다른 FC를 사용해도 큰 문제는 없다.

KK 보드는 Rolf R. Bakke(KapteinKuk)가 설계하였다. 작은 그래픽 LCD와 4개의 버튼이 있어 파라미터를 변경할 수 있다. KK2는 P와 I 만 사용하며, D는 없다. 이처럼 간단하므로, KK 보드는 일반적인 드론에 좋은 성능을 발휘할 수 없다. 하지만, 그냥 가지고 나가서 날려보고 싶다면 이것으로도 충분하다.

KK2 보드에 대한 상세 정보는 여기를 참조할 것

멀티위(MultiWii) 기반의 비행콘트롤러

많은 대중적인 FC가 멀티위 기반(혹은 멀티위 코드로 부터 개발한)이다. CC3D, Naze32, Sparky, Brain FPV, Quanton 등이 그 예이다. 대부분은 이 범주에 속한다.

CC3D

이 계열의 FC는 32비트 콘트롤러의 선구자격이다. CC3D FC는 과거에는 아주 비쌌고 사용하기 쉽지 않아 많은 사람들이 멀리하였다. 그러나 현재 가격이 착해지면서 점점 더 널리 사용되고 있다. 일부 사용자들은 CC3D가 조종하기 힘들다고 불평하지만, CleanFlight와 같이 이 FC를 다룰 수 있는 펌웨어/소프트웨어가 점점 더 많아지고 있어 이러한 문제도 극복될 것이다.

Naze32

Naze32는 예전에 다루었다. Naze32는 미니급 쿼드쿱터 용으로는 가장 대중적인 FC 중 하나이며, 마케팅이 아주 잘 된 듯 하다. :D

그러나, 이 작은 보드가 성능만은 뛰어나다는 걸 부정하긴 힘들다. 나를 비롯해 많은 사람들이 이 보드가 그냥 딱 달라붙는듯 하다고 느낀다. BaseFlight GUI 역시 사용하기 매우 편리하다. 물론 CleanFlight 과같은 다른 소프트웨어도 사용할 수 있다. CleanFlight를 이용한 설정방법은 여기를 참고하라.

Naze32 Acro는 CC3D와 같이 32bit 이지만, CC3D가 제공하지 않는 전자나침판과 기압계 센서를 포함한 Naze32 Full Version 도 있다. Naze32와 CC3D와의 비교는 여기를 참고하라.

Flip32

Flip32는 Naze32 Acro의 짝퉁이다. Naze와 외형이 유사하며 동일한 소프트웨어를 사용한다.

MultiWii 보드

MultiwiiPro와 같이 다양한 종류의 Multiwii 보드가 있다. 멀티위는 수년전에 시작된 오픈소스 프로젝트이다. 이 프로젝트는 닌텐도 Wii Nunchuck 하드웨어(자이로 및 가속도계)를 사용하다. 그 당시에 널리 사용되었던 센서였기 때문이다. 그당시 오픈소스 멀티콥터 프로젝트는 거의 없었기 때문에 이 프로젝트의 코드가 복사되어 많은 다른 프로젝트 및 플랫폼에 사용되었다. 


좋은 예가 MultiWii Pro(MWP)이다. 이 보드는 아두이노를 기반으로 ATmega2560 프로세서를 사용한다. 이 보드는 자이로 가속도계, 기압계 및 전자나침반이 있다. 그외에도 GPS나 음파측심기(sonar)등의 센서도 지원한다. MultiWii는 RC 비행기 및 멀티콥터를 제외할 수 있다. 소프트웨어 인터페이스는 APM 에 비해 떨어지지만, 기능은 충분하며 비용도 저렴하다.

NAZA

Naza는 DJI 팬텀 시리즈로 인해 유명하다. Naza에 대한 정보는 여기를 참고하라.

APM2.6


신뢰성있는 GPS를 제공하는 몇 안되는 FC 이다. 최근에는 좀더 낮은 가격의 APM Mini 도 나왔다. 하지만, 나라면 이 FC를 Acro 비행에는 사용하지 않는다. :) APM2에 대한 정보는 여기를 참고하라.

Crius AIO Pro

값비싼 APM에 대한 좋은 대안. 이것도 멀티위 소프트에어를 돌릴 수 있다. 자세한 내용은 여기 참조

Brain FPV


Brain FPV는 OSD 하드웨어가 통합되어 있어 편리하다. 최근에 발매되어 나는 아직 사용해보지 않아 성능은 잘 모른다.

이 FC를 테스트중이므로 자세한 사항을 올릴 예정이다. 자세한 리뷰는 여기

Sparky, Quanton

Sparky, Quanton 및 Brain FPV는 모두 OpenPilot 프로젝트에 기반을 두고 있다. Sparky(약 40불)은 그림에 보다시피 형태가 독특하여 설치하기가 까다롭다. 하지만, 기본적인 GPS 기능을 지원한다. Quanton은 반대로 GPS 기능이 다양하며 좋은 CPU를 사용하지만 가격이 거의 두배정도이다.

==== 아래는 2015년 10월 갱신

지난 몇달동안 많은 새로운 비행콘트롤러가 개발.발매되었다. 이중 많은 FC가 Cleanflight 펌웨어 전용으로 설계되어 주로 아크로 FPV 비행으로 사용된다. 이들은 사용하는 프로세서에 따라 F3 비행콘트롤러로 불린다. 참고로 Naze32나 CC3D는 F1 프로세서를 사용한다.

F1 과 F3의 차이는 여기를 참조할 것

Seriously Pro Racing F3 (aka SPRacing)

CleanFlight의 개발자가 개발한 FC이다. 

Sparky v1과 동일한 프로세서(STM32F3)를 사용한다. 멋진 FC이며 이를 NAZE32 Full 보드의 후계자로 생각할 수 있다. 

STM32F1 보드는 그 한계에 접근하고 있다. UART 포트가 부족한 것은 물론 너무 기능은 맣고 메모리는 부족하며, 프로세서 성능은 딸린다.... 등등 예를 들어 OpenPilot은 CC3D(STM32F1기반)의 개발을 중지하였다.

Sparky2

Sparky2도 출시되었다. 이것은 OpenPilot Revo와 같이 더 최신의 STM32F4프로세서를 채택하였으며, 가격은 $57로서 기능에 비해 상당히 저렴하다.

Tornado F3

그리고 물론 Tornado F3도 방금 발매되었다. Tornado F3는 impulserc.com에서 주최한 Drone Nationals에서 우승한 쿼드콥터(조종사 FinalFlideAUS)에 사용되었다.

RMRC Seriously DoDo F3

OpenPilot Revo (Revolution)

결론

비행콘트롤러 전체 리스트 및 기능은 이 표를 참고하라. 아직 완벽한 것은 아니며, 앞으로도 계속 추가될 것이다.

원문 : https://oscarliang.com/best-flight-controller-quad-hex-copter/

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 4. 1. 16:55

Mission Planner에서 항공사진 촬영 계획 수립하면 이제 드론을 날려야죠.


촬영장소로 이동한 후에는 드론을 날리기 좋은 곳에 설치하고 절차에 따라 시동을 걸고 날리면 됩니다. 그 과정은 쿼드콥터 날리기 총정리를 참고하면 됩니다.


이 글은 이중에서도 날리는 방법에 대한 글입니다. 원래는 Futaba 14G와 같은 송신기를 사용하여 제어하지만, 제가 몇번 날려보니, 자동 미션을 수행할 경우 구지 송신기로 제어할 필요가 전혀 없었습니다. 어차피 기체의 현재 상태를 알기 위해서는 지상국 앱을 동시에 운영해야 하는데, 송신기로 제어하다가 지상국 앱으로 제어하다가 하다보면 오히려 혼란이 더 크기 때문입니다.


제 경우엔 안드로이용 지상국인 Tower 를 사용하여 제어를 했습니다. 만약의 경우를 대비하여 송신기를 켜두기는 했지만, 처음 시동 걸때 부터 시동을 끌때까지 모두 Tower만 사용해도 무리가 없었습니다.


아래는 제가 Tower로 자동미션을 수행한 모습입니다.



이렇게 촬영한 영상을 Geocoding을 하였습니다. 그 과정은 이 글 아랫부분에 정리되어 있습니다. 아래는 지오태깅한 결과를 구글어스에서 확인하는 모습입니다.



모든 결과는 여기에 들어가시면 볼 수 있습니다. geotagged 폴더 속에 있는 파일이 최종 파일입니다.

또... location.kml 이라는 파일을 클릭하면 위의 유튜브에 있는 내용을 직접 확인해 볼 수 있습니다.





글을 마치기 전에 한 가지 더. 며칠 전 배터리 전압 강하 때문에 골치를 썩다가 결국 그게 문제가 없는 것이며 다만 Battery Failsafe를 14.8볼트로 설정했기 때문에 발생했다고 했는데, 아래는 이번 미션 로그에서의 전압기록입니다.



시작 부분에서 급격한 전압 강하가 일어나는 것도 보입니다. 맨마지막 잔여 전압이 14.0 부근인데, 착륙을 시킨 이후에는 14.6 정도로 회복한 게 보이실 겁니다. 앞으로도 Battery Failsafe는 14.0 으로 설정해 두면 무난할 것 같습니다.



===

자... 이제 마지막 단계로 접어들었습니다. 정사영상과 3D 모델을 만드는 겁니다. 저도 아직 해보지 않아서 모르겠지만, 그다지 어렵지는 않다고 알고 있습니다. 그래도 제게 행운을 빌어주시길~


민, 푸른하늘










Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

  1. 안녕하세요. 드론으로 촬영만 주로 했었는데 요즘 매핑에 무지 관심이 많이 생긴 한사람입니다.
    한가지 궁금한게 하나 있어서 어쭤보려고요.
    타워 앱으로 비행계획을 세울 때, 위성지도를 일정수준 이상으로 확대시키려고 하면 일반 그림 지도로 바뀌더군요. 주변 지형물과 장애물들을 직관적으로 파악하기에는 위성사진지도가 좋던데 왜 안되는걸까요?
    타워 뿐 아니라 구글맵 또는 map box의 API를 사용하는 어플들이 모두 그런것 같더군요. 미국, 유럽, 중국 일본 심지어 북한 평양의 지도도 아주 자세히 확대되어 보이던데 왜 우리나라 지도만 그렇게 보이는지 혹시 아시는지요? 그리고 해결 방법이 없을까요?

    PS: 블로그 내용이 너무 좋은게 많고 평소 궁금해하던 것들이 많어서 많은 도움이 되네요. 좋은 정보 나눔에 감사드립니다.

    2016.09.03 21:52 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 말씀하시는 사항은 잘 모르겠습니다. 아마도 해결방법은 없을 거구요. 다만, 비행계획은 타워에서 하지 마시고, Mission Planner에서 미리 해두시는 게 좋겠네요.

      2016.09.03 21:58 신고 [ ADDR : EDIT/ DEL ]

드론/쿼드콥터2016. 3. 30. 16:59

제가 조립한 드론은 DJI Flamewheel F450 프레임에 Pixhawk 비행콘트롤러, Quattro 4 in 1 ESC, DJI 2212 /920KV 모터를 달았습니다. 그리고 다리와 캐논 카메라를 부착했고요. 총무게는 1.8 kg 정도입니다.


겨울동안은 날리지 못하고 있다가 지난 주 처음으로 시범비행을 했고요, 엊그제는 정식으로 촬영을 나갔습니다.


그런데 배터리와 관련하여 이상한 점이 발견되었습니다. 처음 장착을 하면 4.2V * 4 = 16.8 볼트 정도가 되는데, 일단 시동을 걸면 전압이 뚝뚝 떨어지고... 날기 시작하면 15.4 볼트 정도가 되고... 얼마 날리지 않아 Battery Failsafe 한계로 설정한 3.7V * 4 = 14.8V 이하로 떨어진다는 겁니다. 그로 인해 약 2분 30초 정도뿐이 날리지 못했는데도 저전압 경고가 발생하여 시동지점으로 돌아옵니다.


그런데... 다시 사무실에 돌아와 체크를 해보면 15.5 볼트정도 남았다고 나옵니다. 배터리 잔량은 56%라고 나오고요. 


그래서 여기저기 알아봤습니다. 원래 시동을 걸면(즉, 전기를 뽑아쓰기 시작하면) 전압이 떨어지는 게 당연하다고 합니다. 페이스북그룹에서도 그렇다는 분이 계셨는데, DIYDrones.org 에도 저와 거의 비슷한 현상을 호소하시는 분이 계시더군요.


일단... 번역을 해보면 다음과 같습니다.


문의내용 : 4S 10000mAh 배터리 (10C), 3DR 파워모듈, U3 700kv 모터, 40A AIR ESC를 탑재한 옥타콥터를 조립했음. 이 배터리는 최대 100A(10C * 10Ah 이므로) 정도 연속적으로 뽑아낼 수 있음. U3 모터 8개는 최대 160A 까지 뽑아쓸 수 있음. 3DR 파워모듈의 한계인 60A 를 초과하지 않도록 사용할 계획.


완충(16V) 한 상태에서 13.8 볼트까지 너무나 빨리 떨어져서 battery FS가 발동됨. 그런데 Mission Planner에서는 배터리가 95% 남았다고 나옴. 시동해제하고 전압을 재어보면 거의 15.8볼트. 


그래서 Battery FS를 아주 낮은 값 6.0V 로 설정하고, current 를 3000(30%)가 되면 배터리 FS가 발동되도록 함. 


며칠간 잘 날림. 실재 전류는 대부분 20-30A 였음. 추락사고 발생. 그때 MP에서 전압은 8.0V 였음. (배터리 FS가 발동되지 않았음). 그때 배터리 실재 전압을 측정해봤더니 13.3 (셀당 3.325) 였음. 다행히 추락당시 고도가 10미터 쯤으로 심각한 파괴는 없었음.


--- 이 다음부터 문의하는 내용인데 무슨 내용인지 정확히 파악이 안되어 생략함


아래는 이에 대한 답입니다.


모든 LiPo 배터리는 하중이 실리면 전압이 떨어진다. 떨어지는 정도는 소모 전류와 해당 배터리의 내부저항에 따라 달라진다.


C 가 낮은 배터리는 내부저항이 높으므로, 이 사례에서의 전압강하 그리고 하중을 제거했을 때 전압이 회복되는 것은 특별히 놀랄만 하지 않다.


이러한 문제를 감소시키는 방안으로는...

a) 센서 캘리브레이션
    http://ardupilot.org/copter/docs/common-power-module-configuration-in-mission-planner.html
b) 60A 에서 호버링 하고 있다면, 조종시 하중뿐 아니라, 그보다 높은 과도전류가 흐를 수 있다. 따라서 파워모듈의 과열이 이러한 문제를 악화시킬 수도 있다. 로그 파일을 보면 소비전력을 파악할 수 있다. 만약에 내가 당신이라면 더 높은 등급의 파워모듈 및 C가 높은 배터리를 구입하겠다.


페이스북 Hoi Jin Kim 님이 알려준 링크에도 비슷한 이야기가 쓰여져 있습니다. 이 글에는 오래된 배터리가 전압강하가 심하다는 이야기도 있네요. 배터리가 오래되면 내부 반응에 의해 저항이 높아지니까 이런 말도 틀린 게 아니겠죠.


이런 글들이 시동을 걸면 전압이 떨어지는 게 자연스런 현상이라는 걸 파악하는 데는 도움이 되었지만, 제 문제와는 직접적인 관련이 없는 내용입니다. 10C 짜리 배터리를 사용했다는 점, 3DR 파워모듈로는 감당이 안되는 옥타콥터에 사용했다는 게 주요 문제로 보입니다.


그런데 저의 경우에는 무게도 얼마 되지 않고(1.8kg 정도), ESC는 20A 짜리이기 때문입니다. 25C 배터리는 100A 까지 지속적으로 뽑아낼 수 있으므로(4000mA *25) 이 문제와는 완전히 상관이 없습니다.

====


하지만 이 질문답변을 보고 로그파일에 전압과 전류를 살펴봐야겠다고 생각이 들었습니다. 그래서 즉시 로그파일을 뒤졌습니다. 두번을 날렸는데 아래는 첫번째 로그중 전압(Volt)관련 그래프입니다. (CURR->Curr 에 있습니다.)



우선 맨 윗 선을 보면 배터리가 16.6 볼트 정도에서 시작한다는 걸 알 수 있습니다. 4.2*4=16.8이니 얼추 비슷합니다. 그런데 시동을 걸면 15.8 정도로 떨어지고, 날리기 시작하면 15.5 볼트 정도로 떨어집니다. 15.5 볼트는 셀당 전압으로는 3.9 정도가 됩니다. 


그 이후에는 천천히 내려옵니다. 약 3분쯤에 Battery Failsafe가 발동되었을 때는 14.5볼트(셀당 약 3.6볼트) 정도입니다. 제가 배터리 FS를 14.8볼트(셀당 3.7V)에 설정했으니 정확하게 발동된 셈입니다. 그리고 나서 RTL, Land 로 Home 위치로 착륙합니다.


착륙한 뒤에는 전압이 다시 15.2 정도로 올라가는 게 보입니다. 하중이 사라지면서 전압이 회복되는 것이죠.


결론적으로... 뭐가 잘못된 게 아니라 정상적으로 작동한 것입니다. 다만, 하중이 걸리면 전압이 떨어진다고 해도 실질적으로 파워는 남아 있습니다. 돌아와서 측정한 사진(아래)을 보시면 배터리가 56%나 남아 있다고 되어 있습니다. 즉, 아직 한참 더 날릴 수 있었는데 경고가 발생했다는 것입니다.



이때 쯤 생각이 난 것이... 이전 비행에서는 배터리 경고를 14.0으로 해서 나갔었는데, 이번엔 14.8로 설정해서 나갔다는 것이었습니다. 그래서 이전 비행 로그를 비교해 봤습니다.



이 비행은 총 11분 쯤에 배터리 경고가 떴습니다. 그때 전압은 14.0 보다 약간 낮은 정도였고요. 14.0으로 설정을 해도 충분히 비행이 가능하다는 것을 알 수 있습니다. 이 그래프에서도 착륙후 전압이 회복되는 걸 볼 수 있는데, 14.5 정도 수준이었습니다. 한 20% 정도 남아 있는 수준입니다. 


====

이제 이상이 없다는 건 파악했으니, 내일 다시한번 촬영을 나갑니다. 이번엔 성공해서 좋은 그림을 보여드리겠습니다. ㅎㅎ


민, 푸른하늘

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 3. 24. 14:55

시험 비행도 무사히 완료했으니 이제 항공사진 촬영용 미션을 생성하는 방법을 정리합니다. 


이 글은 여기를 참고로 하고...(앞부분은 번역. 아래에 있음) 제가 직접 미션을 생성하는 방법을 정리하였습니다.


항공사진 촬영용 미션은 우선 촬영대상지역을 폴리곤으로 생성한 후, 이 지역을 대상으로 자동으로 웨이포인트를 생성하는 순서를 따릅니다.


먼저 Mission Planner에서 "FLIGHT PLAN" 탭으로 이동합니다. 지도화면에서 시작하고자 하는 지점에서 마우스 우클릭을 하고 아래와 같이 Draw Polygon -> Add Polygon Point 를 선택합니다.



그러면 경고창(당분간 폴리곤 입력모드가 계속된다는)이 뜨고 빨간색 아이콘이 하나 생깁니다. 그 다음부터 마우스를 클릭할 때마다 폴리곤 꼭지점이 계속 추가됩니다. 입력이 완료된 후에는 아이콘을 드래그하여 원하는 지점으로 이동시킬 수 있습니다.




폴리곤을 완성하면, Auto MIssion을 생성할 수 있습니다. 아래와 같이 Auto WP를 선택하면 됩니다. 이중에서 Survey(Grid), Survey(Gridv2), SimpleGid 등 세가지가 격자식으로 일정한 간격으로 사진을 촬영할 수 있는 옵션입니다.



제가 제일 많이 사용하는 것은 Survey(Grid)입니다. Survey(Gridv2)는 직사각형을 회전시키는 기능이 없는 등 아직까지 활용하기는 약간 부족하고, SimpleGrid는 그냥 Waypoint만 생성해서 카메라 촬영에 관한 내용을 별도로 입력해줘야 합니다.


Survey(Grid)를 선택하면 아래와 같은 화면이 뜹니다. 이때 먼저 자신의 카메라를 선택하고, 고도(Altitude)와 각도(Angle)을 적당히 만져서 가장 최적의 경로를 만들어주면 됩니다. 자신의 카메라 방향에 따라 [Camera Top facing forward]를 선택해주고요. 그러면 아래쪽에 이 미션에 대한 정보가 여러가지가 나타납니다.사진은 총 20장을 촬영하고, 비행시간은 2:45 이라고 나오네요. 지상해상도는 1.6 cm. ㅎㅎ



여기에서 고도 60미터에서 Canon IXUS 870으로 촬영할 때 사진 한장의 크기는 73.9 x 55.4 라고 나옵니다. 촬영간격이 28미터로 설정되었으니, 종중복도는 50%((55.4-28)/55.4) 이고, Strip간의 간격이 29.57 이니까 횡중복도는 60% ((73.9-29.57)/73.9) 로 잡혀있네요. 


아래쪽에 있는 Footprints를 눌러주면 아래와 같이 촬영되는 범위를 확인할 수 있습니다. 종중복도 50%, 횡중복도 60% 정도 되는 걸 확인할 수 있습니다.



종중복도/횡중복도를 조정하려면, 맨 아래에 [Advanced Options]를 누르고 [Grid Options] 탭을 누르면 아래와 같은 화면이 나옵니다. 여기에서 Overlap과 Sidelap을 조정하면 됩니다.



자신이 사용하는 카메라가 존재하지 않을 경우에는 [Camera Config] 탭에 들어가서 새로 생성할 수도 있습니다.


아래는 이와 같은 과정을 통해 생성된 자동 미션입니다. 촬영코스를 볼 수 있고... Waypoints에 보면 DO_SET_CAM_TRIG_DIST 가 11.38미터로 설정되어 있음을 알 수 있습니다. 



이렇게 하면 대충 어렵지 않게 촬영계획을 세울 수 있을 것 같습니다. 이제 이거 가지고 다시 촬영을 나가봐야겠네요.


민, 푸른하늘

====

개요


카메라 촬영계획을 세우는 것은 웨이포인트와 이벤트가 포함된 다른 미션 계획을 세우는 것과 동일 하다. 단 하나의 차이는 웨이포인트에서 카메라 셔터를 터뜨리는 명령을 지정하거나, 기체의 이동에 따라 정해진 간격으로 촬영하도록 하는 명령을 넣는다는 것이다. 카메라에 짐벌이 달려있을 경우, 짐벌의 방향을 지정하거나, 특정한 지점을 추적하도록 할 수도 있다.


간단한 임무의 경우, 원하는 웨이포인트와 카메라 명령을 직접 지정할 수도 있다. 좀더 복잡하거나, 격자형식으로 촬영해야 할 경우, 임의의 지역에 대해 자동적으로 필요한 임무를 생성해주는 도구를 사용할 수 있다.


이 문서는 사용가능한 카메라 명령 및 짐벌 명령에 대해 설명한다. 아울러 미션 플래너에서 제공하는 자동미션 및 이를 이용하여 복잡한 측량용 사진을 촬영하는 방법에 대해 설명한다.


카메라 명령


  • DO_SET_CAM_TRIGG_DIST — 일정한 간격으로 카메라 셔터를 터뜨린다. 넓은 지역의 촬영에는 이 명령이 가장 널리 사용된다.
  • DO_DIGICAM_CONTROL — 이 명령이 지정될 때마다 셔터가 한번 터진다. 


Camera gimbal commands


카메라 짐벌을 사용할 경우, 카메라의 위치(yaw, tilt, roll) 및 특정한 관심지역(ROI)를 바라보도록 지정할 수 있다.

  • DO_SET_ROI — 카메라를 특정한 관심지점(위치, 높이 포함)을 향하도록 지정한다.
  • DO_MOUNT_CONTROL — 짐벌을 원하는 각도를 바라보도록 지정한다.


서보 및 릴레이 명령


서보 와 릴레이 출력을 하드웨어에 연결한 후, 미션중에 DO_SET_SERVO 또는 DO_SET_RELAY 명령을 사용하여 활성화 시킬 수 있다.


이러한 출력을 사용하면 카메라 셔터 외의 다른 카메라 기능을 제어할 수도 있다.(예를 들어, 줌을 조절하거나 사진에서 비디오 모드로 변경 등)


참고 : 서보나 릴레이에 카메라를 연결하는 방법이나 제공되는 기능 등은 카메라의 종류 및 지원되는 리모콘 메카니즘에 따라 달라진다. 무엇을 할 수 있는지는 CHDKStratosnapper 투토리얼을 참고할 것



자동임무 유형(Aut Mission Type)


미션플래너에는 다음과 같은 자동 웨이포인트 옵션이 있다. 이 명령을 사용하려면 Flight Plan 화면의 지도에서 마우스 우클릭을 한 다음 Auto WP 를 지정하면 된다.

  • Create WP Circle — 웨이포인트를 원형으로 생성
  • Area — 현재의 폴리곤(지정되어 있을 경우)의 면적을 보인다.
  • Create Spline Circle — 웨이포인트의 고도가 올라가는 형태의 spline Circle을 생성한다.??
  • Survey (Grid) — 지정된 폴리곤에 대해 자동적으로 웨이포인트와 카메라 제어명령을 생성한다.
  • Survey (Gridv2) — 아직 수행안됨! 직사각형 면적에 대해 보다 간단한 형태의 격자형 제어방식
  • SimpleGrid — 간단한 측량형 그리드. 카메라 콘트롤은 지정되지 않으므로 별도 추가 해야 함

====

이하 생략합니다.


민, 푸른하늘








Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

  1. 도와주세요

    저는 pixhawk를 cannon s110이랑 연결해서 리모트 트리거를 연결하였는데, 어찌된 일인지 시험비행에서 survey mission으로 플래닝 후 비행을 하니 카메라가 작동을 하지 않네요. CAM_TRIGG_DIST는 지상에서 servo를 통해 정상적으로 작동중인데, way point넣어서 그 지점에서 사진을 찍고 싶은데 작동을 하지 않네요. 혹시 무엇을 점검해야 하나요?

    2017.05.12 11:14 [ ADDR : EDIT/ DEL : REPLY ]

드론/쿼드콥터2016. 3. 21. 17:38

엊그제 성공적인 시범비행 후, 그동안 미뤄왔던 걸 확인하기로 했습니다. 바로 진동측정입니다. 


이제까지 진동측정을 해보지 못한 것은 몇 분 정도 계속 비행을 한 데이터가 있어야 했기 때문이었습니다.


사실 Pixhawk를 설치할 때 지침에 따랐기 때문에 진동은 그다지 문제가 되지 않을 것이라고 생각했지만, 그래도 한번도 해보지 않았기 때문에 조금 찜찜헀었습니다.


이 글은 Copter 문서를 기반으로 해서 필요한 부분만 정리한 것인데, 데이터 분석 부분은 제가 실제로 날린 데이터를 사용했습니다.


참고 : 진동 측정 문서는 새로 정리했습니다. 새로운 내용이 조금 추가된 듯 합니다. 이 글과 함께 새로 번역한 문서도 참고하시기 바랍니다.

====

비행콘트롤러는 진동에 민감합니다. 가속도계가 기체의 위치를 측정할 때 사용되는데, (기압계 및 GPS 도 함께) 진동이 크게 되면 정확한 위치를 기반으로 하는 모드의 성능이 떨어지게 됩니다. 진동은 모든 종류의 기체에 영향을 미치지만, 그중에서도 Copter가 가장 심각하게 발생합니다. 또한 AltHold, Loiter, Guided, Postion, Auto 등의 모드에 영향을 많이 미칩니다.


진동 수준 체크방법


우선 몇분 정도 이상 비행한 데이타가 필요합니다. 비행후, dataflash 에 들어 있는 로그를 다운로드 받아야 하는데, 여러가지 방법이 있지만, 그냥 Pixhawk의 MicroSD 카드를 PC에 꽂아서 복사하는 게 가장 간편합니다.



이중 맨 마지막 파일 (50.BIN)이 최종 비행에서 기록된 로그입니다. 이 파일을 아래의 위치에 복사해 줍니다. (로그파일 기본 저장장소임. 다른 곳도 무방함)


...\Mission Planner\logs\QUADROTOR\1


FLIGHT DATA 화면으로 들어가서 아래 DataFlash Logs를 클릭하고, PX4 .Bin to .Log 를 누르면 이 파일(.BIN)이 비행 로그(.LOG) 형식으로 변환됩니다.



그 다음 [Review a Log]를 누르면 다음과 같은 화면이 뜨게 됩니다.



진동을 분석하기 위해서는 오른쪽 아래에 있는 항목 리스트에서 VIBE 를 확장시키고 Vibe_X, Vibe_Y, Vibe_Z를 선택해 줍니다. 선택할 때마다 해당 데이터가 그래프로 표시됩니다. 



위 그림은 제 시험비행에서 사용한 데이터입니다. 이 그림에서 Vibe_X(빨강), Vibe_Y(초록)는 작은 값이나, Vibe_Z(파랑)은 값이 큼을 알 수 있습니다. 대략적으로 평균이 15 m/s/s 정도이고 최대 30 내외인데, 이 정도는 허용 가능한 정도라고 합니다. (최대값이 60 m/s/s 를 초과하면 안됨)


그 다음 CLIP0, CLIP1, CLIP2를 클릭해서 그래프를 그려봅니다. 이 값들은 가속도계 중 하나가 최대값(16G)에 도달하면 약간씩 누적 증가하게 되는 값입니다. 비행중 0을 유지하는 게 가장 좋으나, 100이하라면 괜찮음.  저의 경우에는 아래에서 보는 것과 같이 3개 모두 0을 유지했습니다.



====

아래는 진동에 문제가 있는 경우 볼 수 있는 그래프입니다.(Copter 문서에서 가져온 그림입니다.) 이러한 경우에는 별도의 Damping 조치가 필요합니다.



이상입니다. 선이 얼기설기 엉켜 있어서 사실 약간 걱정되기도 했는데, 문제가 없다고 하니 기분이 좋네요. ㅎㅎㅎ


민, 푸른하늘



Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 1. 15. 13:01

이제 조립과 설정을 마쳤으니 본격적으로 날려볼 시간입니다. 그런데 요즘 날씨가 춥고 바람이 제법 불다 보니 비행이 약간 겁이 납니다.


그래서 먼저 실내에서 잘 작동하는지 먼저 테스트해보기로 했습니다. 일단 제일 중요한 사항은 Android에서 돌아가는 지상국(GCS: Ground Control Staion)인 Tower입니다. Tower를 사용하면 기체의 현재 위치를 추적하는 것은 물론, 여러가지 Waypoint를 입력/편집하여 자동임무를 수행할 수 있습니다.


그보다 먼저, 비행전 점검 사항 및 시동을 거는 방법입니다.

비행전 체크 및 순서


송신기 - Throttle을 제일 밑으로, 안테나를 수직으로

송신기 - 배터리 체크

송신기 - 올바른 모델로 선택되어 있는지 확인

송신기 - Stabilize Mode 인지 확인


기체 - 출발지점에 설치, GPS 안테나 세움

기체 - 프롭 연결.

송신기 - 전원 넣음

기체 - 배터리 연결. 잠시후 Pixhawk 기동소리 들림. 청/적 깜박임.

Pixhawk - "도레미" 신호가 들리면 점검완료임.

           안전스위치를 1초 이상 눌러주면 빨간색 깜박임이 고정됨


지상국 - 텔레메트리 연결

텔레메트리 - 안테나를 수직으로 

지상국 - 텔레메트리 신호 확인 (75% 이상)

지상국 - 수평이 잘 표시되는지, Pitch/Roll 값, Altitude 확인. 

GPS Fix까지 대기 - Pixhawk가 초록색으로 깜박임.


시동 걸기


Arming - Throttle Down, Ludder(Yaw) right 5초 정도 유지


비행시 고려사항

  • 비행전 GPS가 고정되는지 반드시 확인할 것. Stabilize 모드만 사용할 경우에라도 GPS 가 고정되면 만약의 사태가 발생해도 RTL 이 작동할 수 있음
  • Auto 모드로 멀리 보내기 전에 RTL이 잘 작동하는 지 미리 확인. GPS 및 전자나침반이 잘 작동하는지를 확인하기위한 목적도 있음
  • Loiter를 비롯해 여러가지 다른 모드로 사용하기 전에 미리 Stabilize 모드가 잘 되는지 확인할 것. Loiter 모드가 잘 되는지 확인하고 RTL을 시험하고, RTL을 시험한 뒤에 Auto 모드를 실행시킬 것. 즉, Stabilize - Loiter - RTL 순서로 잘 작동하는지 확인할 것.
  • Auto로 날리더라도, 반드시 Stabilize로 돌아갈 준비를 하고 있을 것. 소프트웨어나 센서에 문제가 생겼을 때 보호할 수 있는 모드는 Stabilze 모드 뿐이 없음. RTL이 가장 좋기는 하지만, Auto 모드가 고장났을 때 비상모드에서는 사용하면 안됨.
  • 배터리는 항상 확인할 것. 20% 이상 남았을 때 착륙시켜야 함.
====
아래는 제 사무실에서 모두 연결해본 모습입니다. Tower를 사용하면 기체의 현재 상태를 알 수 있어서 편합니다. 배터리 전압은 15.5V, 현재 Stabilize 모드, 텔레메트리 송수신 강도는 100%, Home 위치로부터의 거리는 5.0m, -0.8m 랍니다. GPS는 3D로 고정된 상태고 HDOP는 1.5, 9개의 위성을 받고 있네요. 실내인데 말이죠. 


아무튼... 이제 비행준비는 완료됐습니다. 다음번 나가게 되면 GPS Lock 상태로 (Loiter 모드로) 날리고... 간단하게 Waypoint 몇개만 입력해서 자동모드가 잘 되는지만 확인하면 될 것 같네요. 



민, 푸른하늘


Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

  1. ㅇㅇ

    전부터 지도 관련 포스팅 잘 보고 있습니다. 구글 지도 반출 허용될 날이 오길 기다리고 있습니다. ㅠㅠ

    2016.01.31 16:44 [ ADDR : EDIT/ DEL : REPLY ]
  2. 가실이

    안녕하세요. 안드로이드 폰이나 갤럭시 탭에 TOWER 을 설치하고 텔레메트리와 연결이 되지를 않습니다. 연결 방법에 대해 설명 해주시면 고맙겟습니다.

    2018.02.11 09:14 [ ADDR : EDIT/ DEL : REPLY ]

드론/쿼드콥터2016. 1. 14. 00:33

기체를 조립하고 처음 날려보면, 생각대로 움직이지 않을 수 있습니다. 즉, 스틱을 조금만 조종해도 확확 움직일 수도 있고 반대로 너무 기동이 늦을 수도 있습니다.


또 스틱을 만지지 않았는데도 기체가 어느 한쪽으로 계속 이동하는 경우도 있습니다.


이때 해야 할 일이 튜닝입니다. APM:Copter에는 여러가지 튜닝방법이 있습니다. PID 제어를 잘 아는 경우에는 Advanced Tuning Guide를 참고하고, 경험이 많은 사람의 경우엔 Autotune 기능을 이용하라고 되어 있습니다. 저는 처음이니 그냥 Copter wiki의 Basic Tuning 에 있는 기본 튜닝을 사용했습니다. 


Roll and Pitch 튜닝


참고 : 기본 튜닝 방법은 다시 정리했습니다. 기본 튜닝은 문서가 일부 변경되었습니다. 여기를 참고하세요. 


여기에 있는 방법은 텔레메트리 라디오를 장착한 상태에서 현장에서 노트북으로 직접 수행하는 것이 제일 좋습니다. 하지만, 저는 노트북이 없어서... ㅠㅠ 그냥 어제 날려본 느낌대로 설정을 바꾸고자 합니다. 안되면 나중에 새로 조종하면 되니까요. 일단 튜닝이 필요한 경우는 다음과 같습니다.

  • Roll 및 Pitch 스틱에 기체가 어떻게 반응하는가? 너무 빠른가 아니면 아니면 반응이 너무 느린가?
  • 어느 정도의 Throttle에서 기체가 Hovering 하는가? 중립위치 부근인가? 아니면 위인가 아래인가?
  • Throttle을 올릴 때 기체가 올라가는 속도가 빠른가? 느린가? 

기본 튜닝을 하려면 먼저 Mission Planner와 기체를 연결해야 합니다. 송신기-기체를 켜고, Mission Planner에서 Connect를 눌러줍니다. 다음으로 CONFIG/TUNING 탭을 누르고 Basic Tuning을 선택합니다.


그런데... Wiki 에 있는 내용과 Mission Planner 화면이 다르네요... 그래서 Wiki 내용은 무시하고 화면 내용을 보면서 설정해보겠습니다.



첫번째 단계에서 저는 약간 반응을 느리게 하고 싶어서 50을 45 정도로 내렸습니다.
두번째 단계에서도 약간 빠르게 반응하는 듯 하여 좌측으로 약간 옮겨줬습니다. 0.15 -> 0.135

세번째 Throttle Hover에서는 스틱이 중앙 아래쪽에서 Hovering 하였으므로, 이것도 좌측으로 (500->450) 약간 옮겼습니다.




이 방식은 그냥 감으로 하는 것이니... 여러 번 날려보면서 조금씩 수정해도 될 것 같습니다.


Throttle 중앙점 잡기(Setting Throttle Mid)

참고 : Throttle 중앙점 잡기는 새로 정리했습니다. 특히 Hover Throttle 자동학습 방법이 추가됨으로써, 이 과정은 별로 필요가 없다고 합니다. 여기를 읽어보세요.


위에 있는 방법으로는 대충 추정 또는 느낌으로 조정하는 것이고, 좀 더 확실하게 조정하는 방법도 있습니다. 그중에서도 /wiki/ac_throttlemid/은 Throttle의 중앙점을 조정하는 방법입니다. 


기체에 비해 추력이 크거나 작으면 Throttle 이 40% 이하 또는 60% 이상에서 기체가 hovering 할 수 있습니다. Stabilize 모드에서만 비행할 경우에는 문제가 없지만, 자동주행모드(Loiter, AltHold 등)으로 바꾸게 되면 기체를 내리거나 올리라는 명령으로 인식되어서 기체가 갑자기 요동을 치게 됩니다. 따라서 Throttle Mid 파라미터(THR_MID)는 stabilize 모드에서 50% 정도가 되도록 설정해두는 것이 좋습니다.


다음은 수행방법입니다.

  • Stabilize 모드에서 최소 30초 이상 기체를 안정적으로 Hovering 시킵니다.
  • 배터리를 빼고, Pixhawk를 Mission Planner에 연결합니다.
  • FLIGHT DAT 화면의 DataFlash logs 탭에서 DataFlash Log 파일을 내려 받습니다. 내려받는 방법은 여기에 있는 방법을 따라도 되고, 그냥 Pixhawk에 들어 있는 Micro SD 카드에서 직접 복사해도 됩니다.
  • 다운로드가 완료되면 "Review a log" 버튼을 누르고 최신 파일을 선택합니다.

  • CTUN 메시지를 찾아 오른쪽으로 가면 ThrOut 이라는 항목이 있습니다. 여기에서 마우스 오른쪽 버튼을 누르고 "Graph this data Left" 을 누르면 아래와 같은 그래프를 볼 수 있습니다.


  • 그래프 왼쪽 축에 써있는 숫자를 토대로 평균적인 Throttle 값이 얼마인지 알아봅니다. 제 그래프에서는 약 350 정도 나오는 것 같습니다.
    • 참고로 throttle값이 300이하이거나 700 이상이면 아주 심한 overpower 혹은 underpower 상태입니다. 적절한 조치를 해주셔야 합니다. 제 쿼드콥터도 350이니... Power가 약간 과한 상태인 것 같습니다. 아마 카메라를 달면 적절해지지 않을까 싶습니다.
  • 아래 그림과 같이 Mission Planner에서 Configuation -> Standard parameters 로 들어가서 THR_MID 값을 위에서 추정된 값으로 변경해 주고, 위에 있는 Write Params 버튼을 눌러주면 됩니다.



Auto Trim


참고 : Save Trim 및 Auto Trim 문서를 새로 정리했습니다. 이 내용과 동일하므로 따로 보실 필요는 없습니다만, 여기를 참고하세요.

마지막으로 해봐야 할 것은 Auto Trim 입니다. 기체를 잘 조립해도 스틱을 가만 두었을 때 일정한 방향으로 흐를 수 있습니다. 이때 가장 쉽게는 조종기에 있는 Trim 기능을 이용하면 이러한 상태를 바로 잡을 수 있습니다. 하지만, Pixhawk의 경우에는 이런 방법을 추천하지 않습니다. 비행콘트롤러에서 모터의 출력을 제어하여 조종기의 Trim을 사용하지 않도록 설정하는 것을 추천합니다.


wiki/autotrim/ 에는 이렇게 하는 방법으로 Save Trim 과 Auto Trim 두 가지 방법을 제시하고 있습니다. Save Trim은 기체를 날리면서 한자리에 머물도록 Trim을 넣어준 뒤, 이것을 저장하는 방법인데, Auto Trim이 더 간단하기 때문에 이 방법만 정리합니다.

  1. 바람이 없는 넓은 장소를 찾습니다.
  2. Throttle 을 아래로 한 상태에서 Rudder(Yaw)를 우측으로 15초 이상 밀어줍니다. (5초 정도 밀어주면 시동이 걸림. 계속 밀어주면 작은 LED가 빨/노/파로 돌아감. 이제 Auto Trim 준비 완료)
  3. 기체를 띄우고 25초 이상 안정적으로 Hovering 시킵니다.
  4. 기체를 착륙시키고 몇초정도 기다립니다.(trim 값이 EEPROM에 저장됩니다.)
  5. 이제 정상적으로 띄워서 조정이 바로 됐는지 확인합니다. 안됐으면 2-4를 다시 반복해줍니다.
머... 이 정도 하면 왠만큼 날리는 데는 문제가 없습니다.
====
아래는 제가 AutoTrim을 하면서 촬영한 동영상입니다. 원래 바람이 안불고 좀 넓직한 곳에서 날려야 하지만, 겨울이라 바람도 불고 실내체육관 같은 곳은 아는 곳이 없다보니 지하주차장에서 날렸습니다. 그때문에 천장이 낮아서 아주 극도로 조심해야 했습니다. 

그리고 동영상은 그냥 멀찌감치 떨어져서 기체만 촬영했기 때문에 뭘하는지 알기가 어렵습니다. 그래서 군데 군데 알기 쉽도록 자막을 넣어두었습니다. 참고하세요~


민, 푸른하늘


추가 : 기본튜닝중 진동측정에 관한 내용은 여기를 참고하세요.

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

  1. 가실이

    여기 자료가 많은 도움이 되었습니다.
    바람이 없는 장소를 택하니 실내가 되는데 실내는 GPS를 잡지 못해 ARM이 되지를 않습니다.
    ARMING_CHECK를 0(disable)하여도 GPS 위성이 6개보다 적다거나, GPS HDOP가 높다거나, GPS speed error이 1.0보다 높다고 ARM이 되지를 않습니다. HDOP를 낮추는 방법은 없나요? GPS speed error을 낮추는 방법은 없나요? 그리고 ARM시 15초 이상 트로틀 최소 러더 최대로 하려니 ARM이 되었다 다시 Dis ARM이 됩니다. 방법을 가르쳐 주시면 고맙겠습니다.

    2017.03.09 11:19 [ ADDR : EDIT/ DEL : REPLY ]
    • GPS가 필요없는 AltHold, Stable 등의 모드로 변경한 뒤 시동을 거시면 됩니다. 실내에서는 GPS가 필요한 모드 상태로 시동이 걸리더라도 위험합니다.

      2017.03.09 19:58 신고 [ ADDR : EDIT/ DEL ]
  2. 가실이

    AltHold 모드도 GPS speed error 가 1.0보다 크다고 합니다. Stabilize 모드도 마찬가지로 시동이 GPS error이 1.0보다 크다면서 시동이 걸리지 않습니다. 답변주셔서 감사합니다.

    2017.03.09 21:49 [ ADDR : EDIT/ DEL : REPLY ]
  3. 가실이

    어찌 했는지 모르겠는데 오늘은 Stabilize모드에서 Arm이 됩니다. 감사 합니다.

    2017.03.13 19:44 [ ADDR : EDIT/ DEL : REPLY ]
  4. 집에가서 설명해주신대로 설정해봐야겠네요^^ 일단 바람이없는 넓은 장소부터 찾아봐야겠네요...ㅠㅠ

    그리고 영상에 프로펠러를 아주 쉽게장착하시던데 제가 헥사콥터라... 저렇게 쉽게장착하는 프로펠러는 뭐라고 찾아야 나오나요?

    그리고 제 송신기가 6ch인데도 오토트림설정이 가능한가요?

    2018.01.26 17:54 [ ADDR : EDIT/ DEL : REPLY ]
    • Self-locking propeller 로 검색해보시면 됩니다. 그런데 프롭사이즈가 커질 수록 이런 종류가 없을 겁니다.

      송신기 채널수와 오토트림은 관련이 없는 걸로 알고 있습니다.

      2018.01.30 16:48 신고 [ ADDR : EDIT/ DEL ]

드론/쿼드콥터2015. 12. 25. 17:23

부품을 조립한 후 하드웨어 설정까지 마쳤으면 이제 기체를 날릴 수 있습니다. 


기체를 날리는 절차는 시동 걸기와 끄기 그리고 이륙 - 초심자를 위한 팁에 기술되어 있습니다. 


먼저 기체는 가급적 넓고 사람이 없는 곳에서 날리는 것이 좋습니다. 특히 맨 처음 날릴 때는 자칫 의도되지 않은 문제가 발생할 수 있으므로, 조종자도 가급적 멀리 떨어지는 게 좋습니다.


시동걸기


  1. 조종기의 전원을 넣는다.
  2. 기체의 LiPo 배터리를 연결한다. 자이로가 초기화되면서 적색/청색 불이 깜박입니다. 이때 기체를 움직이면 안됩니다.
  3. Pixhawk가 시동전 점검을 실시합니다. 문제가 발생할 경우 LED가 노란색으로 점멸하게 됩니다. 이때는 GCS를 연결하여 점검해야 합니다.
  4. 비행모드는 Stabilize/Acro/AltHold/Loiter로 설정되어 있어야 합니다. 다른 모드에서는 시동이 걸리지 않습니다.
  5. Pixhawk의 안전 스위치를 1초 정도 눌러주면 빨간색이 고정됩니다.
  6. GPS와 관련있는 조종(Loiter, RTL, Auto 등)을 사용하려면 GPS를 고정(LED가 초록색으로 깜박임??)시키고 나서, 30초 정도 후에 시동을 걸어야 합니다. GPS 위치를 안정화시키기 위한 목적입니다. 
  7. throttle 최하단, rudder 최우측으로 한 후, 5초정도 지나면 시동(Arming)이 걸립니다. (이 시간동안 자이로와 기압계를 재초기화시킵니다.) 참고로 15초 이상 스틱을 이 상태로 고정하고 있으면 Auto Trim 모드로 들어가게 되므로 주의하세요.
  8. 시동이 걸리면 LED가 빨강색으로 깜박이고 프롭이 돌아갑니다. 시동이 걸리지 않을 경우 시동전 점검에서 문제가 발생한 것이므로, 먼저 조치를 취한 후 다시 시도해야 합니다.
  9. 이제 Throttle을 올리면 기체를 이륙시킬 수 있습니다. 
아래는 제가 시동을 거는 과정을 촬영한 것입니다.


그리고 아래는 Tower까지 연결한 모습입니다. 송신기로도 제어가 되고, Tower로도 조종이 되니 편할 것 같습니다.


아래는 Tower만 확대한 것입니다. 케이블이 좀 이상한데... 3DR radio 구입할 때 딸려온 OTG 케이블이 못쓰는 것이라, OTG 케이블 제작하기를 참고해서 만들었습니다.



시동끄기


  1. 비행모드가 Stabilize/Acro/AltHold/Loiter 중 하나로 설정되어 있어야 합니다.
  2. Throttle 최하단, rudder 최좌측으로 2초정도 위치시키면 모터가 꺼집니다.
  3. Pixhawk의 LED가 초록색으로 점멸합니다.
  4. 안전스위치를 눌러주면 LED가 점멸합니다. 
  5. LiPo 배터리를 분리합니다.
  6. 송신기를 끕니다.


Tips for new Pilots


원본 : http://copter.ardupilot.com/wiki/ac_tipsfornewpilots/


처음 시동시 테스트


  1. 우선은 Throttle을 천천히 밀어올려서 살짝만 띄웁니다.
  2. 만약 이 상태에서 기체가 흔들린다던지 이상 징후가 발생되면 즉시 착륙시킵니다. 기체를 손으로 단단히 잡고(프롭에 닿지 않도록 유지하면서) Throttle을 천천히 밀어보면서 기체가 어떻게 반응하는지 살피고, 우측 스틱을 전후좌우로 움직이면 기체가 그 방향으로 기울어지는지 확인해 봅니다. 만약 다른 방향으로 움직인다면 모터를 잘못 결합했거나, 프롭 방향이 바뀌는 등의 문제가 있으니 확인합니다. (모터 및 ESC 테스트 확인)
  3. Pitch와 Roll이 반대로 움직일 때는 RC 송신기에서 해당 채널을 Reverse 시켜줍니다. 
  4. 약간 띄우면 Yaw가 약간 돌아가는데 30도 이상 돌아가면 안됩니다. 좀 더 날리면 스스로 방향을 잡습니다. (기체가 기우뚱 거리면 안됩니다. 만약 그렇다면 프롭이나 모터에 이상이 있다는 것입니다.)
  5. 이륙시키면 (바람이 없다면) 제자리에 그냥 떠 있어야 합니다. 전후좌우로 흐름이 있더라도 Trim으로 조종하지 마십시오. 평평하지 않은 곳에서 이륙시키면 이런 현상이 발생하고, 프레임이 잘못되었을 (모터 하나만 기울어짐) 가능성이 있습니다.
  6. 그래도 문제가 있다면 troubleshooting guide를 읽어보시기 바랍니다. 
  7. 이 정도가 문제가 없다면 이제 Loiter, AltHold 등을 사용할 수 있습니다.

첫 비행을 위한 조언


  • 바람이 없는 환경에서 날릴 것. (바람이 있으면 Auto Trim이 불가능함)
  • 수신기에 있는 Trim은 사용하지 말것
  • 1 미터 정도만 띄우면 Ground Effect는 없다고 봐도 됨.
  • Auto Trim을 시도하기 전에 미리 충분히 연습해서 송신기 스틱만으로 기체를 한 지점에 고정시킬 수 있는 위치를 찾아둘 것.
  • Simple모드로 시작하지 말고 Stabilize 모드로 시작할 것.
  • Home 위치(RTL에서 돌아오는 위치)는 처음 시동을 거는 지점임. 

====

이상입니다. 일단 이정도 상태에서 날려봤는데... 혼자 시험비행 하다보니 사진도 못찍고, 바람도 약간 있어서 Auto Trim은 해보지 못했습니다. 다음에 기회가 되면 새로 올려야 할 듯 싶네요.


민, 푸른하늘

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

  1. 다음 동영상이 기대됩니다..ㅎㅎ

    2016.01.01 05:18 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. 시동시 음악

    pixhawk 안전 스위치를 눌렀을때 음악 소리가 나오나요? 저는 나오질 않습니다.

    2017.02.20 00:19 [ ADDR : EDIT/ DEL : REPLY ]

드론/쿼드콥터2015. 12. 24. 13:43

하드웨어 조립이 완료되었으니, 이제 하드웨어 설정 과정에 들어갑니다. 


사실 이 과정이 훨씬 복잡하고, 훨씬 중요합니다. 쿼드콥터를 단순하게 날리는 게 아니라, 세부적인 기능을 검토하고, 성능을 최적화하는 단계이기 때문입니다.


Pixhawk 비행콘트롤러를 설정하기 위한 가장 첫 단계는 Mission Planner의 설치입니다. 여기 들어가면 설치할 수 있습니다. Mission Planner는 OSX도 지원하는 것 같은데, Windows 환경에서 사용하는 게 제일 좋습니다. 여기 들어가면 다른 지상국(GCS : Ground Control Stations)을 볼 수 있습니다.


아래는 Mission Planner를 실행시킨 모습입니다.



제일 먼저 할 일은 Firmware를 설치하는 일입니다. 설치하는 과정은 제가 예전에 작성해둔 Pixhawk에 Firmware 설치하기를 읽어보시면 됩니다. 저는 이미 설치된 상태이기 때문에 상태를 확인하기 위해 "CONNECT"를 누르자 새로운 버전이 나왔으니 업그레이드 시키라는 메시지가 떴습니다. 업그레이드 시키는 것도 설치하는 것과 동일합니다. 


아래는 연결 후 기체를 약간 기울여본 모습입니다. HUD 화면이 기울어진 걸 보면 설치가 잘 된 걸 확인할 수 있습니다.



====

펌웨어가 설치되었으니 이제부터 본격적인 설정 작업에 들어갑니다. 하지만, 그전에 3DR Radio 부터 연결하는 게 좋습니다. 설정 작업을 하게 되면 기체를 이리 저리 옮길 필요가 있는데, USB 케이블을 연결한 상태로 하면 아무래도 귀찮기 때문입니다.


3DR Radio Telemetry는 USB에 연결하면 Driver가 자동적으로 설치됩니다. 설치가 완료된 후에는 여기를 참고하여 접속하면 됩니다. 간단히 말해서 장치관리자에 새로 추가된 COM 포트를 선택하고, baud rate를 57600 으로 설정하면 됩니다.



또, 설정에 들어가기 전에 송수신기를 서로 연결하고 모드를 설정해 두어야 합니다. 저의 경우엔 Futaba SG14 송신기가 있어서 수신기만 구매했기 때문에 이 과정이 필요합니다. 제가 사용한 방법은 제가 예전에 써둔 글을 참고하시면 되지만, 이는 송수신기의 종류에 따라 완전히 다릅니다.


이제 준비는 끝났으므로, Mission Planner에서 Initial Setup -> Wizard를 누르고 시키는 대로 따라하면 됩니다. 자세한 내용은 3DR Quad Kit 캘리브레이션을 참고하세요. 기체는 다르지만, Flight Controller가 동일하기 때문에 설정은 동일합니다.


3DR Quad Kit 캘리브레이션 글에서도 언급했지만, 이런 설정과정이 상당히 까다롭습니다. 왜 많은 사람들이 DJI를 사용하는지 알것 같다는 느낌. 한마디로 DJI의 경우 모든 부품을 자체 공급하기 때문에 대부분의 설정값이 정해져 있으므로 따로 설정을 할 필요가 없음에 비해, 오픈소스인 Pixhawk 는 다양한 기기와 결합 할 수 있기 때문에 세부적인 것 까지 콘트롤해야 합니다.


그중에서도 약간 까다로웠던 부분을 꼽자면 아래와 같습니다.

  • 전자나침반 교정부분 : Mission Planner에서 설명된 부분과 Wiki에 작성된 내용이 약간 다르기도 하거니와, 어느 쪽으로 회전시키는 게 맞는지 약간 혼란스러웠습니다.
  • 송수신기 설정/비행모드 설정 : 저는 Futaba를 사용해서 그런지 여러가지 설정이 많이 필요 했습니다. 비행모드 설정에서 6가지 옵션을 가지도록 하는 부분을 여러 번 반복했던 기억이 납니다.
  • ESC 교정 : ESC 교정에 관한 내용은 총 3가지 버전이 있었습니다. Mission Planner에서 수행하는 방법, Wiki에 있는 내용, 그리고 Skywalker 4 in 1 ESC에 나와 있는 내용 등입니다. 그래서 이것도 해보고 저것도 해보고 하면서 시행착오를 많이 겪었습니다. 
이 중에서 제일 저를 괴롭혔던 것이 ESC 교정 이었습니다. 사실 ESC 문제가 아니었을 가능성이 높지만, ESC 교정이 안된 것 같아서 여러가지 방법으로 ESC 교정을 시도해봤기 때문에 고민도 많이 했고, 시간이 많이 걸렸습니다.


문제의 시작은... 시동을 걸고 약간... 아주 약간 기체를 띄우면 기체가 좌전방으로 조금씩 나가는 현상 때문이었습니다. (이를 상쇄하고자 pitch를 약간 땡겼더니 더 멀어지는 현상도 있었지만, 그 채널을 Reverse로 변경하여 해결. 원래 이렇게 설정하라고 되어 있는 걸 이번에야 발견. ㅠㅠ) Stabilize 모드에서 기체를 띄우면 거의 제자리에 있어야 하는데 자꾸만 밀리니까 모터가 고장인가 싶어서 대각선 방향으로 모터 까지 바꿔 끼워봤지만 동일한 결과가 발생했습니다. 결국 모터는 이상이 없다는 것이죠.


그래서 ESC 교정에 더 집중했지만, 여전히 좌측 앞쪽으로 조금씩 나가는 현상 발생. 그래서 마지막이라는 심정으로!!! 신정교 아래 넓은 곳에 나가서 테스트 해봤더니 이런 현상이 있기는 해도 그다지 크지 않다는 걸 확인하고 종료했습니다.


사실 어차피 ESC 교정이라는 것이 "Throttle 채널의 PWM값의 최대/최소 범위를 알려주는 것"이라고 할 수 있습니다. 따라서 구지 Mission Planner나 Pixhawk를 거쳐야 할 필요가 없는 것이죠. 그래서 최종적으로 4 in 1 ESC에 있는 "Throttle range setting" 방법을 사용했습니다. 방법은 아래와 같습니다.


배터리 -> ESC -> throttle hub -> receiver 순서로 연결을 했고, Pixhawk 전원은 아얘 차단시켜 뒀습니다. 삑삑 소리가 많이 나서 구분하기 힘들었거든요. 그리고 ESC에서 음악소리가 나는 옵션도 꺼버렸구요. receiver의 전원은 당연히 throttle hub를 통해 공급하는 겁니다. 


연결후 송신기의 전원을 넣고 throttle 을 최대로. 그다음 ESC에 배터리 연결. 2초후 삐삐 (최대치를 감지했다는 뜻). 송신기 throttle을 최하단으로. 삐소리 4번(4S을 사용중). 삐~~ 길게(최소치를 감지 완료) 


이 상태에서 throttle을 올려보면 모터가 바로 움직입니다. 모터 동작 확인 후 전원을 분리해주면 ESC 교정이 끝난 것입니다. 자세한 내용은 원본 PDF 파일을 참고하세요.


아무튼... 이렇게 해서 한 2-3일동안 고민했던 문제는 해결했습니다. 역시나 험난하네요.


민, 푸른하늘








Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요