[아두이노#421] A4988드라이버를 이용해서 nema17 스탭모터 2개를 동시에 제어하는 방법!(녹칸다/포로리야공대가자)
프로그래밍/A4988과 NEMA17 2022. 1. 24. 22:49
A4988드라이버를 이용해서 nema17 스탭모터 2개를 동시에 제어하는 방법!
녹칸다의 a4988를 이용한 스탭모터 제어 시리즈이다!
이번편에서는 아두이노 우노 1대에 A4988드라이버와 nema17 스탭모터를 2쌍 연결해서 동시에 제어를 해보도록 하자!
라이브러리를 이용해서 스탭모터 2대를 개별/일괄 제어하고 어떤 특징이 있겠는지 살펴보자!
아래와 같은 순서로 진행해보자!
1.제어 원리에 대해서 살펴보기!(고정속/가감속)
2.시리얼 입력으로 지정된 개별/일괄 각도로 이동시키기
3.버튼을 눌렀을때 지정된 개별/일괄 각도로 이동시키기
4.버튼을 이용해서 스탭모터 2개를 바퀴처럼 활용해보기(속도, 전진, 후진 등등)
5.조이스틱을 이용해서 스탭모터 2개를 바퀴처럼 활용해보기(속도, 전진, 후진 등등)
(실제로한거)
1.기존의 방식을 잘 응용해서 스탭모터 2개를 제어하는데 1번스탭모터가 시계방향으로 1바퀴돌고, 2번스탭모터가 시계방향으로 한바퀴 돌고, 1번스탭모터가 반시계방향으로 한바퀴 돌고, 2번스탭모터가 반시계방향으로 한바퀴 도는 과정을 무한히 반복시키시오!
2.스탭모터2개를 동시에 제어할 수 있는 라이브러리내 기능을 이용해서 사용하라는대로 한번 해보시오!(2개다 시계방향 1회전, 반시계방향으로 1회전)
3.(2)예제에서 스탭모터 2개가 비대칭적으로 작동된다면 결과가 어떻게 되겠는가?
4.시리얼입력으로 '1'을전송하면 스탭모터 1번은 0->90->0작동되고, 스탭모터 2번은 0->180->0으로 작동되도록하고, '2'를 전송하면 스탭모터 1번은 0->270->0으로 작동하고 스탭모터 2번은 0->360->0으로 작동되도록하시오!
5.(4)예제를 응용해서 '3'을전송하면 스탭모터 1번이 0->90->0 제어되고, '4'를 전송하면 스탭모터 2번만 0->180->0 동작하도록하시오!
6.버튼4개를 6,7,8,9핀에 연결하고 (5)번예제를 버튼을 눌렀을때 실행되도록 하시오!
7.(6)예제를 버튼이 아주많이 늘어난다는 조건을 걸어서 업그레이드 해보시오!
8.버튼 2개를 연결해서 1번버튼을 누르면 전진, 2번버튼을 누르면 후진을 시키시오!
9.(8)예제에서 가변저항을 한개 연결해서 속도를 증감시키시오!
10.조이스틱을 이용해서 RC카바퀴라고생각하고 가감속 전진과 후진을 구현하시오!
관련라이브러리(AccelStepper/1.61.0)
http://www.airspayce.com/mikem/arduino/AccelStepper/