아이와의 오랜 약속인 쿼드콥터 제작을 시작했습니다.  주말에만 작업 할 예정이기 때문에 언제 끝나게 될 지 까마득합니다.  지난 토요일에는 모터제어 대해서 아이와 간단한 테스트를 진행했습니다.  목표는 기존 제품을 사용하지 않고 아두이노로 직접 만들어서 다루는 것 입니다.  자이로 센서, GPS 그리고 카메라 등을 구상하고 있습니다.  특히 아이의 아이디어를 기반으로 초음파 센서를 이용해서 착륙을 부드럽게 자동으로 처리하고, 주변 장애물과 부디치지 않도록 하는 것을 고민 중 입니다.  (이날 자이로 센서에 대한 테스트도 병행했지만, 해당 포스트는 다음 주로 ㅡ.ㅡ)



가장 먼저 시도한 것은 모터 드라이버 L9110S 입니다.  다루기 쉬운 편이며 후진도 가능하지만, 일단 쿼드 콥터에서 프로펠라가 반대로 돌 일은 없을 테고, 파워가 부족해서 실격 처리 됐습니다.  RC-Car를 만들 때 사용하던 모터 드라이버도 마찬가지입니다.  (http://ryulib.tistory.com/361)  더구나 L293D는 무겁기 까지 합니다.  파워를 올릴 수 있을 까 해서 외부 전원을 사용하다가 드라이버를 결국 태워 먹기까지 하였습니다 ^^;


[그림 1] L9110S 모터 드라이버



두 번 째로 시도한 것은 달링턴 트랜지스터 TIP-120 입니다.  자세한 회로 연결은 (http://bildr.org/2011/03/high-power-control-with-arduino-and-tip120/) 링크를 참고하시기 바랍니다.  테스트한 방법들 중에서 가장 높은 파워로 모터를 제어 할 수 있었습니다.  쿼드 콥터를 띄우는데 충분한 것으로 보입니다.  (저항은 1K를 사용하였습니다)


[동영상 1] TIP-120 구동



마지막으로 시도한 것은 ULN2803 입니다.  자세한 회로 연결은 (http://delta75.tistory.com/537)을 참고하시기 바랍니다.  파워가 TIP-120 보다는 약간 떨어지지만 충분해 보입니다.  특히, 하나의 칩으로 8개의 모터를 제어 할 수 있기 때문에 TIP-120보다는 공간 효율성면에서 편리합니다.  (저항은 1K를 사용하였습니다)


[동영상 2] ULN2803 구동



소스 코드는 아래와 같이 간단하게 for 루프문을 돌면서 0부터 255까지 출력을 변경하도록 하였습니다.


[소스 1]

const int pin = 5;

void setup() {
  pinMode( pin, OUTPUT );
}

void loop() {
  for (int i = 0; i<=255; i++) {
    analogWrite( pin, i );
    delay( 10 );
  }  
}



기타

사용 된 모터는 Hubsan H107C 모델 입니다.


저작자 표시 비영리 변경 금지
신고

Posted by 류종택


티스토리 툴바