로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
5963 답변완료스텝모터의 한바퀴가 360가 안되는것 같습니다. 김지훈 2010-12-06 1,374
SE-SM243 을 사용하고 있는데요 한 스텝이 1.8도 니까 200스텝을 주면 360도 한바퀴를 돌아야 하는 거잖아요? 그런데 한바퀴를 채 못돕니다... 일단 간단하게 소스코드는 아래와 같이 했구요 어떤게 문제인거죠? #include <mega16.h> #include <delay.h> void main(void) { unsigned char cw[]={0x01,0x02,0x04,0x08}; unsigned char a=0; unsigned int i; PORTC=0x00; DDRC=0xff; for(i=1 ; i<200 ; i++) //200번의 스텝 { a++; if(a==4){ a=0; } PORTC=cw[a]; delay_ms(20); } }
관리자 답변 NEWTC · 2010-12-07
안녕하세요 1.8도가 맞습니다. 그리고 200펄스이면 한바퀴입니다. 코드를 잘못 작성한듯 한군요 ;; 임의 작성 하신 코드에 대해서는 써포트를 하지않습니다.; 확인차원에서 아래코드를 올려드립니다. void main(void) { unsigned char cw[]={ 0x01,0x02,0x04,0x08}; unsigned char a=0; unsigned int i; PORTC=0x00; DDRC =0xFF; for(i=0 ; i<200 ; i++) //200번의 스텝 { PORTC = cw[a]; delay_ms(50); if ( a < 3 ) a++; else a = 0; } } 수고하세요 >SE-SM243 을 사용하고 있는데요 >한 스텝이 1.8도 니까 200스텝을 주면 360도 한바퀴를 돌아야 하는 거잖아요? > >그런데 한바퀴를 채 못돕니다... >일단 간단하게 소스코드는 아래와 같이 했구요 >어떤게 문제인거죠? > > > > >#include <mega16.h> >#include <delay.h> > > >void main(void) >{ > unsigned char cw[]={0x01,0x02,0x04,0x08}; > unsigned char a=0; > unsigned int i; > > PORTC=0x00; > DDRC=0xff; > > > for(i=1 ; i<200 ; i++) //200번의 스텝 > { > > a++; > if(a==4){ > a=0; > > } > PORTC=cw[a]; > delay_ms(20); > } > >} >
5962 답변완료adc문의드립니다. 우승식 2010-12-06 1,407
안녕하세요... ADC 모드를 사용하는데 프로그램은 ADC 예제를 보고 했습니다.. 근데 다운로드 해보니 포트 A.1~2 와 포트 G.1~2에 led 점등이 되는데 원래 그런건지 문의 드립니다. 포트를 INPUT으로 설정해 놓아도 계속 불이 들어옵니다. 포트 A는 깜밖거리고 포트 G는 계속 점등상태 입니다.
관리자 답변 NEWTC · 2010-12-06
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. ADC 예제에 아마도 PORTG나 PORTA를 건드리는 소스부분이 있어서 그런게 아닌가 싶습니다. 소스에서 그 부분을 채크하여 보시기 바랍니다. 아니면, 사용중이신 예제를 올려 보세요. 본사에 여러 예제가 있어서, 어떤 예제를 말씀하시는 지 알기 어렵거든요. 수고하세요. >안녕하세요... > >ADC 모드를 사용하는데 프로그램은 ADC 예제를 보고 했습니다.. > >근데 다운로드 해보니 포트 A.1~2 와 포트 G.1~2에 led 점등이 되는데 > >원래 그런건지 문의 드립니다. > >포트를 INPUT으로 설정해 놓아도 계속 불이 들어옵니다. > >포트 A는 깜밖거리고 포트 G는 계속 점등상태 입니다.
5961 답변완료AB-M16-B 관련문의(급) 정훈 2010-12-06 1,370
안녕하세요 전화드렸는데 지금 바로 구매건 취소여부를 결정해야해서 여기 문의드립니다 Atmega16 개발보드를 2개 주문했는데 나중에 상용개발은 ATMega8535 chip으로 할려고 하는데 두 chip이 (DIP40)이 서로 핀 layout이 동일해 보여 (jtag제외) 보드에 clock만 맞춘다면 (16M->8Mhz교체) atmega16을 빼고 8535칩을 대체해 사용해도 동작하는지 문의드립니다 빠른답변 부탁드립니다 감사합니다 *그리고 상기보드의 회로도가 없나요? 여기 사이트에서 찾아봤는데 못찾아서요 아. 한가지 더 추가 질문입니다 지난주 AT89S52 개발보드를 두개샀는데 칩을 Atmega로 바꾸기로 함에 따라 버려야?할 상황이라서.. 보드설계를 보니 상기 Atmega16 보드와 비슷하게 설계되있어서 위에 변환보드가 있다면 (8535를 변환보드에 장착하고 핀레이아웃을 89S52로 맞추는) 동작가능하지 않나요? 그러다면 변환보드 판매하는게 있는지요? (전화로 답변 주셔도 고맙겠습니다 010-5202-9528 정훈)
관리자 답변 NEWTC · 2010-12-06
안녕하세요 Atmega16 과 ATMega8535 핀맵이 동일해 교체해서 사용해도 무방합니다. 자료실 > 기존자료실에 검색하시면 됩니다. http://www.newtc.co.kr/board/zboard.php?id=pds&page=1&select_arrange=headnum&desc=asc&category=&sn=off&ss=on&sc=off&keyword=16&sn1=&divpage=1 AT89S52 는 ATMega8535와 핀맵이 틀립니다. 호환이 불가능합니다. 변환보드 같은 제품은 없습니다. 수고하세요 >안녕하세요 >전화드렸는데 지금 바로 구매건 취소여부를 결정해야해서 여기 문의드립니다 >Atmega16 개발보드를 2개 주문했는데 나중에 상용개발은 ATMega8535 chip으로 할려고 하는데 >두 chip이 (DIP40)이 서로 핀 layout이 동일해 보여 (jtag제외) 보드에 clock만 맞춘다면 (16M->8Mhz교체) atmega16을 빼고 8535칩을 대체해 사용해도 동작하는지 문의드립니다 >빠른답변 부탁드립니다 감사합니다 > >*그리고 상기보드의 회로도가 없나요? 여기 사이트에서 찾아봤는데 못찾아서요 > >아. 한가지 더 추가 질문입니다 >지난주 AT89S52 개발보드를 두개샀는데 칩을 Atmega로 바꾸기로 함에 따라 버려야?할 상황이라서.. 보드설계를 보니 상기 Atmega16 보드와 비슷하게 설계되있어서 위에 변환보드가 있다면 >(8535를 변환보드에 장착하고 핀레이아웃을 89S52로 맞추는) 동작가능하지 않나요? >그러다면 변환보드 판매하는게 있는지요? >(전화로 답변 주셔도 고맙겠습니다 010-5202-9528 정훈) > > >
5960 답변완료스테핑모터 제어 소스 지도 부탁드립니다. ㅡ.,ㅠ 이종원 2010-12-05 1,414
휴,, 금요일에 제품 구매해갔던 기계공학과 학생입니다. 기계공학도가 전기전자쪽 할려니 머리가 너무 아프네요. 지금 선풍기를 응용한 작품을 하나 만들고 있는데요, 보통 선풍기는 회전, 정지 2가지 모드만 있지만 저희는 회전, 정지 중 회전 모드에서 회전속도를 조절할 수 있도록 만들려고 합니다. 현재 AVR보드(AB-M128-B), 케이블(USPISP-Lite), 구동모듈(AM-CS2P), 스테핑모터(SE-SM243), 스위치(AM-TS8)를 연결해 놓았습니다. 전원 연결 시 정지상태 1번 스위치 작동시 시계방향회전, 2번 스위치 작동시 정지, 3번 스위치 작동시 가속, 4번 스위치 작동시 감속 이렇게 만들려고 합니다. 아래는 (주)뉴티씨에서 제공하는 스테핑모터 예제입니다. 스위치 1번은 시계방향회전, 2번은 반시계방향회전, 3번은 가속, 4번은 감속 이렇게 되어있네요. 저것을 수정해서 응용해보려고 하는데, 1. 전원 연결시 모터가 바로 작동됩니다. 이것을 전원 연결시 정지모드로 바꾸고 싶습니다. 2. 스위치 2번 버튼에 정지 버튼을 설정하고 싶습니다. 수정해주시거나 조언 해주시면 감사하겠습니다. 컴파일러는 AVR스튜디오입니다. #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #define MOTOR_PORT PORTC #define MOTOR_PORT_DDR DDRC #define LEFT 0 #define RIGHT 1 #define SW_PORT PINA #define SW_PORT_DDR DDRA #define SPEED_H_LIMIT 800 #define SPEED_L_LIMIT 0 #define SPEEDUP 1 #define OK 1 #define NOOK 0 volatile int TURN, SPEED, timer0_expired=NOOK, counter=0; volatile unsigned char stepleft=0, stepright=0; static int Putchar(char c, FILE *stream); void tx0Char(char message); void tx1Char(char message); void timer0_init(void); static int Putchar(char c, FILE *stream) { tx0Char(c); tx1Char(c); return 0; } // scanf 함수 사용시 추가할 것. int Getchar(void) { while ((UCSR0A & 0x80) == 0); return UDR0; } // UART0 을 이용한 출력 void tx0Char(char message) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = message; } // UART1 을 이용한 출력 void tx1Char(char message) { while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty UDR1 = message; } void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0xFF; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x33; 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; } //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(); timer0_init(); fdevopen(Putchar,0); MCUCR = 0x00; EICRA = 0x00; //extended ext ints EICRB = 0x00; //extended ext ints EIMSK = 0x00; TIMSK = 0x01; //timer interrupt sources ETIMSK = 0x00; //extended timer interrupt sources sei(); //re-enable interrupts //all peripherals are now initialized } /* Stepping Motor derive---------------------------*/ unsigned char LEFTmotorOneClock(unsigned char step, char dir) { step = step & 0x0f; if(dir){ switch(step){ case 0x09: step=0x01; break; case 0x01: step=0x03; break; case 0x03: step=0x02; break; case 0x02: step=0x06; break; case 0x06: step=0x04; break; case 0x04: step=0x0c; break; case 0x0c: step=0x08; break; case 0x08: step=0x09; break; default: step=0x0c; break; } }else{ switch(step){ case 0x09: step=0x08; break; case 0x01: step=0x09; break; case 0x03: step=0x01; break; case 0x02: step=0x03; break; case 0x06: step=0x02; break; case 0x04: step=0x06; break; case 0x0c: step=0x04; break; case 0x08: step=0x0c; break; default: step=0x0c; break; } } return step; } /* Stepping Motor derive---------------------------*/ unsigned char RIGHTmotorOneClock(unsigned char step, char dir) { step = step & 0xf0; if(dir){ switch(step){ case 0x90: step=0x10; break; case 0x10: step=0x30; break; case 0x30: step=0x20; break; case 0x20: step=0x60; break; case 0x60: step=0x40; break; case 0x40: step=0xc0; break; case 0xc0: step=0x80; break; case 0x80: step=0x90; break; default: step=0xc0; break; } }else{ switch(step){ case 0x90: step=0x80; break; case 0x10: step=0x90; break; case 0x30: step=0x10; break; case 0x20: step=0x30; break; case 0x60: step=0x20; break; case 0x40: step=0x60; break; case 0xc0: step=0x40; break; case 0x80: step=0xc0; break; default: step=0xc0; break; } } return step; } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<300;j++); } } //TIMER0 initialize - prescale:8 // WGM: Normal // desired value: 200KHz // actual value: 200.000KHz (0.0%) void timer0_init(void) { TCCR0 = 0x00; //stop ASSR = 0x00; //set async mode TCNT0 = 0xF6; //set count OCR0 = 0x0A; TCCR0 = 0x02; //start timer } ISR(TIMER0_OVF_vect) { TCNT0 = 0xF6; //reload counter value if(counter < (SPEED_H_LIMIT - SPEED)){ counter++; } else{ timer0_expired = OK; } if(timer0_expired == OK){ stepright = RIGHTmotorOneClock(stepright, TURN); stepleft = LEFTmotorOneClock(stepleft, TURN); MOTOR_PORT = stepleft|stepright; timer0_expired = NOOK; counter = 0; } } // int main(void) { init_devices(); //insert your functional code here... printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); MOTOR_PORT_DDR = 0xff; SW_PORT_DDR = 0x00; SPEED = 600; TURN = RIGHT; while(1){ switch(SW_PORT){ case 0x01: TURN = RIGHT; printf("RIGHT!!\\r\\n"); break; case 0x02: TURN = LEFT; printf("LEFT!!\\r\\n"); break; case 0x04: SPEED += SPEEDUP; if(SPEED >=SPEED_H_LIMIT){ SPEED = SPEED_H_LIMIT; } delay(1); printf("SPEED UP\\r\\n"); break; case 0x08: SPEED -= SPEEDUP; if(SPEED <=SPEED_L_LIMIT){ SPEED = SPEED_L_LIMIT; } delay(1); printf("SPEED DOWN\\r\\n"); break; default : break; } } return 0; }
관리자 답변 NEWTC · 2010-12-06
안녕하세요 예제코드 및 킷트 들에 문의는 써포트를 하지만, 코드수정등과 같은 경우 써포트를 하지않습니다. 간단한 간단내용이라서 작성해 드렸습니다. 아래 코드를 참고 하시길 바랍니다. >int main(void) >{ > init_devices(); > //insert your functional code here... > > printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); > > MOTOR_PORT_DDR = 0xff; > SW_PORT_DDR = 0x00; > SPEED = 600; > TURN = RIGHT; > > while(1){ > > switch(SW_PORT){ > case 0x01: TURN = RIGHT; > printf("RIGHT!!\\r\\n"); > break; > case 0x02: TURN = LEFT; > printf("LEFT!!\\r\\n"); > break; > case 0x04: SPEED += SPEEDUP; > if(SPEED >=SPEED_H_LIMIT){ > SPEED = SPEED_H_LIMIT; > } > delay(1); > printf("SPEED UP\\r\\n"); > break; > case 0x08: SPEED -= SPEEDUP; > if(SPEED <=SPEED_L_LIMIT){ > SPEED = SPEED_L_LIMIT; > } > delay(1); > printf("SPEED DOWN\\r\\n"); > break; case 0x10: MOTOR_PORT = 0xff; break; > default : break; > } > } > return 0; >} 질문은 한곳에만 올려주시길 바랍니다. 수고하세요 >휴,, 금요일에 제품 구매해갔던 기계공학과 학생입니다. > > 기계공학도가 전기전자쪽 할려니 머리가 너무 아프네요. > >지금 선풍기를 응용한 작품을 하나 만들고 있는데요, > >보통 선풍기는 회전, 정지 2가지 모드만 있지만 저희는 회전, 정지 중 회전 모드에서 회전속도를 조절할 수 있도록 만들려고 합니다. > >현재 AVR보드(AB-M128-B), 케이블(USPISP-Lite), 구동모듈(AM-CS2P), 스테핑모터(SE-SM243), 스위치(AM-TS8)를 연결해 놓았습니다. > > > >전원 연결 시 정지상태 > >1번 스위치 작동시 시계방향회전, > >2번 스위치 작동시 정지, > >3번 스위치 작동시 가속, > >4번 스위치 작동시 감속 > > >이렇게 만들려고 합니다. > > > >아래는 (주)뉴티씨에서 제공하는 스테핑모터 예제입니다. > >스위치 1번은 시계방향회전, 2번은 반시계방향회전, 3번은 가속, 4번은 감속 이렇게 되어있네요. > >저것을 수정해서 응용해보려고 하는데, > >1. 전원 연결시 모터가 바로 작동됩니다. 이것을 전원 연결시 정지모드로 바꾸고 싶습니다. > >2. 스위치 2번 버튼에 정지 버튼을 설정하고 싶습니다. > >수정해주시거나 조언 해주시면 감사하겠습니다. > >컴파일러는 AVR스튜디오입니다. > > > >#include <avr/io.h> >#include <avr/interrupt.h> >#include <stdio.h> > > >#define MOTOR_PORT PORTC >#define MOTOR_PORT_DDR DDRC > >#define LEFT 0 >#define RIGHT 1 > >#define SW_PORT PINA >#define SW_PORT_DDR DDRA > >#define SPEED_H_LIMIT 800 >#define SPEED_L_LIMIT 0 >#define SPEEDUP 1 >#define OK 1 >#define NOOK 0 > >volatile int TURN, SPEED, timer0_expired=NOOK, counter=0; >volatile unsigned char stepleft=0, stepright=0; > >static int Putchar(char c, FILE *stream); >void tx0Char(char message); >void tx1Char(char message); >void timer0_init(void); > > >static int Putchar(char c, FILE *stream) >{ > tx0Char(c); > tx1Char(c); > return 0; > >} > > >// scanf 함수 사용시 추가할 것. >int Getchar(void) >{ > while ((UCSR0A & 0x80) == 0); > return UDR0; >} > > >// UART0 을 이용한 출력 >void tx0Char(char message) >{ > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > UDR0 = message; >} > >// UART1 을 이용한 출력 >void tx1Char(char message) >{ > while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty > UDR1 = message; >} > > >void port_init(void) >{ > PORTA = 0x00; > DDRA = 0x00; > PORTB = 0x00; > DDRB = 0x00; > PORTC = 0x00; //m103 output only > DDRC = 0xFF; > PORTD = 0x00; > DDRD = 0x00; > PORTE = 0x00; > DDRE = 0x00; > PORTF = 0x00; > DDRF = 0x33; > 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; >} > >//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(); > timer0_init(); > fdevopen(Putchar,0); > > MCUCR = 0x00; > EICRA = 0x00; //extended ext ints > EICRB = 0x00; //extended ext ints > EIMSK = 0x00; > TIMSK = 0x01; //timer interrupt sources > ETIMSK = 0x00; //extended timer interrupt sources > sei(); //re-enable interrupts > //all peripherals are now initialized >} > > > > >/* Stepping Motor derive---------------------------*/ >unsigned char LEFTmotorOneClock(unsigned char step, char dir) >{ > step = step & 0x0f; > if(dir){ > switch(step){ > case 0x09: step=0x01; break; > case 0x01: step=0x03; break; > case 0x03: step=0x02; break; > case 0x02: step=0x06; break; > case 0x06: step=0x04; break; > case 0x04: step=0x0c; break; > case 0x0c: step=0x08; break; > case 0x08: step=0x09; break; > default: step=0x0c; break; > } > }else{ > switch(step){ > case 0x09: step=0x08; break; > case 0x01: step=0x09; break; > case 0x03: step=0x01; break; > case 0x02: step=0x03; break; > case 0x06: step=0x02; break; > case 0x04: step=0x06; break; > case 0x0c: step=0x04; break; > case 0x08: step=0x0c; break; > default: step=0x0c; break; > } > } > return step; > >} > >/* Stepping Motor derive---------------------------*/ >unsigned char RIGHTmotorOneClock(unsigned char step, char dir) >{ > step = step & 0xf0; > if(dir){ > switch(step){ > case 0x90: step=0x10; break; > case 0x10: step=0x30; break; > case 0x30: step=0x20; break; > case 0x20: step=0x60; break; > case 0x60: step=0x40; break; > case 0x40: step=0xc0; break; > case 0xc0: step=0x80; break; > case 0x80: step=0x90; break; > default: step=0xc0; break; > } > }else{ > switch(step){ > case 0x90: step=0x80; break; > case 0x10: step=0x90; break; > case 0x30: step=0x10; break; > case 0x20: step=0x30; break; > case 0x60: step=0x20; break; > case 0x40: step=0x60; break; > case 0xc0: step=0x40; break; > case 0x80: step=0xc0; break; > default: step=0xc0; break; > } > } > return step; >} > > >void delay(int n) >{ > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<300;j++); > } >} > > >//TIMER0 initialize - prescale:8 >// WGM: Normal >// desired value: 200KHz >// actual value: 200.000KHz (0.0%) >void timer0_init(void) >{ > TCCR0 = 0x00; //stop > ASSR = 0x00; //set async mode > TCNT0 = 0xF6; //set count > OCR0 = 0x0A; > TCCR0 = 0x02; //start timer >} > >ISR(TIMER0_OVF_vect) >{ > TCNT0 = 0xF6; //reload counter value > if(counter < (SPEED_H_LIMIT - SPEED)){ > counter++; > } else{ > timer0_expired = OK; > } > > if(timer0_expired == OK){ > stepright = RIGHTmotorOneClock(stepright, TURN); > stepleft = LEFTmotorOneClock(stepleft, TURN); > MOTOR_PORT = stepleft|stepright; > timer0_expired = NOOK; > counter = 0; > } >} > > >// >int main(void) >{ > init_devices(); > //insert your functional code here... > > printf(" \\n\\n\\rStepping Motor test program...\\n\\r"); > > MOTOR_PORT_DDR = 0xff; > SW_PORT_DDR = 0x00; > SPEED = 600; > TURN = RIGHT; > > while(1){ > > switch(SW_PORT){ > case 0x01: TURN = RIGHT; > printf("RIGHT!!\\r\\n"); > break; > case 0x02: TURN = LEFT; > printf("LEFT!!\\r\\n"); > break; > case 0x04: SPEED += SPEEDUP; > if(SPEED >=SPEED_H_LIMIT){ > SPEED = SPEED_H_LIMIT; > } > delay(1); > printf("SPEED UP\\r\\n"); > break; > case 0x08: SPEED -= SPEEDUP; > if(SPEED <=SPEED_L_LIMIT){ > SPEED = SPEED_L_LIMIT; > } > delay(1); > printf("SPEED DOWN\\r\\n"); > break; > default : break; > } > } > return 0; >} > > >
5959 답변완료스텝모터 SE-SM243 발열 및 구동전압 질문 김지훈 2010-12-04 1,404
스텝모터 SE-SM243 를 사용하고 있습니다 모터 드라이버는 AM-CS2P 이구요 궁금한것이 있는데요 이 스텝모터 구동 전압이 몇입니까? 모터에는 4.1v 라고 씌여있는데요 모터드라이버에 주는 전원은 12v~24v 이렇게 쓰ㅇ여있습니다. 그래서 모터드라이버에 12볼트를 주고 돌려봤더니 엄청 뜨거워
관리자 답변 NEWTC · 2010-12-04
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 스테핑 모터는 자체가 3~4V 정도가 원래 정격입니다. 하지만, 스테핑 모터를 구동하기 위해서는 실제로는 3배~8배 정도의 전압을 넣어주는 것이 보통입니다. 특히, 모터 구동부 IC에 따라서, 더 높은 전압을 쓰는 경우도 있습니다. 모터 구동부가 뜨거워지는 것은 원인이 여러가지 있습니다. 모터 구동부에 가해지는 전류가 딸리는 경우도 그럴 수 있구요. 자세한 것은 아래 내용을 읽어 보세요. FAQ에 있는 내용입니다. - 아래 - 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=40 감사합니다. >스텝모터 SE-SM243 를 사용하고 있습니다 모터 드라이버는 AM-CS2P 이구요 > >궁금한것이 있는데요 이 스텝모터 구동 전압이 몇입니까? 모터에는 4.1v 라고 씌여있는데요 > >모터드라이버에 주는 전원은 12v~24v 이렇게 쓰ㅇ여있습니다. > >그래서 모터드라이버에 12볼트를 주고 돌려봤더니 > >엄청 뜨거워 &#51275;습니다. > >4.1볼트를 모터드라이버에 전원으로 줘야 하나요?? >그럼 왜 드라이버에 12v~24v 이렇게 써있죠? > >전원 연결을 어떻게 해야하는지좀 알려주세요 > > >그리고 구동소스가 어떤지에 따라서 모터에 발열이 생길수도 있는건가요?
5958 답변완료atmega128 초보자가 사야할것? 박준범 2010-12-03 1,223
ㅜㅜ
관리자 답변 NEWTC · 2010-12-04
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 노트북이시면 USBISP로 하시면 됩니다. 본사에는 AD-USBISP V03과 커넥터 변환보드가 빠진 AD-USBISP V03 lite, 그리고, 그 상위 버전인 전문가용 AD-USBISP+ V4.0이 있습니다. 그리고, 모듈만 구매하셨으면, 모듈위의 2핀 커넥터에 5V를 넣어 주셔야 하는 데, 본사의 5V, 3.3V 전원보드(AM-MP533)를 사용하시면 되겠습니다. 아답타나 밧데리를 7V 이상~28V 안에서 입력하면 거기에서 5V도 나옵니다. 그걸 모듈에 입력하면 됩니다. 가격과 성능 들이 좀 차이가 있으니, 적절한 것을 사용하시면 되겠습니다. 감사합니다. >atmega128 모듈?을 구입했습니다 . > >근데 제컴퓨터가 노트북이라 프린트 커낵터가 없더군요. > >어떤걸 사야될지 잘 모르는데 > >알려주시면 안될까요? > >아참 그리고 전원은 건전지로 해야되나요? > >동영상에는 건전지로 하더라구요;; > >건전리로 하는건 여기에 안파는거 같은데.. > > > > >-atmega128 pro 셋트로 된거 샀어요 >-동영상 강의 보고 프로그램을 넣고 싶은데 ..커낵터가 없어요 ㅜ >-네이버 지식인 보다 이홈피가 훨씬 좋은 것 같네요 >-감사합니다. > >
5957 답변완료USBISPV03관련 문의드립니다. 조현명 2010-12-03 1,269
Uart로 바로 연결해서 사용할 수 있는 RF모듈을 이번에 구입 하여 기능 테스트를 위해 USBISPV03의 Uart 부분과 연결하였습니다. RF모듈의 RXD는 전압 레벨이 TTL이어야 하는데 USBISPV03자체에서 TTL레벨로 TXD가 나오지 않나요 ? 연결 방법은 확인한 결과 정확하게 연결 했다고 하고 혹시나 해서 루프 테스트를해봤는데 정상 작동 하였습니다. USBISPV03 DATAsheet에는 어떤 방식으로 전압 레벨이 변환되는지 확인 할 수가 없어서 ,, 더이상 진도를 못나가고 있습니다. RF모듈의 DATAsheet점부하겠습니다. 빠른 답변 부탁 드립니다.
관리자 답변 NEWTC · 2010-12-04
USBISP V03의 UART 4핀 커넥터는 CMOS Level(3.3V level)로 동작합니다. 하지만, TTL Level과는 서로 Compatible하게 설계되어 있습니다. 수고하세요. >Uart로 바로 연결해서 사용할 수 있는 RF모듈을 이번에 구입 하여 기능 테스트를 위해 USBISPV03의 >Uart 부분과 연결하였습니다. >RF모듈의 RXD는 전압 레벨이 TTL이어야 하는데 USBISPV03자체에서 TTL레벨로 TXD가 나오지 않나요 ? >연결 방법은 확인한 결과 정확하게 연결 했다고 하고 혹시나 해서 루프 테스트를해봤는데 정상 작동 하였습니다. >USBISPV03 DATAsheet에는 어떤 방식으로 전압 레벨이 변환되는지 확인 할 수가 없어서 ,, 더이상 진도를 못나가고 있습니다. RF모듈의 DATAsheet점부하겠습니다. >빠른 답변 부탁 드립니다.
5956 답변완료적외선센서 우승식 2010-12-03 1,297
---3,3볼트로 구동되는 mega128L 또는 mega128A 사용하여 메인칩과 적외선센서의 전압을 동일하게 맞추어 사용해야합니다.--- 답변하신 내용중에 위에 부분을 잘 이해를 못해서여.... 센서 전원을 3.3v 인가하고 atmega128 칩전원에 어떻게 연결을 해야 하는지...
관리자 답변 NEWTC · 2010-12-03
동일한 전압으로 &#47583;추어 사용해야하다는 말입니다. 전압값이 틀리면 낮은 전압을 쓰는 디바이스가 망가집니다. 따로 전압을 인가 시키는 경우는 일반 GPIO 일경우는 무리가 될수 있으나 아날로그 값일 경우 상관이 없습니다. 적외선의 아날로그값이 5볼트가 넘지 않으니깐요 수고하세요 >---3,3볼트로 구동되는 mega128L 또는 mega128A 사용하여 메인칩과 적외선센서의 전압을 동일하게 맞추어 사용해야합니다.--- > >답변하신 내용중에 위에 부분을 잘 이해를 못해서여.... > >센서 전원을 3.3v 인가하고 atmega128 칩전원에 어떻게 연결을 해야 하는지...
5955 답변완료AD-USBISP 를사용하여 at89S52에 download시 에러메시지가 뜹니다 강원훈 2010-12-03 1,460
안녕하세요? AVR Studio 4.16버전을 인스톨하여 다운로딩시 에러화면을 캡쳐하여 첨부하오니 확인후 메일로 답변 부탁드립니다 수고하세요
관리자 답변 NEWTC · 2010-12-03
안녕하세요 저런 메세지는 클럭 속도 또는 ISP와 타겟칩의 사이에 문제가 생길 경우 나옵니다. PC와 ISP는 정성적으 연결되어으나 ISP와 칩이 연결이 안되는 상태 입니다. 자작하신 경우 연결 상태를 확인해 주시길 바랍니다. USBISP 이상이라고 생각 하실 경우는 타겟되는 보드가 본사 제품일경우 2개 다보내어 점검을 받아보세요 수고하세요 >안녕하세요? >AVR Studio 4.16버전을 인스톨하여 다운로딩시 에러화면을 캡쳐하여 >첨부하오니 확인후 메일로 답변 부탁드립니다 >수고하세요 >
5954 답변완료RF 모듈 이준영 2010-12-03 1,345
안녕하세요 지난번에 무선통신 관련해서 질문 드렸었는데요 문제점은 RF모듈 디바이스의 특성상의 딜레이 때문이라고 하셨는데요 이번엔 PC와 ISP 포트 V03 - (송신) RF module을 연결하고 로봇이 아닌, AVR과 개발보드만 연결시키고 (수신) RF module만 연결해서 실험했는데요 pc에서 명령을 주는 visual studio 코드를 컴파일이 되면 화면에 1,2,3,4 순으로 올라가도록 나타내게 하려고 했습니다. 그런데 값이 제대로 리턴되지 않으며 통신이 제대로 되지 않음을 알 수 잇었습니다. RF모듈 환경설정은 RF_UTIL 프로그램을 통해 지난번에 전화로 알려주셨듯이 바꿔주었습니다. data code length는 1로 했습니다. 화면에 출력하게 하는 것도 character 하나만을 썼어요. 그래서 지금 생각하는 문제점이 1. 모듈에 voltage가 제대로 인가되지 않는가 였는데 완충된 배터리를 연결하니 5V는 제대로 뜨긴 했습니다. 2. 그렇다면 결국 RF 모듈이 고장난건가요?? 그냥 voltage 측정 등이나 하드웨어면으로 봤을때는 문제점을 알지 못하겠네요 3. 그리고 값이 아주 가끔 들어오는데 이건 딜레이 문제인가요? AVR 코드에서 송신 부분과 수신 부분에 delay를 줬더니 간혹 들어오긴 하네요 4. 그리고 RF module 연결해서 통신 시작하자마자 숫자와 문자가 뜨면서 70 F 97 a 100 c 96 t 45 o 39 r 92 y 등등으로 나타납니다. 이 문자가 RFMOD BTOK UART Communication Mode 라고 뜨기도 하네요.. 이 처음에 뜨는 것들을 없앨 수 없나요? 지난번에 무선통신이 잘 되고 있을 때의 문제점이 무선통신을 하려고 파워를 주자마자 로봇이 막 돌기 시작했거든요. 그렇게 한 4~5초 정도 앞뒤로 움직이다 처음과 같은 위치에 멈추고 나서야 저희가 명령을 줬거든요. 이 문제도 해결하고 싶네요 빠른 답변 부탁드릴께요~!
관리자 답변 NEWTC · 2010-12-03
안녕하세요 먼저 PC에서 터미널 프로그램 2개 열어 테스트를 먼저 해보시길 바랍니다. 일정한 딜레이로 데이터들이 송수신이 되는지를 확인하시면 됩니다. 위처럼 동작하지 않으면 점검을 받아 보시길 바랍니다. RFmod는 통신방식 하프듀플렉스 입니다. 양방향이기는 하나 동신에 통신을 주고 받을수 없습니다. 한쪽이 통신을 끝낸 후 다른쪽을 사용 할 수 있습니다. RFMOD BTOK UART Communication Mode 문구 는 삭제하는 방법이 없습니다. 수고하세요 > 안녕하세요 지난번에 무선통신 관련해서 질문 드렸었는데요 > > 문제점은 RF모듈 디바이스의 특성상의 딜레이 때문이라고 하셨는데요 > > 이번엔 PC와 ISP 포트 V03 - (송신) RF module을 연결하고 > > 로봇이 아닌, AVR과 개발보드만 연결시키고 (수신) RF module만 연결해서 실험했는데요 > > pc에서 명령을 주는 visual studio 코드를 > > 컴파일이 되면 화면에 1,2,3,4 순으로 올라가도록 나타내게 하려고 했습니다. > > 그런데 값이 제대로 리턴되지 않으며 통신이 제대로 되지 않음을 알 수 잇었습니다. > > RF모듈 환경설정은 > > RF_UTIL 프로그램을 통해 지난번에 전화로 알려주셨듯이 바꿔주었습니다. > > data code length는 1로 했습니다. 화면에 출력하게 하는 것도 character 하나만을 썼어요. > > 그래서 지금 생각하는 문제점이 > > 1. 모듈에 voltage가 제대로 인가되지 않는가 였는데 > > 완충된 배터리를 연결하니 5V는 제대로 뜨긴 했습니다. > > 2. 그렇다면 결국 RF 모듈이 고장난건가요?? > > 그냥 voltage 측정 등이나 하드웨어면으로 봤을때는 문제점을 알지 못하겠네요 > > 3. 그리고 값이 아주 가끔 들어오는데 이건 딜레이 문제인가요? > > AVR 코드에서 송신 부분과 수신 부분에 delay를 줬더니 간혹 들어오긴 하네요 > > 4. 그리고 RF module 연결해서 통신 시작하자마자 숫자와 문자가 뜨면서 > > 70 F 97 a 100 c 96 t 45 o 39 r 92 y 등등으로 나타납니다. > > 이 문자가 RFMOD BTOK UART Communication Mode 라고 뜨기도 하네요.. > > 이 처음에 뜨는 것들을 없앨 수 없나요? > > 지난번에 무선통신이 잘 되고 있을 때의 문제점이 무선통신을 하려고 파워를 주자마자 > > 로봇이 막 돌기 시작했거든요. 그렇게 한 4~5초 정도 앞뒤로 움직이다 처음과 > > 같은 위치에 멈추고 나서야 저희가 명령을 줬거든요. > > 이 문제도 해결하고 싶네요 > > 빠른 답변 부탁드릴께요~! > > > >
5953 답변완료타사의 적외선센서 연결시 연결방법 우승식 2010-12-03 1,398
adc 연결 확인 부탁드립니다. 사진에서 첨부한 적외선 센서를 사용하려고 합니다. 연결방법을 확인하고자 문의 드립니다.. 1번핀은 포트 B0번에 연결 항상 low상태 2번핀은 GND 3번핀은 atmega128 포트 F0번에 연결 (ADC핀) 4번핀은 연결3.3v 외부전원사용 5번핀은 포트 B1번에 연결 이렇게 연결을 하고 프로그램을 했는데 당연히 처음부터 될리가 없습니다. 일단 연결 상태부터 확인하고자... 전원은 각각 개별 전원을 할수가 없어서 컴퓨터 파워서플라이를 이용하여 atmega128과 적외선센서에 각각 전원을 투입하였습니다. 연결확인 부탁드립니다.
관리자 답변 NEWTC · 2010-12-03
안녕하세요 핀연결법은 맞는것 같습니다. 적외선에 인가되는 전원이 3,3볼트이면 3,3볼트로 구동되는 mega128L 또는 mega128A 사용하여 메인칩과 적외선센서의 전압을 동일하게 맞추어 사용해야합니다. 수고하세요 >adc 연결 확인 부탁드립니다. > >사진에서 첨부한 적외선 센서를 사용하려고 합니다. > >연결방법을 확인하고자 문의 드립니다.. > >1번핀은 포트 B0번에 연결 항상 low상태 > >2번핀은 GND > >3번핀은 atmega128 포트 F0번에 연결 (ADC핀) > >4번핀은 연결3.3v 외부전원사용 > >5번핀은 포트 B1번에 연결 > >이렇게 연결을 하고 프로그램을 했는데 당연히 처음부터 될리가 없습니다. > >일단 연결 상태부터 확인하고자... > >전원은 각각 개별 전원을 할수가 없어서 컴퓨터 파워서플라이를 이용하여 atmega128과 적외선센서에 각각 전원을 투입하였습니다. > >연결확인 부탁드립니다. > >
5952 답변완료RF 모듈 A/S 관련입니다. 강상모 2010-12-03 1,307
안녕하세요.. RF모듈 2개를 구입 했습니다. 그런데 다운로드 중에 퓨즈가 나가는 것을 확인했고.. 여분의 proccer가 있어서 교체 하여 다시 다운로드를 시도 해봤지만 되지 않았습니다. 혹시 A/S를 보낸다면 제가 수리 한부분에 대하여 추가 금액이 발생 하는지 궁금하고 너무 쉽게 퓨즈가 나가는데 이에 대한 기술적 문의를 했으면 좋겠습니다. 그리고 Proccer을 교체를 했는데도 다운로드 안되는 이유가 궁금합니다.(다른 부분의문제가 있는지...) 빠른 답변 기다립니다.
관리자 답변 NEWTC · 2010-12-03
안녕하세요 질문내용 좀 부족하네요 어디에다가 다운로드를 하셨는지요 ? 퓨즈가 변경된 경우는 사용자 실수가 대부분이면 가끔 전기적 쇼크로 변경될 수도 있습니다. RFmod는 모듈로 나가는 제품이라 사용자가 임의로 다운로드를 할수 없습니다. 수리는 아래 링크를 참고하세요 http://www.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=5 수고하세요 >안녕하세요.. >RF모듈 2개를 구입 했습니다. >그런데 다운로드 중에 퓨즈가 나가는 것을 확인했고.. >여분의 proccer가 있어서 교체 하여 다시 다운로드를 시도 해봤지만 되지 않았습니다. >혹시 A/S를 보낸다면 제가 수리 한부분에 대하여 추가 금액이 발생 하는지 궁금하고 >너무 쉽게 퓨즈가 나가는데 이에 대한 기술적 문의를 했으면 좋겠습니다. >그리고 Proccer을 교체를 했는데도 다운로드 안되는 이유가 궁금합니다.(다른 부분의문제가 있는지...) 빠른 답변 기다립니다.
5951 답변완료AM-CS2 V02 모듈 사용중인데 모터에서 열이 매우 많이 나요 이재홍 2010-12-03 1,289
스테핑 모터를 달아서 구동중입니다 고속회전할때는 0.3A 정도 걸리면서 문제가 없는데, 저속으로 돌리면 파워서플라이에 전류가 1~3A까지 올라가면서 5분후면 드라이버모듈의 2옴 저항 4개와 모터 자체에서 매우매우매우매우 심하게 열이 납니다. 막 타는 냄새도 나고 무서워서 10분 이상 못돌리겠습니다. 이상한건 SLA7026M에서는 열이 거의 안납니다. 제가 알기로는 여기가 제일 많이 열이 나는걸로 알고 있는데 이건 열이 전혀 안나고 저항이랑 모터에서만 열이 나네요. 라이터에 지진듯이.. 정확한 온도는 모르겠지만 전에 LED바 제어하면서 그 뜨거운 녀석이 70도까지 올라갔었는데 이 모터랑 모듈의 저항은 70도는 훌쩍 넘어갈 거 같네요. 가변저항 돌려서 토크 줄이면 전류는 0.3A정도로 내려가서 열은 안나지만 힘이 약해서 못씁니다 이건 모터 문제인가요? 아니면 AM-CS2 모듈 문제인가요? 모듈도 연구실에 굴러다니는거 언제 샀는지 무슨 일을 당했는지 모르는 녀석을 무작정 달아서 돌리고 있는건데... 혹시 해결방안 있을까요?
관리자 답변 NEWTC · 2010-12-03
안녕하세요 당연히 토크가 크면 발열량이 높습니다. 그래서 지속적으로 돌리면 망가집니다. 발열량을 줄이기 위해서는 방열판을 사용하던지 아니면 정적 토크를 &#47583;추어 사용해야합니다. SLA7026에서 열이 적게나는것은 이 드리이버가 외부에 있는 저항으로 토크최대치를 설정이 가능합니다. 저항의 와트수를 올리시면 버틸수는 있습니다. 모터에서 나는 열은 모터안의 있는 권선에 많을 전류량이 흘려 열로 발생되는 것입니다. 당연히 오래 돌리면 모터의 권선 코딩들이 녹아 모터가 망기질수 있습니다. 수고하세요 >스테핑 모터를 달아서 구동중입니다 >고속회전할때는 0.3A 정도 걸리면서 문제가 없는데, 저속으로 돌리면 파워서플라이에 전류가 1~3A까지 올라가면서 5분후면 드라이버모듈의 2옴 저항 4개와 모터 자체에서 매우매우매우매우 심하게 열이 납니다. 막 타는 냄새도 나고 무서워서 10분 이상 못돌리겠습니다. >이상한건 SLA7026M에서는 열이 거의 안납니다. 제가 알기로는 여기가 제일 많이 열이 나는걸로 알고 있는데 이건 열이 전혀 안나고 저항이랑 모터에서만 열이 나네요. 라이터에 지진듯이.. 정확한 온도는 모르겠지만 전에 LED바 제어하면서 그 뜨거운 녀석이 70도까지 올라갔었는데 이 모터랑 모듈의 저항은 70도는 훌쩍 넘어갈 거 같네요. >가변저항 돌려서 토크 줄이면 전류는 0.3A정도로 내려가서 열은 안나지만 힘이 약해서 못씁니다 >이건 모터 문제인가요? 아니면 AM-CS2 모듈 문제인가요? 모듈도 연구실에 굴러다니는거 언제 샀는지 무슨 일을 당했는지 모르는 녀석을 무작정 달아서 돌리고 있는건데... >혹시 해결방안 있을까요?
5950 답변완료adc질문이여 온자민 2010-12-03 1,392
atmega8535에 cds(조도센서)를 한개연결했을때 FND가 원하는데로 작동을하는데 4개를 연결했을때 제대로 작동하지않습니다. 다음 첨부파일이 cds를 한개달았을때와(제대로작동) 4개를 달았을때(제대로작동하지않음) 를 올렸는데 if부분이 잘못된건지 아님 adc부분이 잘못된건지좀 알려주세요 이게해결되야 AM-SLCD216를 달수 있을것 같거든요. 부탁드립니다
관리자 답변 NEWTC · 2010-12-03
안녕하세요 판매되는 킷트문의나 예제코드에 대해서는 써포트를 하지만, 코드수정에 대해서는 써포트를 하지 않습니다. ADC를 두번 해보시길 바랍니다. 전값을 기억 하는 경우 가끔 발생합니다. 수고하세요 > > atmega8535에 cds(조도센서)를 한개연결했을때 FND가 원하는데로 작동을하는데 > > 4개를 연결했을때 제대로 작동하지않습니다. > > 다음 첨부파일이 cds를 한개달았을때와(제대로작동) 4개를 달았을때(제대로작동하지않음) > > 를 올렸는데 if부분이 잘못된건지 아님 adc부분이 잘못된건지좀 알려주세요 > >이게해결되야 AM-SLCD216를 달수 있을것 같거든요. > >부탁드립니다
5949 답변완료sm243 스테핑 모터 질문 최승현 2010-12-02 1,319
귀사의 sm243을 지금 주문하려고 하는데.. 모터 모듈은 따로 구매할 상황이 아니라서 드라이버 사놓은걸 사용하려고 합니다 sla7026으로 구현이 가능한지 여쭤봅니다. sla7024로 가야 하나요? 아니면 반드시 모듈을 구매해야 하는지요...
관리자 답변 NEWTC · 2010-12-02
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. SLA7026은 SLA7024의 업버전입니다. 따라서, SLA7026으로 구현하시면 됩니다. 회로는 강좌->로봇제작강좌에서 모터구동부 강좌를 보면 회로가 있으니, 참고 바랍니다. 수고하세요. >귀사의 sm243을 지금 주문하려고 하는데.. > >모터 모듈은 따로 구매할 상황이 아니라서 드라이버 사놓은걸 사용하려고 합니다 > >sla7026으로 구현이 가능한지 여쭤봅니다. > >sla7024로 가야 하나요? 아니면 반드시 모듈을 구매해야 하는지요...