안녕하세요~!!
구독자 여러뷴~
디바이스마트 엔지니어 흥프로 입니다~~!!~!
오늘의 포스팅은 !!!
아두이노로 A4988 모터 드라이버를 제어하기 입니다.
A4988 모터 드라이버는
A4988 IC를 이용해 만든 드라이버 입니다.
아래는 간단하게 저희가 판매중인 Allegro 사의 A4988 입니다.
[Allegro MicroSystems, LLC]
A4988SETTR-T
이런 식으로 되어 있어요
생각보다 높은 전압 8V~35V 까지 로드 해주네용
최대 전류는 2A까지
분해능은 1, 1/2, 1/4, 1/8, 1/16
이 쪼금한 친구가 성능이 괜찮네요!!
이 정도면 3D프린트 만들때 충분히 사용하겠군요!!!
1,000원 ~ 12,000원까지
디바이스마트에 등록 된 것만 9종이네요. ㄷㄷㄷ;;;
이렇게 쉽게 설계해서 사용 할 수 있다는 거죠!!
이번에 제가 사용할 제품은
A4988 스텝모터 드라이버 모듈 GREEN (방열판 포함)
http://www.devicemart.co.kr/goods/view?no=10912921
+
NEMA17 스텝모터(추가옵션) / 바이폴라 (Bipolar)
을 사용 합니다.!!!
<회로도>
간단 합니다. 스테핑 모터의 핀맵만 잘 맞춰주세요.!
MS1 / MS2 / MS3 는 분해능을 결정하는 겁니다.
저는 풀스텝으로 돌릴꺼에요
A4988 드라이버는 전류 리밋을 사용할 수 있습니다.
가변저항을 돌리면 최대 전류를 조절 할 수 있습니다.
Current Limit = Vref(V) * 2
쉽게!!!
위에 가변저항 가운데와 GND를 멀티미터로
전압을 찍으면 전압이 나옵니다.
그 전압에 2배하시면 전류 입니다.
전압 분배 법칙을 사용해서...
여러분이 알아서 ㅎ
아 머리 아퍼 ! 도망갑니다. ~~
1바퀴(360도)를 회전시 200 STEP 이 필요합니다.
아래는 소스 코드 입니다
구동 하는 모습입니다.!!
아스탭을 2000으로해서 10바퀴 도는겁니다.
LED는 방향을 확인하기 위해 사용하였습니다.
자 오늘 포스팅은 여기까지 하겠습니다.
여러분이 직접 해보시고 경험해보세요!
항상 여러분의 도전을 응원합니다.
수고 하셨습니다
이상 엔지니어 흥프로 였습니다.!
아두이노로 A4988 모터 드라이버를 제어하기 입니다.
A4988 모터 드라이버는
A4988 IC를 이용해 만든 드라이버 입니다.
아래는 간단하게 저희가 판매중인 Allegro 사의 A4988 입니다.
[Allegro MicroSystems, LLC]
A4988SETTR-T
MOTOR TYPE - STEPPER | Bipolar |
---|---|
MOTOR TYPE - AC, DC | - |
FUNCTION | Driver - Fully Integrated, Control and Power Stage |
OUTPUT CONFIGURATION | Half Bridge (4) |
INTERFACE | Logic |
TECHNOLOGY | DMOS |
STEP RESOLUTION | 1, 1/2, 1/4, 1/8, 1/16 |
APPLICATIONS | General Purpose |
CURRENT - OUTPUT | 2A |
VOLTAGE - SUPPLY | 3 V ~ 5.5 V |
VOLTAGE - LOAD | 8 V ~ 35 V |
OPERATING TEMPERATURE | -20°C ~ 150°C (TJ) |
MOUNTING TYPE | Surface Mount |
PACKAGE / CASE | 28-VFQFN Exposed Pad |
SUPPLIER DEVICE PACKAGE | 28-QFN (5x5) |
이런 식으로 되어 있어요
생각보다 높은 전압 8V~35V 까지 로드 해주네용
최대 전류는 2A까지
분해능은 1, 1/2, 1/4, 1/8, 1/16
이 쪼금한 친구가 성능이 괜찮네요!!
이 정도면 3D프린트 만들때 충분히 사용하겠군요!!!
1,000원 ~ 12,000원까지
디바이스마트에 등록 된 것만 9종이네요. ㄷㄷㄷ;;;
이렇게 쉽게 설계해서 사용 할 수 있다는 거죠!!
이번에 제가 사용할 제품은
A4988 스텝모터 드라이버 모듈 GREEN (방열판 포함)
http://www.devicemart.co.kr/goods/view?no=10912921
+
NEMA17 스텝모터(추가옵션) / 바이폴라 (Bipolar)
을 사용 합니다.!!!
<회로도>
간단 합니다. 스테핑 모터의 핀맵만 잘 맞춰주세요.!
MS1 / MS2 / MS3 는 분해능을 결정하는 겁니다.
저는 풀스텝으로 돌릴꺼에요
MS1
|
MS2
|
MS3
|
Resolution
|
LOW
|
LOW
|
LOW
|
FULL STEP
|
HIGH
|
LOW
|
LOW
|
1/2 STEP
|
LOW
|
HIGH
|
LOW
|
1/4 STEP
|
HIGH
|
HIGH
|
LOW
|
1/8 STEP
|
HIGH
|
HIGH
|
HIGH
|
1/16 STEP
|
A4988 드라이버는 전류 리밋을 사용할 수 있습니다.
가변저항을 돌리면 최대 전류를 조절 할 수 있습니다.
Current Limit = Vref(V) * 2
쉽게!!!
위에 가변저항 가운데와 GND를 멀티미터로
전압을 찍으면 전압이 나옵니다.
그 전압에 2배하시면 전류 입니다.
전압 분배 법칙을 사용해서...
여러분이 알아서 ㅎ
아 머리 아퍼 ! 도망갑니다. ~~
제가 사용하는 모터가
1 STEP 당 1.8 도 회전이기 때문에
아래는 소스 코드 입니다
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
|
//핀 설정
const int Step = 3; //모터 PWM 핀
const int Dir = 2; // 모터 방향 핀
//속도
const int Speed = 800; // 회전 속도 조절
void setup()
{
// 핀 설정
pinMode(Step, OUTPUT);
pinMode(Dir, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int i;
//High 상태는 반시계방향 이동
digitalWrite(Dir,HIGH);
Serial.println("right");
//i = 200step 1바퀴
for(i = 0; i < 200; i++)
{
digitalWrite(Step,HIGH);
delayMicroseconds(Speed);
digitalWrite(Step,LOW);
delayMicroseconds(Speed);
}
//1초 대기
delay(1000);
//Low 상태는 시계방향 이동
digitalWrite(Dir,LOW);
Serial.println("left");
for(i = 0; i < 200; i++)
{
digitalWrite(Step,HIGH);
delayMicroseconds(Speed);
digitalWrite(Step,LOW);
delayMicroseconds(Speed);
}
//1초 대기
delay(1000);
}
|
여러분이 직접 해보시고 경험해보세요!
항상 여러분의 도전을 응원합니다.
수고 하셨습니다
감사합니다!
이상 엔지니어 흥프로 였습니다.!
0 댓글