본문 바로가기

쿼드콥터의 구성

ESC throttle range calibration

캘리브레이션을 하는 이유

모터를 구동시키는 신호를 보내는 것은 변속기가 아니라 FC이다. 변속기는 FC의 신호를 통해 어떤 속도로 모터를 돌려야할 지 결정하게된다. 그렇기 때문에 변속기가 입력값의 FC에서 오는 값의 최소값과 최대값을 알 수 있도록 변속기 캘리브레이션을 해주어야한다.

 내가 사용하는 Afro ESC의 범위는 1060us~1860us이다. 만약 FC에서 발생하는 PWM 범위를 1500us~1800us으로 설정했다면 1500us 펄스를 발생시켰을 때 어떻게 될까? 원래는 모터가 돌아가지 않아야하지만 1060us~1860us로 변속기가 설정되있다면 모터가 빠르게 돌아갈 것이다. 그러므로 변속기의 범위를 1060us~1860us로 설정해주어야한다. 또 여러개의 변속기를 사용할 때 작동범위를 통일하기 위해 캘리브레이션을 한다.

 

ESC 캘리브레이션 방법

다칠 수 있으므로 캘리브레이션을 하기 전 모든 프로펠러를 제거하고 해야한다.

  1. FC를 이용한 방법
    1. esc의 GND, 신호선과 FC의 GND, 신호선을 연결한다.
    2. 변속기에 최대값 펄스(2ms)를 보내고 키보드 인터럽트가 발생하면 최소값 펄스(1ms)를 보내는 코드를 작성한다.
    3. 변속기에 리튬배터리 전원을 준다.
    4. 연결된 ESC에서 비프음이 들린다. 최대값이 입력되었다는 뜻이다.
    5. 소리가 나고 1초 정도 후에 키보드로 아무 값을 치면 최소값이 입력된다.

 

  1. Transmitter(송신기)를 이용한 방법
    1. 조종기의 Throttle을 최대로 높인다.
    2. 변속기에 리튬배터리 전원을 준다.
    3. 신호음이 들리면 Throttle을 최소로 낮춘다.

ESC 작동시키기

ESC는 바로 아무 PWM신호나 보낸다고 모터를 움직이지 않는다. 가장 먼저 최소 throttle pwm(1ms)를 3초정도 보내준 다음에 PWM신호를 인식하여 모터를 작동시킬 수 있다.

 

ESC(PWM) update rate

 공부하면서 ESC protocol에 대해 알게되었는데 내가 사용하는 변속기는 standard pwm을 사용하여 ESC와 신호를 주고 받는다. standard pwm은 1ms~2ms 사이의 값으로 신호를 입력받는다는데 그렇다면 주기는 어떻게 설정해줘야 하는건가 잘 모르겠다. 일단은 400Hz(2.5ms)로 했는데 ESC에는 1000Hz까지 입력 받을 수 있다고 되있어서 주기를 아무렇게나 줘도 인식을 하는건지 신기하다. 그런데 500Hz(2ms)를 넘어버리면 1ms~2ms값을 줄 수 없는데 왜 된다는거지?? 500Hz도 쭉 high신호가 들어올 테니 최소 throttle을 구분할 수 없을 것 같다. 뭐가 뭔지 잘모르겠다. 어차피 PID 주기를 400Hz로 돌릴거기 때문에 PWM 주기는 400Hz면 딱 괜찮다. 어쨌든 PWM 주기에 관한건 Datasheet를 아무리봐도 잘모르겠어서 다음에 멘토님께 질문해봐야겠다. 그리고 ESC data sheet에는 1060us~1860us 사이의 값이 모터를 움직인다고 했는데 1000us를 최소로 캘리브레이션을 하면 1000us~1060us pwm신호를 줘도 모터가 잘 작동한다. 내가 잘못된 datasheet를 본건지 해석이 잘못된건지 잘 모르겠다.

'쿼드콥터의 구성' 카테고리의 다른 글

변속기(Electronic Speed Control)  (0) 2020.02.02
리튬 폴리머 배터리  (0) 2020.02.02
Drone Components list  (0) 2020.02.02
Qaudcopter Flow chart - Software, Hardware  (0) 2020.02.02
How drone fly in the sky  (0) 2020.02.02