Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 588 | 답변완료3축가속도센서 계산법에 관한 질문입니다. | 이정훈 | 2007-10-31 | 2,488 |
|
이번에 3축 가속도센서 모듈을 구입하여 몇 가지 실험을 하려고 합니다.
자료실에서 3축가속도 센서 계산법에 관한 ppt 자료가 있음을 알게되었는데
링크 에러인지 다운로드가 되지 않고 있습니다.
제가 개발 시간이 많지 않아서 자료를 메일로 보내주시거나 링크를 열람할 수 있게 고쳐 주시면 정말 감사드리겠습니다.
그럼 수고하세요!!!
관리자 답변
N.T.C 제품을 이용해 주셔서 감사합니다.
확인결과 문제 없이 잘 다운로드 됩니다.
마우스 왼쪽 버튼으로 클릭하셔야 다운 됩니다.
|
||||
| 587 | 답변완료스위치 관련 문의 드립니다. | 양형탁 | 2007-10-30 | 2,201 |
|
atmega 128 프로 완제품을 샀는데요..
보드안에 스위치 가 3개 있습니다..
PORTD4 PORTD5(스위치) 로 LED (PORTG)제어를 해보았는데..
되질 않습니다..
스위치문 제어하는 소스좀 알려주세요..
감사합니다.
(광주기능대 학생)
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사드립니다.
예제를 첨부해 드렸습니다.
사실 CD 안에 있는 내용입니다. KD-128PRO 킷트 안의 예제입니다.
서보 모터를 키로 제어하는 소스입니다.
참고하세요.
감사합니다.
>atmega 128 프로 완제품을 샀는데요..
>
>보드안에 스위치 가 3개 있습니다..
>
>PORTD4 PORTD5(스위치) 로 LED (PORTG)제어를 해보았는데..
>
>되질 않습니다..
>
>스위치문 제어하는 소스좀 알려주세요..
>
>감사합니다.
>
>(광주기능대 학생)
|
||||
| 586 | 답변완료디버깅시 uart1을 통해서 보고 싶습니다. | 이유석 | 2007-10-30 | 2,447 |
|
지금 소스중간에 printf를 넣어서 디버깅을 할때,
uart0를 통해서 출력이 나오는데, 이것을 uart1으로 바꾸려면 어떻게 해야 하나요?
관리자 답변
저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사합니다.
아래의 함수들은 시리얼포트 초기화하실 때,
RX complete interrupt, TX complete interrupt, Data register Empty interrupt 등을
절대 사용하면 안됩니다. 아래 함수를 필요에 따라서 바꿔 사용하시면,
printf 함수로 시리얼 포트 0번 1번 모두에 출력이 가능하고,
scanf 함수로 시리얼 포트 0번 1번 모두에 입력이 가능해 지면서, 막강한
printf 함수와 scanf 함수를 사용하여 입력 출력하실 수 있습니다.
본 함수를 잘 바꾸시면, 텍스트 LCD나 그래픽 LCD에도 printf scanf 함수 사용이 가능해 집니다. 참고하세요.
이 함수를 추가 하신후, printf 함수로 출력하시면 UDR0로 출력이 가능합니다.
int putchar(char c)
{
while ((UCSR0A>>UDRE0)&0x01 == 0) ; // UDRE, data register empty
UDR0 = c;
return c;
}
이 함수를 추가 하신후, printf 함수로 출력하시면 UDR1로 출력이 가능합니다.
int putchar(char c)
{
while ((UCSR1A>>UDRE1)&0x01 == 0) ; // UDRE, data register empty
UDR1 = c;
return c;
}
이 함수를 추가 하신후, scanf 함수로 입력받으시면 시리얼 0번포트에서
입력을 받을 수 있습니다.
char getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
이 함수를 추가 하신후, scanf 함수로 입력받으시면 시리얼 1번포트에서
입력을 받을 수 있습니다.
char getchar(void)
{
while ((UCSR1A & 0x80) == 0);
return UDR1;
}
>지금 소스중간에 printf를 넣어서 디버깅을 할때,
>uart0를 통해서 출력이 나오는데, 이것을 uart1으로 바꾸려면 어떻게 해야 하나요?
|
||||
| 585 | 답변완료AM-CS2P 스텝 소스좀 부탁드립니다 | 장영길 | 2007-10-30 | 2,366 |
|
안녕하세요!
스테핑 모터 클럭 구동을 Atmega128을 이용하려 합니다.
AM-CS2P용 소스 좀 부탁드립니다.
rinachien@nate.com
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사드립니다.
저희 Q&A에서 CS2P 로 검색하시면 NTC가 답변한 자료가 첨부되어 있습니다.
스테핑모터.zip 입니다.
참고하세요.
또한 아래는 12상 여자 방식을 이용한 소스입니다.
- 아래 -
main문에서 ....
stepright = RIGHTmotorOneClock(stepright, 0);
stepleft = LEFTmotorOneClock(stepleft, 1);
/* 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;
}
>안녕하세요!
>스테핑 모터 클럭 구동을 Atmega128을 이용하려 합니다.
>AM-CS2P용 소스 좀 부탁드립니다.
>
>rinachien@nate.com
|
||||
| 584 | 답변완료서보모터 SV311 질문 드릴께요. | 김길우 | 2007-10-30 | 2,712 |
|
서보모터를 구입하려고 하는데요.
스펙과 동작과 관련해서 찾다보니 다음과 같은 답변이 있더라구요.
안녕하세요? 뉴테크놀로지 컴패니입니다.
저희 제품을 사용해 주셔서 감사드립니다.
일반적인 서보스펙들과 같아서, 올리지는 않았구요.
0.7ms 좌로 90도
newtral 1.5ms 이구요.
2.3ms 우로 90도 입니다.
스펙은 올려두었습니다.
말씀해 주셔서 감사합니다.
좌로 90 우로 90도로 움직이는것 같은데요.
좌로 45, 우로 45도씩 제어도 가능할까요?
그리고 각각의 핀을 어디에 커넥트해야되는지 설명 좀 부탁드릴께요.
완전 쌩 초보라서 힘들군요.
그리고 위에서의 ms는 밀리퍼 세크인가요?
그 시간만큼 전압을 주라는 말인가...-_-;
질문이 허접해서 죄송해요.
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니를 방문해 주셔서 감사드립니다.
우선, ms는 밀리세크이구요.
서버모터 구동 원리를 먼저 읽어 보시는 것이 좋겠습니다.
제가 쓴 강좌가 있는 데, 강좌->AVR강좌->서버모터 강좌를 참고 하세요. 시간을 그만큼을 ON 하라는 얘기입니다.
감사합니다.
|
||||
| 583 | 답변완료adc핀으로 서보모터돌리고 싶습니다. | 고영진 | 2007-10-29 | 2,689 |
|
newtc를 참조하여 atmega8l을 사용하여 adc핀에 가변저항을 돌려 세그먼트 카운터를 시켜봤습니다 .
제가 원하는거는 가변저항으로 서보모터를 구동시키고 싶은데요...
세그먼트를 돌렸던 소스에서 이리저리 다 바꿔봐도...
서보모터는 구동이 안되요...ㅠㅠ
계속 버벅대기만하고...
혹시 이점에 대해서 해결방법이 없을까요?!
예제소스같은거라도...ㅠㅠ
avr-gcc를 사용했습니다..
꼭좀 부탁드릴께요
관리자 답변
소스를 몰라서 어떤 부분이 잘못됬는지 알수가 없네요.
소스를 올려주세요.
|
||||
| 582 | 답변완료견적서 요청합니다 | 김태원 | 2007-10-26 | 2,594 |
|
안녕하세요 한국외국어대학교 분산랩(DSL)에있는 김태원입니다
ATmega128L로 3개를 구입하려고하는데
견적서 부탁드려요~
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니를 방문해 주셔서 감사드립니다.
요청하신 견적이 AM-128PRO의 L 버전을 말하는 것인지, 아니면 ATMEGA128L-8AU MCU 자체를 말하는 것인지 애매하네요. 어떤 것인지 남겨 주시기 바랍니다.
감사합니다.
|
||||
| 581 | 답변완료아날로그 먹스회로 | 최태열 | 2007-10-26 | 3,243 |
|
혹시 아날로그 먹스회로도 디자인 가능합니까? 입력 임피던스 (>100 메가옴)가 매우 큰 아날로그 시그널을 브리지 회로로 측정하고 싶습니다. 물론 10여개의 입력 단자가 있어 먹스를 사용해야 합니다.
감사합니다.
관리자 답변
안녕하세요? 어떤 주파수 대역인지, 신호는 어떤 신호인지 등등의 정확한 스펙을 알려 주셔야 합니다. 아날로그 먹스도 스펙에 따라서 개발 방향도 다양하고, 주파수 대도 바뀌고 할 수 있으므로, 서로 전혀 다른 얘기가 됩니다.
정확한 스펙을 제시해 주시기 바랍니다.
감사합니다.
|
||||
| 580 | 답변완료ICCAVR 인터럽트 관련 | 박정열 | 2007-10-25 | 2,617 |
|
귀사의 장비들로 재미있게 프로그램하고 있는 청년입니다.
AVR을 처음하는 컴공 학생이라... 부록으로 보내준 자료를 참고해서 ICCAVR로 프로그램을 짜고 있습니다.
그런데 인터럽트 부분에서 조금 막히네요...
참고 자료에 보면 PD0 포트 옆에 괄호 안에 INT0 라고 되어있는 부분이 최고 우선 순위를 가지고 있는 인터럽트 포트로 보입니다.
KSM-603 소자로 구성된 수신 모듈의 sene 출력을 INT0 의 입력으로 넣고 입력받은 신호의 상승, 하강 엣지를 통하여 인터럽트를 발생시켜 적외선 신호를 분석하려고 합니다.
그런데 사실.... 문법을 모르겠네요.
#pragma interrupt_handler uart0_tx_isr:21
void uart0_tx_isr(void)
{
//character has been tdransmitted
}
문법을 몰라 고생하다가 이런식의 문법을 찾아내어 컴파일 해보니 에러는 안 뜨더군요... 하지만 이것을 INT0 에 어떻게 적용시켜야 하는지 잘 모르겠습니다.
아래 소스와 같이 사용되는 것은 보았지만... ICCAVR에서는 오류가 나더군요.
위의 isr:21 <--- 여기의 숫자가 의미가 있는 것 같은데... 바꾸어 보면서 돌려봐도 인식은 안되구....
#pragma vector=INT0_vect
__interrupt void INT0_Interrupt( void )
{
PORTA= 0xff;
delay(1000000);
}
어떻게 해야 할지 좀 가르쳐 주십시오... ㅠㅠ
아... 문법 상세한 설명도 곁들여 주시면 감사하겠습니다...
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사드립니다.
우선, 말씀하신 소스는 AVR용 IARC 소스로 보입니다.
컴파일러마다 조금씩 인터럽트 루틴을 사용하는 문법이 다릅니다.
예를 들어서, INT0의 경우 ICCAVR에서는 아래와 같이 사용합니다.
- 아래 -
#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
//external interupt on INT0
}
그 부분은 컴파일러 메뉴얼을 구하셔서 보시는 것이 좋을 것 같습니다.
그리고, 말씀하신 루틴은 프로그램 내의 마법사 등을 통하여 소스 자동 생성이 쉽게 가능한 부분이므로, 참고하시기 바랍니다.
감사합니다.
>귀사의 장비들로 재미있게 프로그램하고 있는 청년입니다.
>
>AVR을 처음하는 컴공 학생이라... 부록으로 보내준 자료를 참고해서 ICCAVR로 프로그램을 짜고 있습니다.
>
>그런데 인터럽트 부분에서 조금 막히네요...
>
>참고 자료에 보면 PD0 포트 옆에 괄호 안에 INT0 라고 되어있는 부분이 최고 우선 순위를 가지고 있는 인터럽트 포트로 보입니다.
>
>KSM-603 소자로 구성된 수신 모듈의 sene 출력을 INT0 의 입력으로 넣고 입력받은 신호의 상승, 하강 엣지를 통하여 인터럽트를 발생시켜 적외선 신호를 분석하려고 합니다.
>
>그런데 사실.... 문법을 모르겠네요.
>
>#pragma interrupt_handler uart0_tx_isr:21
>void uart0_tx_isr(void)
>{
>//character has been tdransmitted
>}
>
>문법을 몰라 고생하다가 이런식의 문법을 찾아내어 컴파일 해보니 에러는 안 뜨더군요... 하지만 이것을 INT0 에 어떻게 적용시켜야 하는지 잘 모르겠습니다.
>
>아래 소스와 같이 사용되는 것은 보았지만... ICCAVR에서는 오류가 나더군요.
>위의 isr:21 <--- 여기의 숫자가 의미가 있는 것 같은데... 바꾸어 보면서 돌려봐도 인식은 안되구....
>
>#pragma vector=INT0_vect
>__interrupt void INT0_Interrupt( void )
>
>{
> PORTA= 0xff;
> delay(1000000);
>}
>
>어떻게 해야 할지 좀 가르쳐 주십시오... ㅠㅠ
>아... 문법 상세한 설명도 곁들여 주시면 감사하겠습니다...
|
||||
| 579 | 답변완료AD-USBISP.. | 사용자 | 2007-10-25 | 2,763 |
|
usb만 꽂으면 열도 안나고 포트도 잡히는데...
ATmega128[전원따로] 꽂으면 AD-USBISP에서 열도 많이나고 뜨끈뜨끈...
칩도 잡히지 않네요... 설정 잘못된것도 없는것 같은데..[포트만 잡힘...]
망가진게 아니라면 해결 방법좀 알려 주시겠습니까..
열이 많이나는게 정상인지...{ATmega8L} <-칩 에서 열이 엄청많은데...
수리를 받아야 하는지 좀..
관리자 답변
저도 그거 쓰는데 AD-USBISP는 뜨끈뜨끈 한 것이 정상이구요... 칩에서는 열이 안나는게 정상인 듯...
칩 모듈 부분 어딘가 쇼트 난것이 아닐까요??? ^^
AD-USBISP에서 전원 당길때는 2번 버튼만 ON하고 사용하시면 되구요... 전원 따로 사용하시는 거라면 버튼 둘다 OFF두고 사용 하셔도 다운 잘 되실텐데...
에구... 나두 질문 올리러 왔다가 답변만 하네요... ㅋ...
암튼... 이상 없이 잘 사용하시길...
|
||||
| 578 | 답변완료AD-USBISP 메뉴얼에 있는 Stk500.exe 파일 어디있죠? | 김호석 | 2007-10-25 | 3,418 |
|
자료실 아무리 뒤져봐도 없던데 어디서 다운 받나요??
관리자 답변
안녕하세요? 고객님,
저희 뉴테크놀로지 컴패니 제품을 이용해 주셔서 감사드립니다. <a href=http://www.atmel.com target=_blank>http://www.atmel.com</a> 에 들어가셔서 AVR STUDIO라고 치신 후 AVR STUDIO 및 서비스팩까지 설치 하시면, stk500.exe는 자동으로 설치됩니다.
AVR studio 및 관련되어 설치되는 stk500.exe는 ATMEL 사의 제품으로 ATMEL사의 양해가 없이는 저희 회사 자료실 등에 올려 드릴 수 없음을 양지 바랍니다.
|
||||
| 577 | 답변완료라인트레이서 KR-DL16 | 박노준 | 2007-10-23 | 2,796 |
|
전에 질문을 했는데 다시 질문을 합니다
라인트레이서 KR-DL16 구입해서 하다가
잘못하여 다시할려고 합니다
그런데 처음부터 다시 다 구입하기에는 너무 비싸고 힘들것같아서 질문드립니다.
그래서
- ATMega16 개발보드와 부품 (메인부)
- 센서보드와 부품 (센서부)
만 다시 구입할려고 합니다
완제품이 아닌 반제품을 구입할려하는데
전에 알려주신 메인부 주소는 완제품인거 같더라고요
온라인이 안되면 방문까지 해서 구입하고싶습니다.
관리자 답변
네 박노준님,
그동안 잘 지내셨나요?
방문 주시면 구입 가능합니다.
월-금 10:00-15:00 안에 가능한 와주시면 좋구요.
시간이 혹 안되시면 18:00 안에 오시면 구매 가능합니다.
감사합니다.
|
||||
| 576 | 답변완료[소스] WINAVR gcc에서 쓰는 시리얼통신 | N.T.C | 2007-10-22 | 2,619 |
|
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdio.h>
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;
}
int putchar(char c)
{
while ((UCSR0A>>UDRE0)&0x01 == 0) ; // UDRE, data register empty
UDR0 = c;
return c;
}
char getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
//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();
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 delaytime){
int i,j;
for(i=0;i<1000;i++){
for(j=0;j<delaytime;j++){
}
}
}
void main(void)
{
init_devices();
printf("\\r\\n\\r\\nTesting UART0");
while(1){
printf(".");
delay(100);
}
}
관리자 답변
안녕하세요, 뉴티씨입니다. 문의 내용 확인하였습니다. 추가 문의사항은 newtc@newtc.co.kr 또는 02-704-4774로 연락 주시기 바랍니다. 감사합니다.
|
||||
| 575 | 답변완료스테핑모터 문의 | 양형탁 | 2007-10-19 | 2,484 |
|
AM-CS2P 드라이버를 사서 AT mega 128 에 연결 하여
스테핑 모터를 돌려 봤습니다
모터 돌지 않아서 문의드립니다
소스 올렸습니다
관리자 답변
안녕하세요? 저희 뉴테크놀로지 컴패니 제품을 이용하여 주셔서 감사드립니다.
저희 CS2P 드라이버를 구동하는 예제는 첨부하였습니다.
보내주신 소스는 스테핑 라인트레이서 소스인데
센서 등의 값을 받아서 돌리는 것이라, 센서 없었을 경우 이상하게 동작할 수 있었을 겁니다.
보내드린 이 소스로 해 보세요.
감사합니다.
>AM-CS2P 드라이버를 사서 AT mega 128 에 연결 하여
>스테핑 모터를 돌려 봤습니다
>모터 돌지 않아서 문의드립니다
>
>소스 올렸습니다
|
||||
| 574 | 답변완료[중형 DC 모터랑 모터 구동부 사진입니다.] | N.T.C | 2007-10-18 | 2,422 |
|
[중형 DC 모터랑 모터 구동부 사진입니다.]
관리자 답변
안녕하세요, 뉴티씨입니다. 문의 내용 확인하였습니다. 추가 문의사항은 newtc@newtc.co.kr 또는 02-704-4774로 연락 주시기 바랍니다. 감사합니다.
|
||||
