1.DC모터 속도조절을 위한 간단한 실습을 해본다.
모터드라이버는
>출력 - 모터에 제어신호를 주어야하는 부분
>입력- 모터의 제어신호를 받아드리는 부분
>전원- 모터의 필요전압을 공급하는 부분
으로 크게 나누어 생각하면 쉽게 어떤 부분을 어떻게 연결할지 이해 할 수 있다.
모터의 종류에 따라 제어신호를 받아드릴 부분이 따로 있다.
DC모터는 전류의 방향과 전압의 세기만 받아들릴 수 있어 2가지의 연결 단자만 있다.
높은 전압을 요하는 모터에는 전원을 따로 공급할 수가 있다. L9110은 2~12V까지 활용이 가능하다.
모터의 제어신호는 0~255단계 별로 입력이 가능하다. 가변저항의 단계는 0~1023의 단계로 조정이 가능함으로 아두이노에서 MAP을 이용하여 가변저항의 1024단계 신호를 256단계의 신호로 맞춰 주는 것이 필요하다.
Code
int motorPinA1= 5; //모터핀A1 변수설정
int motorPinA2= 6; //모터핀A2 변수설정
void setup() {
pinMode(motorPinA1, OUTPUT); // 모터핀A1을 출력모드로 설정한다.
pinMode(motorPinA2, OUTPUT); // 모터핀A2를 출력모드로 설정한다.
}
void loop() {
int Value= analogRead(A0); // 가변저항의 신호를 A0핀에서 읽고 Value 변수에 저장한다
int Speed= map(Value,0,1023,0,255); // A0의 1024단계의 신호를 255단계의 신호로 바꾸고 Speed 변수에 저장한다
analogWrite(motorPinA1, Speed); // 모터핀에A1에 PWM신호 A0를 출력한다.
analogWrite(motorPinA2, 0); // 모터핀A2에 0를 출력한다.모터의 방향을 결정한다
}