November 17, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

스텝모터 드라이버 NT-BST2406 사용기

안녕하세요. 바이폴라 스테핑모터를 컨트롤할 수 있는 드라이버에 대해 소개하고자 합니다.

저희 회사에서 개발한 스테핑모터는 여러 종류가 있는데요 차이점은 얼마만큼의 용량을가진 모터를 구동시키느냐의 차이일 뿐 구동방식은 똑같습니다.

그중 오늘은 가장 최근에 출시된 제품인 NT-BST2406을 파헤쳐 보겠습니다.

 

NT-BST2406

Bipolar MicroStepping Drive 라는 뜻을 가지고있는 이 모터드라이버는 2상 바이폴라 PWM정전류 쵸퍼 방식으로 구동됩니다.

 

모터드라이버의 자세한 스펙 및 설정법은 아래 링크에 접속하시면 메뉴얼을 받을수 있습니다.

 

 

 

 

메뉴얼에 나와있는 입력전압으로 보아하니 어느정도 덩치가 나가는 모터도 구동시킬수 있을 것 같은 느낌이 들것입니다.

그래서 이번 구동을 위해 선택한 모터! 바로 FL110STH99-5504B 라는 110각 2상 스테핑 모터입니다.!!
(모터의 자세한 스펙은 디바이스마트 홈페이지에서 확인하시길 바랍니다…^^;;)

아래 사진에서 보듯 어마어마한 크기를 가지고 있는 스테핑모터입니다.(사진에서 알 수 있듯 크기만큼이나 무게도 장난이 아니라는…..)

 

모터

 

먼저 모터구동에 앞서 모터드라이버의 외형 및 각 부분의 기능을 살펴보도록 하겠습니다.

아래는 NT-BST2406의 제품의 외형 사진입니다.

1

 

 

설명을 위해 사진에 번호를 매겨봤습니다.

먼저 그림에서 보이는 1번은 전원 입력커넥터로써 전원입력장치로부터 18V~40V의 +,-전원을 입력시켜 주는 부분이고,
2번은 모터 출력 커넥터로써 각각의 스테핑모터의 데이터시트를 참고하여 A상과 B상을 각각 알맞게 연결해주면 되겠습니다.

4

 

 

 

계속해서 3번은 기능설정 딥 스위치로써 Micro Step설정 및 Current Auto Save설정 과 SR(Synchronous Rectification)설정 그리고 Current Decay설정을 할 수 있는 스위치입니다. 아래 그림을 보면 이해가 편하실겁니다.

 



123

 

 

저는 구동을 위해 모든스위치를 OFF시킨 모드로 설정을 하였습니다.

7

8

 

그리고 바로 옆에보이는 4번 가변저항의 용도는 전류 설정용 가변저항으로 스테핑모터의 입력전류에 맞게 설정(2A~6A)할 수 있습니다.

이 때 주의해야 할 점은!!

허용전류보다 높게 설정할 경우 모터가 진동 또는 탈조할 수 있으므로 모터사양에 맞게 적절한 전류를 설정하여야 한다는 점입니다!!

 

마지막 5번커넥터는 SIGNAL 입력 커넥터로써 모터의 진행방향(DIRECTION), Enable/Disable, 그리고 Clock신호를 입력하는 부분입니다.

각 입력신호의 +부분은 5V레벨 전원에 연결하고, -부분은 오픈 콜렉터 신호를 연결합니다.

CLK신호는 입력시 신호의 하강 엣지일 때 설정된 스텝의 각도와 방향으로 스텝이 증가하고
DIR(DIRECTION)신호는 LOW level일 경우 정방향, HIGH level일 경우 역방향으로 회전합니다.
ENA(Enable)신호는 LOW level일 경우 모터드라이버가 Enable되고,  HIGH level일 경우 Disable이 되어 동작하지 않습니다.

 

9

 

이제 NT-BST2406의 이론적 지식을 간단하게나마 습득하였으니 본격적으로 구동을 시켜보겠습니다.

구동을 위한 저만의 만능기판 NT-A64-BOARD입니다 …^^

10

 

MCU는 ATMEGA16을 사용중이며 AVR stdio4를 사용하여 소스작성을 하였습니다.
모든신호의 (+)단자는 +5V에 연결하였고
DIR의(-)와 초록색스위치는 PORTB.2에 연결하여 버튼을 눌렀다 떼었다를 하며 모터의 진행방향이 바뀌도록 설정하였고,
ENA의(-)와 빨간색스위치는 PORTD.3에 연결하여 Enable/Disable을 선택하도록 설정하였으며,
ADC변환을 통해 CLK신호를 조절하여 모터의 속도제어를 위해 가변저항과 CLK(-)신호는 PORTB.3(OCR0)에 연결하였습니다.

이리하여 연결된 모습은 다음과 같습니다.

11

 

구동이 목적이기에 약간 너저분한점은….이해해주시리라 생각합니다 ^^

어쨋든 ! 아래 첨부한 간단한 구동프로그램 작성 후 26V의 전원을 넣고 구동을 시켜본 결과 !!

파형은 아주 잘~~나옵니다. 물론 구동도 잘~~됩니다

 

 

간단한 예제소스

/*========= Include =========*/

#include<avr/io.h>
#include<util/delay.h>
#include<avr/interrupt.h>

volatile unsigned char data;
//////////MAIN/////////////
int main(void)
{

DDRA=0xF0;
DDRB = 0xFB;//PORTB를 출력으로 설정.
TCCR0 = 0b00011010; //CTC 모드, OC0셋,clk분주비 8
ADMUX = 0b00100000; //AREF 에 입력 되는 외부 전압 사용, ADC 데이터 우측 정렬, PIN ADC0 (PA0) 아날로그 입력,ADCH 상위부터 8비트 사용.
ADCSRA = 0b11101111; //ADC Enable, Free Running Mode, ADC Interrupt Enable, 128 분주

sei();
while(1)
{
OCR0=data;
}

return 0;
}

ISR(ADC_vect)
{
data = (int)ADCH+((int)ADCL<<8); //ADC 데이터 저장
}

 

 

345

 

 

나름 설명한다고 노력하였으나 아직 글쓰기실력이 아직 많이 부족하다고 생각합니다. 그래도 앞으로 점점 발전해 나갈 것을 약속드리며

바이폴라 스테핑모터구동을 위한 드라이버로써  NT-BST2406 을 적극 추천해드리며 마치겠습니다. ^.^

 

Leave A Comment

*