쿼드 콥터
blheli_s littlebee 30a esc calibration
성난붱이
2023. 4. 17. 12:12
비프음 들으면서 esc calibration 하는 방법을 썼다.
보니까 blheli는 calibration해주는 프로그램이 있는 모양인데
지원하는 보드가 한정적이라 결국 각자의 보드에 맞는
calibration을 진행하려면 이 방법 밖에 없지 않을까 싶다.
void do_calibration () {
update_throttle(3480); // max throttle pwm signal
HAL_Delay(10000);
update_throttle(1750); // min throttle pwm signal
HAL_Delay(10000);
}
왜 하필 10 seconds의 대기가 필요한지 궁금하다면
blheli 사의 비프음과 관련된 manual을 읽어야 한다.
BLHeli_S manual SiLabs Rev16.x.pdf
0.10MB
BLHeili_S User Manual.pdf
0.23MB
만약 calibration은 이미 됐고 바로 모터를 구동하고 싶다면
다음과 같이 arming mode를 생략하고 넘어가야 한다.
void skip_arming_mode () {
update_throttle(100);
HAL_Delay(100);
update_throttle(0);
HAL_Delay(3000);
update_throttle(1750);
HAL_Delay(3000);
}
그리고 정말 주의!!! 해야 한다.
esc에 넣을 pwm 신호를 만들 때 prescaler와 counter period를 정할텐데
이 때 나누기 전 클록은 TIMx에 들어가는 클록이다.

만약 위와 같이 APBx peripheral clocks와 APBx timer clocks가 다르다면
무조건 APBx timer clocks를 기준으로 계산해야 된다.
이거 때문에 일주일 동안 호미질 했다.