본문 바로가기
Arduino(아두이노) 키트 강좌

Step.21-Arduino Uno 로 L9110S 듀얼 모터 드라이버를 사용해 2상 바이폴라 스테핑 모터 구동 시키기

by 오마이엔지니어 2015. 11. 19.
반응형

Arduino Uno 로 L9110S 듀얼 모터 드라이버를 사용해 2상 바이폴라 스테핑 모터를 구동 시키는 프로젝트 입니다
주로 사용하는 스테핑 모터에는 크게 2상 스테핑 모터와 5상 스테핑 모터가 있습니다

상(Phase)이 2개인 2상 스테핑 모터와 5개인 5상 스테핑 모터의 차이점은 '2상 스테핑모터와 5상 스테핑 모터의 차이' 포스팅에서 확인 합시다

스테핑 모터는 또한 구동방식에 따라 바이폴라(Bipolar) 와 유니폴라(Unipolar) 로 나뉩니다

바이폴라는 모터의 권선에 흐르는 전류의 방향이 바뀌는 구동방식이며, 유니폴라는 모터의 권선에 흐르는 전류가 항상 한쪽으로만 흐르는 구동방식 입니다

더 자세한 차이점은 '스테핑 모터 유니폴라 와 바이폴라 의 차이점' 포스팅에서 확인 하도록 합시다

본 프로젝트에서는 2상 바이폴라 스테핑 모터 42BYGHN1641A-05-C 를 사용하였습니다

동작전압 4.83V, 허용전류 0.84A 로 저렴하고 자작용 3D 프린터 등 다방면에 사용되는 모터 입니다


<42BYGHN1641A-05-C 의 이미지와 결선도>

검정색, 녹색, 빨간색, 파란색 구성의 4핀 1M 케이블이 제품에 포함 되어 있습니다 

 

모터 드라이버로 L9110S H-Bridge 듀얼 모터 드라이버  사용하였습니다

구동전압 2.5V~12V , 구동전류 800mA(각 채널당) 로 두개의 DC 모터, 한개의 2상 4선 스테핑 모터를 구동 시킬수 있으며

아두이노 스마트 카 키트 에도 많이 사용되고 있으며 아두이노로 테스트 하기에 적합 합니다




<L9110S 듀얼H-브리지 모터 드라이버 모듈 기능설명>

 

외부 별도 전원없이 아두이노로 간단하게 테스트 하기위해 5V 전압을 연결해서 프로젝트를 진행 하였습니다
단 컴퓨터나 노트북의 전원이 약한 경우 USB 5V 전원으로 모터가 구동되지 않을수 있습니다
이 경우 하단의 주의사항을 참조해 주세요~


사용된 부품

Arduino Uno R3 (Italy)

42BYGHN1641A-05-C 2상 바이폴라 스테핑 모터 

L9110S 듀얼 H-브리지 모터 드라이버

점퍼케이블(숫놈)

점퍼케이블(숫-암놈)

 

사용된 키트

Arduino Starter kit (클릭)

구성 배선도 


 

사용된 예제소스
Example Code1.txt

Example Code2.txt


/*
 Stepper Motor Control - one revolution

 This program drives a unipolar or bipolar stepper motor.
 The motor is attached to digital pins 8 - 11 of the Arduino.

 The motor should revolve one revolution in one direction, then
 one revolution in the other direction.


 Created 11 Mar. 2007
 Modified 30 Nov. 2009
 by Tom Igoe

 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // set the speed at 60 rpm:
  myStepper.setSpeed(60);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

Stepper.h 라이브러리를 사용합니다, Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); 스테핑 모터 핀모드 8~11 입니다
const int stepsPerRevolution = 200; 스테퍼레볼루션 200 입니다
myStepper.setSpeed(60); 스테핑 모터 RPM 설정은 60 입니다
 
 
주의사항
결선시 위의 배선도를 꼭 참고 해서 결선 해야 합니다

42BYGHN1641A-05-C 모터 케이블은 검정색, 녹색, 빨간색, 파란색 순으로 구성되어 있습니다

 
Example Code1 은 스테핑 모터를 정회전 과 역회전을 반복 시키는 코드이고

Example Code2 는 스테핑 모터를 정회전 시키는 코드 입니다

 

Stepper.h 라이브러리는 아두이노 IDE를 설치하면 기본으로 제공되고 있습니다

또한 첨부된 코드는 아두이노 IDE를 설치하면 메뉴의 기본 스테핑 모터 예제에 포함된 코드 이기도 합니다

컴퓨터나 노트북으로 아두이노 우노에 전원을 공급한 경우 전원부족으로 모터가 구동하지 않을수 있습니다
(정확히는 'A' 전류 부족입니다, 스테핑모터 사양이 전류 0.8A 이기 때문에 최소 0.8A 이상의 전류를 공급해 줄 수 있는 전원이 필요합니다)

이 경우 0.8A 이상의 전류가 출력되는 데스크탑에 연결해 전원을 공급하거나

5V 아답터로 아두이노 우노에 전원을 공급해 주고, 모터 드라이버의 5V로 전원 연결을 해주거나
12V 아답터로 아두이노 우노에 전원을 공급해 주고, 아두이노 우노의 Vin 핀으로 모터 드라이버의 12V로 전원 연결을 해주고

테스트를 해봅니다 (아답터는 1A 정도 전류의 아답터를 사용하는것이 적당합니다)
*아두이노 우노의 Vin핀은 아답터로 부터 공급받은 12V의 전원을 출력해 줍니다*

--------------------------------------------------------------------------------------------------------------------------------
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
--------------------------------------------------------------------------------------------------------------------------------
예제코드를 보면 알수 있듯이 핀 설정은 8, 9, 10, 11 입니다
8,9 와 10,11 배선을 바꾸거나 스테핑 모터 4선 배선을 반대로 하면 정회전 역회전을 변경할 수 있습니다

--------------------------------------------------------------------------------------------------------------------------------

int sensorReading = analogRead(A0);
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);

--------------------------------------------------------------------------------------------------------------------------------
모터 스피드 설정 부분입니다

 

프로젝트 동영상





위에서 언급했다시피 본 프로젝트는 별도 전원없이 아두이노의 5V 전원으로 모터를 구동 시켰습니다

동작 전압이 5V 이상 되는 스테핑 모터를 구동 시키려면 별도 전원이 필요 합니다

 

별도 전원을 사용해서 스테핑 모터를 구동 시키는 배선 및 동영상은 아래 링크의 L298N 듀얼 모터 드라이버의 배선도와 동영상을 참조 합시다

L298N 듀얼 H-브리지 모터 드라이버



L928N 듀얼 모터 드라이버를 사용해서도 위에서 진행한 프로젝를 동일하게
테스트 가능합니다 

(배선도를 참고해서 예제코드도 그대로 사용가능 합니다)

구성배선도-L298N 듀얼 모터 드라이버 사용


 프로젝트 동영상




Example Code2.txt
0.0MB
Example Code1.txt
0.0MB
반응형

댓글