Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 2918 | 답변완료UART 동시 사용 문의 | 신동관 | 2009-05-18 | 1,511 |
|
안녕하세요.. 항상 이곳에 도움을 받고 있는 신동관 이라 합니다.
제품 만드는 도중에 진전이 없어서 이렇게 문의 드립니다.
현제 UART0 -> RS232 -> PC (모니터링)
UART1 -> RS485 -> 조이스틱컨트롤
이렇게 설정되어 있습니다.
조이스틱은 PC와 직접 연결을 하여 테스트 완료한 상태입니다.
UART0로 PC와 연결되어서 키보드숫자로 모터제어가 가능하고 또한 모니터링
가능한 상태입니다.
문제는 조이스틱 컨트롤에서 보낸신호 848679780000000000000000000000000F 를
받지 못하고 있습니다.
현제 소스를 첨부하여 봅니다. 시간이 허락하시면 조언을 부탁드립니다.
PS UART0, 1번을 교체하여 운영하여도 정상적으로 운영이 가능합니다.
조이스틱컨트롤러 신호가 들어오는지 알고 싶습니다.
PC와 직접연결시 정상적으로 들어오고 있습니다.
감사합니다.
//ICC-AVR application builder : 2009-05-15 오후 7:45:48
// Target : M128
// Crystal: 16.000Mhz
#include <iom128v.h>
#include <macros.h>
#include <stdio.h>
volatile unsigned char RS232;
volatile unsigned char RS485;
// printf 와 scanf 오류 방지. 시작 ------------------------------------
int putchar(char c)
{
while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
UDR0 = c;
return c;
}
// scanf 함수 사용시 추가할 것.
int getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
// printf 와 scanf 오류 방지. 종료 ------------------------------------
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
//UART0 initialize
// desired baud rate: 9600
// actual: baud rate:9615 (0.2%)
// char size: 8 bit
// parity: Disabled
void uart0_init(void)
{
UCSR0B = 0x00; //disable while setting baud rate
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x67; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0xD8;
}
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
void uart0_rx_isr(void)
{
//uart has received a character in UDR
RS232=UDR0;
}
#pragma interrupt_handler uart0_tx_isr:iv_USART0_TXC
void uart0_tx_isr(void)
{
//character has been transmitted
}
//UART1 initialize
// desired baud rate:9600
// actual baud rate:9615 (0.2%)
// char size: 8 bit
// parity: Disabled
void uart1_init(void)
{
UCSR1B = 0x00; //disable while setting baud rate
UCSR1A = 0x00;
UCSR1C = 0x06;
UBRR1L = 0x67; //set baud rate lo
UBRR1H = 0x00; //set baud rate hi
UCSR1B = 0xD8;
}
#pragma interrupt_handler uart1_rx_isr:iv_USART1_RXC
void uart1_rx_isr(void)
{
//uart has received a character in UDR
RS485=UDR1;
}
#pragma interrupt_handler uart1_tx_isr:iv_USART1_TXC
void uart1_tx_isr(void)
{
//character has been transmitted
}
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
XDIV = 0x00; //xtal divider
XMCRA = 0x00; //external memory
port_init();
uart0_init();
uart1_init();
MCUCR = 0x00;
EICRA = 0x00; //extended ext ints
EICRB = 0x00; //extended ext ints
EIMSK = 0x00;
TIMSK = 0x00; //timer interrupt sources
ETIMSK = 0x00; //extended timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
#define MOTOR_PORT1 PORTC
#define MOTOR_DDR DDRC
#define PWM11_ON (MOTOR_PORT1|=0x01)
#define PWM11_OFF (MOTOR_PORT1&=0xFE)
#define DIR11_ON (MOTOR_PORT1|=0x02)
#define DIR11_OFF (MOTOR_PORT1&=0xFD)
#define ENABLE11_OFF (MOTOR_PORT1|=0x04)
#define ENABLE11_ON (MOTOR_PORT1&=0xFB)
#define BREAK11_ON (MOTOR_PORT1|=0x08)
#define BREAK11_OFF (MOTOR_PORT1&=0xF7)
#define PWM12_ON (MOTOR_PORT1|=0x10)
#define PWM12_OFF (MOTOR_PORT1&=0xEF)
#define DIR12_ON (MOTOR_PORT1|=0x20)
#define DIR12_OFF (MOTOR_PORT1&=0xDF)
#define ENABLE12_ON (MOTOR_PORT1|=0x40)
#define ENABLE12_OFF (MOTOR_PORT1&=0xBF)
#define MOTOR_PORT2 PORTA
#define MOTOR_DDR2 DDRA
#define PWM21_ON (MOTOR_PORT2|=0x01)
#define PWM21_OFF (MOTOR_PORT2&=0xFE)
#define DIR21_ON (MOTOR_PORT2|=0x02)
#define DIR21_OFF (MOTOR_PORT2&=0xFD)
#define ENABLE21_OFF (MOTOR_PORT2|=0x04)
#define ENABLE21_ON (MOTOR_PORT2&=0xFB)
#define BREAK21_ON (MOTOR_PORT2|=0x08)
#define BREAK21_OFF (MOTOR_PORT2&=0xF7)
#define PWM22_ON (MOTOR_PORT2|=0x10)
#define PWM22_OFF (MOTOR_PORT2&=0xEF)
#define DIR22_ON (MOTOR_PORT2|=0x20)
#define DIR22_OFF (MOTOR_PORT2&=0xDF)
#define ENABLE22_ON (MOTOR_PORT2|=0x40)
#define ENABLE22_OFF (MOTOR_PORT21&=0xBF)
// 시간 지연 함수
void delay(int n)
{
volatile int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<100;j++);
}
}
void main(void)
{
volatile unsigned char sw;
init_devices();
DDRA = 0xFF; // PORTA 출력지정
DDRC = 0xFF; // PORTC 출력지정
printf(" ROV 제작 테스트 \\n\\r\\r\\r\\r\\r\\r");
while(1){
printf("RS485 %d \\r\\n", RS485);
// DIRX_ON 정회전
// DIRX_OFF 역회전
// PWMX_ON PWM 신호 1
// PWMX_OFF PWM 신호 0
// PWMX_OFF PWM 신호로 속도를 제어한다.
// sw = PIND; // 포트 D(스위치)를 일어 들임
switch(RS232) {
case '1': DIR11_ON; {PWM11_ON; printf("1번 모터 정회전 \\n\\r"); break;}
case '2': DIR11_OFF; {PWM11_ON; printf("1번 모터 역회전 \\n\\r"); break;}
case '3': DIR12_ON; {PWM12_ON; printf("2번 모터 정회전 \\n\\r"); break;}
case '4': DIR12_OFF; {PWM12_ON; printf("2번 모터 역회전 \\n\\r"); break;}
case '5': DIR21_ON; {PWM21_ON; printf("3번 모터 정회전 \\n\\r"); break;}
case '6': DIR21_OFF; {PWM21_ON; printf("3번 모터 역회전 \\n\\r"); break;}
case '7': DIR22_ON; {PWM22_ON; printf("4번 모터 정회전 \\n\\r"); break;}
case '8': DIR22_OFF; {PWM22_ON; printf("4번 모터 역회전 \\n\\r"); break;}
// case 0x01: DIR11_ON; {PWM11_ON; printf("1번 모터 정회전 \\n\\r"); break;}
// case 0x02: DIR11_OFF; {PWM11_ON; printf("1번 모터 역회전 \\n\\r"); break;}
// case 0x04: DIR12_ON; {PWM12_ON; printf("2번 모터 정회전 \\n\\r"); break;}
// case 0x08: DIR12_OFF; {PWM12_ON; printf("2번 모터 역회전 \\n\\r"); break;}
// case 0x10: DIR21_ON; {PWM21_ON; printf("3번 모터 정회전 \\n\\r"); break;}
// case 0x20: DIR21_OFF; {PWM21_ON; printf("3번 모터 역회전 \\n\\r"); break;}
// case 0x40: DIR22_ON; {PWM22_ON; printf("4번 모터 정회전 \\n\\r"); break;}
// case 0x80: DIR22_OFF; {PWM22_ON; printf("4번 모터 역회전 \\n\\r"); break;}
default: break;
} // switch end
} // while end
} // main end
관리자 답변
안녕하세요? 고객님,
늘 저희 NewTC 를 이용하여 주셔서 감사합니다.
우선, scanf로 받을 때, %s로 받아 보세요.
데이터의 양이 많을 때는 %s로 받아서 분석하여 처리하는 것이 좋습니다.
또한, 하나씩 받을 경우에는 링버퍼를 선언하여 받자마자 버퍼에 집어 넣어서
나중에 꺼내서 사용해야 합니다.
수고하세요.
>
>안녕하세요.. 항상 이곳에 도움을 받고 있는 신동관 이라 합니다.
>
>제품 만드는 도중에 진전이 없어서 이렇게 문의 드립니다.
>
>현제 UART0 -> RS232 -> PC (모니터링)
>
>UART1 -> RS485 -> 조이스틱컨트롤
>
>이렇게 설정되어 있습니다.
>
>조이스틱은 PC와 직접 연결을 하여 테스트 완료한 상태입니다.
>
>UART0로 PC와 연결되어서 키보드숫자로 모터제어가 가능하고 또한 모니터링
>
>가능한 상태입니다.
>
>문제는 조이스틱 컨트롤에서 보낸신호 848679780000000000000000000000000F 를
>
>받지 못하고 있습니다.
>
>현제 소스를 첨부하여 봅니다. 시간이 허락하시면 조언을 부탁드립니다.
>
>PS UART0, 1번을 교체하여 운영하여도 정상적으로 운영이 가능합니다.
>
>조이스틱컨트롤러 신호가 들어오는지 알고 싶습니다.
>
>PC와 직접연결시 정상적으로 들어오고 있습니다.
>
>감사합니다.
>
>
>
>//ICC-AVR application builder : 2009-05-15 오후 7:45:48
>// Target : M128
>// Crystal: 16.000Mhz
>
>#include <iom128v.h>
>#include <macros.h>
>#include <stdio.h>
>
>volatile unsigned char RS232;
>volatile unsigned char RS485;
>
>// printf 와 scanf 오류 방지. 시작 ------------------------------------
>int putchar(char c)
>{
> while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
>
> UDR0 = c;
> return c;
>}
>// scanf 함수 사용시 추가할 것.
>int getchar(void)
>{
> while ((UCSR0A & 0x80) == 0);
> return UDR0;
>}
>
>// printf 와 scanf 오류 방지. 종료 ------------------------------------
>
>void port_init(void)
>{
> PORTA = 0x00;
> DDRA = 0x00;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00; //m103 output only
> DDRC = 0x00;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTE = 0x00;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x00;
>}
>
>//UART0 initialize
>// desired baud rate: 9600
>// actual: baud rate:9615 (0.2%)
>// char size: 8 bit
>// parity: Disabled
>void uart0_init(void)
>{
> UCSR0B = 0x00; //disable while setting baud rate
> UCSR0A = 0x00;
> UCSR0C = 0x06;
> UBRR0L = 0x67; //set baud rate lo
> UBRR0H = 0x00; //set baud rate hi
> UCSR0B = 0xD8;
>}
>
>#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
>void uart0_rx_isr(void)
>{
> //uart has received a character in UDR
> RS232=UDR0;
>}
>
>#pragma interrupt_handler uart0_tx_isr:iv_USART0_TXC
>void uart0_tx_isr(void)
>{
> //character has been transmitted
>}
>
>//UART1 initialize
>// desired baud rate:9600
>// actual baud rate:9615 (0.2%)
>// char size: 8 bit
>// parity: Disabled
>void uart1_init(void)
>{
> UCSR1B = 0x00; //disable while setting baud rate
> UCSR1A = 0x00;
> UCSR1C = 0x06;
> UBRR1L = 0x67; //set baud rate lo
> UBRR1H = 0x00; //set baud rate hi
> UCSR1B = 0xD8;
>}
>
>#pragma interrupt_handler uart1_rx_isr:iv_USART1_RXC
>void uart1_rx_isr(void)
>{
> //uart has received a character in UDR
> RS485=UDR1;
>}
>
>#pragma interrupt_handler uart1_tx_isr:iv_USART1_TXC
>void uart1_tx_isr(void)
>{
> //character has been transmitted
>}
>
>//call this routine to initialize all peripherals
>void init_devices(void)
>{
> //stop errant interrupts until set up
> CLI(); //disable all interrupts
> XDIV = 0x00; //xtal divider
> XMCRA = 0x00; //external memory
> port_init();
> uart0_init();
> uart1_init();
>
> MCUCR = 0x00;
> EICRA = 0x00; //extended ext ints
> EICRB = 0x00; //extended ext ints
> EIMSK = 0x00;
> TIMSK = 0x00; //timer interrupt sources
> ETIMSK = 0x00; //extended timer interrupt sources
> SEI(); //re-enable interrupts
> //all peripherals are now initialized
>}
>
>#define MOTOR_PORT1 PORTC
>#define MOTOR_DDR DDRC
>#define PWM11_ON (MOTOR_PORT1|=0x01)
>#define PWM11_OFF (MOTOR_PORT1&=0xFE)
>#define DIR11_ON (MOTOR_PORT1|=0x02)
>#define DIR11_OFF (MOTOR_PORT1&=0xFD)
>#define ENABLE11_OFF (MOTOR_PORT1|=0x04)
>#define ENABLE11_ON (MOTOR_PORT1&=0xFB)
>#define BREAK11_ON (MOTOR_PORT1|=0x08)
>#define BREAK11_OFF (MOTOR_PORT1&=0xF7)
>#define PWM12_ON (MOTOR_PORT1|=0x10)
>#define PWM12_OFF (MOTOR_PORT1&=0xEF)
>#define DIR12_ON (MOTOR_PORT1|=0x20)
>#define DIR12_OFF (MOTOR_PORT1&=0xDF)
>#define ENABLE12_ON (MOTOR_PORT1|=0x40)
>#define ENABLE12_OFF (MOTOR_PORT1&=0xBF)
>
>#define MOTOR_PORT2 PORTA
>#define MOTOR_DDR2 DDRA
>#define PWM21_ON (MOTOR_PORT2|=0x01)
>#define PWM21_OFF (MOTOR_PORT2&=0xFE)
>#define DIR21_ON (MOTOR_PORT2|=0x02)
>#define DIR21_OFF (MOTOR_PORT2&=0xFD)
>#define ENABLE21_OFF (MOTOR_PORT2|=0x04)
>#define ENABLE21_ON (MOTOR_PORT2&=0xFB)
>#define BREAK21_ON (MOTOR_PORT2|=0x08)
>#define BREAK21_OFF (MOTOR_PORT2&=0xF7)
>#define PWM22_ON (MOTOR_PORT2|=0x10)
>#define PWM22_OFF (MOTOR_PORT2&=0xEF)
>#define DIR22_ON (MOTOR_PORT2|=0x20)
>#define DIR22_OFF (MOTOR_PORT2&=0xDF)
>#define ENABLE22_ON (MOTOR_PORT2|=0x40)
>#define ENABLE22_OFF (MOTOR_PORT21&=0xBF)
>
>
>// 시간 지연 함수
>void delay(int n)
>{
> volatile int i,j;
> for(i=0;i<n;i++)
> {
> for(j=0;j<100;j++);
> }
>}
>
>void main(void)
>{
>
> volatile unsigned char sw;
> init_devices();
> DDRA = 0xFF; // PORTA 출력지정
> DDRC = 0xFF; // PORTC 출력지정
>
> printf(" ROV 제작 테스트 \\n\\r\\r\\r\\r\\r\\r");
> while(1){
>
>
>
>
> printf("RS485 %d \\r\\n", RS485);
>
>// DIRX_ON 정회전
>// DIRX_OFF 역회전
>// PWMX_ON PWM 신호 1
>// PWMX_OFF PWM 신호 0
>// PWMX_OFF PWM 신호로 속도를 제어한다.
>
>// sw = PIND; // 포트 D(스위치)를 일어 들임
> switch(RS232) {
> case '1': DIR11_ON; {PWM11_ON; printf("1번 모터 정회전 \\n\\r"); break;}
> case '2': DIR11_OFF; {PWM11_ON; printf("1번 모터 역회전 \\n\\r"); break;}
> case '3': DIR12_ON; {PWM12_ON; printf("2번 모터 정회전 \\n\\r"); break;}
> case '4': DIR12_OFF; {PWM12_ON; printf("2번 모터 역회전 \\n\\r"); break;}
>
> case '5': DIR21_ON; {PWM21_ON; printf("3번 모터 정회전 \\n\\r"); break;}
> case '6': DIR21_OFF; {PWM21_ON; printf("3번 모터 역회전 \\n\\r"); break;}
> case '7': DIR22_ON; {PWM22_ON; printf("4번 모터 정회전 \\n\\r"); break;}
> case '8': DIR22_OFF; {PWM22_ON; printf("4번 모터 역회전 \\n\\r"); break;}
>
>// case 0x01: DIR11_ON; {PWM11_ON; printf("1번 모터 정회전 \\n\\r"); break;}
>// case 0x02: DIR11_OFF; {PWM11_ON; printf("1번 모터 역회전 \\n\\r"); break;}
>// case 0x04: DIR12_ON; {PWM12_ON; printf("2번 모터 정회전 \\n\\r"); break;}
>// case 0x08: DIR12_OFF; {PWM12_ON; printf("2번 모터 역회전 \\n\\r"); break;}
>
>// case 0x10: DIR21_ON; {PWM21_ON; printf("3번 모터 정회전 \\n\\r"); break;}
>// case 0x20: DIR21_OFF; {PWM21_ON; printf("3번 모터 역회전 \\n\\r"); break;}
>// case 0x40: DIR22_ON; {PWM22_ON; printf("4번 모터 정회전 \\n\\r"); break;}
>// case 0x80: DIR22_OFF; {PWM22_ON; printf("4번 모터 역회전 \\n\\r"); break;}
>
> default: break;
> } // switch end
>
> } // while end
>} // main end
>
>
|
||||
| 2917 | 답변완료디지털 아날로그 컨버터 질문입니다. | 이진수 | 2009-05-18 | 1,362 |
|
DC/DC컨버터 제작을 하는데 입력전압이 일정치 않아 입력전압을 받아 듀티를 자동제어 하려고 합니다. 입력은 어떤포트에서 받아야하고 출력은 어느포트로 가면 됩니까??
포트(A~F)와 핀번호를 포함하여 자세하게 알려 주십시오. 부탁드립니다.
(커패시터를의 충전시간을 이용하여 전압을 아는 방법을 해보았는데 시간이 많이 걸리 더군요..)
관리자 답변
안녕하세요...고객님..
AC=>DC컨버터 이야기인가요?
사용하시는 MUC가 ATMEGA128 맞습니까?
둘다 맞다면 입력은 PORTF로 받아서 ADC컨버터 기능을 사용하시면 됩니다.
출력은 타이머 카운터를 이용해서 OCx핀으로 출력을 하셔도 되지만 직접 아무핀이나 출력을 잡아서 프로그램해 주셔도 됩니다.
질문은 좀더 구체적으로 정확하게 해주시면 감사하겠습니다.
감사합니다.
>DC/DC컨버터 제작을 하는데 입력전압이 일정치 않아 입력전압을 받아 듀티를 자동제어 하려고 합니다. 입력은 어떤포트에서 받아야하고 출력은 어느포트로 가면 됩니까??
>포트(A~F)와 핀번호를 포함하여 자세하게 알려 주십시오. 부탁드립니다.
>(커패시터를의 충전시간을 이용하여 전압을 아는 방법을 해보았는데 시간이 많이 걸리 더군요..)
|
||||
| 2916 | 답변완료스테핑모터클럭 구동모듈 AM-MS2 질문요... | 황현중 | 2009-05-18 | 1,407 |
|
스테핑 모터클럭 구동모듈 AM-MS2 을 구입했는데요...
회로도좀 알수없을까요?? AM-C2P는 회로도가 있는데 AM-MS2는 회로도가 없네
요... 부품리스트와 같이 알려주시면 않될까요??
관리자 답변
안녕하세요....고객님...
AM-MS2는 아직 회로도가 공개되지 않습니다. 저희 회사 제품중 회로도가 공개된 것은 자료실==>>기존자료실에서 "회로도"검색하시면 나옵니다.
MS2는 SLA7062를 사용하므로 SLA7062 datasheet를 참고하시면 될듯 합니다.
별 도움을 드리지 못해 죄송합니다.
감사합니다.
>스테핑 모터클럭 구동모듈 AM-MS2 을 구입했는데요...
>
>회로도좀 알수없을까요?? AM-C2P는 회로도가 있는데 AM-MS2는 회로도가 없네
>
>요... 부품리스트와 같이 알려주시면 않될까요??
|
||||
| 2915 | 답변완료SE-DS350 관련 구동 문의입니다. | 이병석 | 2009-05-18 | 1,293 |
|
SE-DS350을 구입했는데, 보통 서보랑 다르게 선이 2가닥이더군요.
질문있습니다.
그냥 전원만 넣으면 돌아가는 방식인가요? 아니면 보통의 서보모터처럼
duty ratio를 조절해야 하나요?
그리고 역방향으로도 돌겠죠?
정확한 구동 스펙이 없어서 문의드립니다.
답변 부탁드립니다.
관리자 답변
안녕하세요..고객님...
설명서를 제대로 안보신것 같네요.
SE-DS350은 서보형 DC모터입니다. 즉 형태는 서보형태지만 DC모터라는 이야기입니다. 따라서 선도 2가닥만 필요한거구요.
감사합니다.
>SE-DS350을 구입했는데, 보통 서보랑 다르게 선이 2가닥이더군요.
>
>질문있습니다.
>
>그냥 전원만 넣으면 돌아가는 방식인가요? 아니면 보통의 서보모터처럼
>
>duty ratio를 조절해야 하나요?
>
>그리고 역방향으로도 돌겠죠?
>
>정확한 구동 스펙이 없어서 문의드립니다.
>
>답변 부탁드립니다.
>
>
|
||||
| 2914 | 답변완료DC 라인트레이서 킷트 | 이창환 | 2009-05-18 | 1,391 |
|
제가 DC 라인트레이서 키트(KR-DL16)
구입의사가 있는데여
키트를 사면 cd가 같이 온다고하는데여
거기에 c프로그램으로 프로그맹이이 되어있는거져?
그리고 컴파일러를 avr스튜디오로 사용가능한지요?
그리고 66000원이 부가세 포함인가여?
관리자 답변
안녕하세요...고객님...
>거기에 c프로그램으로 프로그맹이이 되어있는거져?
avr은 대부분이 c언어로 되어있습니다. 물론 저희 소스도 c로 짜여진것입니다.
>그리고 컴파일러를 avr스튜디오로 사용가능한지요?
avr스튜디오는 다운로더만 가능합니다. 컴파일은 winavr과 연동을 시켜야 합니다.
어떤 컴파일을 사용하시든지 고객님께서 잘할 수 있는 컴파일러를 사용하시면 됩니다.
>그리고 66000원이 부가세 포함인가여?
넵, 부가세 포함 가격입니다.
감사합니다.
>제가 DC 라인트레이서 키트(KR-DL16)
>구입의사가 있는데여
>키트를 사면 cd가 같이 온다고하는데여
|
||||
| 2913 | 답변완료스테핑모터 SE-NK243 관련 문의입니다. | 김민수 | 2009-05-18 | 1,385 |
|
1. 스테핑모터 SE-NK243의 1사이클 도는데 걸리는 시간이 어느정도 되나요?
최대?
최소?
2. 전원을 DC12V를 사용해도 되는지요?
빠른 답변부탁드립니다.
관리자 답변
안녕하세요? 고객님,
저희 NewTC 제품을 이용하여 주셔서 감사드립니다.
우선, 스테핑 모터 1 사이클 도는 데, 기본적인 시간이 얼마 걸린다는 말을 하기가 참 어렵겠습니다.
1스텝 돌리는 간격을 얼마로 할 것인지는 정하기 나름이니까요.
그리고, 대부분 스테핑 모터는 200-500RPM 정도 돌리는 것이 일반적이구요.
5000RPM까지도 가능하다고 하지만, 이 경우는 가속 테이블을 만들어서 잘 올려 주어야 합니다.
최대라는 것은 한 스텝당 1초로 할지, 1분으로 할지 10분으로 할지에 따라서, 예를 들어서 1상 여자 방식으로 1.8도씩 한스텝으로 돌린다면 200 STEP 돌면 360도인데,
말하기 어렵겠습니다.
해보고, 해가면서 아이디어를 얻는 질문을 해가는 방식으로 하는 게 빨리 만들어 가는 지름길일 것 같네요.
수고하세요.
>
>1. 스테핑모터 SE-NK243의 1사이클 도는데 걸리는 시간이 어느정도 되나요?
>
>최대?
>최소?
>
>2. 전원을 DC12V를 사용해도 되는지요?
>
>
>빠른 답변부탁드립니다.
>
>
|
||||
| 2912 | 답변완료서보모터관련 문의입니다. | 이영민 | 2009-05-18 | 1,425 |
|
kd-128pro를 이용해 다수의 서보모터를 제어중에 있습니다.
최종적으로는 128을 이용해 손가락 관절 로봇을 만드는것입니다.
모터는 하이텍과 로보블록 서보모터를 이용합니다.
2주전 프로토타입을 완성시킨 후 2주만에 다시 해볼려고 하는데
서보모터가 작동이 안되네요... 3축가속도 센서도 같이 사용하고 있는데
3축 가속도 센서는 정상적으로 작동이 되지만 서보모터는 전원이 들어가
모터에 힘을 받다가 힘이 빠져버리네요...
그래서 모터에 이상이 있는줄 알고 새로운 것을 사용해 보아도 똑같네요
또한 전원부에 이상이 있을수도 있어 서보모터의 전원은 뉴텍에서 판매하는
전원 모듈을 사용했습니다. 하지만 이것도 안되더군요... ㅠ.ㅠ
소스를 고친것도 아니고... ㅠ.ㅠ
왜그런걸까요... ㅠ.ㅠ
졸작제출이 얼마 남지 않았는데... ㅠ.ㅠ
도와주세요
관리자 답변
안녕하세요...고객님...
아마도 전류가 약해서 그럴겁니다.
서보의 스팩을 정확하게 확인하시어 충분한 전류를 공급해주시기 바랍니다.
저희가 판매하는 서보모터는 하나당 최소한 300mA정도의 전류가 필요합니다.
순간 전류는 1A씩 필요한 경우도 생기지요.
SMPS를 높은 스펙을 사용하여 전류 공급을 늘려 주세요.
서보 모터는 전류가 많이 필요합니다.
감사합니다.
>kd-128pro를 이용해 다수의 서보모터를 제어중에 있습니다.
>
>최종적으로는 128을 이용해 손가락 관절 로봇을 만드는것입니다.
>
>모터는 하이텍과 로보블록 서보모터를 이용합니다.
>
>2주전 프로토타입을 완성시킨 후 2주만에 다시 해볼려고 하는데
>
>서보모터가 작동이 안되네요... 3축가속도 센서도 같이 사용하고 있는데
>
>3축 가속도 센서는 정상적으로 작동이 되지만 서보모터는 전원이 들어가
>
>모터에 힘을 받다가 힘이 빠져버리네요...
>
>그래서 모터에 이상이 있는줄 알고 새로운 것을 사용해 보아도 똑같네요
>
>또한 전원부에 이상이 있을수도 있어 서보모터의 전원은 뉴텍에서 판매하는
>
>전원 모듈을 사용했습니다. 하지만 이것도 안되더군요... ㅠ.ㅠ
>
>소스를 고친것도 아니고... ㅠ.ㅠ
>
>왜그런걸까요... ㅠ.ㅠ
>
>졸작제출이 얼마 남지 않았는데... ㅠ.ㅠ
>
>도와주세요
|
||||
| 2911 | 답변완료AM-TLCD-P 중에서 LCD DATASHEET 가 필요한데요 | 한정엽 | 2009-05-18 | 1,511 |
|
2x16 T LCD 의 외관 의 기구적인 데이타가필요한데요.
제가 잘못찾는것인지 찾아봐도 없습니다.
혹시 어디에 있는지 알수있을까요?
관리자 답변
안녕하세요..고객님...
지금 나가는 2*16LCD는 가로 세로가 80 35mm입니다.
2*16lcd는 대부분 방식은 동일하지만 제조사에 따라 약각의 사이즈 차이가 있을수 있습니다. 저희 회사는 lcd제조 회사가 아니기에 경우에 따라서는 약간씩 다른 LCD가 나갈수도 있기에 고객님께서 직접 lcd뒷면의 lcd모델명을 입력해서 검색하시는편이 나을듯 합니다.
언제라도 질문 생기면 바로바로 질문주세요.
감사합니다.
>2x16 T LCD 의 외관 의 기구적인 데이타가필요한데요.
>제가 잘못찾는것인지 찾아봐도 없습니다.
>
>혹시 어디에 있는지 알수있을까요?
>
|
||||
| 2910 | 답변완료AVR MEGA 128 개발보드(AB-M128-B) 관련 질문입니다. | 홍성민 | 2009-05-17 | 1,387 |
|
몇가지 문의사항이 있어서 글 올립니다.
1.이것을 구입할때 128모듈 포함인지 미포함인지 알고싶습니다.
포함이면 모듈명도 알고싶습니다.
2.단순히 보드만 판매 하는것인지 아니면 구입시 관련자료및 예제소스, 고정할 볼트 등 을 같이 주는지 알고싶습니다.
답변해 주시면 감사합니다
관리자 답변
안녕하세요? 고객님,
저희 NewTC 제품에 가져주시는 관심에 감사드립니다.
답변 드릴께요.
1. 구매하시려는 AB-M128-B 보드에는 AM-128PL 모듈이 포함되어 있습니다.
2. 보드 + 모듈만 드리고 있습니다. 물론, 하얀 플라스틱 서포터가 포함되어 있어서, 보드를 고정할 수 있습니다.
하지만, 예제 소스및 관련 자료는 본사의 자료실 및 자료실->기존자료실 또는 본사의 네이버 까페( http://cafe.naver.com/NewTC )에서 받으셔야 합니다.
CD는 킷트에 포함되어 있으며, 처음 사용하는 거라면, KD-128PRO-C 킷트를 구매하면 CD에 예제소스, 강좌, 데모 컴파일러 및 ISPPRO도 함꼐 들어 있습니다.
수고하세요.
>몇가지 문의사항이 있어서 글 올립니다.
>
>1.이것을 구입할때 128모듈 포함인지 미포함인지 알고싶습니다.
> 포함이면 모듈명도 알고싶습니다.
>
>2.단순히 보드만 판매 하는것인지 아니면 구입시 관련자료및 예제소스, 고정할 볼트 등 을 같이 주는지 알고싶습니다.
>
>답변해 주시면 감사합니다
|
||||
| 2909 | 답변완료모터가 서로 반대로 작동되요ㅜㅜ | 양현민 | 2009-05-17 | 1,396 |
|
라인트레이서를 만들어 봤는데요
모터는 SE-SM2를 사용하구요
AM-CS2P 모듈을 사용하면 잘 돌아가는데요
이번에 구입한 AM-MS2 모듈을 이용해서
프로그램 돌리면 바퀴가 서로 반대로 돌아 갑니다.
도대체 이유를 모르겠네요ㅜ
도와 주세요
관리자 답변
안녕하세요? 고객님,
저희 NewTC 제품을 이용하여 주셔서 감사합니다.
MS2와 CS2P는 서로 다른 모듈이고, 동작시키는 방식도 다릅니다.
프로그램 소스도 달라지지요.
바퀴를 같은 방향으로 돌도록 프로그램을 변경하셔야 할 것 같네요.
예제 소스를 자료실->기존자료실에서 검색하여 다운받은 후에,
소스를 파악하여 변경하여 사용하세요.
수고하세요.
>라인트레이서를 만들어 봤는데요
>
>모터는 SE-SM2를 사용하구요
>
>AM-CS2P 모듈을 사용하면 잘 돌아가는데요
>
>이번에 구입한 AM-MS2 모듈을 이용해서
>
>프로그램 돌리면 바퀴가 서로 반대로 돌아 갑니다.
>
>도대체 이유를 모르겠네요ㅜ
>
>도와 주세요
|
||||
| 2908 | 답변완료[질문]AD-usbisp v02 깜빡(R)쪽만..??? | 송진섭 | 2009-05-17 | 1,470 |
|
안녕하세요
AVR를 입문중입니다
avr stdio
select avr programmer에서
platform : stk500
port : com3 로 설정했습니다
isp는 r 쪽 led는 깜박이고, g는 소식이 없네요 <-- 이게 정상인지요???
atmega 8535 사용입니다
답변바랍니다.
관리자 답변
안녕하세요? 고객님,
저희 NewTC 제품을 이용하여 주셔서 감사합니다.
USBISP V02의 경우 LED에 관련된 내용은 정확히 정의된 내용은 아닙니다.
다만, USBISP의 RST 핀이 보드의 RST와 연결되면 초록색이 켜진다는 점은
항상 일치합니다.
USBISP 관련된 LED 내용을 정확히 바꾸려면 V03으로 업그레이드 하면 가능하겠습니다. 본사 방문하시면 V03으로 소프트웨어 업그레이드는 무료입니다.
다른 동작에는 이상이 없으니, 사용하시는 데는 무리 없을 겁니다.
수고하세요.
>안녕하세요
>AVR를 입문중입니다
>
>avr stdio
>select avr programmer에서
>platform : stk500
>port : com3 로 설정했습니다
>
>isp는 r 쪽 led는 깜박이고, g는 소식이 없네요 <-- 이게 정상인지요???
>
>atmega 8535 사용입니다
>
>답변바랍니다.
>
|
||||
| 2907 | 답변완료AVR로 변수지정에 관해 궁금합니다. | 김현석 | 2009-05-17 | 1,446 |
|
바코드 스캐너의 정보를 받아 AVR내에서 각 바코드에 따라 지정된 변수값을 SD-COM5-RTC에 저장하고자 합니다.
여기서 궁금한것은 받은 각 정보를 지정된 변수값[AVR내 지정됨]을 정하고자 할때
1. AVR내의 어떤 프로그램을 이용하는가? AVR STUDIO를 설치하엿는데 감이 안잡힙니다.
2. AVR내에 바코드 스캐너로부터 온 아스키정보를 지정된 변수와 매치시켜 SD-COM5로 저장명령을 내리는것이 가능한가? 그렇다면 어떤 명령을 사용하는가?
말이 좀 애매하게 설명되엇을지 모르겠는데요 쉽게 말씀드리면
휴대용 바코드 리더장치를 AVR로 이용하여 SD카드에 물품내역을 저장하고자 하려 합니다. 제품선정이 올바른지, AVR MEGA 128의 프로그램중 어떤것을 사용하여야 하는지 알고 싶습니다. ㅠ
관리자 답변
안녕하세요? 고객님,
저희 NewTC를 이용하여 주셔서 감사합니다.
우선, AVR에 대해서 먼저 Study가 필요하실 것 같습니다.
간단한 것 부터, 차근차근 밟아서 익힌 후에, 복잡한 프로그램을 짜 나가야 합니다.
시작은 LED 하나 켜는 것 부터죠.
본사 강좌->AVR 강좌와 강좌->동영상 강좌를 참고바랍니다.
본사에서는 ICCAVR을 기본 컴파일러로 사용하여 대부분의 예제를 올려 두었습니다. AVR Studio + WINAVR로 짠 예제도 일부 있고, Codevision 예제도 일부 있습니다.
SD 카드에 출력하는 것은 또 다른 문제입니다.
우선, SD 카드와 AVR의 GPIO와 인터페이스 해 줄 수 있는 모듈이 필요할 겁니다.
또한, FAT 시스템에 대한 공부도 하셔야 할 거구요. 질문으로 볼 때, 앞으로 상당히 멀리 가셔야 할 것 같습니다. 하지만, 열심히 한다면 어디든 끝은 있는 것이니까, 길을 찾을 수 있을 것이라고 생각합니다. 쉽지는 않을 것이라는 것을 감안하고 하셔야 합니다. 본사의 강좌와 소스 및 서점에서 구하시는 책들과 인터넷의 다른 자료들로 참고하여 차근 차근 하나씩 밟아 가 보세요.
수고하세요.
>바코드 스캐너의 정보를 받아 AVR내에서 각 바코드에 따라 지정된 변수값을 SD-COM5-RTC에 저장하고자 합니다.
>
>여기서 궁금한것은 받은 각 정보를 지정된 변수값[AVR내 지정됨]을 정하고자 할때
>
>1. AVR내의 어떤 프로그램을 이용하는가? AVR STUDIO를 설치하엿는데 감이 안잡힙니다.
>
>2. AVR내에 바코드 스캐너로부터 온 아스키정보를 지정된 변수와 매치시켜 SD-COM5로 저장명령을 내리는것이 가능한가? 그렇다면 어떤 명령을 사용하는가?
>
>말이 좀 애매하게 설명되엇을지 모르겠는데요 쉽게 말씀드리면
>
>휴대용 바코드 리더장치를 AVR로 이용하여 SD카드에 물품내역을 저장하고자 하려 합니다. 제품선정이 올바른지, AVR MEGA 128의 프로그램중 어떤것을 사용하여야 하는지 알고 싶습니다. ㅠ
|
||||
| 2906 | 답변완료안녕하세요. 다름이 아니라... AB-M128-B를 구입하였는대.... | 강필구 | 2009-05-17 | 1,297 |
|
이거 초기 소스 구할수 없나요?
처음사면 작동하는 코드요...
그리고 제품사면 나와있는 예제
#include <iom128v.h>
#include <macros.h>
void delay(int n);
char ss_data[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x67};
void main(void)
{
unsigned int i = 0, digit = 0;
init_devices();
while(1)
{
PORTG = i;
PORTC = 0x0f;
PORTA = ss_data[digit];
PORTC = ~(1<<digit);
delay(500);
i++;
digit=i%4;
}
}
void delay(int n)
{
volatile int i,j;
for ( i = 0; i < 100; i++)
{
for ( j = 0; j < 100; j++);
}
}
이거 에러 납니다. 수정부탁드려요....
관리자 답변
안녕하세요? 고객님,
저희 NewTC를 이용하여 주셔서 감사합니다.
자료실->기본자료실에서 모듈 테스트 라고 검색하면 도비니다.
아래에 초기 소스가 있습니다.
- 아래 -
http://www.newtc.co.kr/board/view.php?id=pds&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=모듈 테스트&select_arrange=headnum&desc=asc&no=216
또한, 소스 변경은 해드리지 않고 있습니다.
다만, 자료실->기존자료실에서 세븐 이라고 검색하면
구하려는 세븐세그먼트 관련된 소스를 찾을 수 있을 겁니다.
수고하세요.
>이거 초기 소스 구할수 없나요?
>
>처음사면 작동하는 코드요...
>
>그리고 제품사면 나와있는 예제
>
>#include <iom128v.h>
>#include <macros.h>
>
>void delay(int n);
>
>char ss_data[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x67};
>
>void main(void)
>{
> unsigned int i = 0, digit = 0;
> init_devices();
>
> while(1)
> {
> PORTG = i;
>
> PORTC = 0x0f;
> PORTA = ss_data[digit];
> PORTC = ~(1<<digit);
>
> delay(500);
>
> i++;
> digit=i%4;
> }
>}
>
>void delay(int n)
>{
> volatile int i,j;
> for ( i = 0; i < 100; i++)
> {
> for ( j = 0; j < 100; j++);
> }
>}
>
>
>이거 에러 납니다. 수정부탁드려요....
|
||||
| 2905 | 답변완료KR-DL16(DC 라인트래이서) 질문입니다~~~(아주급함!!) | 학생 | 2009-05-16 | 1,317 |
|
프로그램을 넣는데,
'Cannot program Flash',
'Cannot verify Flash'라는 에러가 뜹니다.
물론 작동 안되고요..
어떻게 해야하나요??
ㅡㅜ
관리자 답변
안녕하세요...고객님...
저희는 고객님의 자유로운 게시판 이용을 위해 실명으로 질문을 한다면 로그온을 하지 않아도 게시판에 글쓰기가 가능하도록 했습니다. 하지만 몇몇 고객님들께서 익명으로 질문을 시작한 후 최근엔 많은 질문에 익명이 사용되고 있습니다.
저희 회사에서는 논의를 거쳐 당분간은 익명 사용자에 한해 답변을 거절하기로 했으며, 차후에도 문제점이 해결되지 않는다면 로그온 사용자만 게시판을 이용할 수 있도록 할 예정입니다.
질문은 반드시 실명으로 올려주시기 바랍니다.
아래를 참고하세요.
- 아래 -
http://newtc.co.kr/board/view.php?id=faq&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=23
>프로그램을 넣는데,
>'Cannot program Flash',
>'Cannot verify Flash'라는 에러가 뜹니다.
>물론 작동 안되고요..
>어떻게 해야하나요??
>ㅡㅜ
|
||||
| 2904 | 답변완료RF모듈에 안테나를 달려고합니다... | 배동희 | 2009-05-16 | 1,443 |
|
안녕하세요 ㅎ
AM-RFMOD를 한쌍구입하여 열심히 요리조리 뜯어보고잇습니다.
이 게시판을 검색하다보니 수신범위가 안테나없이는 30~40미터이고 안테나가 있을경우 약 100미터까지 가능하다는 답변을 보았습니다.
마침 수신범위가 좀더 필요한상황이라 안테나를 구입하여 장착해보려고하는데요
제가 이쪽에는 문외한이라 답변에 써져잇는것을 보고 유추해서 제품을 골라봤는데요
* 안테나 ( 2.4GHz안테나(5dBi) DANT-200SP )
http://www.devicemart.co.kr/mart7/mall.php?cat=004017007&query=view&no=18508
* SMA 커넥터 ( RF커넥터 SMA(F)ST )
http://www.devicemart.co.kr/mart7/mall.php?cat=013020015&query=view&no=19418
이 두가지를 구입한뒤 SMA커넥터를 RF-MOD에 납땜해서 고정시키고 위제품의 안테나를 꼽으면
별도의 설정을 하지않고도 바로 동작하게되는건가요??
관리자 답변
안녕하세요...고객님....
rfmod는 유선에서 무선으로의 하드적인 변환만 있을분, 소프트웨어적인 어떠한 변경도 없습니다. 그러니 유선으로 시리얼 통신이 가능하다면 무선은 그냥 단지 연결로만 통신이 가능합니다. 안테나의 경우 단지 통신거리가 길어질뿐 소프트웨어적으로나 하드웨어적으로 어떠한 설정도 필요없습니다.
하시다가 의문정 있으면 언제라도 질문 주세요..
감사합니다.
>안녕하세요 ㅎ
>
>AM-RFMOD를 한쌍구입하여 열심히 요리조리 뜯어보고잇습니다.
>
>이 게시판을 검색하다보니 수신범위가 안테나없이는 30~40미터이고 안테나가 있을경우 약 100미터까지 가능하다는 답변을 보았습니다.
>
>마침 수신범위가 좀더 필요한상황이라 안테나를 구입하여 장착해보려고하는데요
>
>제가 이쪽에는 문외한이라 답변에 써져잇는것을 보고 유추해서 제품을 골라봤는데요
>
>* 안테나 ( 2.4GHz안테나(5dBi) DANT-200SP )
>http://www.devicemart.co.kr/mart7/mall.php?cat=004017007&query=view&no=18508
>
>* SMA 커넥터 ( RF커넥터 SMA(F)ST )
>http://www.devicemart.co.kr/mart7/mall.php?cat=013020015&query=view&no=19418
>
>이 두가지를 구입한뒤 SMA커넥터를 RF-MOD에 납땜해서 고정시키고 위제품의 안테나를 꼽으면
>
>별도의 설정을 하지않고도 바로 동작하게되는건가요??
|
||||
