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

라임 2017-08-05 (토) 21:12 10개월전 799  

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

                                                                                                                                                                                                                                                                                                        


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

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

어떻게 해야할까요?







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

                                                                                                                                                                                                                                                                                                        


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

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


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

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


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

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




 







회로 연결하기

                                                                                                                                                                                                                                                                                                        


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

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



 





아두이노 코드 (Arduino IDE)

                                                                                                                                                                                                                                                                                                        


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

할 수 있습니다. 즉, 디지털 신호와 PWM신호를 입력해주면 모터를 제어할 수 있습니다.


void setup() {

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

}


void loop() {

  /*정방향으로 100/255의 속도로 회전*/

  digitalWrite(2, HIGH);       // Motor A 방향설정 (정방향)

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

  delay(3000);

  /*정방향으로 200/255의 속도로 회전*/

  digitalWrite(2, LOW);       // Motor A 방향설정 (역방향)

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

  delay(3000);

}




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

 


모바일 버전으로 보기