안녕하세요 디바이스마트 대짜이찐입니다.
이번 시간에는 L9110S 모터 드라이버 모듈을 사용해서
스테퍼 모터를 제어해 보겠습니다.
(스텝모터, 스테핑모터 스테퍼모터 다 같은말입니다.)
L9110S 모터 드라이버 모듈은 2.5~12V까지 전원을 입력 받을 수 있고,
각 모터 채널 마다 800mA의 출력을 낼 수 있습니다.
아래는 L9110S 모터 드라이버 모듈의 핀맵입니다.
L9110S 모터 드라이버 모듈도 L298N 모터 드라이버 모듈 처럼
1개의 스테퍼모터를 구동하거나, 2개의 DC모터를 구동할 수 있습니다.
A-IA핀과 A-IB핀의 신호를 아날로그 출력으로 사용하여
0~255의 범위로 PWM 제어를 할 수 있습니다.
0~255의 범위로 PWM 제어를 할 수 있습니다.
아래는 DC모터를 구동할 때의 신호 표입니다.
제가 사용할 스텝 모터 사양입니다.
2상 바이 폴라 스테퍼 모터이기 때문에 선이 4선이고,
이 4선의 A, /A, B, /B을 아래 그림과 같이 순서대로
모터 드라이버와 연결해 줍니다.
스테퍼 모터마다 핀맵이 다르기 때문에 꼭 확인해 보셔야 합니다.


2상 여자 방식 스테퍼 모터이기 때문에
A+B->B+/A->/A+/B->/B+A 순서로 동작합니다.

아래 예제는 스위치를 누르면 반대방향으로, 누르지 않으면 정방향으로
동작하는 스텝모터 제어 예제입니다.

준비물: 아두이노 우노, L9110S 모터 드라이버 모듈, 스위치 모듈, 스텝 모터
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
 | 
/* 
L9110S Motor Driver + Stepper Motor Test     
http://www.devicemart.co.kr/ 
*/ 
// 모터 드라이버 신호선 연결 
int IN1=2; // 아두이노 D2에 A-IA연결  A 
int IN2=3; // 아두이노 D3에 A-IB연결 /A 
int IN3=4; // 아두이노 D4에 B-IA연결  B 
int IN4=5; // 아두이노 D5에 B-IB연결 /B 
int sw=7; // 스위치 아두이노 D7에 연결 
int delay_time=2; // 스테퍼모터 속도 딜레이 
void setup() 
{ 
 // 신호 핀들 입출력 설정 
 pinMode(IN1,OUTPUT); 
 pinMode(IN2,OUTPUT); 
 pinMode(IN3,OUTPUT); 
 pinMode(IN4,OUTPUT); 
 pinMode(sw,INPUT); 
} 
void loop() 
{ 
  int sw_val=digitalRead(sw); // 스위치 On/off 신호를 읽음 
  /* 스위치가 off이면 정방향으로 동작 
     스위치가 on이면 역방향으로 동작 */ 
  if(sw_val==0) forward(); // forward 함수 호출 
  if(sw_val==1) reverse(); // reverse 함수 호출 
} 
int forward() // 정방향 동작 함수 
{ 
 // 스텝1 
 digitalWrite(IN1,LOW); 
 digitalWrite(IN2,HIGH); 
 digitalWrite(IN3,HIGH); 
 digitalWrite(IN4,LOW); 
 delay(delay_time); 
 // 스텝2 
 digitalWrite(IN1,LOW); 
 digitalWrite(IN2,HIGH); 
 digitalWrite(IN3,LOW); 
 digitalWrite(IN4,HIGH); 
 delay(delay_time); 
 // 스텝3 
 digitalWrite(IN1,HIGH); 
 digitalWrite(IN2,LOW); 
 digitalWrite(IN3,LOW); 
 digitalWrite(IN4,HIGH); 
 delay(delay_time); 
 // 스텝4 
 digitalWrite(IN1,HIGH); 
 digitalWrite(IN2,LOW); 
 digitalWrite(IN3,HIGH); 
 digitalWrite(IN4,LOW); 
 delay(delay_time); 
} 
int reverse() // 역방향 동작 함수 
{ 
 // 스텝1 
 digitalWrite(IN1,HIGH); 
 digitalWrite(IN2,LOW); 
 digitalWrite(IN3,HIGH); 
 digitalWrite(IN4,LOW); 
 delay(delay_time); 
 // 스텝2 
 digitalWrite(IN1,HIGH); 
 digitalWrite(IN2,LOW); 
 digitalWrite(IN3,LOW); 
 digitalWrite(IN4,HIGH); 
 delay(delay_time); 
 // 스텝3 
 digitalWrite(IN1,LOW); 
 digitalWrite(IN2,HIGH); 
 digitalWrite(IN3,LOW); 
 digitalWrite(IN4,HIGH); 
 delay(delay_time); 
 // 스텝4 
 digitalWrite(IN1,LOW); 
 digitalWrite(IN2,HIGH); 
 digitalWrite(IN3,HIGH); 
 digitalWrite(IN4,LOW); 
 delay(delay_time); 
} 
 | 
부품은 아래 링크에서 구매하실 수 있습니다.
아두이노 우노
http://www.devicemart.co.kr/goods/catalog?code=000500010002
L9110S 모터 드라이버 모듈
http://www.devicemart.co.kr/goods/view?no=1324245
http://www.devicemart.co.kr/goods/view?no=1385145
스위치 모듈
http://www.devicemart.co.kr/goods/catalog?code=000400080002
스테퍼 모터
http://www.devicemart.co.kr/goods/catalog?code=001500010004
감사합니다.



0 댓글