아두이노 프로젝트/드론

드론 만들기 프로젝트 - 모터와 ESC 켈리브레이션, 설계

공돌댕 2020. 9. 4. 19:12

누구나 한 번쯤 드론을 보면서 만들어 보고 싶다는 생각이 들었을 것이다. 적어도 나는 그렇다. 드론을 조종하는 것보다는 이상하게 드론을 만드는 것에 더 관심이 갔다. 따라서 이번 프로젝트는 드론 프로젝트이다! 사실 2019년 말에 재료를 샀다가 층간소음으로 인하여 프로젝트를 잠깐 접어두었었다. 하지만 이제는 넓은 개발원에서 할 수 있으니 너무 좋다.

 

재료 선정

용산알씨라는 곳에서 오프라인으로 구매를 했는데 나름 깔끔하고 정리가 잘 되어있었다. 인터넷 가격이랑 똑같았던 걸로 기억한다.

모터는 A2212 스테이터의 직경과 길이에 관한 팩터라고 한다 각각 22/12 이렇게 읽으면 된다. 그리고 2450KV는 1V당 2450 RPM을 내며 높을수록 속도는 빠르나 힘이 줄어들고 이 숫자가 작으면 힘은 좋지만 속도가 느려지게 된다고 한다.

또한 내가 사용한 프로펠러는 HJ-1045인데 10/45 즉 10인치의 길이를 갖고있으며 피치는 4.5인치이다. 피치가 낮으면 낮은 속도 제어에 용이하고 피치가 높으면 높은 속도 제어에 용이하다고 한다 하지만. 높은 피치에서는 대체로 자세 정밀도가 떨어지게 된다고 한다.

모터 스팩.pdf
0.67MB

 

 

한 가지 뼈아픈 실수를 했는데 나는 추력을 많이 낼 드론을 만드려고 프로펠러도 길고 큰 것을 샀는데.. 모터 스펙을 보면 30 암페어 까지도 가까이 부하가 먹는다. 그래서 그런지 실험할 때 파워서플라이가 종종 나가곤 했다.

큰 드론이라면 30A이상의 허용전류를 가진 ESC를 사자!

 

ESC 켈리브레이션

#include <Servo.h>
 
#define MAX_SIGNAL 2000
#define MIN_SIGNAL 700
#define MOTOR_PIN 9
long a = 700;
Servo motor;
 
void setup() {
  Serial.begin(9600);
  motor.attach(MOTOR_PIN);
  
  Serial.println("시리얼 모니터를 키셨으면, 모터에서 삑-삑소리가 난 직후 아무키나 입력해주세요");
  motor.writeMicroseconds(MAX_SIGNAL);
 
  // Wait for input
  while (!Serial.available());
  Serial.read();
 
  // Send min output
  Serial.println("Sending minimum output");
  motor.writeMicroseconds(MIN_SIGNAL);
 
}
 
void loop() {  
 if(Serial.available()>1)
  {
     a = Serial.parseInt();
  }
  Serial.println(a);
  motor.write(a);
}

위와 같은 코드를 통해서 Calibration을 해주면 된다. Servo.h 라이브러리를 사용하였고 캘리브레이션을 함으로써 ESC가 최대 스로틀과 최소 스로틀의 범위를 알 수 있기 때문에, 꼭 해주어야 작동을 한다. 위 코드의 경우 2000이 최대 700이 최소로 캘리브레이션이 완료된 뒤 700~2000 사이의 값을 주면 된다. 심장이 약하신 분들은 700부터 50씩 올리길 바란다.

먼저

  1. ESC와 모터로 가는 전원을 모두 끈후
  2. 아두이노에 다음과 같은 코드를 업로드하고 시리얼 모니터를 켠다. 그 후 모터와 ESC의 전원을 켠다.
  3. 그럼 최댓값이 입력되며 모터에서 삐-삐 소리가 나는데 바로 아무 키나 입력한다
  4. 그럼 최솟값이 입력되며 캘리브레이션이 완료된다
  5. 이후 700~2000 사이의 값을 입력하여 모터의 작동이 정상적인지 테스트해본다.

드론 프레임 설계

설계는 최대한 가볍게 하려고 매시를 많이 넣었고 위에 아두이노나 ESC 같은 잡다한 것들을 놓기 위함이다.

뚜껑과 배터리를 넣는 곳은 아직 만들지 않았다. 사용한 프레임은 솔리드웍스이며 프로펠러나 모터 같은 부품들은 Grab Cad사이트에 많이 올라와있다 무려 무료로 이용할 수 있다! 설계는 차후 더 추가할 예정이다.