30A 500W급 BLDC 모터 컨트롤러 MW-VBL24D400S
좋은 성능의 BLDC 모터 컨트롤러를 출시하게 되었습니다. 30A급의 고용량 드라이버로, 토크 및 속도 제어가 가능한 드라이버입니다.
1. 제품의 특장점
-. 합리적인 가격과 성능을 제시합니다.
-. 홀센서를 이용한 속도제어 기능을 제공합니다.
-. 전류 회생을 이용하여 배터리 사용시간을 증가시켰습니다.
-. RS232 통신을 통한 모터 구동을 지원합니다.
-. 가감속 구간의 설정을 통한 시스템의 안전성을 보장합니다.
-. 각 종 보호 기능을 통해 드라이버의 안전성을 보장합니다.
2. 제품 사양 및 제원
-. 동작 환경 : -10도 ~ 60도 (습도 70%이내에서 동결 현상이 없는 곳)
-. 입력 전압 : DC 18V ~ 30V
-. 대기 전류 : <100mA @24V
-. 최대 입력 전류 : <35A @24V
-. 최대 출력 전류 : <30A
-. 속도 제어 범위 : 80r/min ~ 3000r/min
-. 속도 변동률 : 1%이내
3. 제품 사용상의 유의사항
-. 본 제품은 모터의 감속 시 전력을 회생하도록 설계된 제품입니다. 일반적인 전원 공급기나 어댑터를 이용할 경우 급 감속 시 회생 전력을 전원 공급기가 흡수하지 못해 과전압 에러가 발생할 수 있습니다. 납축전지 계열의 배터리를 사용할 것을 권장합니다.
-. 제품 및 제품의 부속을 임의로 분해, 개조하지 마십시오.
-. 본 제품의 전원은 반드시 정격 범위 내에서 사용해주십시오.
-. 제품의 전원 입력 및 각 종 커넥터는 극성을 확인하고 연결해 주십시오.
-. 보조 제동장치가 설치되지 않은 상황에서 수직 상하 운동 장치에 사용하지 마십시오.
-. 본 제품의 설정치 이상의 한계 상황에서 사용하지 마십시오.
-. 본 제품의 설치 시 통풍과 방열을 고려해야 합니다.
4. 제품의 구성품 확인
-. 구성품은 위 그림에서 상단 왼쪽부터 시계방향으로
-. 제품 본체와 매뉴얼
-. RS232 케이블
-. 커넥터 3종
-. 클림프 2종
입니다.
5. 제품의 설치 및 접속 방법
5-1. 전원의 접속
-. 입력 전원은 DC18V~30V이내의 전원을 사용합니다.
-. 고전류에서 구동되는 제품으로 반드시 전원단에 퓨즈를 연결하여 사용해 주시기 바랍니다.
-. 본 제품은 모터의 감속 시 전력을 회생하도록 설계된 제품입니다. 일반적인 전원 공급기나 어댑터를 이용할 경우 급 감속 시 회생 전력을 전원 공급기가 흡수하지 못해 과전압 에러가 발생할 수 있습니다. 이럴 경우 가/감속 시간을 늘려 주시거나 납축전지 계열의 배터리를 사용할 것을 권장합니다.
-. 또한, 리튬계열 배터리의 경우 사고의 위험이 있으므로 사용하시면 안됩니다.
5-2. 모터 연결
-. BLDC 모터의 A, B, C상에 맞춰 아래 그림과 같이 연결합니다.
5-3. Hall 센서 연결
-. BLDC 모터의 Hall 센서 신호를 아래 그림처럼 연결합니다.
-. A, B, C – Hall 순서로 백색, 청색, 황색이며, Vcc는 적색, Gnd는 흑색입니다.
5-4. RS232 DSUB 연결
-. 본 제품은 RS232 통신으로 구동하며 아래 그림과 같이 연결합니다.
-. BLSM030R은 드라이버가 높은 전류로 도통되는 경우 전원에 높은 스위칭 노이즈가 발생합니다. -. 단일 전원을 상위 제어기와 드라이버를 묶어서 사용할 경우 상위 제어기의 파손이나 이상 동작을 초래할 수 있습니다. 이럴 때는 DC12V출력이 되는 9번 단자를 이용해서 아래 예제처럼 상위 제어기의 전원을 구성하시면 됩니다.
5-5. 단일전원 사용시의 구동 예제
6. 제품의 설정 및 사용법
6-1. 딥스위치의 설정
-. 본 제품의 딥스위치는 다음과 같은 설정 기능을 가지고 있습니다.
스위치번호 | 기능 |
SW1 | RS232 통신 속도 설정 |
SW2 | |
SW3 | 모터 출력 등급 설정 |
SW4 | Reserved |
Table 1 딥스위치 맵
-. SW1과 SW2를 이용한 RS232통신의 속도 설정은 아래와 같습니다.
SW 2 | SW 1 | 통신 속도 |
OFF | OFF | 57600 Bps |
OFF | ON | 38400 Bps |
ON | OFF | 19200 Bps |
ON | ON | 9600 Bps |
Table 2 SW1, SW2를 이용한 RS232 통신 속도 설정
-. SW3은 ON상태에서는 200W급, OFF상태에서는 400W급 모터에 대응합니다.
-. 본 제품은 200W급 모터에는 TM90-D0231모델이, 400W급에는 TM90-D0431모델에 최적화가 되어있습니다. 단, 제원에 명시된 사양을 만족할 경우 사용 가능합니다.
(주문팁) : 만약 대량 구매를 통한 커스터마이징을 희망하시는 경우 제품의 최적화가 가능합니다.
6-2. RS232 명령 셋 및 설명
의미 | 명령 | ||||||||
1. 모터 Enable | {STX} | C | M | E | {ETX} | ||||
2. 모터 Disable | {STX} | C | M | D | {ETX} | ||||
3. Brake Enable | {STX} | C | B | E | {ETX} | ||||
4. Brake Disable | {STX} | C | B | D | {ETX} | ||||
5. 모터 구동 | {STX} | C | R | □ | □ | □ | □ | □ | {ETX} |
6. 가속 시간 | {STX} | C | A | □ | □ | {ETX} | |||
7. 감속 시간 | {STX} | C | D | □ | □ | {ETX} | |||
8. 초기화 | {STX} | S | Y | R | S | {ETX} | |||
9. 모터 상태 알람 | {ACK} | E | □ | □ | {ETX} |
Table 3 시리얼 통신 명령 요약
-. 주의사항 : BLSM303R은 1초 이상 통신이 되지 않으면, 이상 증상으로 간주하고 모터를 정지시킵니다. 적절한 반복 주기는 10ms에서 1sec 사이에서 항상 드라이버와 통신을 유지하시기 바랍니다.
-. 주의사항 : 위의 표에서 {STX}는 문장의 시작을 알리는 문자로, HEX코드는 0×02입니다. 또한, {ETX}는 문장의 끝을 의미하는 문자로, HEX코드는 0×03입니다.
6-2-1. 모터 Enable
-. 모터 드라이버에 전원을 입력한 초기에는 모터 구동이 Disable되어있습니다. 이 명령을 통해 Enable로 변경해야만 모터를 구동시킬 수 있습니다.
6-2-2. 모터 Disable
-. 모터의 구동을 Disable시키는 명령입니다.
6-2-3. Brake Enable
-. 구동중인 모터에 Brake를 인가하는 명령입니다.
-. 기계적인 Brake를 의미하는 것이 아니라, BLDC 모터의 구동 상을 잡아서 작동하는 Brake입니다.
-. 그리고, 모터 드라이버에 전원을 입력한 초기에는 Brake 구동이 Disable되어 있습니다.
-. 7번 명령인 감속 구간이 설정되어 있어도, Brake가 Enable되면 즉각적으로 정지하게 되어있습니다.
6-2-4. Brake Disable
-. Enable된 Brake를 해제하는 명령입니다. 만약 모터가 구동 중일 때, Brake를 Enable 시켰다가 다시 Disable 시키게 되면, 설정된 가속 구간에 맞춰서 다시 구동됩니다.
6-2-5. 모터 구동
문자열 | {STX} | C | R | □ | □ | □ | □ | □ | {ETX} |
설명 | ‘+’정방향‘-’역방향 | 입력 범위 0 ~ 3000 (r/min) |
Table 4 모터 구동 명령
-. 모터 구동 명령은 {STX} + C + R + {5 char} + {ETX}로 이루어져 있습니다.
-. 첫 번째 문자는 ‘+’, ‘-‘의 부호를 입력하는 자리로, 모터의 운전 방향을 지정합니다.
-. 뒤의 4개 문자는 0 ~ 3000 rpm 사이의 숫자를 입력해서, 모터의 회전 속도를 지정합니다.
-. 단 여러가지 이유로 80미만의 지령은 0rpm으로 간주하며, 3000rpm이상의 값은 3000rpm으로 간주합니다.
-. 모터 구동 명령은 가/감속 구간에서 설정한 시간이 지난 후에 사용자가 목표로 한 속도에 도달하도록 설계되어 있습니다.
-. 입력 예) : 정방향 100rpm으로 모터를 회전시키는 명령
{STX} | C | R | + | 0 | 1 | 0 | 0 | {ETX} |
6-2-6. 모터 가/감속 시간 설정
-. 본 명령은 모터의 구동에서 가속은 3000rpm까지, 감속은 3000rpm에서 0rpm에 도달하는 것을 기준으로 가/감속 시간을 설정하는 명령입니다.
-. 두 명령 모두 2 char로 구성되는데, 입력범위는 01~20입니다. 숫자 1은 0.25sec를 의미합니다. 즉, 가감속 구간은 0.25sec부터 5sec까지 지정이 가능합니다. 제품의 전원 인가시 초기 설정값은 ‘04’, 즉 1sec로 설정되어 있습니다.
-. 본 명령은 최고속도 3000rpm 기준으로 시간입니다. 즉, 가/감속 시간을 1초로 세팅하고, 주행명령을 통해 모터의 속도를 1500rpm으로 지정하면, 0.5초 후에 1500rpm에 도달한다는 뜻입니다.
6-2-8. 초기화 명령
-. 모터 드라이버가 어떤 이유에서든 에러를 감지하고 나면, 에러 원인을 확인하고 제거한 다음 초기화 명령을 수행해야 합니다.
6-2-9. 모터 상태 알람
-. 통신을 통해 사용자가 명령을 인가하면, 모터 제어기는 자신의 현재 상태를 다시 알려줍니다. 두 개의 char에 부여된 응답코드가 전송됩니다. 아래 표에서 해당 코드를 확인하시면 됩니다.
코드 | 설명 |
00 | 이상 없음. |
01 | 과전류가 발생 |
02 | 과전압(50V 이상)발생 |
03 | 현재 저전압(16V 이하)발생 |
04 | 현재 과속도(4000 r/min)발생 |
05 | 현재 온도 60℃ 이상 |
06 | Hall Sensor 이상 |
Table 5 모터 상태 알람 응답표
6-3. 상태 표시 LED
-. 본 제품은 전면부에 상태표시 LED가 있으며, 운전 중 사용자가 편하게 제품의 상태를 확인할 수 있습니다.
보호 기능 | LED 점멸 회수 | 증상 원인 |
과부하 | 1 | - Motor에 정격 이상의 부하가 5초 이상- 급격한 부하 변동 |
과전압 | 2 | - 한계치 이상의 급감속 할 경우.- Driver에 인가된 전압이 50V이상 |
저전압 | 3 | - Driver에 인가된 전압이 16V를 이하 |
과속도 | 4 | - 모터 RPM 이 4000 r/min 을 초과 할 경우. |
Hall Sensor 이상 | 5 | - Hall Sensor 커넥터를 접속 하지 않았을 경우.- Hall Sensor 가 파손 되었을 경우 |
Table 6 상태 표시 LED 알람표
7. 예제 코드
-. 아래 예제는 C-code로 작성된 응용 예제입니다.
-. 아래 예제는 본 제품의 기능을 기본적으로 구동하는 하나의 예제일 뿐입니다.
-. 사용자가 본 제품을 사용할 환경에 따라 적절히 사용하셔야 하며, 아래 코드가 그 모든 환경에 대해 모두 동작하는 것은 아닙니다.
void motor_enable(void)
{
putchar(0×02);
putchar(‘C’);
putchar(‘M’);
putchar(‘E’);
putchar(0×03)
}
void motor_disable(void)
{
putchar(0×02);
putchar(‘C’);
putchar(‘M’);
putchar(‘D’);
putchar(0×03)
}
void brake_enable(void)
{
putchar(0×02);
putchar(‘C’);
putchar(‘B’);
putchar(‘E’);
putchar(0×03)
}
void brake_disable(void)
{
putchar(0×02);
putchar(‘C’);
putchar(‘B’);
putchar(‘D’);
putchar(0×03)
}
void motor_rpm_dir(unsigned int rpm, unsigned char dir)
{
unsigned int rpm_temp;
rpm_temp = rpm;
putchar(0×02);
putchar(‘C’);
putchar(‘R’);
if(dir) putchar(‘+’);
else putchar(‘-‘);
putchar(rpm_temp/1000 + ‘0’);
rpm_temp %= 1000;
putchar(rpm_temp/100+ ‘0’);
rpm_temp %=100;
putchar(rpm_temp/10+ ‘0’);
putchar(rpm_temp%10 + ‘0’);
putchar(0×03)
}
void motor_acc_set(unsigned char level)
{
putchar(0×02);
putchar(‘C’);
putchar(‘A’);
putchar(level/10+ ‘0’);
putchar(level%10 + ‘0’);
putchar(0×03)
}
void motor_dec_set(unsigned char level)
{
putchar(0×02);
putchar(‘C’);
putchar(‘D’);
putchar(level/10+ ‘0’);
putchar(level%10 + ‘0’);
putchar(0×03)
}
void main()
{
motor_enabel(); // motor enabel
delay_ms(10);
brake_off(); // brake disable
delay_ms(10);
motor_acc_set(10); // 가속값 10 level 설정
delay_ms(10);
motor_dec_set(10); // 감속값 10 level 설정
delay_ms(10);
while(1)
{
motor_rpm_dir(2000,1); // 역방향 2000rpm 회전
delay_ms(10);
}
}
8. 제품의 보증
-. 본 제품의 보증 기간은 구입일로부터 6개월입니다.
-. 보증 기간 내에도 고객의 사용상 과실이나 주의 사항을 지키지 않아서 발생한 문제에 대해서는 유상 수리로 진행될 수 있습니다.
-. 제품의 문의는 lab@ntrex.co.kr이나 디바이스마트 고객지원실(070-7019-8887)로 연락을 주시기 바랍니다.