로그인 | 회원가입 | 주문 조회
총 10,743개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
1878 답변완료RS232 포트 정확한지? 김주강 2008-10-31 1,407
어제 RS232 단자에 대해 문의하였던 사람입니다. 주어진 회로도도 희미하게 되어있고 해서 결국은 고생끝에 찾아낸건데 M128Pro 보드에서 결국은 J107하고 J204하곤 같은 USART 포트가 아닙니다. J107은 Main Tx,Rx 와 연결된 포트이고 J204는 Max232를 거친 Rx,Tx 단자인 겁니다. 어제 잘못된 답변땜에 하루종일 삽질하였네요. 다음에는 좀 정확한 답변을 해 주시기 바랍니다. 그리고 회로도 잘보이는 도면좀 얻을수 없습니까? 글씨가 정말 안보이네요.
관리자 답변 N.T.C · 2008-10-31
안녕하세요? 네 고객님의 답변에 어제 답변하는 데 시간이 걸리면서, 제가 헛갈렸습니다. 미안하구요. 헛갈린 이유는...그냥 AM-128PRO 관련된다고 하셨고, 바로 J114 라고 하셔서, AM-128PRO에는 J114가 없거든요. 그래서, 뭘까..하면서 한참 보드를 찾았습니다. 어딘가에 있겠지 하면서요. 그래서, 어떤 보드인지 보드 찾느라 시간이 걸렸고, 그래서, UART라고 말한거거든요. 2번 3번이 맞다고 말씀드린거구요. J114를 물어보셨었구요. J114는 5V 레벨입니다. J107은 물어보지도 않으셨구요.. 그리고, 고객님이 처음에 질문하신 내용에 이미 TTL 5V level 커넥터에 대한 내용이 들어 있었습니다. 전 사실, 그런 내용을 한 번 말씀 드렸기 때문에, 다시 강조하지 않은 것입니다. 이번에 답변 내용에서 한 가지 빠뜨리고 지나간 부분은 죄송한데요. 답변 드린 내용을 처음부터, 자세히 읽으셨으면, 문제없이 파악하실 수 있었을 것으로 생각됩니다. 참고로, 처음에 답변한 내용을 아래에 올려드리니, 참고바랍니다. 회로도 잘보이는 도면좀 이라고 하셨는 데, 어떤 회로도를 말씀하신 건가요? 본사에는 회로도가 수백가지가 넘습니다. 정확한 파트명을 말씀해 주시면 도움을 줄 수 있을 것 같네요. 혹시 M128PRO 회로도라면, PDF 파일을 보시면, 아주 크게도 정확하게 확대됩니다. 그림파일로 보지 마시고, PDF로 보세요. 본사에서도 최대한 친절히 답변해 드리려고 노력하고 있습니다. 하지만, 질문하실 때도 빠르고 정확한 답변을 위하여 질문을 좀 더 자세히 해 주시기 바랍니다. 그리고, Q&A 란은 궁금함을 해결하고자 하는 고객님들을 위하여 본사에서 서비스 하고 있는 곳입니다. 당연히 본사에서도 최대한 지원을 아끼지 않을 것입니다. 수고하세요. - 아래 - http://www.newtc.co.kr/board/view.php?id=qna&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=5181 > > 어제 RS232 단자에 대해 문의하였던 사람입니다. > 주어진 회로도도 희미하게 되어있고 해서 결국은 고생끝에 찾아낸건데 > > M128Pro 보드에서 결국은 > > J107하고 J204하곤 같은 USART 포트가 아닙니다. > J107은 Main Tx,Rx 와 연결된 포트이고 J204는 Max232를 거친 Rx,Tx 단자인 > 겁니다. > > 어제 잘못된 답변땜에 하루종일 삽질하였네요. > > 다음에는 좀 정확한 답변을 해 주시기 바랍니다. > > 그리고 회로도 잘보이는 도면좀 얻을수 없습니까? > 글씨가 정말 안보이네요.
1877 답변완료atmega128 ADC 차동입력과 단극성입력 한영철 2008-10-31 1,517
센서 출력이 ~1.5 ~ 1.5v 인 신호를 받아서 AD conveting을 하려 합니다. 보통 입력 전압이 0~5v로 알고있는데, 그러면 저 출력을 어떻게 처리하면 될까요? 어떤 분들은 level shift로 +1.5v 해서 0~3v로 바꾼 다음에 adc하라고 하는 분도 있고, 어떤 분들은 차동입력으로 하면 된다고 하는 분들도 있고.. 차동입력으로 -1.5v가 들어가도 상관없는 것인가요? 단극성입력에 -1.5v들어가면 회로가 망가진다고 하던데..
관리자 답변 N.T.C · 2008-10-31
안녕하세요? 고객님, 저희 N.T.C를 이용하여 주셔서 감사합니다. 차동 입력으로 충분히 받으실 수 있습니다. AVR에서 -2.5~2.5V 받을 수 있거든요. Q&A에서 다른 분들의 ADC 라고 치시면 검색하실 수 있을 겁니다. 위에서 몇개 정도 참고하실 수 있을 것 같네요. 수고하세요. >센서 출력이 ~1.5 ~ 1.5v 인 신호를 받아서 AD conveting을 하려 합니다. >보통 입력 전압이 0~5v로 알고있는데, 그러면 저 출력을 어떻게 처리하면 될까요? >어떤 분들은 level shift로 +1.5v 해서 0~3v로 바꾼 다음에 adc하라고 하는 분도 있고, >어떤 분들은 차동입력으로 하면 된다고 하는 분들도 있고.. 차동입력으로 -1.5v가 들어가도 상관없는 것인가요? 단극성입력에 -1.5v들어가면 회로가 망가진다고 하던데..
1876 답변완료다시 코드 고쳐서 해보는데 이것도 안되네요 ㅠ 유준영 2008-10-31 1,464
#include <iom128v.h> #include <macros.h> #include <stdio.h> #define MOTOR_PORT PORTC // 스테핑 모터 연결 포트 #define MOTOR_PORT_DDR DDRC // 스테핑 모터 연결 포트의 DDR REG #define MOTOR_ENABLE (MOTOR_PORT = MOTOR_PORT|0x80) #define MOTOR_DISABLE (MOTOR_PORT = MOTOR_PORT&0x7f) #define MOTOR_STEP_M0 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x00) #define MOTOR_STEP_M1 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x10) #define MOTOR_STEP_M2 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x20) #define MOTOR_STEP_M3 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x30) #define MOTOR_LEFT_CLK (MOTOR_PORT = MOTOR_PORT^0x01) #define MOTOR_RIGHT_CLK (MOTOR_PORT = MOTOR_PORT^0x04) #define MOTOR_LEFT_CW (MOTOR_PORT = MOTOR_PORT&0xfd) #define MOTOR_LEFT_CCW (MOTOR_PORT = MOTOR_PORT|0x02) #define MOTOR_RIGHT_CW (MOTOR_PORT = MOTOR_PORT&0xf7) #define MOTOR_RIGHT_CCW (MOTOR_PORT = MOTOR_PORT|0x08) #define SW_PORT PINB #define SW_PORT_DDR DDRB #define ON 1 #define OFF 0 #define STATE_1 (SW_PORT = SW_PORT&0x01) #define STATE_2 (SW_PORT = SW_PORT&0x10) #define MAXTURN 5000 void port_init(void) { PORTA = 0x00; DDRA = 0x03; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; DDRC = 0xff; PORTD = 0x00; DDRD = 0xff; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x00; PORTG = 0x00; DDRG = 0x03; } //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 = 0x18; } int putchar(char c) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = c; return c; } int getchar(void) { while ((UCSR0A & 0x80) == 0); return UDR0; } //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(); 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 } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<600;j++); } } /* main function-----------------------------------*/ void main(void) { volatile unsigned int step=0; volatile int startL, startR, firstL=0, firstR=0, stop; init_devices(); //insert your functional code here... printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); MOTOR_PORT_DDR = 0xff; MOTOR_STEP_M3; MOTOR_ENABLE; SW_PORT_DDR = 0x00; PORTG=0x01; /* 딜레이로 마이크로 스텝 드라이버 구동 */ while(1){ if(STATE_1){ if(firstL==0){ startL=ON; startR=OFF; firstL=1; firstR=0; step=0; stop=0; MOTOR_LEFT_CCW; MOTOR_RIGHT_CW; } }else if(STATE_2){ if(firstR==0){ startL=OFF; startR=ON; firstL=0; firstR=1; step=0; stop=0; MOTOR_LEFT_CW; MOTOR_RIGHT_CCW; } }else{ startL=OFF; startR=OFF; stop=1; } if(startL == ON){ if(step++ < MAXTURN){ MOTOR_LEFT_CLK; MOTOR_RIGHT_CLK; }else{ startL=OFF; } } if(startR == ON){ if(step++ < MAXTURN){ MOTOR_LEFT_CLK; MOTOR_RIGHT_CLK; }else{ startR=OFF; } } if(stop == ON){ MOTOR_DISABLE; } PORTG = ~PORTG; delay(2); } } 이것도 안되네요 머가 문제 인지 모르겠습니다 ㅠ
관리자 답변 N.T.C · 2008-10-31
안녕하세요? 고객님, 아래1에 있는 코드가 잘못된 거 아닌지요? 아래2와 같이 바꿔야 하는 건 아닌지요? - 아래 1- #define STATE_1 (SW_PORT = SW_PORT&0x01) #define STATE_2 (SW_PORT = SW_PORT&0x10) - 아래2- #define STATE_1 (SW_PORT == SW_PORT&0x01) #define STATE_2 (SW_PORT == SW_PORT&0x10) 모든 문제를 풀 때는 문제를 최소화 하여, 각각 기능 동작 여부를 확인하면서, 합쳐 나가야 합니다. 하나하나 되겠지 하고 지나가는 곳에서 문제는 발생하게 되죠. 수고하세요. >#include <iom128v.h> >#include <macros.h> >#include <stdio.h> > >#define MOTOR_PORT PORTC // 스테핑 모터 연결 포트 >#define MOTOR_PORT_DDR DDRC // 스테핑 모터 연결 포트의 DDR REG > >#define MOTOR_ENABLE (MOTOR_PORT = MOTOR_PORT|0x80) >#define MOTOR_DISABLE (MOTOR_PORT = MOTOR_PORT&0x7f) >#define MOTOR_STEP_M0 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x00) >#define MOTOR_STEP_M1 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x10) >#define MOTOR_STEP_M2 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x20) >#define MOTOR_STEP_M3 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x30) >#define MOTOR_LEFT_CLK (MOTOR_PORT = MOTOR_PORT^0x01) >#define MOTOR_RIGHT_CLK (MOTOR_PORT = MOTOR_PORT^0x04) >#define MOTOR_LEFT_CW (MOTOR_PORT = MOTOR_PORT&0xfd) >#define MOTOR_LEFT_CCW (MOTOR_PORT = MOTOR_PORT|0x02) >#define MOTOR_RIGHT_CW (MOTOR_PORT = MOTOR_PORT&0xf7) >#define MOTOR_RIGHT_CCW (MOTOR_PORT = MOTOR_PORT|0x08) > >#define SW_PORT PINB >#define SW_PORT_DDR DDRB >#define ON 1 >#define OFF 0 > >#define STATE_1 (SW_PORT = SW_PORT&0x01) >#define STATE_2 (SW_PORT = SW_PORT&0x10) > >#define MAXTURN 5000 > >void port_init(void) >{ > PORTA = 0x00; > DDRA = 0x03; > PORTB = 0x00; > DDRB = 0x00; > PORTC = 0x00; > DDRC = 0xff; > PORTD = 0x00; > DDRD = 0xff; > PORTE = 0x00; > DDRE = 0x00; > PORTF = 0x00; > DDRF = 0x00; > PORTG = 0x00; > DDRG = 0x03; >} > >//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 = 0x18; >} > > >int putchar(char c) >{ > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > > UDR0 = c; > return c; >} > >int getchar(void) >{ > while ((UCSR0A & 0x80) == 0); > return UDR0; >} > >//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(); > > 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 >} > >void delay(int n) >{ > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<600;j++); > } >} > > >/* main function-----------------------------------*/ >void main(void) >{ > volatile unsigned int step=0; > volatile int startL, startR, firstL=0, firstR=0, stop; > > init_devices(); > //insert your functional code here... > printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); > > MOTOR_PORT_DDR = 0xff; > > MOTOR_STEP_M3; > MOTOR_ENABLE; > SW_PORT_DDR = 0x00; > PORTG=0x01; > /* 딜레이로 마이크로 스텝 드라이버 구동 */ > while(1){ > if(STATE_1){ > if(firstL==0){ > startL=ON; > startR=OFF; > firstL=1; > firstR=0; > step=0; > stop=0; > MOTOR_LEFT_CCW; > MOTOR_RIGHT_CW; > } > }else if(STATE_2){ > if(firstR==0){ > startL=OFF; > startR=ON; > firstL=0; > firstR=1; > step=0; > stop=0; > MOTOR_LEFT_CW; > MOTOR_RIGHT_CCW; > } > }else{ > startL=OFF; > startR=OFF; > stop=1; > } > > if(startL == ON){ > if(step++ < MAXTURN){ > MOTOR_LEFT_CLK; > MOTOR_RIGHT_CLK; > }else{ > startL=OFF; > } > } > if(startR == ON){ > if(step++ < MAXTURN){ > MOTOR_LEFT_CLK; > MOTOR_RIGHT_CLK; > }else{ > startR=OFF; > } > } > if(stop == ON){ > MOTOR_DISABLE; > } > > > PORTG = ~PORTG; > delay(2); > } > >} > >이것도 안되네요 머가 문제 인지 모르겠습니다 ㅠ >
1875 답변완료너무나 궁금합니다 밤샘 작업했는데 잘안되네요 ㅠ 유준영 2008-10-31 1,356
#define MOTOR_PORT PORTC // 스테핑 모터 연결 포트 #define MOTOR_PORT_DDR DDRC // 스테핑 모터 연결 포트의 DDR REG #define MOTOR_ENABLE (MOTOR_PORT = MOTOR_PORT|0x80) #define MOTOR_DISABLE (MOTOR_PORT = MOTOR_PORT&0x7f) #define MOTOR_STEP_M0 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x00) #define MOTOR_STEP_M1 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x10) #define MOTOR_STEP_M2 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x20) #define MOTOR_STEP_M3 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x30) #define MOTOR_LEFT_CLK (MOTOR_PORT = MOTOR_PORT^0x01) #define MOTOR_RIGHT_CLK (MOTOR_PORT = MOTOR_PORT^0x04) #define MOTOR_LEFT_CW (MOTOR_PORT = MOTOR_PORT&0xfd) #define MOTOR_LEFT_CCW (MOTOR_PORT = MOTOR_PORT|0x02) #define MOTOR_RIGHT_CW (MOTOR_PORT = MOTOR_PORT&0xf7) #define MOTOR_RIGHT_CCW (MOTOR_PORT = MOTOR_PORT|0x08) #define SW_PORT PINB #define SW_PORT_DDR DDRB #define ON 1 #define OFF 0 #define STATE_1 (SW_PORT = SW_PORT&0x01) //핀B에 신호가 on #define STATE_2 (SW_PORT = SW_PORT&0x10) //핀B에 신호가 off #define MAXTURN 5000 MOTOR_STEP_M3; MOTOR_ENABLE; SW_PORT_DDR = 0x00; PORTG=0x01; /* 딜레이로 마이크로 스텝 드라이버 구동 */ while(1){ if(STATE_1){ if(firstL==0){ startL=ON; startR=OFF; firstL=1; firstR=0; step=0; MOTOR_LEFT_CCW; MOTOR_RIGHT_CW; } }else if(STATE_2){ if(firstR==0){ startL=OFF; startR=ON; firstL=0; firstR=1; step=0; MOTOR_LEFT_CW; MOTOR_RIGHT_CCW; } }else MOTOR_DISABLE; if(startL == ON){ if(step++ < MAXTURN){ MOTOR_LEFT_CLK; MOTOR_RIGHT_CLK; }else{ startL=OFF; } } if(startR == ON){ if(step++ < MAXTURN){ MOTOR_LEFT_CLK; MOTOR_RIGHT_CLK; }else{ startR=OFF; } } PORTG = ~PORTG; delay(2); } if(핀B가 on) -> 3바뀌 정으로 돌리고 else if(핀B가 off) -> 3바뀌 역으로 돌리고 else 나머지 경우는 모터 돌리지 않음으로 하고 싶은데 문을 이용 정확히 애기 하자면 모터 전원을 켰을때 멈추어 있다가 핀B을 on 하면 정으로 돌고 멈추었다가 핀B을 off 하면 역으로 돌고 멈추는 것이 목적입니다 어디가 문제 인가요? 항상 너무나 감사합니다 혹시몰라 소스 전체 올립니다
관리자 답변 N.T.C · 2008-10-31
위에 답변 있습니다.
1874 답변완료호환여부 질문인데요. 방성욱 2008-10-31 1,443
디지털 4채널 LT 적외선 모듈 (AM-IRS4D) 이걸 라인트레이서에 달려고 하는데 핀수만 맞으면 호환에는 이상이 없나요 아니면 라인트레이서 기종에 따라 호환되는 제품이 따로 있나요? 그리고 발광부는 알겠는데 수광부랑 센서1,2,3,4는 어떻게 다른지 알고 싶습니다. 좋은하루되세요
관리자 답변 방성욱 · 2008-10-31
저희 라인트레이서가 <DC 라인트레이서(조립용) KR-DL16 > 이거네요. 이것이랑 호환이 되는지 알고 싶습니다.
1873 답변완료Atmega128 pro kit에 관한 문의 이성헌 2008-10-30 1,415
안녕하세요! 귀사에서 Atmega128 pro kit를 구입하여 잘 사용하고 있는데요, 제가 이걸로 작품을 만들고 있는데, 새로운 아이디어가 떠올라 그걸 더 추가시키려 하는데요, 혹시 이 보드에 beep 기능이 있나요? 즉, 신호를 주면 삐~ 소리만 나게 하면 됩니다. 사용설명서를 다운로딩하려고 하니 안되네요. 그래서 이렇게 문의해 봅니다. 자체에 이런 기능이 없다면, 스피커를 달아야 하는지요? 궁금합니다.
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 자체에 스피커는 달려있지 않습니다. 하지만, 스피커를 다시면 되구요. SE-MIN1 라는 미니 케이블 1핀이 있습니다. 6개 묶어서 1,320원 (VAT 포함) 입니다. 그 케이블을 이용하시면, 핀에다 꽂으시면 될 것 같구요. 예제를 첨부하였으니, 참고하세요. 그리고, 다운로드가 안되시는 분들을 위하여 네이버 까페를 운용하고 있으니, 참고 바랍니다. 네이버 까페 Q&A에도 올려 놓을께요. 까페 주소는 cafe.naver.com/newtc 입니다. 수고하세요. >안녕하세요! >귀사에서 Atmega128 pro kit를 구입하여 잘 사용하고 있는데요, >제가 이걸로 작품을 만들고 있는데, 새로운 아이디어가 떠올라 그걸 더 추가시키려 하는데요, >혹시 이 보드에 beep 기능이 있나요? >즉, 신호를 주면 삐~ 소리만 나게 하면 됩니다. >사용설명서를 다운로딩하려고 하니 안되네요. >그래서 이렇게 문의해 봅니다. >자체에 이런 기능이 없다면, 스피커를 달아야 하는지요? >궁금합니다.
1872 답변완료RS232 김주강 2008-10-30 1,504
어제 질문에 이어서 다시 질문 드립니다. 제가 쓰고있는 포트는 UART1 (J114) 입니다. PC와 통신을 하려고 하는데 J114는 Max232를 거친 12V 레벨인가요? 그리고 2번이 TX, 3번이 RX 인가요? (AVR 입장에서 볼때요) 연결이 안되어서 질문 드립니다.
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C를 방문하여 주셔서 감사합니다. AB-M128Pro-A 보드의 J114를 말씀하시는 것 같은데요. 다음에는 사용하시는 보드를 자세히 말씀하여 주시면, 보다 빠르게 답변이 가능할 것 같구요. 말씀하신 것이 맞구요. 자세히 보시면, PCB 앞면에 쓰여져 있습니다. J114는 UART1번이구요. AVR 입장에서 써 놓은 것입니다. 감사합니다. >어제 질문에 이어서 다시 질문 드립니다. > >제가 쓰고있는 포트는 UART1 (J114) 입니다. >PC와 통신을 하려고 하는데 >J114는 Max232를 거친 12V 레벨인가요? >그리고 2번이 TX, 3번이 RX 인가요? (AVR 입장에서 볼때요) >연결이 안되어서 질문 드립니다.
1871 답변완료아트매가128과 아트매가128pro 이근형 2008-10-30 1,254
안녕하십니까 NTC회사 제품에서 생산하는 제품과 소스로 공부하고 있는 학생입니다. ATMEGA128과 ATMEGA129pro의 차이점이 모가 있는지요??아무리 봐도 똑같아 보이는데..^^: kd-128pro개발키드에 바로 ATMEGA128을 꽂아도 되는지요??
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 우선, AM-128PRO는 ATMEL사의 ATMEGA128로 만들어진 MCU 모듈입니다. 저희 N.T.C에는 AM-128PL, AM-128PRO, AM-128RAM, AM-2561PRO 같은 모듈은 모두 같은 핀 호환이 이루어지고 있어서, KD-128PRO 킷트 메인보드에 꽂으셔서 사용하셔도 됩니다. 또한, AM-128PL, AM-128PRO, AM-128RAM은 스펙상 약간씩 업그레이드 되는 부분인데, MCU는 같은 ATMEGA128을 사용합니다. 언제든 질문 있으시면, 주저마시고 질문해 주세요. 감사합니다. >안녕하십니까 >NTC회사 제품에서 생산하는 제품과 소스로 공부하고 있는 학생입니다. >ATMEGA128과 ATMEGA129pro의 차이점이 모가 있는지요??아무리 봐도 똑같아 보이는데..^^: kd-128pro개발키드에 바로 ATMEGA128을 꽂아도 되는지요??
1870 답변완료dc모터 정역회전에 대해서요 제가초보라서요 답변부탁요~~ kkmych 2008-10-30 1,431
dc모터를 정역회전하고싶은데요 정회전은 되는데요 역회전이 안됩니다.. DC구동모듈4A싱글입니다 AM-DC1-4D 모듈입니다.. 이리저리 해보아도 역회전은 안되서요 #include<mega128.h> #define MOTORPORT1 PORTC #define ON 1 #define OFF 0 #define CW 1 #define CCW 0 void M1A(int onoff){ if(onoff==ON) MOTORPORT1=MOTORPORT1|0x01; else MOTORPORT1=MOTORPORT1&0xFE; } void M1A_(int onoff){ if(onoff==ON) MOTORPORT1=MOTORPORT1|0x02; else MOTORPORT1=MOTORPORT1&0xFD; } void Motor1(int CWCCW){ if(CWCCW==CW){ M1A(ON); M1A_(OFF); }else{ M1A(OFF); M1A_(ON); } } void delay(int delaytime){ int i,j; for(i=0;i<1000;i++){ for(j=0;j<delaytime;j++){ } } } void main(void) { while(1){ Motor1(0); delay(1000); Motor1(1); delay(1000); } } 위와같이도 테스터를 해보았고요 간단하게도 모터테스트를 해보았습니다. #include <mega128.h> void main() { DDRC=0xFF; PORTC=0x02; while(1); } 간단히 이렇게 테스트를 해보았을때는요 PORTC=0x01 지정하면 정회전이됩니다. 0x02 지정하면 역회전만안됩니다.
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 우선, 초기화 루틴이 전혀 없네요. 그 부분을 만들어 넣으셔야 겠습니다. 자료실->기존자료실에 보시면 DC 모터 구동 모듈 예제가 있으니, 참고하시기 바랍니다. 그리고, 다음부터는 질문하실 때, 반드시 본명으로 부탁드립니다. 감사합니다. >dc모터를 정역회전하고싶은데요 정회전은 되는데요 역회전이 안됩니다.. >DC구동모듈4A싱글입니다 AM-DC1-4D 모듈입니다.. > >#include<mega128.h> >#define MOTORPORT1 PORTC >#define ON 1 >#define OFF 0 >#define CW 1 >#define CCW 0 >void M1A(int onoff){ >if(onoff==ON) > MOTORPORT1=MOTORPORT1|0x01; > else > MOTORPORT1=MOTORPORT1&0xFE; > } >void M1A_(int onoff){ > if(onoff==ON) > MOTORPORT1=MOTORPORT1|0x02; >else > MOTORPORT1=MOTORPORT1&0xFD; > } >void Motor1(int CWCCW){ >if(CWCCW==CW){ >M1A(ON); >M1A_(OFF); >}else{ >M1A(OFF); >M1A_(ON); >} >} >void delay(int delaytime){ >int i,j; >for(i=0;i<1000;i++){ >for(j=0;j<delaytime;j++){ >} >} >} >void main(void) >{ > >while(1){ >Motor1(0); >delay(1000); >Motor1(1); >delay(1000); >} >}
1869 답변완료ISPUSB V2 다운로드 에러 김정기 2008-10-30 1,405
안녕하세요 본사 제품의 AM-128PL과 AD-USBISP V2를 구입해서 사용하고 있는데 문제가 발생하여 문의 드립니다. 제가 Q&A 를 검색해 보니 동일 증상으로 올라온 문제가 있어 번호와 날짜를 적었습니다. 어떻게 해결 하셨는지 알려 주셨으면 합니다. Q&A 번호 3175, Q&A 에 올라온 날짜 10월 12일 참고로 전 IBM NotePC, WindowXP 를 사용하고 있습니다. 그럼 즐거운 하루 되세요...
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 그 때, 고객님의 경우 2313과 ISP 연결시 잭을 거꾸로 꽂으셔서 발생하였던 문제였습니다. 원래대로 꽂으니까, 정상적으로 동작했습니다. 고객님의 경우 둘 다 저희 회사 제품인데, 그런 문제가 발생할리는 없구요. 혹시 전원은 주셨나요? 아니시면, USBISP의 딥스위치 중에서 2번핀만 ON 시키시면, USB를 통하여 128PL에 전원이 공급되거든요. 그렇게 하셔도 됩니다. 다만, 전류는 USB에서 당겨 쓸 수 있는 것이 100~150mA 정도이므로, 주의 바랍니다. 테스트 해보시구, 메시지 남겨 주세요. 감사합니다. >안녕하세요 >본사 제품의 AM-128PL과 AD-USBISP V2를 구입해서 사용하고 있는데 문제가 발생하여 문의 드립니다. >제가 Q&A 를 검색해 보니 동일 증상으로 올라온 문제가 있어 번호와 날짜를 >적었습니다. 어떻게 해결 하셨는지 알려 주셨으면 합니다. > >Q&A 번호 3175, Q&A 에 올라온 날짜 10월 12일 > >참고로 전 IBM NotePC, WindowXP 를 사용하고 있습니다. > >그럼 즐거운 하루 되세요...
1868 답변완료AM-DC1-3D 모듈에 관한 문의 사항 김국하 2008-10-29 1,393
ATmega 128을 이용해서 DC모터를 PWM신호로 구동하려고 합니다. 그래서 AM-DC1-3D 모듈을 사용하였는데요,, ATmega128에서 나오는 12V 전원을 인가해서 모터를 구동하였는데 조금 돌아가다가 점점 속도가 줄면서 멈추는 것입니다. 어디가 문제가 있는걸까요?? ATmega는 아답타를 전원으로 사용하였습니다. 만약 외부전원이 필요하다면 몇V, 몇A가 있어야 적당한 토크를 낼수 있나요?? 그리고 외부전원없이도 내부전원으로 구동하는 방법도 알려주시기 바랍니다.
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 첨부해 드린 소스를 참고하시면 좋을 것 같네요. 1-3D 모듈을 이용하여, PWM 제어를 통하여, 속도를 올렸다 내렸다 할 수 있도록 스위치 보드로 조절합니다. 또한, 도는 방향도 변경 가능하도록 제작되어 있습니다. 스위치 보드 D0~D3까지를 사용하도록 되어 있습니다. 모터의 종류와 크기 등에 따라서 사용하는 전압 전류가 달라 지겠습니다. 사용하는 모터도 모르면서 일방적으로 얼마다 라고 말하기는 어렵구요. 모터 구매하신 메이커의 웹싸이트에 가시면, 자세한 전류, 전압 스펙이 나와 있을겁니다. 사용하시는 아답타 문제일 수도 있구요. 프로그램 문제일 수도 있겠네요. DC 모터의 경우 외부 전원으로 구동하게 되어 있구요. 사용 전류가 적고, 전압도 5V 또는 12V 일 경우, 본사의 메인보드에 있는 전압 출력용 2핀 커넥터와 1:1로 연결하면 전압이 공급됩니다. 물론, 메인보드 연결한 아답타의 전압 전류를 확인하셔야 겠죠. 수고하세요. >ATmega 128을 이용해서 DC모터를 PWM신호로 구동하려고 합니다. >그래서 AM-DC1-3D 모듈을 사용하였는데요,, ATmega128에서 나오는 >12V 전원을 인가해서 모터를 구동하였는데 조금 돌아가다가 점점 >속도가 줄면서 멈추는 것입니다. 어디가 문제가 있는걸까요?? >ATmega는 아답타를 전원으로 사용하였습니다. >만약 외부전원이 필요하다면 몇V, 몇A가 있어야 적당한 토크를 >낼수 있나요?? >그리고 외부전원없이도 내부전원으로 구동하는 방법도 알려주시기 바랍니다.
1867 답변완료3축 가속도 센서와 기타 몇 가지에 대해 질문드립니다. 조현욱 2008-10-29 1,418
아직 보드를 제외한 다른 부품들을 구입한 상태가 아니라 좀 바보같은 질문일 수도 있겠지만, 어쨌든 여쭤보겠습니다. 현재 AVR ATMega128 PRO 보드를 갖고 있으며, 여기에 3축 가속도 센서와 무선통신모듈, +a를 달아서 인체 움직임의 가속도 및 속도를 측정할 수 있는 장비를 만들어보려 하고 있습니다. 1. 순간적으로, 폭발적으로 가속되는 움직임도 측정이 가능할까요? (ex: 발차기 동작, 팔을 휘두르는 동작 등) 2. 혹시 추천해주실 만한 (ATMega 128 PRO 보드와 호환이 잘되는) 무선통신용 모듈 (블루투스건, 지그비건 간에) 이 있다면 추천해주실수 있으신지요. 무턱대고 아무거나 샀다가 세부 스팩 같은 것들이 맞지 않아서 변환해주느라 고생하거나 못쓰는 것보다는 부끄럽게라도 추천을 받는 것이 더 나을것 같아서 질문드립니다. 아까 오후에 전화드렸더니 요즘 행사 기간이라서 아무도 없으시다고 하더군요. 어떤 행사인지는 모르겠지만, 성공적으로 치루시길 기원하며 빠른 답변도^^; 부탁드리겠습니다.
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 질문에 답변해 드릴께요. 1. 가능합니다. 3축 가속도 센서는 X,Y,Z 축 각각에 대한 순간 가속도도 잡아낼 수 있으므로, 가능합니다. 3축을 모두 하시게 될 경우, AVR에서 최대 각각 5kHz 정도로 채널마다 샘플링 하시면 됩니다. 채널당 1kHz 이상만 쓰시면 좋을 것 같네요. 2. 본사의 RFMOD라는 RFMODULE 이 발매 대기중이며, 테스트 중에 있습니다. 이번주까지 테스트를 마치고, 다음주부터, 판매를 진행할 예정입니다. 참고하시기 바랍니다. 왠만한 테스트는 마친상태이므로, 구매도 가능하십니다. 감사합니다. >아직 보드를 제외한 다른 부품들을 구입한 상태가 아니라 >좀 바보같은 질문일 수도 있겠지만, 어쨌든 여쭤보겠습니다. > >현재 AVR ATMega128 PRO 보드를 갖고 있으며, >여기에 3축 가속도 센서와 무선통신모듈, +a를 달아서 >인체 움직임의 가속도 및 속도를 측정할 수 있는 장비를 >만들어보려 하고 있습니다. > >1. 순간적으로, 폭발적으로 가속되는 움직임도 측정이 가능할까요? > (ex: 발차기 동작, 팔을 휘두르는 동작 등) > >2. 혹시 추천해주실 만한 (ATMega 128 PRO 보드와 호환이 잘되는) 무선통신용 >모듈 (블루투스건, 지그비건 간에) 이 있다면 추천해주실수 있으신지요. >무턱대고 아무거나 샀다가 세부 스팩 같은 것들이 맞지 않아서 >변환해주느라 고생하거나 못쓰는 것보다는 부끄럽게라도 추천을 받는 것이 >더 나을것 같아서 질문드립니다. > >아까 오후에 전화드렸더니 요즘 행사 기간이라서 아무도 없으시다고 하더군요. >어떤 행사인지는 모르겠지만, 성공적으로 치루시길 기원하며 >빠른 답변도^^; 부탁드리겠습니다.
1866 답변완료RS232연결 김주강 2008-10-29 1,455
이번에 pro 모듈을 구입하여서 사용하고 있습니다. 회로 보기도 귀찮고해서 질문 드립니다. GPS 센서를 갖고서 USART0에 TTL 레벨로 연결하고 USART1으로 MFC와 RS232 통신을 할려고 합니다. GPS TTL 레벨로 USART 연결할 수 있는 단자가 나와 있는가 해서 질문 드립니다. 매뉴얼에는 전부 MAX232를 통한것으로 되어 있는것 같아서입니다. 만약 없다면 단자 찾아서 납땜해야 되는지요?
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 회로도 안보셔도, 다 아시네요.^^ 짐작하신 대로 밖에 나와 있는 J204, J205 커넥터인 UART0, UART1은 RS-232C 레벨(PC Level, 12V level) 입니다. TTL Level(5V level)을 쓰시려면, 따로 빼셔야 하구요. 아래에 보시면, 핀에 대한 내용이 나와 있으니, 참고 바랍니다. http://newtc.co.kr/product_img/AM-128PRO_3.jpg 편하게 작업하시려면, AVR MEGA 128 개발보드 (소형) AB-M128-B 38,500원 를 구매하시면, AM-128PRO 를 꽂아서 메인보드에 있는 TTL Level 쪽의 커넥터 4핀이 나와 있으니, 그걸 이용하시면 더욱 편리합니다. 그리고, 본사의 AM-128PRO는 평상시 PC levle로 쓰다가 TTL Level로 쓰시고 싶으면, 커넥터에서 직접 빼면 동작 되도록 되어 있는 데, 회로적으로 부가된 부분이 있어서, 되는 것입니다. 회로 제작하기에 따라서, 안될 수도 있는 부분입니다. 본사의 기술이 추가된 부분이니 믿고 쓰시면 되겠습니다. 수고하세요. 수고하세요. > > 이번에 pro 모듈을 구입하여서 사용하고 있습니다. > 회로 보기도 귀찮고해서 질문 드립니다. > > GPS 센서를 갖고서 USART0에 TTL 레벨로 연결하고 > USART1으로 MFC와 RS232 통신을 할려고 합니다. > > GPS TTL 레벨로 USART 연결할 수 있는 단자가 나와 있는가 해서 > 질문 드립니다. 매뉴얼에는 전부 MAX232를 통한것으로 > 되어 있는것 같아서입니다. > > 만약 없다면 단자 찾아서 납땜해야 되는지요?
1865 답변완료AVR MEGA 128pro 개발키트 사용(SW사용법) 윤남준 2008-10-29 1,287
수고하십니다. AVR MEGA 128pro 개발키트 사용하여 스위치를 연습하려고 하는데 도무지 않됩니다. 보드의 S102.와 S103을 교대로 누르면 보드의 D102와 D103의 LED가 교대로 ON될 수 있는 간단한 프로그램 하나만 올려주십시요.
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C 제품을 이용하여 주셔서 감사합니다. 예제를 올려드립니다. 참고하세요. 감사합니다. >수고하십니다. >AVR MEGA 128pro 개발키트 사용하여 >스위치를 연습하려고 하는데 >도무지 않됩니다. > >보드의 S102.와 S103을 교대로 누르면 >보드의 D102와 D103의 LED가 교대로 ON될 수 있는 >간단한 프로그램 하나만 올려주십시요. >
1864 답변완료엔코더를 손으로 돌리는 방향으로 dc모터 정역회전에 대해서요 (초보임니다) kkmych 2008-10-29 1,319
엔코더 제품주소는요 http://www.i-parts.co.kr/?doc=cart/item.php&it_id=1179198682 엔코더를 사용하고 있습니다. dc모터 소스를 이용하여 엔코더를 돌리고싶은데요 잘안되서요 쉽게 알려주시면 감사하겠습니다.. #include<mega128.h> #define MOTORPORT1 PORTC #define ON 1 #define OFF 0 #define CW 1 #define CCW 0 void M1A(int onoff){ if(onoff==ON) MOTORPORT1=MOTORPORT1|0x01; else MOTORPORT1=MOTORPORT1&0xFE; } void M1A_(int onoff){ if(onoff==ON) MOTORPORT1=MOTORPORT1|0x02; else MOTORPORT1=MOTORPORT1&0xFD; } void Motor1(int CWCCW){ if(CWCCW==CW){ M1A(ON); M1A_(OFF); }else{ M1A(OFF); M1A(ON); } } void delay(int delaytime){ int i,j; for(i=0;i<1000;i++){ for(j=0;j<delaytime;j++){ } } } void main(void) { while(1){ Motor1(0); delay(1000); Motor1(1); delay(1000); } }
관리자 답변 N.T.C · 2008-10-30
안녕하세요? 고객님, 저희 N.T.C를 이용하여 주셔서 감사합니다. 엔코더의 출력을 돌려보시면서, 오실로로 찍어 보세요. 스펙과 비교해 보시구요. 그 파형에 따라서, 프로그램을 짜셔야 할 것 같습니다. 좀 더 자세하게 질문하여 주시면 좋겠네요. 수고하세요. >엔코더 제품주소는요 >http://www.i-parts.co.kr/?doc=cart/item.php&it_id=1179198682 >엔코더를 사용하고 있습니다. > >dc모터 소스를 이용하여 엔코더를 돌리고싶은데요 잘안되서요 쉽게 알려주시면 감사하겠습니다.. > >#include<mega128.h> >#define MOTORPORT1 PORTC >#define ON 1 >#define OFF 0 >#define CW 1 >#define CCW 0 > >void M1A(int onoff){ >if(onoff==ON) > MOTORPORT1=MOTORPORT1|0x01; > else > MOTORPORT1=MOTORPORT1&0xFE; > } >void M1A_(int onoff){ > if(onoff==ON) > MOTORPORT1=MOTORPORT1|0x02; >else > MOTORPORT1=MOTORPORT1&0xFD; > } >void Motor1(int CWCCW){ >if(CWCCW==CW){ >M1A(ON); >M1A_(OFF); >}else{ >M1A(OFF); >M1A(ON); >} >} >void delay(int delaytime){ >int i,j; >for(i=0;i<1000;i++){ >for(j=0;j<delaytime;j++){ >} >} >} >void main(void) >{ > >while(1){ >Motor1(0); >delay(1000); >Motor1(1); >delay(1000); >} >} > > >