2014년 2월 13일 목요일

모터 제어 모듈(AM-DC2-2D) - 블루투스를 이용한 자동차 키트 + 안드로이드 컨트롤러


---------------------------------------------------------------------------------

자동차라는 이름이 붙게 하게끔 만드는 장치인 모터 제어 모듈 입니다.
저는 AM-DC2-2D 라는 모듈을 이용하였습니다.
완성품을 보면 4륜 자동차의 모습을 가지고 있는데, 이 모듈은 좌우 2방향밖에 컨트롤 하지 못합니다. 때문에 저는 좌,우 회전은 좌우의 속도차를 이용하여 하는 방법을 하였습니다. 

AM-DC2-2D 모터제어모듈

이 모듈은 기본적으로 보이는 것과 같이 연결할 부분이 상당히 많습니다. 핀 갯수로만 보면 총 12개인데요.

이거는 AM-DC2-2D의 사진이 아니지만 구성은 비슷합니다. 다른점이 있다면 Motor이라는 부분이 녹색을 기준으로 2개씩 있습니다. 위의 AM-DC2-2D를 보면 알수 있습니다.

Control Signal 이라는 부분, Power Supply, Moter(흰부분 만 사용하면 됨) 라는 부분을 연결해야 합니다.

Power Supply는 모듈의 파워가 아닌 구동시킬 모터의 power를 연결 해야합니다. 저는 12V를 사용하는 모터를 사용했기 때문에 1.5V*8의 전원을 연결 하였습니다.

실물에서 Motor라는 부분을 보면 아래쪽에 CH1A,B라고 적혀있는데 이 모터와 연결하면 됩니다.



Control Signal

Control Signal 부분에 위 사진을 활용하여 신호를 주어야 합니다. 메뉴얼에서 정말 정말 편하게 설명해줍니다.  3줄정리를 하자면

PWM은 속도
DIR은 방향
/Enable은 작동 on/off

Enable은 /(not)이 있으므로 0입력시 on 1입력시 off입니다.
그리고 대부분의 모터는 "?V~??V"이런식으로 허용 범위가 정해져 있는 편인데요. 전원에 따라 파워(속도)의 차이가 있으므로 충분한 파워를 사용하는 것을 추천합니다.

 Dir와 Enable 신호는 on,off의 개념으로 작동하기 때문에 Digital 신호로 연결을 하였고 PWM신호는 PWM신호로 연결하였습니다.

이렇게 연결을 하면 모든 부분이 연결이 됩니다.

아래 부분은 스케치 입니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
.....
#define LE 52
#define RE 53
#define LM 50
#define RM 51
#define LS 9
#define RS 12
.....//저의 설정입니다. 개인에 따라 변경하시면 됩니다.

int pwm = 120;// 속도

....
void setup(){
....
  pinMode(LE,OUTPUT);
  pinMode(RE,OUTPUT);
  pinMode(LM,OUTPUT);
  pinMode(RM,OUTPUT);
  pinMode(LS,OUTPUT);
  pinMode(RS,OUTPUT);//핀 출력모드
  digitalWrite(LE,LOW); // 왼쪽 모터 정지 정보 핀
  digitalWrite(RE,LOW); // 왼쪽 모터 정지 정보 핀
}

///
void loop(){
...

    digitalWrite(LM,HIGH); // 왼쪽 모터 전후진 정보 핀
    analogWrite(LS,LOW);
    digitalWrite(RM,HIGH); // 오른쪽 모터 전후진 정보 핀
    analogWrite(RS,LOW);
    delay(20);

...

    digitalWrite(LM,HIGH); // 왼쪽 모터 전후진 정보 핀
    analogWrite(LS,pwm);
    digitalWrite(RM,HIGH); // 오른쪽 모터 전후진 정보 핀
    analogWrite(RS,pwm);

...
}

digitalWrite는 0,1의 값을 즉 디지털 값을 쓸수 있고
alnalogWrite는 pwm값을 입력할수 있습니다. pwm값은 0~255값입니다.

위의 스케치에서와 같이 각 연결한 dir,enable,pwm을 통하여 전진 후진 속도를 컨트롤 할수 있습니다.

댓글 1개: