-
아두이노 | 바이폴라 스텝모터 드라이버 TB6600 모듈Technology/Arduino 2024. 11. 14. 17:53
1. 바이폴라 스텝모터 드라이버 TB6600 모듈
바이폴라 스텝모터 드라이버 TB6600 모듈은 바이폴라 스텝모터 1개를 양방향으로 제어할 수 있다. 바이폴라 스텝모터 전자석 단자에 스텝모터를 연결하고, 회전 방향 제어 단자와 제어 단자에 디지털 신호를 가하면 스텝모터가 동작한다. 외부 전원은 DC 40V까지, 출력 전류는 3.5A가지 지원하고 있어 대부분의 NEMA 23급 바이폴라 스텝모터를 제어할 수 있으며, 바이폴라 스텝모터 드라이버 A4988 모듈과 마찬가지로 스텝모터로 공급되는 전류를 제한하는 기능이 있어 스텝모터와 회로를 보호할 수 있다. 바이폴라 스텝모터 드라이버 TB6600 모듈은 아래 링크로 접속하면 구매할 수 있다.
2. 확인사항
2.1. 바이폴라 스텝모터 전류선 구분
스텝모터를 제어하기 위해서는 각 전류선 혹은 단자가 어느 전자석에 연결되어 있는지 알아야 한다. 제조사가 제공하는 정보다 데이터시트를 참고하면 각 단자가 어떤 전자석과 연결되어 있는지 확인할 수 있다. 이번 예제에서는 NEMA 23급 바이폴라 스텝모터를 다루고자 하며, 아래 링크로 접속하면 구매할 수 있다.
해당 스텝모터의 최소 회전 각도는 한 단계당 1.8도(=360도 ÷200단계)이며, 별도의 기어는 없다. 해당 스텝모터의 제조사는 모터에 연결되어 있는 전류선을 전선의 색상으로 구분하며, 제조사가 제공하는 정보에 따르면 전류선 구분은 위 그림의 오른쪽 아래와 같다. 만약 본인이 가지고 있는 바이폴라 스텝모터에 전류선 구분이 없다면 임의의 두 단자를 전선으로 연결한 뒤 스텝모터의 구동축을 손으로 잡아 돌려보자. 두 단자가 하나의 전자석에서 나오는 단자라면, 두 단자가 연결되어 있는 상태에서 구동축을 손으로 잡아 돌렸을 때 비교적 돌리기 힘든 느낌이 날 것이다.
2.2. 바이폴라 스텝모터 허용 전류 확인
TB6600 모듈의 최대 허용 공급 전압과 최대 허용 전류는 아래 표와 같다. 앞서 다루었던 A4988 모듈과 비교해보면, A4988 모듈보다 TB6600 모듈이 더 큰 전류를 견딜 수 있어 큰 스텝모터를 제어할 수 있다. TB6600 모듈과 같이 전류 제한 기능이 있는 스텝모터 드라이버를 사용한다면 일반적으로 DC 12V나 DC 24V를 스텝모터의 외부 전원으로 사용할 것이므로 최대 공급 전압은 고려할 필요가 없을 것이다. 하지만 사용하고자 하는 바이폴라 스텝모터의 전류가 3.5A보다 크다면 TB6600 모듈보다 더 큰 전류를 허용하는 바이폴라 스텝모터 드라이버를 찾아야 한다. 반대로 스텝모터 드라이버로 TB6600 모듈을 사용하고자 한다면, 3.5A보다 작은 전류에서 동작하는 바이폴라 스텝모터를 찾아야 한다. 이번 예제에서 사용하고자 하는 바이폴라 스텝모터는 3A에서 동작하므로 TB6600 모듈로 제어하기에 적절하다.
모델명 A4988 TB6600 최대 허용 공급 전압 35 V 40 V 최대 허용 전류 2 A 3.5 A 2.3. 바이폴라 스텝모터 드라이버 TB6600 모듈 마이크로 스테핑
TB6600 모듈 또한 마이크로 스테핑 기능을 지원한다. 모듈 옆에 여섯 개의 스위치가 있는데, 이중에서 스위치 SW1, SW2, SW3이 마이크로 스테핑 모드를 결정하는 데 사용된다. 아래 표와 같이 세 개의 스위치를 조정하면 마이크로 스테핑 모드를 설정할 수 있다. 만약 SW1과 SW2를 ON으로, SW3을 OFF로 두면 스텝모터를 풀 스텝(full step)으로 제어할 수 있다. 이때 이번 예제에서 사용하고자 하는 바이폴라 스텝모터는 최소 회전 각도가 1.8도이므로 200단계 동작했을 때 한 바퀴 회전한다. SW1과 SW3을 ON으로, SW2를 OFF로 두면 스텝모터를 하프 스텝(half step)으로 제어할 수 있어 400단계 동작했을 때 한 바퀴 회전한다. 이외에도 1/4, 1/8, 1/16, 1/32 모드를 지원한다.
마이크로 스테핑 SW1 SW2 SW3 FULL ON ON OFF HALF ON OFF ON HALF OFF ON ON 1/4 ON OFF OFF 1/8 OFF ON OFF 1/16 OFF OFF ON 1/32 OFF OFF OFF 2.4. 바이폴라 스텝모터 드라이버 TB6600 모듈 전류 한도 조정
TB6600 모듈 또한 전류 제한 기능을 지원한다. 모듈 옆에 있는 여섯 개의 스위치 중에서 SW4, SW5, SW6이 바이폴라 스텝모터에 공급되는 전류 한도를 결정하는 데 사용된다. 아래 표와 같이 세 개의 스위치를 조정하면 전류 한도를 설정할 수 있다. 이번 예제에서 사용하고자 하는 바이폴라 스텝모터의 전류 한도는 3A이므로 SW5를 ON으로, SW4와 SW6을 OFF로 두도록 하자.
허용 전류(A) SW4 SW5 SW6 0.5 ON ON ON 1.0 ON OFF ON 1.5 ON ON OFF 2.0 ON OFF ON 2.5 OFF ON ON 2.8 OFF OFF ON 3.0 OFF ON OFF 3.5 OFF OFF OFF 3. 예제
3.1. 회로 구성
3.2. 프로그램 작성
int dirPin = 2; // 정수형 변수 선언 후 디지털 핀 번호 2번으로 초기화 int stepPin = 3; int steps_per_rev = 200; // 스텝모터 회전 단계 수 정의 void setup() { pinMode(dirPin, OUTPUT); // 디지털 2번 핀을 출력(OUTPUT) 모드로 설정 pinMode(stepPin, OUTPUT); } void loop() { digitalWrite(dirPin, HIGH); // 스텝모터의 회전방향을 설정 // 스텝모터를 200단계만큼 동작 for(int i = 0; i < steps_per_rev; i++) { digitalWrite(stepPin, HIGH); delayMicroseconds(2000); digitalWrite(stepPin, LOW); delayMicroseconds(2000); } delay(1000); // 1000 ms 대기 digitalWrite(dirPin, LOW); // 스텝모터의 회전방향을 반대 방향으로 설정 // 스텝모터를 400단계만큼 동작 for(int i = 0; i < (2 * steps_per_rev); i++) { digitalWrite(stepPin, HIGH); delayMicroseconds(1000); digitalWrite(stepPin, LOW); delayMicroseconds(1000); } delay(1000); }
[함께 읽으면 좋은 페이지]
참고문헌
- Benne de Bakker. (2019). TB6600 Stepper Motor Driver with Arduino Tutorial. Makerguides. https://www.makerguides.com/tb6600-stepper-motor-driver-arduino-tutorial/. 2024.06.21.
- DroneBot Workshop. (2019). Big Stepper Motors with Arduino. YouTube. https://www.youtube.com/watch?v=iY_4YOlpqyI. 2024.06.21.
반응형'Technology > Arduino' 카테고리의 다른 글
아두이노 프로젝트 | 컨베이어 벨트 (0) 2024.11.17 아두이노 | 디지털 인터럽트 (1) 2024.11.15 아두이노 라이브러리 | 스텝모터 가속 제어 (3) 2024.11.13 아두이노 | 바이폴라 스텝모터 드라이버 A4988 모듈 마이크로 스테핑 (4) 2024.11.09 아두이노 | 바이폴라 스텝모터 드라이버 A4988 모듈 (4) 2024.11.08