Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 7808 | 답변완료AM-CS2P 전원은 5v 와 12v 둘다 줘야 하나요? & LED는 불이 들어와야 하나요? | 김신영 | 2012-12-04 | 1,417 |
|
안녕하세요, AM-CS2P를 사서 스텝모터를 돌리려고 하는 중 입니다.
현재 12V 3A 아답터를 구매해서 2핀짜리 전원 커넥터에 연결했습니다.
그리고 ATMega128 키트에 연결해서 프로그램을 실행했는데 돌아가지 않아요.
질문1: 2핀 커넥터 뿐만 아니라 10핀 박스커넥터의 5V 전원도 넣어줘야 하나요? (저는 2핀 커넥터에 12V 넣고 10핀 박스커넥터는 1~4번 핀 A,~A,B,~B 만 연결하고 9번과 10번핀은 아무데도 연결 안했습니다). 그러니까 다시말해 12V 전원 따로, 5V 전원 따로 둘다 넣어줘야 하나요?
질문2: 전원이 들어오면 LED에 불이 들어와야 하나요? LED가 빛나지 않길래 혹시 이게 전원이 안들어 왔다는 뜻인지 궁금해서요.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
질문에 답변 드리겠습니다.
>
> 안녕하세요, AM-CS2P를 사서 스텝모터를 돌리려고 하는 중 입니다.
> 현재 12V 3A 아답터를 구매해서 2핀짜리 전원 커넥터에 연결했습니다.
> 그리고 ATMega128 키트에 연결해서 프로그램을 실행했는데 돌아가지 않아요.
>
> 질문1: 2핀 커넥터 뿐만 아니라 10핀 박스커넥터의 5V 전원도 넣어줘야 하나요? (저는 2핀 커넥터에 12V 넣고 10핀 박스커넥터는 1~4번 핀 A,~A,B,~B 만 연결하고 9번과 10번핀은 아무데도 연결 안했습니다). 그러니까 다시말해 12V 전원 따로, 5V 전원 따로 둘다 넣어줘야 하나요?
==> 둘 다 줘야 합니다. 5V 전원은 논리 전원이고, 12V 전원은 모터용 전원입니다. 가격대 성능비 상관 관계로 분리했습니다.
> 질문2: 전원이 들어오면 LED에 불이 들어와야 하나요? LED가 빛나지 않길래 혹시 이게 전원이 안들어 왔다는 뜻인지 궁금해서요.
==> 5V 논리 전원을 넣어주면 바로 LED가 켜지게 되어 있습니다.
수고하세요.
|
||||
| 7807 | 답변완료가속도 센서요 | 오창현 | 2012-12-04 | 1,382 |
|
1.5g모드에서 수평인 상태면
x 1.65
y 1.65
z 2.45 정도 나와야 하는거 아닌가요??
테스터기로 측정해보니
x 1.45
y 1.58
z 2.57 정도가 나오는데요 오차범위인가요? x축이 값이 많이 벗어나는거 같아서요.
그리고요 이건 제가 adc0809에서 변환값 읽으려고 한건데요. 저번에 답글에 프로그램 문제일거라고 하셔서요, 도저히 안되서 한 번 올려봐요..
adc값의 출력이 이상한 값이 나올뿐더러 x축 수평유지시 46, 207 값이 번갈아 나오네요. 8bit출력이고요
; P1.0 : OE
; P1.1 : EOC
; P1.2 : START
; P1.3 : ALE
; P1.4 : A (addr)
; P1.5 : B (addr)
;p1.6, 1.7은 서보모터 출력포트라 상관없습니다.
START: MOV P1, #11110000B
LOOP: NOP
AD_START: MOV P1, #11001010B ; SET ADDR IN0 // X axis
MOV P1, #11001110B ; START
MOV P1, #11000010B ;
CALL D1MS ;1ms, 150us지연 다해봤는데 안되요
AD_WAIT: JNB P1.1, AD_WAIT ;eoc가 0(변환중)이면 ad_wait으로 점프
AD_READ: MOV P1, #11110011B ; EO =1 output 출력
MOV DPTR, #0C000H
MOVX A, @DPTR ; AD변환값 읽기
MOV AD_BUF0, A ;ad_buf0에 변환값 저장
CALL D5MS ;5ms 지연
;
JMP LOOP
혹시나 해서 가변저항 연결하고 해봤는데요. 0~3.3이 순차적으로 증가하거나 감소하면서 나와야하는데
그렇지 않고 0과 3.3은 잘나오는데 중간에 값들이 질서없이 출력되네요. adc가 문제인가요?
아님 프로그램에 문제가 있나요?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
답변해 드릴께요.
>
>
> 1.5g모드에서 수평인 상태면
> x 1.65
> y 1.65
> z 2.45 정도 나와야 하는거 아닌가요??
>
> 테스터기로 측정해보니
> x 1.45
> y 1.58
> z 2.57 정도가 나오는데요 오차범위인가요? x축이 값이 많이 벗어나는거 같아서요.
==> 아무리 0g로 놓았다고 하더라도, 사실 정확한 평행을 잡기는 어렵습니다.
이런 경우 offset erro가 있을 수 있습니다. 칩이 레이저로 컷팅되고, 제작되므로, 제작 당시에는 매우 정확하지만, 운송 과정, 기계적인 스트레스, 온도 등으로 인하여 약간씩 에러가 발생할 수 있습니다. 아래의 메뉴얼에 읽어봐도 마찬가지 내용을 보실 수 있습니다.
- 아래 -
http://www.freescale.com/files/sensors/doc/app_note/AN3447.pdf?WT_TYPE=Application%20Notes&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation
다만, 이럴 경우 이 에러를 보상해 주는 알고리즘이 필요합니다.
일단은 0g를 잡아주는 것이 필요한데요. 칩마다 조금씩 상태가 다를 수도 있고,
또한 제조 후에도 칩에 많은 스트레스가 가해지게 되면 상태가 달라질 수 있습니다.
따라서, 0g가 중요한 이슈라면 0g를 잡아주는 offset error correction 을 위한 function을 만들어 두는 것이 좋겠습니다.
아무리 정확하게 평면에 두고 한다고 하더라도 실은 칩이 약간은 기울어져 있을 수도 있기 때문에, 각 축마다 그 방향으로 한바퀴씩 천천히 돌려 보면 가장 크고 가장 작은값이 나올 것이고, 이를 통해서 중간점인 0g를 잡아낼 수 있을 겁니다.
다른 아이디어들도 있는 데, 메뉴얼을 읽어 보시기 바랍니다.
>
> 그리고요 이건 제가 adc0809에서 변환값 읽으려고 한건데요. 저번에 답글에 프로그램 문제일거라고 하셔서요, 도저히 안되서 한 번 올려봐요..
> adc값의 출력이 이상한 값이 나올뿐더러 x축 수평유지시 46, 207 값이 번갈아 나오네요. 8bit출력이고요
>
> ; P1.0 : OE
> ; P1.1 : EOC
> ; P1.2 : START
> ; P1.3 : ALE
> ; P1.4 : A (addr)
> ; P1.5 : B (addr)
> ;p1.6, 1.7은 서보모터 출력포트라 상관없습니다.
>
> START: MOV P1, #11110000B
>
> LOOP: NOP
> AD_START: MOV P1, #11001010B ; SET ADDR IN0 // X axis
> MOV P1, #11001110B ; START
> MOV P1, #11000010B ;
> CALL D1MS ;1ms, 150us지연 다해봤는데 안되요
>
> AD_WAIT: JNB P1.1, AD_WAIT ;eoc가 0(변환중)이면 ad_wait으로 점프
> AD_READ: MOV P1, #11110011B ; EO =1 output 출력
> MOV DPTR, #0C000H
> MOVX A, @DPTR ; AD변환값 읽기
> MOV AD_BUF0, A ;ad_buf0에 변환값 저장
> CALL D5MS ;5ms 지연
> ;
> JMP LOOP
>
>
>
> 혹시나 해서 가변저항 연결하고 해봤는데요. 0~3.3이 순차적으로 증가하거나 감소하면서 나와야하는데
> 그렇지 않고 0과 3.3은 잘나오는데 중간에 값들이 질서없이 출력되네요. adc가 문제인가요?
> 아님 프로그램에 문제가 있나요?
>
==> 하드웨어적으로 ADC 할 때, 결과와 마이크로 컨트롤러 사이에 버퍼 달고, EOC를 External Interrupt에 물려서, External interrupt로 수신 받는 루틴으로 가도록 하는 것이 좋습니다.
하드웨어 적으로도 검토를 좀 하시는 것이 좋겠습니다.
이 부분은 본사 제품이 아니라서, 소프트웨어 잘못된 부분이나 하드웨어 잘못된 부분을 정확히 짚어 드리기 어렵네요.
수고하세요.
|
||||
| 7806 | 답변완료3축가속도센서 AM-3AXIS-P 질문 드립니다.. | 안지혁 | 2012-12-04 | 1,518 |
|
안녕하세요 가속도센서를 공부하는중인데요...
제가 lcd로 x,y,z값을 받는 소스를 짜 보았는데요..
#include <avr/io.h>
#include <avr/iom128.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include "delay.h"
#include <stdio.h>
#include "CLCD4.h"
unsigned int adc0;
unsigned int adca,adcb,adcc;
void adc2lcd() {
unsigned char str[10];
sprintf(str," %03d, %03d, %03d ",adca,adcb,adcc);
LCD_str(0xC0,str);
delay_ms(100);
}
void adc_init() {
ADMUX= 0x40;
ADCSRA= 0x7F;
}
SIGNAL(SIG_ADC) {
}
int main(void) {
unsigned int temp;
adc_init();
LCD_init();
sei();
LCD_str(0x80," X Y Z ");
while(1) {
ADMUX= 0x40;
ADCSRA |= 0xC0;
while((ADCSRA & 0x10) != 0x10);
temp = ADCL;
temp += (ADCH<<8);
adca= temp;
delay_ms(1);
ADMUX= 0x41;
ADCSRA |= 0xC0;
while((ADCSRA & 0x10) != 0x10);
temp = ADCL;
temp += (ADCH<<8);
adcb= temp;
delay_ms(1);
ADMUX= 0x42;
ADCSRA |= 0xC0;
while((ADCSRA & 0x10) != 0x10);
temp = ADCL;
temp += (ADCH<<8);
adcc= temp;
adc2lcd();
delay_ms(1);
}
}
이런 식으로 짜보았는데 제가 x축값으로 속도를 측정 해볼려고 하려는데 x 데이터 값을 속도 구하는 식을 세워야 하는건가요?? 어떻게 해야 할지 방법 좀 알려주시면 안될까요?
관리자 답변
각 축에대해 가속도 적분해서 속도 구하셔야 하겠네요
이상은 도움 드리는게 게시판 목적에 어려움을 양해바랍니다
수고하세요
>
>
> 안녕하세요 가속도센서를 공부하는중인데요...
> 제가 lcd로 x,y,z값을 받는 소스를 짜 보았는데요..
>
> #include <avr/io.h>
> #include <avr/iom128.h>
> #include <avr/interrupt.h>
> #include <stdio.h>
> #include "delay.h"
> #include <stdio.h>
> #include "CLCD4.h"
>
>
> unsigned int adc0;
> unsigned int adca,adcb,adcc;
>
> void adc2lcd() {
> unsigned char str[10];
> sprintf(str," %03d, %03d, %03d ",adca,adcb,adcc);
> LCD_str(0xC0,str);
> delay_ms(100);
> }
>
> void adc_init() {
> ADMUX= 0x40;
> ADCSRA= 0x7F;
> }
>
> SIGNAL(SIG_ADC) {
>
> }
>
> int main(void) {
> unsigned int temp;
> adc_init();
> LCD_init();
> sei();
> LCD_str(0x80," X Y Z ");
>
> while(1) {
> ADMUX= 0x40;
> ADCSRA |= 0xC0;
> while((ADCSRA & 0x10) != 0x10);
> temp = ADCL;
> temp += (ADCH<<8);
> adca= temp;
>
> delay_ms(1);
> ADMUX= 0x41;
> ADCSRA |= 0xC0;
> while((ADCSRA & 0x10) != 0x10);
> temp = ADCL;
> temp += (ADCH<<8);
> adcb= temp;
> delay_ms(1);
> ADMUX= 0x42;
> ADCSRA |= 0xC0;
> while((ADCSRA & 0x10) != 0x10);
> temp = ADCL;
> temp += (ADCH<<8);
> adcc= temp;
>
> adc2lcd();
> delay_ms(1);
> }
> }
>
> 이런 식으로 짜보았는데 제가 x축값으로 속도를 측정 해볼려고 하려는데 x 데이터 값을 속도 구하는 식을 세워야 하는건가요?? 어떻게 해야 할지 방법 좀 알려주시면 안될까요?
>
|
||||
| 7805 | 답변완료UART 관련 재질문 | 질문자 | 2012-12-04 | 1,404 |
|
따라서, ISP의 4핀 UART를 AM-128PRO와 연결하려면, AM-128PRO의 양 옆의 핀들에서 해당 핀들을 빼서 연결해야 합니다.
라고 답변 주셨는데요
그러면 PE0(RXD), PE1(TXD) 핀에 프로그램상 값을 주고 USB쪽 4핀 중 2핀만 연결하면 되나요?
관리자 답변
네 맞습니다
수고하세요
>
>
> 따라서, ISP의 4핀 UART를 AM-128PRO와 연결하려면, AM-128PRO의 양 옆의 핀들에서 해당 핀들을 빼서 연결해야 합니다.
>
> 라고 답변 주셨는데요
>
> 그러면 PE0(RXD), PE1(TXD) 핀에 프로그램상 값을 주고 USB쪽 4핀 중 2핀만 연결하면 되나요?
>
|
||||
| 7804 | 답변완료usrt 관련 | 질문자 | 2012-12-03 | 1,463 |
|
cpu는 AM-128PRO이고 AD-USBISP V03.5로 isp 다운 사용중입니다.
UART커넥터 부분은 따로 구매해야 하나요?
만들어 쓰려고 봐도 비닐 씌워놓은거 때문에 잘 안맞네요.
USB쪽에 UART 4핀 중 VCC빼고 3핀만 연결하면 되나요?
USB로 전원 쓰고 있는데 ISP다운하고 나서 UART로 바꾸는 경우 반드시 ISP커넥터 제거하고 UART연결해야하나요?
<7. 다운로드 속도가 더욱 다양해 졌습니다.(저속 ~ 최고속도)> 라고 설명에 나와있는데
어떻게 바뀌는 건가요?
감사합니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
답변 드릴께요.
>
>
> cpu는 AM-128PRO이고 AD-USBISP V03.5로 isp 다운 사용중입니다.
> UART커넥터 부분은 따로 구매해야 하나요?
> 만들어 쓰려고 봐도 비닐 씌워놓은거 때문에 잘 안맞네요.
>
> USB쪽에 UART 4핀 중 VCC빼고 3핀만 연결하면 되나요?
==> USBISP의 UART 4핀은 메뉴얼 보시면 TTL Level 이라고 되어 있습니다.
이는 5V 레벨입니다. CMOS Level과 호환입니다.
그런데, AM-128PRO의 3핀 커넥터는 USBISP의 4핀 커넥터와 커넥터 모양이 다를 겁니다.
저희 회사는 그 4핀 커넥터는 TTL Level의 UART 용으로 쓰고,
5267-3의 3핀 커넥터는 RS-232C 레벨의 시리얼 통신으로 씁니다.
즉, 3핀 커넥터는 +-12V 용이죠.
서로 레벨이 다르기 때문에 맞지가 않으므로, 서로 붙일 수가 없습니다.
따라서, ISP의 4핀 UART를 AM-128PRO와 연결하려면, AM-128PRO의 양 옆의 핀들에서 해당 핀들을 빼서 연결해야 합니다.
> USB로 전원 쓰고 있는데 ISP다운하고 나서 UART로 바꾸는 경우 반드시 ISP커넥터 제거하고 UART연결해야하나요?
==> 네 그렇습니다.
>
> <7. 다운로드 속도가 더욱 다양해 졌습니다.(저속 ~ 최고속도)> 라고 설명에 나와있는데
> 어떻게 바뀌는 건가요?
==> AVR Studio에 보면, STK500 connect 하고 나서, Main 탭에 보면 SCK Freq. 라는 것이 있습니다. 그것을 설정하여 다운로딩 속도를 조절합니다.
즉, 클럭이 느린 CPU 즉, 내부 클럭을 쓰거나, 일부러 매우 느린 클럭을 사용하여, 전력 소모를 줄인 경우는 SCK Freq.가 그 클럭의 1/4 클럭 이하의 주파수로 써야 하거든요.
수고하세요.
>
> 감사합니다.
>
|
||||
| 7803 | 답변완료AM-CS2P 스텝모터드라이브를 사용하고 있습니다. | 김영동 | 2012-12-03 | 1,304 |
|
안녕하세요..
저는 현재 AM-CS2P 라는 스텝모터 드라이버를 사용하고 있는데요,
두개의 모터를 연결하고 구동하는데,
입력 전원으로 어느정도를 넣어야 하는지 궁금합니다.
24V-5A 라는 소리를 들었는데
맞는소리인지 궁금합니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
우선, 자주하는 질문의 CS2P 관련된 질문이 자주하는 질문쪽에 공지되어 있으니, 참고하시기 바랍니다.
그리고, 소모전류를 최소 모터 개당 350mA 정도부터 최고 3A까지 모터나 토크에 따라서, 다양합니다.
따라서, 사용하는 모터 스펙과 해당 사용할려고 하는 환경에서의 토크 등을 고려하여 전류를 쓰는 것이 타당합니다.
토크를 많이 쓰신다고 한다면, 보통 24V 3A 정도를 한쪽당 써주는 것이 좋습니다.
두 모터를 쓴다면, 최소한 24V 100W급을 써 주는 것이 좋겠습니다.
수고하세요.
>
>
> 안녕하세요..
>
> 저는 현재 AM-CS2P 라는 스텝모터 드라이버를 사용하고 있는데요,
>
> 두개의 모터를 연결하고 구동하는데,
>
> 입력 전원으로 어느정도를 넣어야 하는지 궁금합니다.
>
> 24V-5A 라는 소리를 들었는데
>
> 맞는소리인지 궁금합니다.
>
|
||||
| 7802 | 답변완료uart 글자 깨져요 | 몰르겠어요 | 2012-12-03 | 1,447 |
|
#include <mega128a.h>
// Declare your global variables herev
void delay(unsigned int t)
{
unsigned int i, j;
for(i=0;i<t;t++)
{
j=500;
while(--j);
}
}
void putch(char);
void main(void)
{
while (1){
char string[]="1 ";
char *p;
UCSR0A=0X0;
UCSR0B=0b00001000;
UCSR0C=0b00000110;
UBRR0H=0;
UBRR0L=103;
p=string;
while(*p) putch(*p++);
// Place your code here
}
}
void putch(char data){
while(!(UCSR0A & 0X20));
UDR0=data;
delay(1);
}
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
자료실에서 UART로 검색하면 예제들이 있습니다.
해당하는 컴파일러의 소스를 참고하시기 바랍니다.
수고하세요.
>
>
> #include <mega128a.h>
> // Declare your global variables herev
> void delay(unsigned int t)
> {
> unsigned int i, j;
> for(i=0;i<t;t++)
> {
> j=500;
> while(--j);
> }
> }
> void putch(char);
> void main(void)
> {
> while (1){
> char string[]="1 ";
> char *p;
> UCSR0A=0X0;
> UCSR0B=0b00001000;
> UCSR0C=0b00000110;
> UBRR0H=0;
> UBRR0L=103;
> p=string;
> while(*p) putch(*p++);
> // Place your code here
> }
> }
> void putch(char data){
> while(!(UCSR0A & 0X20));
> UDR0=data;
> delay(1);
> }
>
|
||||
| 7801 | 답변완료AM-2560PRO D2 LED 는 안켜지는건가요? | 유민재 | 2012-12-01 | 1,349 |
|
처음 구입하고 ISP 로 연결했을떄 D2 가 깜빡였던 것 같은데..
지금은 D2 는 뭘 넣고 뺴고 작업할때도 깜빡이질 않네요.
원래 조용한 놈인가요?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
PORTL의 D7 비트를 1로 하면 켜집니다.
회로도가 자료실에서 제품번호로 (AM-2560PRO) 검색하면 있으니, 참고 바랍니다.
수고하세요.
>
>
> 처음 구입하고 ISP 로 연결했을떄 D2 가 깜빡였던 것 같은데..
>
> 지금은 D2 는 뭘 넣고 뺴고 작업할때도 깜빡이질 않네요.
>
> 원래 조용한 놈인가요?
>
|
||||
| 7800 | 답변완료구매 관련 질문있습니다. | 황진건 | 2012-11-30 | 1,446 |
|
오프라인 대리점에서
DC 모터 구동 모듈-소형(AM-CD2L)
구매 할 수 있나요??
관리자 답변
네 고객님 가능합니다
하지만 방문하시기전에 전화하셔서 재가ㅡ확인부터하세요
수고하세요
>
>
> 오프라인 대리점에서
> DC 모터 구동 모듈-소형(AM-CD2L)
> 구매 할 수 있나요??
>
|
||||
| 7799 | 답변완료ms2 질문입니다 | 안진섭 | 2012-11-29 | 1,404 |
|
24v전원을 인가하고
귀사의 128pro 보드에 박스케이블 연결후
예제 hex파일을 플레싱하였으나 모터에 반응이 없습니다.
간단하게 enable high주고
0 2 핀에 high low를 번갈아 입력하였으나 무반응입니다
128pro kit에 포함된 led어레이를 대신연결한결과
포트출력은 정상입니다
모터에 토크가 걸리지를 않습니다.
칩에서는 발열이 발생함을 확인하였습니다
무엇이 문제인가요
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
혹시 MS2에 2핀 전원 케이블은 연결하셨나요?
그리고, 24v 전원을 키트에 연결하신 것이 아닌가 싶습니다.
키트의 24V 전원을 MS2로 전달해 주셔야 합니다.
돌기 시작하면, MS2 에 있는 가변저항을 돌려서 토크에 따른 바이어스 맞춰 주세요.
윙 하면서 좋은 소리 내면서 잘 도는 게 정상입니다.
수고하세요.
>
>
> 24v전원을 인가하고
>
> 귀사의 128pro 보드에 박스케이블 연결후
>
> 예제 hex파일을 플레싱하였으나 모터에 반응이 없습니다.
>
> 간단하게 enable high주고
>
> 0 2 핀에 high low를 번갈아 입력하였으나 무반응입니다
>
> 128pro kit에 포함된 led어레이를 대신연결한결과
>
> 포트출력은 정상입니다
>
> 모터에 토크가 걸리지를 않습니다.
>
> 칩에서는 발열이 발생함을 확인하였습니다
>
> 무엇이 문제인가요
>
|
||||
| 7798 | 답변완료13일날 상품 주문했는데 아직까지 배송도 안됬네요;;;;; | 최병준 | 2012-11-29 | 1,378 |
|
12V 1A SMPS을 13일에 주분했는데 아직까지안오고 있네요, , , 늦으면 따로 연락이라도좀 해주지 참..
암튼 왜 아직까지 안오고 있나요?? 13일날 결제까지 마쳤는데;;
관리자 답변
안녕하세요? 고객님,
정말 죄송합니다.
확인 결과 주문하신 제품 배송이 누락되었습니다.
다시 이런 일이 없도록 하겠습니다.
제가 포인트 5000점 적립해 드릴테니, 차후에 구매하실 때, 포인트도 함께 결재하시면 그만큼 할인됩니다.
금일 배송하겠습니다.
다시 한번 사과드립니다.
수고하세요.
>
>
> 12V 1A SMPS을 13일에 주분했는데 아직까지안오고 있네요, , , 늦으면 따로 연락이라도좀 해주지 참..
>
> 암튼 왜 아직까지 안오고 있나요?? 13일날 결제까지 마쳤는데;;
>
|
||||
| 7797 | 답변완료재질문이요 | 오창현 | 2012-11-29 | 1,256 |
|
컨버팅할때 채널변경은 하지 않았고요.
X축만하고 있습니다. ㅠㅠ
가속도센서와 adc와의 배선거리는 1cm정도구요..
그런데 가만히 둬도 값이 0, 1.65, 2,45 이 3가지 값이 계속 나오네요 ㅠ
조금 오차가 있는것도 아니고 너무 값이 튀어버리니.. 무엇이 문제인지 모르겠습니다.
저런건 노이즈에 의한 현상은 아니죠??
그리고 1g가 실제로 9.8m/s^2으로 움직여야 1.6 에서 2.4값이 나와야 하는거죠??
아 무엇이 문제인지 모르겠습니다..
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
>
> 컨버팅할때 채널변경은 하지 않았고요.
> X축만하고 있습니다. ㅠㅠ
> 가속도센서와 adc와의 배선거리는 1cm정도구요..
> 그런데 가만히 둬도 값이 0, 1.65, 2,45 이 3가지 값이 계속 나오네요 ㅠ
==> 노이즈 의심이 가면, 오실로 스코프로 재 보세요. 하드웨어가 잘못인지, 소프트웨어가 잘못인지 알수 있지요. 가속도 센서와 AVR과의 거리가 1cm 라는 말인가요? 그 정도면 짧지만, 배선을 어떻게 했느냐에 따라 또 다를 수 있습니다. 그 선이 오는 중에, 노이즈 원이 있으면 안좋으니까요.
> 조금 오차가 있는것도 아니고 너무 값이 튀어버리니.. 무엇이 문제인지 모르겠습니다.
>
> 저런건 노이즈에 의한 현상은 아니죠??
==> 오실로로 재보세요. 아마도 프로그램 잘못하셔서 그런 것 같습니다.
> 그리고 1g가 실제로 9.8m/s^2으로 움직여야 1.6 에서 2.4값이 나와야 하는거죠??
==> 네, 이론적으로는 그렇습니다. 또는, +X쪽에서 -X 쪽으로 기울이면 그럴 수 있구요.
> 아 무엇이 문제인지 모르겠습니다..
>
|
||||
| 7796 | 답변완료the eeprom buffer is empty 에러 문의드립니다. | 박창균 | 2012-11-29 | 1,340 |
|
코드비전으로 프로그래밍중에 이 에러메시지가 계속뜹니다.
조언 부탁드립니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
Program ALL 하지 마시고,
Program Flash 하는 게 좋습니다.
EEPROM 데이터는 없는 데, 자꾸 프로그램 하라고 하니 에러나는 것으로 보입니다.
수고하세요.
>
>
> 코드비전으로 프로그래밍중에 이 에러메시지가 계속뜹니다.
>
> 조언 부탁드립니다.
>
|
||||
| 7795 | 답변완료노이즈나 오차값에 대해서 | 오창현 | 2012-11-29 | 1,406 |
|
안녕하세요. AM-3AXIS VO2입니다.
어제 어떻게 손 봐서 값이 잘 변하기는 하는데요, 정상적으로 나오는 것 같습니다.
그런데 쓰레기값이 정상값 사이에 자주 출력되네요.
예를들어 센서를 바닥과 수평하게 놓고 X축값을 재고있을때 1.65정도 나오다가 가끔 0이 나오는데요.
1. 이런건 어디 부분이 문제일까요??
2. 센서를 바닥과 수직으로 세우고 회전시키면 X값이 일정하게 증가하거나 감소하면서 나오는게 아니라 중간에 여러값들이 많이 섞여 나오는데 이건 정상인가요?
그리고 노이즈를 줄일 수 있는 방법에 대해 몇가지만 여쭤볼게요.
지금 회로도는 8052보드와 가속도모듈이 있는 보드를 10cm 정도의 점퍼선을 통해 연결한 상태입니다.
3.3v레귤레이터는 Vin과 Vout에 100pf을 각각 바로 달아줬고요. 가속도 모듈의 Vcc단자와 레귤레이터 Vout단자 거리는 6cm정도되는것 같네요.
adc0809의 데이터값을 8051의 input단자와 연결한 선도 10cm정도 됩니다.
3. 여기 질문글을 보던중 가속도 모듈 근처에 캐패시터를 달면 노이즈가 준다고 본 거 같은데, 정확히 어떻게 연결해야 하나요?
4. 그 외에 회로를 더 안정화 시킬 수 있는 방법이 있을까요??
5. adc0809에 공급하는 발진 회로는 not게이트 2개와 캐패시터 저항을 이용하여 만들었습니다. 라조네이터를 이용해서 공급하면 컨버터가 더 안정 될까요??
6. 5v레귤레이터와 3,3v 레귤레이터를 각각 사용하여 둘을 연결해 준다면 캐패시터를 4개 달아줘야 하나요?
마지막으로요 제가 만들 작품은 x축이나 y축으로 가속도 운동을 했을때 이값을 읽어서 적당히 서보모터를 제어하는건데요. x,y 축은 동적 가속도 z축은 정적 가속도로만 이용하려 하는데,
예를 들어 바닥과 수평하게 둔 가속도센서를 살짝 들면 z축값도 바뀌지만 x, y도 값이 바뀌나요?
질문이 너무 많아서 죄송하네요.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
답변 드릴께요.
>
> 안녕하세요. AM-3AXIS VO2입니다.
>
> 어제 어떻게 손 봐서 값이 잘 변하기는 하는데요, 정상적으로 나오는 것 같습니다.
> 그런데 쓰레기값이 정상값 사이에 자주 출력되네요.
> 예를들어 센서를 바닥과 수평하게 놓고 X축값을 재고있을때 1.65정도 나오다가 가끔 0이 나오는데요.
> 1. 이런건 어디 부분이 문제일까요??
==> 프로그램 소스의 문제입니다.
> 2. 센서를 바닥과 수직으로 세우고 회전시키면 X값이 일정하게 증가하거나 감소하면서 나오는게 아니라 중간에 여러값들이 많이 섞여 나오는데 이건 정상인가요?
==> 소스를 잘못짜면 그렇습니다. 채널 변경하고 나서, 일정클럭 이상 지나고나서 수신해야 합니다.
또한, 전원소스도 중요한데, 전원 노이즈가 섞일 수 있습니다.
> 그리고 노이즈를 줄일 수 있는 방법에 대해 몇가지만 여쭤볼게요.
> 지금 회로도는 8052보드와 가속도모듈이 있는 보드를 10cm 정도의 점퍼선을 통해 연결한 상태입니다.
==> 아날로그 선이 가는 곳이라서, 이곳이 가장 민감합니다. 선이 안테나 역할을 해서, 노이즈를 가져오는 소스가 될 수 있습니다. 주의 바랍니다. 가능한 매우 짧게 배선해 주세요. 너무 깁니다. 또한, 선이 지나가는 곳에 어떠한 선들도 근처로 지나가지 않도록 배선 고정 바랍니다.
> 3.3v레귤레이터는 Vin과 Vout에 100pf을 각각 바로 달아줬고요. 가속도 모듈의 Vcc단자와 레귤레이터 Vout단자 거리는 6cm정도되는것 같네요.
==> 큰 문제 없을 것 같습니다. 하지만, Vin 단자 +와 -에 직접 가장 짧은 거리로, 100uF와 0.1uF을 병렬로 달아주는 것이 좋겠습니다. Vout도 마찬가지구요.
> adc0809의 데이터값을 8051의 input단자와 연결한 선도 10cm정도 됩니다.
==> 좀 더 길어도 별 문제 없습니다.
>
> 3. 여기 질문글을 보던중 가속도 모듈 근처에 캐패시터를 달면 노이즈가 준다고 본 거 같은데, 정확히 어떻게 연결해야 하나요?
==> 1번에 설명했습니다.
> 4. 그 외에 회로를 더 안정화 시킬 수 있는 방법이 있을까요??
==> ADC 하는 AVR 등의 CPU의 아날로그 GND와 디지털 GND 사이 그리고, 아날로그 VCC, 디지탈 VCC 사이 이런 곳에 비드 처리 등을 하시고, 아날로그 회로는 가장 최단거리에 배선하고, 노이즈가 들지 않도록, PCB 설계시에 로컬 그라운드 플레인(LGP) 만들어 배선하는 등의 기법이 있겠습니다.
본사의 홈페이지에서
온라인 강좌 --> ROBOT 쪽에 보면,
응용전자공학_EMC_적합성을_위한_PCB_설계기술
를 보면 좀 더 많은 테크닉들이 나와 있습니다.
> 5. adc0809에 공급하는 발진 회로는 not게이트 2개와 캐패시터 저항을 이용하여 만들었습니다. 라조네이터를 이용해서 공급하면 컨버터가 더 안정 될까요??
==> 노이즈 개선에 크게 도움될 것 같지는 않습니다.
> 6. 5v레귤레이터와 3,3v 레귤레이터를 각각 사용하여 둘을 연결해 준다면 캐패시터를 4개 달아줘야 하나요?
==> 그렇게 하는 게 좋겠지요. 하지만, 안한다고 전압이 안나오는 것은 아니지만, 일반적으로 하는 것이 좋습니다.
> 마지막으로요 제가 만들 작품은 x축이나 y축으로 가속도 운동을 했을때 이값을 읽어서 적당히 서보모터를 제어하는건데요. x,y 축은 동적 가속도 z축은 정적 가속도로만 이용하려 하는데,
> 예를 들어 바닥과 수평하게 둔 가속도센서를 살짝 들면 z축값도 바뀌지만 x, y도 값이 바뀌나요?
==> 네 맞습니다. 가속도 센서의 출력 값은 정적 가속도와 동적 가속도의 합인데,
정적 가속도가 중력 가속도인데, 삼축으로 나오기 때문에, 조금만 움직여도 나오게 됩니다.
또한, 움직인다는 자체가 동적 가속도가 발생되기 때문에도 그렇구요.
>
> 질문이 너무 많아서 죄송하네요.
>
참고로, 고객지원에서 자주하는 질문에 보면 3축 가속도 센서 관련된 부분이 있습니다.
그 부분을 참고하시면, 많은 파일들이 있으니, 도움이 되실 겁니다.
참고적으로 소스를 변경하여, 소프트웨어적인 필터링 효과를 낼 수 있습니다.
만약, 값이 1024 단계에서 간혹 10 이내에서 튀면서 변경되고 있다면, 이것이 보다 효과적일 겁니다.
아래에 드리는 소스를 참고하셔서 하세요.
전역변수로 volatile unsigned int adcdata[50] 이런식으로 선언한 이후에,
ADC한 값을 50개 받으세요.그런 다음에, Sort(); 이렇게 해서
그 값을 소팅한 후에, 위에서 5개 밑에서 5개 이런식으로 버립니다.
그런 후에 나머지 값들을 다 더해서 평균내면, 좀 효과가 있을 겁니다.
밑에 참고 소스 도 붙어 있습니다.
수고하세요.
void Swap(volatile unsigned int *a, volatile unsigned int *b)
{
volatile unsigned int tmp=*a;
*a=*b;
*b=tmp;
}
void Sort(void)
{
int i, j;
for (i=0; i<ADCMAX; i++) {
for (j=i+1; j<10; j++) {
if (adcdata[i] > adcdata[j]) Swap(&adcdata[i], &adcdata[j]);
}
}
}
수고하세요.
|
||||
| 7794 | 답변완료정말 생초보인데요..부끄럽지만 isp연결에대해서 여쭤볼게요. | 박형호 | 2012-11-29 | 1,367 |
|
kd128pro보드를 주문해서 받았습니다.헌데 여기포함되어있는 ad-isppro(isp케이블)과 se-3t9(시리얼케이블)중 보드에 다운을받을수있는케이블은 isp케이블인가요?그럼 시리얼케이블의 용도는 어떤것인지 궁금합니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
생초보는 부끄러운 게 아닙니다. 오히려, 생초보로 시작한다는 것이 자랑스러운 일이지요.
ISP는 In System Programming의 약자로 프로그래밍 하는 툴입니다.
그리고, 시리얼 케이블은 MCU에서 데이터를 출력해서 디버깅하거나,
값을 보는 용도, 또한 시리얼 LCD 등을 구동하여 LCD로 글자를 보는 등으로 쓰입니다.
수고하세요.
>
>
> kd128pro보드를 주문해서 받았습니다.헌데 여기포함되어있는 ad-isppro(isp케이블)과 se-3t9(시리얼케이블)중 보드에 다운을받을수있는케이블은 isp케이블인가요?그럼 시리얼케이블의 용도는 어떤것인지 궁금합니다.
>
|
||||
