이번에도 개인적인 사정(뭐 게을러서 그런 부분도 있긴 하지만서도..쩝)으로 오랫동안 게시물을 올리지 못했습니다.
지난번 게시물에 이어서 작성하도록 하겠습니다.
우드락 프레임을 조금 수정했습니다. 막상 만들어 놓고 보니까 모터마운트하고 바디와의 거리가 너무 멀고 프로펠러가 아래쪽에 위치하고 있어 무게 중심이 위로 올라가 있는 부분이 생겼습니다. 그래서 모터마운트부분을 제거 했습니다. 보다 바디쪽으로 붙이기 위해서이고, 추가로 위로 올리기 위해 마운트부분을 덧 붙였습니다.
수정 전 보다 바디하고 모터 하고 가까워 졌고, 프로펠러 위치가 더 위로 올라 갈수 있도록 되었습니다.
본격적으로 모터를 제어하는 모터 드라이브부분입니다. 모터를 회전시키기 위해서는 모터에 맞는 전압과 전류가 필요합니다. 사용되는 모터가 지난 게시물에 나오는 사양과 비슷하다면, 아두이노에서 나오는 전류로는 모터에 충분한 힘을 주지 못할 뿐더러 모터에서 소모되는 전류를 감당하지 못해 아두이노가 망가 집니다.
아두이노의 digital I/O포트 한개에서 나오는 전류는 최대 40mA이고 권장은 20mA입니다. 그리고 아두이노에서 출력되는 전류의 합이 200mA를 넘어선 안됩니다. 그런데 모터1개가 사용하는 최대 전류가 2.7A(2700mA)이고 그러면 아두이노 최대 출력을 사용하더라도 모터 하나 제대로 돌릴 수 없습니다. 그래서 보통 모터 드라이버를 사용합니다.
모터 드라이버의 종류는 많이 있습니다. 쉴드 형태로 나오는 것도 있습니다. 대표적인것인 L298N, L293D를 이용한 모터드라이브입니다.
작은 전류로 큰 전류를 제어하기 위해 사용하는 모터 드라이버(왼쪽: L293D, 오른쪽: L298N)
근데 위 모터 드라이버는 크기도 하지만 무게도 만만치 않습니다. 출력이 약한 모터를 사용하는 비행체에 사용하기에는 많은 무리가 있습니다. 그래서 부품을 가지고 직접 만들어 사용하거나 아니면 데이터 수신부터 모터 제어까지 한꺼번에 되는 All-in-ONE보드형태를 사용합니다. 하지만 All-in-ONE 보드 형태는 구하기가 쉽지않습니다. 대부분 시중에 판매되는 상용 드론에 사용되는 것이고, 또 구했다 하더라도 송신기도 그 보드에 맞는 것을 사용해야 합니다.
이 블로그에선 부품을 구입해서 직접 만들어 사용합니다.. 뭐 그렇게 어렵지도 않습니다.
모터 드라이버에 사용된 전자 부품입니다. TIP120 NPN트랜지스터, 1㏀저항, FR107다이오드가 각각 4개씩 필요합니다.
모터드라이버 전자부품
123D를 이용한 모터 드라이버 시뮬레이션
위 시뮬레이션 그램 아래쪽의 전류량 표시는 아두이노에서 출력되는 전류량입니다. 각 포트당 출력되는 전류량이며, 저항을 작은것으로 연결하면 전류량은 더 커집니다. 제 경우에는 모터 출력에는 별 영향이 없습니다.
브래드보드에 올려본 드라이버부품들
어깨동무하고 있는 모터 드라이버들- 수축튜브로 마무리 되었습니다.
모터 드라이브 테스트
위 동영상은 스케치프로그램으로 아두이노에서 모터 속도를 제어하는 과정입니다. 스마트폰으로 찍어서 제대로 나오지 않았지만 실제로는 멈춤에서 최대회전으로, 최대 회전에서 멈춤으로 반복하도록 되어 있습니다.
아래는 스케치 프로그램입니다.
int i;
int motorPin = 6;
void setup() {
}
void loop() {
while ( i < 256) {
analogWrite(motorPin, i);
i++;
delay(10);
}
delay(2000);
while( i>=0) {
analogWrite(motorPin, i);
i--;
delay(10);
}
delay(2000);
}
오늘은 여기까지 입니다.
'Arduino' 카테고리의 다른 글
드론, 프로펠러 돌다... 2번째 (0) | 2016.03.28 |
---|---|
드론, 프로펠러 돌다... (0) | 2016.03.15 |
아두이노 나노를 다시 한번 되살리다. (2) | 2016.03.07 |
아두이노 나노를 되살리다. (1) | 2016.02.26 |
아두이노 드론만들기 (9) | 2016.02.24 |
WRITTEN BY