2023년 12월 14일 목요일

[초보의 아두이노] 모터드라이버(MX1508)로 DC모터 제어하기

 무대를 움직일 때 어떤 모터를 쓸 것인가 하는 고민에서 이것저것 실험해 보고 있다.

이번에는 개중에서 DC모터 제어를 알아보자.


DC모터는 +,-입력만 있어 전원을 인가해주면 바로 회전하지만 그 자체로는 방향이나 속도 조정은 안된다.

MX1508 모터드라이버를 사용해 방향과 속도를 제어할 수 있다.


MX1508 모터드라이버 핀맵




+,- : DC전원을 인가한다. (2~10V 사이)

A1, A2 : 모터A용 신호 입력 (1.8~7V 사이)

B1, B2 : 모터B용 신호 입력

모터A, 모터B : 각각 모터에 연결한다.


결선도


※DC모터는 소비전력이 크기 때문에 외부전원을 이용하는것이 추천된다.


동작 코드

const int FwdPin = 6;
const int BwdPin = 7;
boolean DirFlag = true;
 
void setup() {
  // put your setup code here, to run once:
  pinMode(FwdPin, OUTPUT);
  pinMode(BwdPin, OUTPUT);
}
 
void loop() {
  // put your main code here, to run repeatedly:
    if(DirFlag){
      analogWrite(FwdPin,220);
      delay(5000);
    }else{
      analogWrite(BwdPin,220);
      delay(5000);
    }
 analogWrite(FwdPin, 0);
  analogWrite(BwdPin, 0);
  DirFlag = !DirFlag;
  delay(2000);
}


동작속도를 조절하기 위해 analogWrite를 사용했는데, 속도조절을 고려하지 않으면 단순하게 digitalWrite를 걸어도 된다.

동작속도 조절이 잘 안먹히는 것 같기도 하고...



동작 예


※외부전원을 3v (AA * 2) 넣고 있는데, 좀 부족한 듯..

댓글 없음:

댓글 쓰기

1/12 거○먼트 스타일 자동권총 데이터(STL)

  3D프린터로 출력해서 쓸 수 있는 클래식한 자동권총 모델. 1/12 스케일로 그립 크기는 30MS의 무장손에 맞춘 수준. 슬라이드 후퇴고정된 상태와 일반상태 두 가지를 만들었다. 후퇴고정 모델에서 배럴과 가이드의 굵기 때문에 시행착오가 좀 있었던 ...