로그인 | 회원가입 | 주문 조회
Q
[WINAVR 공짜 컴파일러 관련]
일반 ▼
A [WINAVR 공짜 컴파일러 관련]
WINAVR + AVR Studio 이렇게 프로그램 두 개를 깔아야 합니다.
WINAVR은 컴파일러이고, AVR Studio는 사용하기기 좀 더 편하도록 되어 있어서, AVR Studio를 편집기로 쓰고 하면 서로 링크되도록 되어 있습니다.

- 다운로드 링크 -
http://winavr.sourceforge.net/download.html

- 예제 -
자료실->기존자료실 에서 winavr 로 찾기 하세요.

감사합니다.
Q
WINDOWS XP에서 USBISP 드라이버 설치가 잘 안될 때,
일반 ▼
A WINDOWS XP SP3 환경에서 거의 이런 일은 발생하지 않지만, 파일이 카피되지 않는다는 메시지 등이 나오면서, 설치가 실패할 때, 아래와 같이 하여 드라이버 설치에 성공하였습니다.

- 아래 -
첨부된 압축을 풀면, 3개의 파일이 나옵니다.

Windows>System32> drivers 폴더에
silabenm.sys와 silabser.sys 를 카피해 넣고,
Windows>System32> 폴더에
WdfCoInstaller01009.dll 를 카피해 넣고, 드라이버 설정을 다시 하면, 잘 됩니다.

감사합니다.
Q
다운로드가 되었는 데, ISP 케이블을 빼면 동작이 안될때
일반 ▼
A 이 경우는 대부분 접지 문제입니다.
PC의 멀티탭과 SMPS나 아답타를 꽂은 멀티탭 두가지 모두 접지 형으로 바꿔서 해 주시면, 해결됩니다. 접지가 불안하게 되면, safe ground가 되지 않아서, 붕 떠 있는 상태가 되고, 보드가 불안정한 상태가 됩니다.

따라서, 이 경우, 오래 지속될 경우 보드가 망가질 수도 있으니, 반드시 접지형 멀티탭을 사용하시기 바랍니다. 때로는 오래전에 지어진 집이나 심지어 아파트의 경우에도 safe ground가 제대로 되지 않은 건물들이 있을 수 있습니다. 이런 경우는 safe ground 공사를 의뢰 하여 안전하게 사용하시는 것이 좋습니다.

컴퓨터에서 가끔 찌릿찌릿하다거나 하면 의심해 보셔야 합니다. 이 경우는 심한 경우니까요.

수고하세요.
Q
Windows XP 서비스팩 3 에서 USBISP 드라이버 설치방법
일반 ▼
A Windows XP 서비스팩 3 에서 USBISP 드라이버 설치시 호환성 에러가 나서, 안되는 경우에 아래와 같이 해보세요.

첨부해 드린 CP2103_WINXP_SP3.zip을 풀면, an144 폴더와 CP210x_VCP_Win2K_XP_S2K3.exe가 나옵니다.

다른 컴퓨터에 깔린 XP에서 PID를 바꾸신 후 사용하시는 XP SP3에서 첨부해 드리는 드라이버 깔아서 진행하시면 됩니다.

1. 우선, 첨부된 an144sw.zip을 사용하여 PID를 0xEA60으로 변경하여야 합니다. ==> 반드시 다른 컴퓨터 XP에서 하세요. 변경할 때 첨부해 드린 USB에 USBISP를 꽂은 상태에서 변경하시려는 PID 쪽에만 0xEA60으로 변경하여 프로그램 하시면 됩니다. 이 때, 그 XP PC에는 XP용 USBISP ver3 용 드라이버가 깔려 있어야 가능합니다.

2. 첨부해 드린 윈XP SP3용 드라이버를 사용하시려는 XP가 깔린 곳에 깔아서 쓰시면 됩니다.

이렇게 되는 이유는 아래와 같습니다. 윈도우즈 XP SP3 에서 현재 WHQL Qualified driver를 사용해야 해서, USB 칩 제조사인 silabs 사의 정식 드라이버를 사용하면 사용이 가능합니다. 따라서, PID를 원래 칩 제조시에 되어 있는 0xEA60으로 변경해야 silabs 원래 드라이버를 잡기 때문에 그렇게 해야 합니다. 참고로 현재 양상이 모든 SP3에서 그런 것 같지는 않습니다.

