아두이노 FD04A 4채널 모터드라이버로 DC모터 제어하기아두이노와 FD04A 모터드라이버로 DC모터 제어하기
모터는 전기에너지를 직선 혹은 회전운동으로 만들어주는 전자부품이며, 간단한 예로 선풍기를 생각할 수 있습니다. 선풍기 내부에는 DC전원으로 작동하는 DC모터가 들어있으며, 약, 중, 대와 같은 버튼을 누를 경우 회전 속도가 변경합니다. 이와 같이 모터의 회전속도나 방향 등을 제어하려면 어떻게 해야할까요?
DC모터 & 아두이노 우노 보드 & MDD10A 모터 드라이버
DC모터는 2개의 단자가 있으며, 단자에 +, - 극을 연결하여 전원을 입력할 경우 모터가 작동합니다. DC모터는 극이 없으며, 전원을 반대로 연결할 경우 반대로 회전하는 성질을 갖습니다. 또한 입력되는 전원(전압)의 크기에 따라 회전수와 힘이 조절됩니다. (전원과 회전수 및 힘은 비례함)
아두이노 보드는 프로그램으로 전기신호(PWM)를 제어하기 위한 마이크로컨트롤러 보드입니다. 아두이노 보드에 프로그램을 넣어 전기신호를 제어 함으로써 모터에 입력되는 전원의 크기를 제어할 수 있으며, 모터의 방향 및 속도를 제어하게 됩니다. 모터 드라이버는 아두이노를 보조해주는 역할이라 볼 수 있습니다. 모터는 보통 아두이노와 같은 마이크로컨트롤러가 허용하는 전류보다 전류를 많이 사용하기 때문에 추가적인 회로가 필요하며, 그 역할을 하는것이 바로 모터드라이버입니다.
회로 연결하기
FD04A 모터 드라이버는 7~25V에 해당되는 DC모터 4개를 제어할 수 있으며, 각 모터당 1.5A의 연속 전류를 허용합니다. 다채널로 모터를 제어할 수 있다는 장점이 있으며, 모터1개를 제어하기 위해서는 2개의 핀이 사용됩니다. 로직 신호로는 모터의 방향을, PWM 신호로는 모터의 속도를 제어 합니다.
아두이노 코드 (Arduino IDE)
DIR핀에 HIGH 혹은 LOW 신호를 입력함으로써 모터의 방향을 제어할 수 있으며, PWM핀에 0~255의 PWM신호를 보냄으로써 모터의 속도를 제어 할 수 있습니다. 즉, 아래와 같은 아두이노 프로그램으로 디지털 신호와 PWM신호를 입력해주면 모터를 제어할 수 있습니다.
void setup() { pinMode(2, OUTPUT); // Motor 1 방향 설정 핀 pinMode(4, OUTPUT); // Motor 2 방향 설정 핀 pinMode(8, OUTPUT); // Motor 3 방향 설정 핀 pinMode(10, OUTPUT); // Motor 4 방향 설정 핀 } void loop() { digitalWrite(2, HIGH); // Motor 1 방향설정 (HIGH 또는 LOW) analogWrite(3, 100); // Motor 1 속도조절 (0~255) digitalWrite(4, HIGH); // Motor 2 방향설정 (HIGH 또는 LOW) analogWrite(5, 100); // Motor 2 속도조절 (0~255) digitalWrite(8, LOW); // Motor 3 방향설정 (HIGH 또는 LOW) analogWrite(9, 200); // Motor 3 방향설정 (0~255) digitalWrite(10, LOW); // Motor 4 방향설정 (HIGH 또는 LOW) analogWrite(11, 200); // Motor 4 방향설정 (0~255) delay(3000); // 3초 지연 }
링크바로가기: https://smartstore.naver.com/mechasolution_com/products/2855891646
|