아래 소스 loop)_ 함수에서 stepperX.moveTo(3200); 명령문에서 3200 값을 도출하는 저만의 방법입니다.
모터축에 힌 종이에 점 표시를 하고, 그리고 화살 모양을 만들어 회전축에 붙이고 점 위에 맞도록 해놓고, 이동 값을 찾는다. 후에 보드의 리셋버튼을 눌러 동작 할 때 마다 같은 위치에 오면 된다.
모터축에 끼워 벨트를 걸어 직선운동을 하게된다. 풀리의 이는 16개이다. 산과 산의 길이는 2mm, 물론 벨트도 2mm이다.
1회전에 이동거리는 16X2mm=32mm이다,
1mm 당 펄수 개수는 3200[개수] / 32[mm]=100 개
#include <AccelStepper.h>
const int step_pinX = 2;
const int dir_pinX = 5;
long motorPositionX = 0;
AccelStepper stepperX(AccelStepper::DRIVER, step_pinX, dir_pinX);
void setup() {
stepperX_init();
stepperX.setCurrentPosition(0);
}
void loop() {
stepperX.moveTo(3200);
stepperX.runToPosition();
motorPositionX = stepperX.currentPosition();
stepperX.stop();
}
void stepperX_init(){
stepperX.setMaxSpeed(2000);
stepperX.setAcceleration(1500);
}
'코딩 놀이' 카테고리의 다른 글
2개의 스텝 모터 제어 [12] (0) | 2024.11.27 |
---|---|
시리얼 통신으로 스텝 모터 제어 [11] (0) | 2024.11.26 |
Stepper Motor 동작(9) (1) | 2024.11.26 |
cnc Chield V4 부르투스 통신(8) (0) | 2024.11.23 |
CNC Shield_V4 , BT06 bluetooth, appInventor(7) (0) | 2024.11.23 |