그런 이후에, AVR Studio 깔고, ICCAVR 깔고 하시면 됩니다. 나머지는 FAQ의 USBISP 사용법 메뉴얼과 사용법은 같습니다. AVR Studio 설치시에 V4.17 이상을 추천합니다.

*PID 변경시 주의 하시길 바랍니다. 잘못된 PID 를 기입하시면 그칩을 사용할 수 없습니다.

감사합니다.
Q
[소스] 자이로센서의 각도 구하는 방법
일반 ▼
A 안녕하세요?

( 소스의 목적)
아래소스는 3.3V 기준 전압으로 0~3.3V 사이를 AD하여 계산하는 자이로센서로 각도 구하는 소스입니다. 5V 기준 전압시는 아래 소스 설명을 참고하여, 수정하여 사용하세요.

( 소스 설명 )
1. AVR adc 전압 스케일이 3.3 볼트 일때 vref(계산을 위해 mV 로변경)기준으로 계산합니다.
- 1024는 adc의 1024단계의 분해능을 의미
- 3300mV adc의 vref인 3.3V를 의미함

2. 1024 분해능에서 1 변동할때의 전압값(Vref = 3.3V) : 3300mV / 1024 = 3.22265625mV
* 참고적으로 1024 분해능에서 1 변동할때의 전압값(Vref = 5V)
( 0~5V 사이를 AD 하고, 실제로는 0~3.3V를 사용하므로, 분해능의 단계수를 다시 계산해야합니다. 즉, 3.3/(5/1024) = 675.84 단계 약 676 값이 3.3 볼트입니다. 0~3.3V의 값을 보려면, 0~676의 값으로 계산하면 됩니다.
1024 분해능에서 1 변동할때의 전압값(Vref = 5V) : 3300mV / 676 = 4.8816568mV
)

3. 감도(Sensitivity) 값 관련
AM-GYRO V01 ( 즉, IDG300)의 감도(Sensitivity) 2mV/degree/sec
AM-GYRO V02 (즉, IDG650)의 감도(Sensitivity) 0.5mV/degree/sec

4. 최종적인 각도 계산을 위한 Scale Vector 값 관련

AM-GYRO V01 ( 즉, IDG300) 이용시,
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 3.3V) :
3.22265625 mV / ( 2mV/degree/sec) = 1.611328125 degree/sec
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 5V) :
4.8816568mV / ( 2mV/degree/sec) = 2.4408284 degree/sec

AM-GYRO V02 ( 즉, IDG650) 이용시,
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 3.3V) :
3.22265625 mV / ( 0.5mV/degree/sec) = 6.4453125 degree/sec
- 1024 분해능에서 1 변동할때의 각속도 값(Vref = 5V) :
4.8816568mV / ( 0.5mV/degree/sec) = 9.7533136 degree/sec

5. 즉, 정리하여 보면, 각속도 구하는 기본식은
( 각속도 초기 adc값 - 센서 회전된 adc 값 ) * scale vector
여기서 adc 샘플링 시간을 누적시키면 각도가 됩니다.(적분)
adc 샘플링 주기가 예로 0.01초이면
degree += (( 각속도 초기 adc값 - 센서 회전된 adc 값 ) * scale vector ) * 0.01sec

수고하세요~


- 아래 -
#include
#include
#include

#define SCALE_FACTOR 1.611328125
#define TIME 0.01
#define OFF_SET 458
//590.5611

int value = 0;
float value_sum = 0;
float offset;
float angular_acceleration[50];
float angular_average = 0;
float before_angle = 0;
float after_angle = 0;
float angle_factor = 0;
char adc_flag = 0;
char time_flag = 0;

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 = 0x03;
}

//TIMER0 initialize - prescale:64
// WGM: Normal
// desired value: 1KHz
// actual value: 1.000KHz (0.0%)
void timer0_init(void)
{
TCCR0 = 0x00; //stop
ASSR = 0x00; //set async mode
TCNT0 = 0x06; //set count
OCR0 = 0xFA;
TCCR0 = 0x04; //start timer
}

#pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF
void timer0_ovf_isr(void)
{
TCNT0 = 0x06; //reload counter value
PORTG ^= 1;
ADCSRA |= 0x40;
}
//TIMER1 initialize - prescale:8
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 100Hz
// actual value: 100.000Hz (0.0%)
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0xB1; //setup
TCNT1L = 0xE0;
OCR1AH = 0x4E;
OCR1AL = 0x20;
OCR1BH = 0x4E;
OCR1BL = 0x20;
OCR1CH = 0x4E;
OCR1CL = 0x20;
ICR1H = 0x4E;
ICR1L = 0x20;
TCCR1A = 0x00;
//TCCR1B = 0x02; //start Timer
}

#pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
void timer1_ovf_isr(void)
{
//TIMER1 has overflowed
TCNT1H = 0xB1; //reload counter high value
TCNT1L = 0xE0; //reload counter low value

//PORTG ^= 2;

time_flag = 1;
}

//UART0 initialize
// desired baud rate: 115200
// actual: baud rate:111111 (3.7%)
// char size: 8 bit
// parity: Disabled
void uart0_init(void)
{
UCSR0B = 0x00; //disable while setting baud rate
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x08; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0x18;
}

// printf ?
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;
}

//ADC initialize
// Conversion time: 104uS
void adc_init(void)
{
ADCSRA = 0x00; //disable adc
ADMUX = 0x00; //select adc input 0
ACSR = 0x80;
ADCSRA = 0x8F;
}

#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr( void )
{
//conversion complete, read value (int) using...
value = ADCL; //Read 8 low bits first (important)
value |= ( int )ADCH =1 )
TCCR0 = 0x00; //stop
//printf( "\\r\\n ADC = %d", value );
}


//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();
adc_init();
timer0_init();
timer1_init();


MCUCR = 0x00;
EICRA = 0x00; //extended ext ints
EICRB = 0x00; //extended ext ints
EIMSK = 0x00;
TIMSK = 0x01; //timer interrupt sources
TIMSK = 0x04; //timer interrupt sources
TIMSK = 0x05; //timer interrupt sources
ETIMSK = 0x00; //extended timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}

void delay ( unsigned int cnt )
{
unsigned int i,j;

for( i=0 ; i< cnt ; i++ )
for( j=0 ; j< 1000 ; j++ );
}

