Arduino, 스텝모터
스텝모터 (Step Motor)
- 펄스 모양의 전압에 의해 일정 각도(스텝 수) 만큼 회전하는 모터.
- 회전 각도는 입력 펄스 신호의 수에 비례하고, 회전 속도는 입력 펄스 신호의 주파수에 비례한다.
스텝모터 28BYJ-48
정격전압: 5VDC
기어비: 1/64
$$
\frac {32}{9} \times \frac {22}{11} \times \frac {26}{9} \times \frac {31}{10} = 63.68395 \fallingdotseq 64
$$
- 스트라이드 각도
- 스펙상 5.625º / 64 = 0.087890625
- 그러므로, 360º / 0.087890625 = 4096 스텝
- 실제로는 11.25º / 64 = 0.17578125
- 그러므로, 360º / 0.17578125 = 2048 스텝으로 1회전 (이 값이 중요함!)
- 스펙상 5.625º / 64 = 0.087890625
- Frequency: 100Hz
- 토크: 34.3mN,m
모터드라이브 ULN2003
schematic
Pin Map
모터드라이브 | 아두이노 |
---|---|
INT1 | 11 |
INT2 | 10 |
INT3 | 9 |
INT4 | 8 |
GND | GND |
VCC | 5V |
sketch: 예제1
1 |
|
- Stepper myStepper(stepsPerRevolution, 11, 9, 10, 8);
- 모터 드라이브에 연결되는 순서에 유의한다! (IN1, IN3, IN2, IN4 순서임!)
- myStepper.setSpeed(14);
- 아두이노 보드의 5V 전원 사용시 16이 최대값.
- 16 이상은 안정적으로 회전이 안되며, 17을 넣으면 한바퀴 돌고 정지. 18을 넣으면 돌지 않음
sketch: 예제2
1 |
|
Arduino, 스텝모터