아두이노 MDD10A 모터드라이버로 고용량 DC모터 제어하기

라임 2017-08-05 (토) 21:13 10개월전 1052  

아두이노와  MDD10A 모터드라이버로 고용량 DC모터 제어하기

                                                                                                                                                                                                                                                                                                        


모터는 전기에너지를 직선 혹은 회전운동으로 만들어주는 전자부품이며, 간단한 예로 선풍기를 생각할 수 있습니다. 선풍기 내부에는 DC전원으로 

작동하는 DC모터가 들어있으며, 약, 중, 대와 같은 버튼을 누를 경우 회전 속도가 변경합니다. 이와 같이 모터의 회전속도나 방향 등을 제어하려면 

어떻게 해야할까요?









DC모터 & 아두이노 우노 보드 & MDD10A 모터 드라이버

                                                                                                                                                                                                                                                                                                        


DC모터 2개의 단자가 있으며, 단자에 +, - 극을 연결하여 전원을 입력할 경우 모터가 작동합니다. DC모터는 극이 없으며, 전원을  반대로 연결할

경우 반대로 회전하는 성질을 갖습니다. 또한 입력되는 전원(전압)의 크기에 따라 회전수와 힘이 조절됩니다. (전원과 회전수 및 힘은 비례함)


아두이노 보드 프로그램으로 전기신호(PWM)를 제어하기 위한 마이크로컨트롤러 보드입니다. 아두이노 보드에 프로그램을 넣어 전기신호를 제어

함으로써 모터에 입력되는 전원의 크기를 제어할 수 있으며, 모터의 방향 및 속도를 제어하게 됩니다.


모터 드라이버는 아두이노를 보조해주는 역할이라 볼 수 있습니다. 모터는 보통 아두이노와 같은 마이크로컨트롤러가 허용하는 전류보다 전류를 많이

사용하기 때문에 추가적인 회로가 필요하며, 그 역할을 하는것이 바로 모터드라이버입니다.




      









회로 연결하기

                                                                                                                                                                                                                                                                                                        


MDD10A 모터 드라이버는 5~30V에 해당되는 DC모터 2개를 제어할 수 있으며, 각 모터당 10A의 연속 전류를 허용합니다. 비교적 저렵한 가격

으로 고용량의 모터를 제어할 수 있습니다. 로직 신호로는 모터의 방향을, PWM 신호로는 모터의 속도를 제어합니다.



 





아두이노 코드 (Arduino IDE)

                                                                                                                                                                                                                                                                                                        


DIR핀에 HIGH 혹은 LOW 신호를 입력함으로써 모터의 방향을 제어할 수 있으며, PWM핀에 0~255의 PWM신호를 보냄으로써 모터의 속도를 제어

할 수 있습니다. 즉, 아래와 같은 아두이노 프로그램으로 디지털 신호와 PWM신호를 입력해주면 모터를 제어할 수 있습니다.



void setup() {

  pinMode(2, OUTPUT);         // Motor 1 방향설정

  pinMode(8, OUTPUT);         // Motor 2 방향설정

}

void loop() {

  digitalWrite(2, HIGH);       // Motor 1 방향설정 (HIGH 또는 LOW)

  analogWrite(3, 100);         // Motor 1 속도조절 (0~255)

  digitalWrite(8, LOW);        // Motor 2 방향설정 (HIGH 또는 LOW)

  analogWrite(9, 200);         // Motor 2 방향설정 (0~255)

  delay(3000);                 // 3초 지연

  digitalWrite(2, LOW);        // Motor 1 방향설정 (HIGH 또는 LOW)

  analogWrite(3, 200);         // Motor 1 속도조절 (0~255)

  digitalWrite(8, HIGH);       // Motor 2 방향설정 (HIGH 또는 LOW)

  analogWrite(9, 100);         // Motor 2 방향설정 (0~255)

  delay(3000);                 // 3초 지연

}



출처 : 메카솔루션 - 제품 구매하기 클릭





모바일 버전으로 보기