void main (void)
{
int i;
int temp;
init_devices();

printf( "\\r\\n GYRO..QQ");
printf( "\\r\\n ADCSRA = 0x%x", ADCSRA );
printf( "\\r\\n ADMUX = 0x%x", ADMUX );
printf( "\\r\\n ACSR = 0x%x", ACSR );

delay( 1000 );

for( i=0 ; i
Q
[팁] AVR로 로드셀 센서 사용하여 무게 측정하기입니다.
일반 ▼
A [팁] AVR로 로드셀 센서 사용하여 무게 측정하기입니다.

보통 로드셀 센서의 오차율은 0.01% 정도라고 합니다. 정확한 것은 로드셀마다 다르니까 로드셀 사양서나 데이터 시트에 보면 있구요.

우선, 입력(+)와 입력(-) 사이에 10V(추천전압)를 넣으시면, 출력(+)와 출력(-)에 0~20mV 정도가 나올겁니다. 접지선은 어스나, 판넬, 샤시,케이블 등에 실드하시면 되구요. 가능하다면, 절대 접지선을 입력(-)와 연결하지 않으시는 것이 좋겠습니다. 왜냐하면, 실제 외부 환경에서는 노이즈를 많이 타기 때문이지요.

원리는 휘트스톤 브릿지 계산법을 잘 찾아 보시면 잘 나와 있구요. G=0이어야 하는 데, 0이 되지 않고, 뒤틀림에 의해 미세한 전압이 발생하는 데, 그 정도를 측정하는 겁니다.

그 출력 전압인 0~20mV를 OP-AMP 등으로 증폭하셔서 0~5V로 만드시구요.
증폭기 등은 판매하는 것들도 있긴 하던데, 첨부하신 데이터 시트 상의 회사도 앰프를 판매하고 있고, 일본의 UNIPULSE( http://www.unipulse.com )라는 회사가 유명하더군요. 하지만, 증폭기를 외부에 달지 않고도 가능합니다.

AVR에 보면 200배 엠프를 써서 ADC 받는 채널이 있는 데, 그 채널로 입력 받으시면 되겠습니다.

정밀하게 하시고 싶으면, 앰프를 직접 제작하셔도 되겠구요. 증폭하신 그것을 AVR의 ADC로 넣어 주셔도 될 것 같습니다. 추천해 드린 센서의 범위가 0~150kg 까지인데, 리니어하게 0~20mV 정도로 나올겁니다. 센서마다 조금씩은 값이 달라지므로, 센서를 다른 걸로 바꾸실 때 마다 다시 켈리브레이션은 하셔야 할 겁니다.

그리고, 캘리브레이션 하실 때는 예를 들어 100kg짜리를 달아서 보면 10mV라거 한다면, 50kg을 달아서 보면 5mV가 나올겁니다. 리니어하게 나오는 정도를 보시고, 그대로 쓰시면 될 것 같습니다.

또한, 상판을 올려 놓으실 경우, 상판까지 포함해서 영점으로 잡고 계산하셔야 할 것 같습니다.

도움 되시길 바랍니다.
감사합니다.

Q
[AVR 소스 관련] 포트(GPIO) I/O 제어쉽게 하는 법
일반 ▼
A 안녕하세요?

8051 등에서는 비트별로 제어하는 함수들이 있었는 데 AVR에서는 그런 함수들이 잘 없어서,
불편해 하시는 분들을 많이 보았습니다.
예를 들어서, 8051에서는 P1.0 = 1; 이렇게 하면 포트 1의 0번 비트를 1로 쓸 수 있었지요.
무척 편리했습니다.

그런데, 그렇게 하면 헥사 코드가 커지게 되어서, ICCAVR에서는 그러한 함수가 없습니다.
자체적으로 제작하여 사용해야 하지요. 그래서, 아래와 같이 만들어서 쓰곤 합니다.

아래는 비트 제어 하는 입출력 관련 정의입니다.
함수로 만들어도 쓰지만, 아래와 같이 define문으로 만들어 쓰면 편리하고 빠릅니다.
함수로 들어가지 않아도 되니까요. 함수로 들어가는 시간이 절약 되겠지요.

참고 하시길 바랍니다.

- 아래 1-
#define sbi(port, bit) (port) |= (1
Q
(소스) 숫자를 스트링으로 변환하는 방법
일반 ▼
A #include

int i;

//방법 1

itoa(buff, i, 10); // 숫자를 스트링으로 변환한다.
printf("%s\\r\\n",buff); // 바꾼 데이터를 시리얼로 확인한다.
writelcd(0,0,buff); // 바꾼 데이터를 lcd에 뿌리는 예


// 방법 2
sprintf(buff,"%d",i); // 숫자를 스트링으로 변환한다.
printf("%s\\r\\n",buff); // 바꾼 데이터를 시리얼로 확인한다.
writelcd(0,0,buff); // 바꾼 데이터를 lcd에 뿌리는 예

Q
Windows7 32비트 에서 USBISP V03 드라이버 설치법
일반 ▼
A 안녕하세요? 고객님,

자료실에서 V03용 WINDOWS7 드라이버를 받아서, 설치하는 방법입니다.
아래 드라이버를 받아서, 설치하기만 하면 됩니다.
- 아래 -
http://www.newtc.co.kr/download/AD-USBISP/USBISPV03_For_Win7.zip

그런 이후에, AVR Studio 깔고, ICCAVR 깔고 하시면 됩니다. 나머지는 FAQ의 USBISP 사용법 메뉴얼과 사용법은 같습니다. AVR Studio 설치시에 V4.17 이상을 추천합니다.

감사합니다.

Q
USBISP 드라이버는 어디서 얻나요?
일반 ▼
A 안녕하세요? AD-USBISP V03, V02용과 V01용 드라이버입니다.

구분하는 법 :
USBISP의 PCB에 보시면,
- AD-USBISP V03이라고 표시된 것은 V03 이구요.
- AD-USBISP V02라고 표시된 것은 V02 이구요.
- AD-USBISP 라고 표시된 것은 V01입니다.


===USBISP V03용 드라이버====
첨부하였습니다.


====USBISP V02용 드라이버====
==> XP , Win2000, ME, 98용 드라이버
http://www.newtc.co.kr/download/AD-USBISP/AD-USBISP_V02_XP2KME98.zip 또는
http://www.prolific.com.tw/support/files//IO%20Cable/PL-2303HX/Drivers/Generic/PL2303_XP2KME98Driver_Setup.zip
==> VISTA용 드라이버
http://www.newtc.co.kr/download/AD-USBISP/AD-USBISP_V02_Vista.zip

====USBISP V01용 ====
==> XP, WIN2000, VISTA 드라이버
http://www.newtc.co.kr/download/AD-USBISP/CDM_2.02.04.exe 또는
http://www.ftdichip.com/Drivers/CDM/CDM%202.04.06%20WHQL%20Certified.zip
==> ME, 98 드라이버
http://www.ftdichip.com/Drivers/D2XX/Win98/D30104.zip

감사합니다.
Q
[AVR 초보입니다. 무엇을 어떻게 공부해야 하나요?]
일반 ▼
A 안녕하세요?

우선은 저희 (주)뉴티씨(NEWTC)의 제품 중 AVR 제품의 공부 방법을 소개해 드리죠.
마이크로 프로세서 다루는 게 처음이시거나, AVR 관련해서 기초가 잘 안되어 있으시다면,
아래의 AVR 동영상 강좌를 먼저 보시기를 권해 드립니다. 초보들을 위해서, 잘 만들어진 강좌라, 도움이 될 것 같습니다.

- 아래 -
http://www.newtc.co.kr/lecture_kci.php

그건 너무 쉽다고 생각되시면, 아래의 초초보 강좌를 참고하세요. 초초보 강좌에서 쓰는 AVR 보드인 KD-128PRO보드의 회로도 강좌도 보고 하세요.

- 초초보 강좌 -
첨부한 KD-128Pro를 이용한 ATMEGA128 초초보 강좌를 참고하세요.
- 초초보 AVR 회로도 강좌-
첨부한 KD-128PRO 회로도 강좌를 참고하시면 됩니다.

그리고, 또한 AVR 강좌에는 다른 강좌들도 많이 있습니다.
기본 강좌나, 초보강좌 등입니다.
그리고, AVR 소스 자료실에 가서, 여러가지 소스들을 다운로드 받아서, 사용해 보면서, 공부하세요.
전자공학 기초가 부족하신 분들은 강좌->전자공학 강좌에서 부족한 부분을 받아서 보세요.

수고하세요.
Q
[ ICCAVR V7 컴파일러 다운로드 하기 ]
일반 ▼
A [ ICCAVR V7 컴파일러 다운로드 하기 ]

ICCAVR V7 컴파일러를 판매 중인 본사는 아래와 같이 데모버전의 다운로드 링크를 개방합니다.

이 데모 버전은 45일간은 무료로 100% 풀버전 이용이 가능합니다. 그 이후로는 4kB이내로 헥사 생성이 제한됩니다.

하지만, 4kB 면 왠만한 예제는 다 돌아갑니다. 더 필요하신 분은 ICCAVR V7 16kB 버전의 제품을 77,000원(부가세포함)에 판매중이니, 구매하여 사용하시면 됩니다.

- 다운로드 링크 -
http://www.newtc.co.kr/download/SW/iccv7avr_demo.exe

또한, 아래의 온라인 헬프에서는 iCCAVR 사용시 각종 함수 및 문법 등을 찾아볼 수 있습니다.
- 온라인 HELP -
http://www.dragonsgate.net/pub/help/iccavr/wwhelp/wwhimpl/js/html/wwhelp.htm

수고하세요.
Q
질문시 유의사항
일반 ▼
A 안녕하세요? 저희 (주)뉴티씨(NEWTC) 제품에 관한 질문시 유의사항입니다.

저희 Q&A 게시판은 저희 뉴티씨 제품을 사용하시는 분들을 위한 질문과 답변을 해 드리는 게시판입니다.

따라서, 질문하실 내용은 저희 회사 제품과 관련된 사안만 답변이 가능합니다.
모든 분들에게 모든 질문에 답을 해드리면 좋겠지만, 시간이 너무 많이 소요되어, 저희 고객분들에게만 질문에 답을 해 드릴 수 있을 것 같습니다. 양해 바랍니다.

또한, 질문시 최소한의 예의를 부탁드립니다.
- 지켜주실 유의사항 -
예를 들어서, 사용타겟보드명, 사용 컴파일러 및 버전, 에러 메시지의 캡쳐 또는 적어 주시고, 본명을 사용하여 주시고, 예제 소스외의 소스 관련 질문은 받지 않고 있습니다. 그리고, 최소한 고민한 흔적은 조금이라도 보여 주셔야 합니다. 전혀 노력하지 않으시고, 무작정 질문만 한다고 해결되진 않기 때문입니다.

반드시 본명으로 질문하여 주세요. 익명으로 질문하게 되면, 답변이 되지 않을 수도 있습니다.

간혹, 아무리 급하셔도 위의 내용은 전혀 없고, 그냥 안되니까 해결책을 달라는 식의 질문이 있는 데, 답을 해드리고 싶어도 무슨 일인지 알 수가 없어서 답을 할 수가 없어 답답할 때가 많습니다. 최소한 상대방에게 질문을 할 때는 위의 유의 사항을 지켜주시기 바랍니다.

이상의 내용만 지켜 주시면, 언제든 질문은 환영이고, 늘 최선을 다하여 답변 드리겠습니다.
감사합니다.
Q
[팁] USBISP 사용법
일반 ▼
A [팁] USBISP V03사용법입니다.
드라이버 설치부터, AVR Studio, ICCAVR, Codevision에서의 USBISP 사용법이 잘 나와 있습니다.
처음 할 때는 무엇이든 어렵죠. 이 사용법으로 USBISP로 다운로드하기에 성공해보세요~
참고 바랍니다.
Q
[ICCAVR에서 USBISP로 퓨즈 바꾸기]
일반 ▼
A ICCAVR에서 USBISP로 퓨즈 바꾸기
아래를 긁어서 iccavr의 In System Programming에서
Additional stk500.exe command line arguments에다가
아래를 써 주시면, 퓨즈를 0xffd9ef 와 같이 라이트 할 것입니다.
- 아래 -
-dATmega128 -fD9EF -FD9EF -EFF -GFF

감사합니다.
Q
ISP에서 다운로드시 Cannot program......error가 납니다.
일반 ▼
A 안녕하세요? 고객님,
저희 (주)뉴티씨(NEWTC) 제품을 이용하여 주셔서 감사합니다.

본 에러의 이유는 여러가지 이유가 있을 수 있습니다.
아래는 점검 사항입니다.

- 아래 -

1. AD-ISPPRO와 같은 프린터 포트용을 사용하시는 경우

컴퓨터 껏다 켜면서 DEL키 눌러서 보통 들어가는 CMOS setup에서
Pheripheral 쪽에서 printer 포트를 0x378번지, LPT1, ECP, 인터럽트 IRQ7으로
잡으셔야 합니다.


2. AD-ISPPRO 또는 USBISP를 쓰실 경우 1
혹시 보드전원은 공급하고 계신지 확인해 보세요.

3. AD-ISPPRO 또는 USBISP를 쓰실 경우 2
ISP 커넥터를 보드에 꽂았는 지 확인해 보세요.

4. AD-ISPPRO 또는 USBISP를 쓰실 경우 3
혹시 ISP와 보드가 서로 타회사 제품이라면 핀 연결이 잘못되지 않았는 지,
핀 배치를 확인해 보세요. 제대로 확인하셨다고 하는 데, 여기 와서 보면, 반대면
으로 꽂는 경우가 간혹 있습니다. 또한, 10핀 헤더 방식의 ISP 커넥터를 쓰실
경우, 헤더를 거꾸로 꼽아서 판매하는 회사도 보았습니다. 연결하시고 나서,
눈으로만 보지 마시고, 테스터로 핀을 꼭꼭 찍어서 꼭 확인해 보세요.

5. AD-ISPPRO 또는 USBISP를 쓰실 경우 4

보통 고객님같은 증상을 보이는 경우 결론적으로는 MCU가 망가진 경우가
대부분입니다. 이유는 여러가지가 있습니다만, 외부 포트에 과한 전류를 흐르게
하는 쪽보드를 연결하였거나, 전원을 켠채로 포트를 뽑았다 연결했다 했거나,
보드에 전원을 넣은 채로 땜을 하거나 해서 벌어집니다. 때로는 실수로, 쇼트를
시키기도 하죠.

많이 벌어졌던 경우 중 하나는 밧데리를 사용하셨던 경우였는 데, 1.2V 짜리
4개를 연결해서 쓰시다가 전압이 떨어지는 데, 동작을 계속 시키다가 MCU가
망가지는 경우입니다.

어떤 분은 밧데리 전압을 5개 쓰는 데, 6V 정도 되다 보니 과전압이 걸려서
MCU를 망가뜨리시는 경우도 있더군요. 밧데리를 쓰실 경우, 반드시 7805같은
레귤레이터를 거쳐서 쓰시는 것이 좋습니다.


망가지신 경우 본사 AS 규정에 의해 AS가 가능합니다.
FAQ의 AS 규정을 보시고, 처리 받으시기 바랍니다.
감사합니다.
Q
자료실 다운로드가 잘 안되네요?
일반 ▼
A 안녕하세요? 고객님,

자료실이나 Q&A에서 파일 다운로드가 잘 안되시면, 아래를 체크해 보세요.


Windows XP에서는
익스플로러에서 도구-인터넷옵션-고급->국제
UTF-8 보내기에 있는 체크를 해제 하시고, 적용, 확인 하시면 됩니다.
간혹, 그래도 안 되시면 프록시나 HTTP1.1 관련 된 부분도 체크 해 보시구요.
바이러스 프로그램에서 등록 안되어 있으면 안되는 경우도 있으니, 백신을 내리거나, 신뢰 구역에 넣어 주시면 될 수도 있습니다.

수고하세요.
Q
가속도 센서와 자이로(각속도) 센서의 차이는 무엇인가요?
일반 ▼
A 가속도 센서와 자이로 센서는 분명히 차이가 있습니다.

쉽게 말하자면, 가속도 센서는 X, Y,Z 축 각각의 가속도와 각 방향으로 기울어짐을
나타내구요. 자이로 센서는 센서가 몇 도 돌아갔는 지를 나타냅니다.

가속도 센서에서는,
가속도 = 정적 가속도 + 동적 가속도
와 같이 수식으로 표현될 수 있습니다.
여기서, 정적 가속도는 각 축의 기울어짐에 대한 중력 가속도로 흔히 표현됩니다.

자이로 센서는,
0도 방향을 설정해 주면, 그 방향으로부터 몇도나 돌아갔는 지 현재의 방향을 알아 낼 수 있습니다. 다만, 처음에는 지도상의 0도 방향이 어디인지 정해줘야 하죠. 즉, 지도상에서 쓰려면 북쪽이 어디인지 알아야 쓸 수 있습니다. 이걸 알려면, 또한 지자기센서를 사용하여 알아내거나,
GPS 등으로 북쪽이 어느방향인지 한 번은 매칭한 뒤, 그 방향을 0도로 놓고 써야 겠습니다.
자이로 센서는 특히, 계속 돌다 보면, 영점을 잃어 버리게 되어, 오차가 많이 생기게 되는 데,
지자기 센서로 이 방향 오차를 잡아 주는 것이 좋습니다.

즉, 물체의 이동 경로를 표시하려면, 우선 시작점 위치를 찍은 후에, 자이로 센서로 방향을 가속도 센서로 가속도값을 얻어서 두번 적분하여, 거리를 알아내고 하여 현재의 위치를 알아내어 표시하면 됩니다.

본 사에서는 3축 가속도 센서 모듈을 판매하고 있습니다. 본 가속도 센서로는
하드디스크나 랩탑 PC의 자유낙하 검출, 핸드폰 모션 다이얼링, 모션 센싱, PDA의 텍스트 스크롤, 네비게이션에서 G센서 틸트(기울어짐) 보상, 게임기에서 기울어짐과 모션 센싱, 로봇의 모션 센싱 등에 사용하실 것을 권고합니다.
감사합니다.
Q
예제 소스는 어디 있나요?
일반 ▼
A 저희 (주)뉴티씨(NEWTC) 제품을 이용해 주셔서 감사드립니다.

1. 예제 소스는 자료실에 보면 각각 예제 소스가 있구요.
2. 또한, 예제 소스는 자료실-->기존 자료실에서 소스 라고 검색하셔도 좀 더 많은 소스를 다운 받으실 수 있습니다. 관련된 강좌는 강좌-->AVR강좌를 참고하세요.
3. 네이버 까페 자료실에서도 많은 자료들을 만나실 수 있습니다.
(http://cafe.naver.com/NewTC) 가입하여 많은 자료 다운로드 받으시기 바랍니다.

감사합니다.