BASIC4MCU | 질문게시판 | 17HS4401, A4988 스텝모터 제어
페이지 정보
작성자 jhbaik 작성일2024-06-03 00:34 조회385회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=23750
본문
아두이노에서 아래 부폼과 코드로 스텝모터를 구동하려고 하고 있습니다.
코드를 보드에 올렸으나 모터에서 아무런 반응이 없습니다 (덜덜거리거나 소리도 나지 않고 진짜 아무 반응도 없습니다.). 혹시 어떤 부분이 문제가 될수 있을까요?
삽질하면서 일단 해본건 아래와 같습니다.
1. 브레이크 아웃 보드에 꽂혀 있는 A4988 의 DIR, STEP 에는 코드에서 의도한대로 신호가 잡힘
2. 스탭 신호를 주고 있을때 GND-스탭모터선 에 DC 전압을 제어 보면 VMOT 과 동일한 전압
3. 파워가 문제 인가 싶어 외부 파워 서플라이로 3.3V, 5V 를 VMOT 에 연결해서 테스트
4. 모터가 불량인가 싶었으나 1A-1B, 2A-2B 연결에 문제가 없고 축을 손으로 돌려보니 연결된 파워서플라이 전원 LED 에 불이들어옴
적다보니 사용한 파워서플라이 출력이 700mA 정도밖에 안되는것 같아 파워 문제인가 싶은데 혹시 다른 원인이 있을수도 있을까요?
품목 | 링크 |
42각 스텝모터 (17HS4401) NEMA17 | https://mechasolution.com/shop/goods/goods_view.php?goodsno=582777&category= |
HR4988 스텝모터 드라이버 / A4988 호환 / HR4988 Stepper Motor Driver | https://mechasolution.com/shop/goods/goods_view.php?goodsno=543007&category= |
A4988 스텝모터드라이버 전용 브레이크아웃 보드 | https://mechasolution.com/shop/goods/goods_view.php?goodsno=605067&category= |
브레드보드 파워서플라이 / 전원공급기 / 출력전압 3.3V 5V / Breadboard power supply | https://mechasolution.com/shop/goods/goods_view.php?goodsno=9315&category= |
12V 3A DC 배럴잭 어답터 | https://mechasolution.com/shop/goods/goods_view.php?goodsno=590253&category= |
#define dirPin 2
#define stepPin 3
#define stepsPerRevolution 200
void setup() {
Serial.begin(9600);
// Declare pins as output:
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop() {
Serial.println("RUNNING...");
// Set the spinning direction clockwise:
digitalWrite(dirPin, HIGH);
// Spin the stepper motor 1 revolution slowly:
for (int i = 0; i < stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000);
// Set the spinning direction counterclockwise:
digitalWrite(dirPin, LOW);
// Spin the stepper motor 1 revolution quickly:
for (int i = 0; i < stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}
delay(1000);
// Set the spinning direction clockwise:
digitalWrite(dirPin, HIGH);
// Spin the stepper motor 5 revolutions fast:
for (int i = 0; i < 5 * stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
delay(1000);
// Set the spinning direction counterclockwise:
digitalWrite(dirPin, LOW);
//Spin the stepper motor 5 revolutions fast:
for (int i = 0; i < 5 * stepsPerRevolution; i++) {
// These four lines result in 1 step:
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
delay(1000);
}
댓글 1
조회수 385master님의 댓글
master 작성일
정격 전압: 3.6V, 정격 전류: 1.7A
아두이노는 1-2상 여자 구동을 하기도 합니다.
2상여자 구동시에는 전류가 2배가 되므로 3.4A가 필요하며
모터 정격전압보다 높은 전압이 모터에 걸리게 되면 이보다 많은 전류가 흐르게 됩니다.
즉, 0.7A로는 제대로 구동이 안될테고, 전원장치 고장나지 않았다면 다행입니다.