아두이노로 DC모터를 제어하는 방법은 제어하고자 하는 기능범위와 제어하고자 하는 모터의 용량에 따라 조금씩 달라지게 된다.

 

단순 ON/OFF 제어하기

 

단순히 모터를 ON시키거나 OFF시키는 동작만을 원한다면 모터에 연결되는 전원을 ON/OFF시키기만 하면 되므로 릴레이장치를 이용하여 전원공급을 제어하면 된다.

 

 

 

방향만 전환하기 

 

모터의 속도는 그대로 두고 작동 방향만 반대로 바꾸는 제어만을 원한다면 다음과 같이 릴레이 두개로 모터에 공급되는 전원의 +/-극성을 바꿔주는 방법이 있다.

 

위와 같이 릴레이 두개를 병렬로 연결하고 아두이노에서 둘 다 NC로 SET하면 모터에 전류는 흐르지 않는다.

마찬가지로 둘 다 NO일 경우에도 모터에는 전류가 흐르지 않아 모터는 정지 상태이다.   

 

 

 

위와 같이 릴레이 상태를 둘 중 하나만 NO으로 하게 되면 모터에 전류가 흐르게 되는데,

극성 방향은 각각 반대가 되어 모터의 작동방향이 반대가 되게 된다.   

 

 

단방향 속도만 제어하기

 

모터의 작동 방향은 그대로 두고 속도만을 제어하기 원한다면 모터에 연결되는 전류의 세기만 조절하면 되기 때문에 PWM방식으로 전류의 양을 조절하면 된다. 즉, MOSFET를 이용하여 모터에 공급되는 전력의 양을 조정하면 된다.

 

 

 

 

 

 

방향과 속도를 동시제어하기  

 

DC모터의 방향과 속도를 동시에 제어하기 위해서는 전류의 극성과 세기를 함께 조절해야 하기 때문에 모터 드라이버를 사용해야 한다.  아두이노 환경에서 흔하게 사용하는 DC모터 드라이버는 L298N(소형모터용)과 BTS7960(대형모터용) 있는데,  각각의 상세 사용방법은 별도로 정리할 예정이다. 

 

 

L298N 드라이버 모듈은 2개의 DC모터 또는 하나의 스테핑 모터를 제어하기 위한 것인데, 12V,허용전류는2A까지이다.

 

 

 

 

BTS7960 드라이버 모듈은 하나의 DC모터를 제어하기 위한 것으로 7~24V, 허용전류가 43A인 대용량 드라이버이다.

 

+ Recent posts