Arduino

전압을 이용한 DC 모터의 속도 제어하기

작성자 임베디드코리아 작성일25-05-15 23:52 조회155회 댓글0건

첨부파일

<* 전압을 이용한 DC 모터의  속도 제어 *>
■  DC모터를 적절히 사용하기 위해서는 동작 전압과 전류, 분당 회전 수(RPM, Revolutions Per Minute), 토크(Torque) 등을 알아야한다.
    - 동작 전압과 전류가 충분하지 않으면 DC모터는 움직이지 않는다.
    - 분당 회전 수(RPM)는 모터의 회전수를 결정하기 때문에 적용 분야에 따라 속도가 중요한 경우가 있다.
    - 토크는 회전력이라고 하며 물체가 회전하는데 드는 힘이다.

■ D9에 모터의 VCC를 연결한다.
  - 출력을 0~ 255 값으로 속도를 변화 시킬 수 있다.

------< for 문을 이용한 DC 모터의 속도 제어 > -------------
int MotorPin = 9;
int speed=0;

void setup() {
  pinMode(MotorPin, OUTPUT);

}

void loop() {
  for(speed; speed<=255; speed+=20){
    analogWrite(MotorPin, speed);
    delay(100);
  }
 
  for(speed; speed<0; speed-=20){
    analogWrite(MotorPin, speed);
    delay(100);
  }
 
}

------< 가변 저항을 이용한 DC 모터의 속도 제어 > -------------
int MotorPin = 9;
int convertedPin = A0;
int convertedValue=0;
int speedValue = 0;

void setup() {
  pinMode(MotorPin, OUTPUT);
  pinMode(convertedPin, INPUT);

}

void loop() {
  /* 가변저항의 입력 값 읽기 */
  convertedValue = analogRead(convertedPin);

  /* 입력 값 범위를 0 ~ 255로 변환*/
  speedValue = map(convertedValue, 0, 1023, 0, 255);

  analogWrite(MotorPin, speedValue);
  delay(100);

}