로그인 | 회원가입 | 주문 조회
Q
교환/환불 규정 안내
기타 ▼
A 안녕하세요? 고객님, 
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 

고객님께서 교환/환불 을 원하시는 경우, 제품을 수령하신 후 7일내에 신청을 해주셔야 원활한 처리가 가능합니다.
 
수령이후 1달이내에는 품질보증기간으로써 무상 A/S를 진행하고 있으니 제품에 이상이 있다고 판단되시면 언제든지 연락 부탁드리겠습니다.

교환/환불 신청시에는 구매를 증명할 영수증 또는 구매내역 사진(스크린샷)이 필요하며, A/S신청 게시판에 해당 사진을 첨부하여 올려주시면 신속히 처리해 드리겠습니다.
 
감사합니다.
Q
배송 기간 안내
기타 ▼
A 안녕하세요? 고객님, 
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 

저희 뉴티씨는 실물 상품과 소프트웨어 상품의 배송기간에 차이가 있어 안내 드립니다.

실물상품(키트상품 제외)의 경우, 1~3일 내에 출고되어 CJ대한통운으로 발송되며, 택배사 사정에 따라 1~2일 뒤 고객님께 도착하게 됩니다.

소프트웨어 상품의 경우, 해당 소프트웨어 본사에 저희가 직접 라이센스key를 요청하고 회신받는 기간이 1~2주 정도 시간이 소요 되게 됩니다. 라이센스key는 발급 직후 고객님이 요청하신 메일로 발송 됩니다.

감사합니다.
Q
CortexM3 컴파일환경 제거 및 재설치 방법
기타 ▼
A 안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 
 
CortexM3 컴파일환경 제거 및 재설치 방법입니다.
 
- 제거법 - 우선, 삭제하려면, 프로그램 제거 또는 변경에서 GNU Tools for ARM Embedded Processors를 제거하시고, 압축풀어서 놔두신 이클립스 폴더를 지워주세요. 또한, 문서 밑의 C:\Users\사용자ID\Documents\ARM-workspace\에서 ARM-workspace라는 폴더를 삭제해 주세요. 
 
 
- 설치법 -1. ARM GNU Tool chain 설치 https://launchpad.net/gcc-arm-embedded 에서 gcc-arm-non...6-win32.exe를 다운로드 받아서 설치하세요. 2. Build Tools 설치 http://sourceforge.net/projects/gnuarmeclipse/files/Build%20Tools/Build-Tools-w32-20141202154847-setup.exe/download 에서 다운로드 받은 후에 설치하세요. 3.  Eclipse IDE의 다운로드 및 설치 https://eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunasr2 에서 OS에 맞게 다운로드 받으신 후에, 압축을 풀어서 적절한 곳에 풀어줍니다. 참고로 개인적으로는 c:\eclipse 에 설치합니다. 4.JAVA가 설치되어야 하므로, JAVA를 설치해 줍니다. http://www.java.com/ko/download/manual.jsp 5.OpenOCD 실행파일을 다운로드하여 적절한 곳에 압축을 풉니다. http://www.newtc.co.kr/dpshop/bbs/board.php?bo_table=m42&wr_id=26 단, 위의 모든 곳에 한글이 폴더명에 포함되면 안됩니다. 감사합니다. 
Q
"area 'data' not large enough " 에러가 날때
기타 ▼
A 다음과 같은 에러가 나죠?이 때에는,다음과 같이 Project--> Options에서체크해 주면 됩니다.
Q
JTAG을 쓸 때 ATMEGA128에서 퓨즈 설정 법
기타 ▼
A JTAG을 쓸 때 AVR Studio V4.xx를 사용한 ATMEGA128에서 퓨즈 설정 법입니다.
Q
USB to Serial 포트가 마우스로 잡힐 때,
기타 ▼
A 안녕하세요? GPS 등을 USB to Serial  포트 등을 통해서, 연결했을 때에나,3축 가속도 센서 등을 이용한 마우스 등을 사용할 때에,USB to Serial  포트로 들어오는 데이터를 바로 볼포인트 시리얼 마우스로 인식해서,마우스가 맘대로 움직일 때가 있습니다.그럴 때, 첨부한 그림과 같이 Microsoft Serial BallPoint 마우스로 잡히는 경우가 있습니다.이것을 마우스로 왼쪽 클릭하여 선택한 후, 다시 오른쪽 클릭하여 사용안함으로 바꿔 주셔야 합니다.그럼, 잘 될겁니다.
Q
GPS에 관하여
기타 ▼
A 1. 설명 GPS는 민간용으로 제작된 것들이 시중에 판매되고 있는 것입니다.원래 100m 정도의 오차율을 가지고 설계된 위치 판단용 위성수신장입니다.따라서, 아무런 보정 없이 사용하면, 100m 정도의 오차는 날수 있습니다.90년대 초반에 시판되기 시작한 GPS는 최초에는 수신장비도 셋탑 2개 정도의 크기로 크고, 계산도 많이 해줘야 했습니다.  위성 갯수도 3-4개밖에 안잡히고 그랬죠.  당시에 프로그램은 주로 C를 이용하여 DOS에서 비트 프로그래밍 형태로 제작이 되었고, 수신 안테나도 감도가 떨어져서, 매우 큰 것이 필요했습니다.최근에는 본사에서 판매중인 GPS 모듈등과 같이 크기도 매우 작아지고,수신율도 좋아져서, 많이 소형화되고 안정되었습니다.하지만, 처음 판매되고 나서 최초에 사용시에 전원을 넣고 GPS 수신이 가능한 장소에서  1시간 정도는 켜 놓은 이후에 사용하는 것이 좋습니다.그렇지 않으면, 테스트 당시에 있던 데이터가 남아서, 그 위치로 나올 가능성이 있고, 오차율도 줄어들지 않아서, 크게 차이가 날 수 있습니다.한 번 제대로 데이터를 잡게 되면, 그 이후로는 1분 ~ 5분 이내에 빠르게 잡힙니다. 수초~ 수십초 등으로 좀 더 빠르게 잡으려면, 슈퍼커패시터나 소형 전지등을 내장하면 좋습니다만, 비용 관계 문제로 일반 모듈들은 내장하지 않는 경우가 많습니다.본사의 GPS 모듈은 이 부분이 내장되어 있고 빠른 TTFF 기능이 내장되어, Open된 탁 트인 하늘을 가진 곳에서는 HOT Start 1초, WARM 및Cold Start 29초 이내입니다.또한, LNA와 SAW 필터 및 패치 안테나 등을 내장하고 있어서, 외부에서5m 정도의 위치 오차율로 수정될수 있도록 되어 있습니다만, 이론적이며, 실제로는 20-30m 정도 될 겁니다. 2. 위치 보정 방법2.1 DGPS를 사용하는 방법DGPS와 같이 Differential GPS로, 아는 위치에 GPS 서버 한대를 설치해 놓고, 그 좌표를 수정한 오차 값을 매번 확인한 후, 사용자가 쓰는 GPS가 있는 곳에서는 이 DGPS 서버에서 오차값을 받아와서, 사용자GPS의 데이터 값과 빼거나 더해서 보정하는 방법이 가장 널리 쓰이는 방법입니다.이것은 통신 수단이 있어야 가능하다는 단점이 있습니다.2.2 네비게이션과 같이 길이 있는 위치를 아는 경우길을 벗어나서 차가 달릴 수는 없는 것이고, 큰 길에서 곁길로 갑자기 벗어날 수없는 것이므로, 이러한 것들을 활용하여, 현재 위치를 고수하면서, 선을 따라가는 방식으로 위치를 보정합니다.맵 데이터를 활용하여 위치를 보정하는 방법으로 이는 통신 수단이별도로 없어도 된다는 장점이 있습니다.USB to Serial을 사용하는 GPSSUIT + GPS 이렇게 PC와 연결하면, PC에서 USB to Serial로 인식하여야 하는 데, 시리얼 마우스로 인식하는 경우가 간혹 발생합니다.반드시 usb to Serial로 인식하여 데이터로 인식하도록 해야 합니다.우선, GPSSUIT만 꽂고 드라이버를 제거한 후, 드라이버를 재설치해주고, 드라이버가 제대로 설치되었는 지 확인 후에 GPS를 꽂아써야 하겠습니다.본사 gps 를 설치한 pc중 일부가 마우스처럼 막 이상하게 동작할수있는데 이를 해결하는 방법입니다.구체적인 방법을 다시 정리해드리죠.1. 우선 gpssuit를 꽂고 장치관리자에서 포트 쪽에 usb serial port(com3) 이런식으로 드라이버가 잘 잡히는지 확인합니다.2. GPS를 gpssuit에 꽂습니다. 이때 마우스가 이상동작을 시작할겁니다. 우선gps를 gpssuit에서 조심스레 뺍니다.장치관리자의 마우스 쪽에보면 시리얼마우스 라고 잡혔을겁니다.3. 시리얼마우스를 오른쪽 클릭해서 사용안함으로 바꾸고 삭제합니다.4. Gps를 다시 연결해 사용합니다.    이제 정상일겁니다.참고하세요.  
Q
3축 가속도 센서[AM-3AXIS-P V03 관련] 초기화 및 계산공식
기타 ▼
A 모듈을 일단, 수평하게 두면,첨부한 그림에서 빨갛게 표시한 것처럼, 값이 나오게 됩니다.즉, X, Y는 0g에 Z는 +1g가 나옵니다. 전압 값에의해 판별할수 있습니다.이때, Self Test 핀을 1에 연결하면, Table3에서 말한 것처럼,현재값보다 그 정도 높거나 낮은 값이 나옵니다.우선, 거기에 나온 범위 내에있다면, 칩은 이상이 없다고 보면 됩니다.그런 다음, 칩이 이상이 없다면, 다시 Self Test 핀을 0으로 놓고,현재 놓은 위치에서 예상되는 값과의 차이를 본 다음, 그 값만큼 빼거나 더해서 보정해 줄 값을 찾습니다.그런 다음은 전원이 OFF 될 때까지 그값만큼 빼거나 더해서 쓰면 되겠습니다.온도 등에 따라 또 달라지는 보정 등도 생각해 볼 수 있겠구요.이 센서는 그리 큰 오차는 없지만,혹시라도, 외부회로구성에 따라서, 노이즈가 유입될 경우,ATMEGA128의 데이터 시트를 봐도 그렇고 실제로 테스트 해 보아도, 보통 AVR은 15kHz가 ADC의 최대치라고 보시면 됩니다. 하지만, 가속도 센서 자체가 11kHz인가에서는 특성이 특별히 좋지 않아지므로, 10kHz 정도로 샘플링 하는 것이 좋겠습니다. AVR로는 거의 채널당 3kHz 정도가 이 가속도 센서로 좋은 데이터를 얻는 최대치라고 봐야 겠지요.그 정도로 샘플링 한 후에, 크게 움직이면 생기게 되는 갑자기 생기는 물리적인 오류로 인한 이상한 샘플들을 제거하기 위하여 10개 샘플링 할 때마다 상위 2개 하위 2개 정도는 재하고, 중간값들을 소팅으로 정렬한 다음, 나머지 6개 정도의 값을 평균을 내서 하나의 값으로 사용합니다. 이러한 절차가 일종의 소프트웨어 필터 역할을 할 수 있으며, 많은 에러를 걸러주게 됩니다. 그렇게 되면 초당 채널마다 300개 정도의 샘플이 생기게 됩니다. 이 때의 시간 간격을 시간으로 환산하여, 적분할 때 시간축 델타T로 보면 되겠습니다.초기에 위에서 얘기한 대로, 첨부한 AN3447을 이용 물리적인 에러들을 잡아내어 보정하고, 완전 평형한 상태에서(an3447을 참고) 완전 정지한 상태에서의 가속도 값을 알아내서, 중력 가속도 값으로 지정한 후, 첨부한 an3397에서 나온 것처럼 켈리브레이션 한 후에, 이중 적분으로 거리 계산을 해 내되, 불안정한 움직임을 보이는 경우 노이즈로 인식하여 zero로 만들어 줄 수도 있어야 겠습니다.실제로 센서칩 자체도 +-1/2LSB의 에러가 있으며, AVR 자체도 +-1/2LSB의 에러가 발생하며, 또한, 전송 과정에서도 +-1LSB 정도의 에러는 발생할 수 있습니다. 최소한의 아날로그 신호의 전송선로를 사용하고, 또한 신호의 노이즈를 막아주는 PCB 설계 등으로 최대한 노이즈를 제거하는 것도 중요하겠습니다.이를 통하여 거리를 계산하면 보다 정확해 지리라고 생각합니다.참고로 말한다면, 중력 가속도가 X,Y,Z 축 각각에 따라 기울어짐에 따라서 또한 정적 가속도 값이 각 축마다 달라지게 되는 데, 이를 자이로 센서로 미리 측정하여 두었다가, 그 위치에서 빼는 중력 가속도 값을 불러와서 빼가면서 현재의 동적 가속도만을 알아내는 테크닉도 필요하겠습니다.이 때는 분명히 자이로 센서의 값을 받아서 동적 가속도 값을 정확히 알아내기 위하여 현재의 기울어짐을 각속도로 정확히 측정하는 것도 필요하겠습니다. 이렇게 보정하면 보다 정확한 결과를 얻을 수 있을 것으로 생각됩니다.보다 정확한 결과를 위하여, ADC를 외부에 별도로 달아서, 보다 정밀하게 ADC 하는 것도 도움이 될 것 같습니다.3축 가속도 센서 V03 의 X, Y, Z 축값을 G 값으로 환산하는 수치 계산공식 등을 PDF파일로 첨부하니, 참고하시기 바랍니다.수고하세요.
Q
5V AVR 키트의 메인보드를 3.3V용으로 변경시키는 방법
기타 ▼
A 안녕하세요?간혹, 5V AVR 키트의 메인보드를 3.3V AVR용으로 변경시켜 사용하고 싶을 때가 있습니다.즉, ATMEGA128에 3.3V를 공급하여 동작시키고 싶은 거죠.기존 메인보드에서는 아답타를 꽂으면 5V가 만들어지도록 7805 레귤레이터가 사용되었는 데요.보드의 이 7805 를 제거하고 LM3940 레귤레이터를 보드에 땜하면  3.3V가 cpu에 공급됩니다. 물론  이  경우 128 모듈의 크리스탈을  8MHz이하로 변경하셔야 합니다. 최고 속도로는 8MHz나 통신속도에러를 0% 로 없애려면 7.3728MHz 정도를  써주는게  좋겠죠 위에  말씀드린 방법이 가장 간단합니다. 아니면  본사의  mp533이라는  전원보드를 사서 아답타입력을 mp533에 넣고 그 mp533의 3.3v 출력을 메인보드에 있는 5v입력 터넥터에  꽂으면 가능합니다. 수고하세요.
Q
UART 관련 printf나 scanf 구현 관련 에러시[ICCAVR]
기타 ▼
A 안녕하세요? 고객님,Option에서 target을 ATMega128(Please see NOTES)로 사용하세요.자료실의 최신 버전에 에러가 나실 경우,최신 버전의 에러는 ICCAVR의 에러가 아니라, 아래를 추가하시면 됩니다.printf와 scanf 함수가 하드웨어에 따라 다른 곳으로 출력할 수 있게 변경 가능하기 때문에, 생기는 메시지 이므로, 내부함수인 putchar와 getchar를 사용하는 환경에 맞게 적어주어야합니다.- 아래 -#include <stdio.h>// 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;}만약 그래도 안되시면, 프로젝트를 다시 생성해 주시고, 만들어진 C 소스를 추가해 주세요.예전 6.xx 버전에서 만들어진 예제라서 초기 생성 폴더가 달라서 그럴 수 있기 때문입니다.자료실--> ICCAVR 으로 검색하여 다운로드.==> 이 프로그램으로 다운받아서 다시 깔아 보세요.잘 될겁니다.감사합니다.
Q
리니어 아답타의 정격 관련 내용.
기타 ▼
A 리니어 아답타의 정격 관련 내용.

- 아래 -
원본 내용 ==>
http://www.anjunsa.com/board/index.php?boardid=board_data&mode=view&no=2

아답타 종류에는 AC/DC ADAPTOR, AC/AC ADAPTOR, SMPS FREE VOLT ADAPTOR가 있습니다.

1. AC/DC ADAPTOR : 리니어 타입 아답타로 외부에서 공급되는 교류(AC)전압을 직류(DC)전압으로
변환 시켜주는 것으로 일반 아답타와 정전압 아답타로 두 종류가 있습니다.

* 일반 아답타는 우리가 주위에서 흔하게 볼 수 있는 전화기용 아답타로 무부하와 부하의 전압이
다른 것이 큰 특징입니다. 무부하시 출력 전압은 루트 2배 만큼 전압이 높아지고 전원을 켜고
셋트와 같이 사용하면 부하가 걸리면서 정격 전압이 출력됩니다.

* 정전압 아답타는 카셋트, CD 플레이어 등에 사용하는 제품으로 일반 아답타의 출력부에 정전압
IC 회로가 내장되어 있어 무부하와 부하 출력 전압이 거의 동일하므로 정밀기기에 주로 사용 됩니다.

2. AC/AC ADAPTOR : 외부에서 공급되는 교류(AC)전압을 받아서 출력 또한 교류(AC)전압으로
강압시켜주는 아답타 입니다. 많이 사용 되지는 않지만 음향기기, 악기 등 일부 제품에 사용됩니다.

3. SMPS FREE VOLT ADAPTOR : SMPS(Switching Mode Power Supply)는 외부에서 공급되는
교류(AC)전압을 받아서 직류(DC)전압으로 변환시켜주는 Switching 전원장치로 복잡한 회로와
부품으로 구성되어 있습니다. 입력 전압 범위가 AC100-240V Free로 설계되어 있어 해외에서도
사용이 편리하며, 정전압 방식으로 다양한 제품에 적용이 가능합니다.

- 장 점 -

* 정격 출력 용량 내에서는 부하량과 상관없이 일정한 전압을 유지합니다.
* 리니어타입 아답타 보다 효율이 높습니다.
* 열이 적게 발생합니다.
* 부피가 작고 휴대가 간편합니다.

- 단 점 -

* 규격에 따라 일부 제품은 리니어타입 아답타 보다 가격이 높습니다.
* 고장이 나면 수리가 어렵습니다.
* 노이즈가 발생되므로 일부 제품 특히 영상 및 음향장비에는 사용이 적합하지 않습니다.
* 순간적인 과부하에는 리니어 아답타 보다는 취약합니다.



감사합니다.
Q
손쉽고 빠른 포트 제어(출력 및 입력 쉽게)
기타 ▼
A 1.  define문을 사용하는 방법 (매우 빠름)#define ON    1#define OFF    0#define LED0(m) m? (PORTC|=0x01):(PORTC&=~0x01)
사용시 :    끄기    LED0( OFF);   켜기    LED0( ON);2. 해당 포트의 특정 비트를 ON OFF 하는 방법// ***** Define I/O pins *****#define BIT7 0x80#define BIT6 0x40#define BIT5 0x20#define BIT4 0x10#define BIT3 0x08#define BIT2 0x04#define BIT1 0x02#define BIT0 0x01
/* enables an unsigned char to be used as a series of booleans */#define BIT(x)             (1 << (x))#define SETBIT(x, y)        (x |= y)#define CLEARBIT(x, y)      (x &= ~y)#define CHECKBIT(x, y)      (x & y)
사용시 :   PORTC의 비트 1을 1로 셋트하고 싶을때 :      SETBIT(PORTC, BIT1);  PORTB의 비트 0을 0로 클리어하고 싶을때 :      CLEARBIT(PORTC, BIT1);  PINF의 비트 0값을 체크하고 싶을때 :       if( CHECKBIT(PINF, BIT0) )3. 함수를 사용하여 비트를 제어(가장 느림)#define ON    1#define OFF    0  void LED0(int m){      if(m==1){          PORTC |= 0x01;   // PORTC = PORTC | 0x01;      }else{          PORTC &= ~0x01;  // PORTC = PORTC & ~0x01;      }  } 사용시 :    끄기    LED0( OFF);   켜기    LED0( ON);수고하세요.
Q
ICCAVR 라이브러리 참고설명
기타 ▼
A http://www.dragonsgate.net/pub/help/iccavr/wwhelp/wwhimpl/js/html/wwhelp.htm
Q
윈도우 7에서 SAM-BA 드라이버 설치
기타 ▼
A 안녕하세요? 고객님,윈도우즈 7에서는 SAM-BA V2.10은 아트멜에서 사용이 검증되지 않았습니다. SAM-BA CDC를
사용하는 것은 검증되었습니다.인터넷에서는 일부 사람들이 V2.10을 사용하여 되었다는 사람들도 있다고 말은 하는데, 거의 찾기
어렵고, 그런 증거는 어느 누구도 나서서 말하지 않고 있습니다. 즉, 헛소문일 가능성이 있습니다.즉, SAM-BA CDC를
설치하여 사용해야 합니다.우선, CDC 드라이버도 설치해야 하는 데, 기존에 설치된 드라이버가 있으면, 제거하고 설치해야
합니다.다음 링크를 참고하시면서, SAM-BA CDC를 설치해서 사용하기 바랍니다.- 다음 - V.2.11 : http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3883&category_id=163&family_id=605&subfamily_id=1739V2.10 : http://www.atmel.com/dyn/resources/prod_documents/sam-ba_2.10.exeSAM
- BA의 CDC 버전은 Microsoft Windows 및 리눅스 운영 체제에서 USB CDC 직렬 통신 채널을 통해 ATMEL AT91SAM
장치와 통신할 수 있도록 설계되었습니다.SAM - BA CDC 설치당신이 그것을 사용하여 설치 운영 체제에 따라
"Windows 용 SAMBA x.xx"또는 "리눅스 SAMBA x.xx"를 다운로드합니다. SAMBA CDC는 다운로드한 파일을 실행할 때
자동으로 설치됩니다.당신은 다음 링크에서 삼바 설치 파일을 찾을 수 있습니다 :USB CDC 드라이버
설치귀하의 AT91SAM EK 보드 atm6124.sys 드라이버를 사용 ATMEL AT91xxxxx 테스트 보드로 인식되면,
먼저이 드라이버를 제거할 필요하거나, 이사회가 검색되지 않습니다 컴퓨터의 다른 USB 포트에 보드를 연결합니다.USB 포트에서
이전에 설치된 드라이버를 제거하려면 Windows 장치 관리자 도구를 (다음 단계는 Windows XP에 대한 설명이 있지만, 운영 체제의 다른
버전에 대한 매우 유사합니다) 열 수 있습니다 :- USB 포트와 파워를 통해 컴퓨터에 보드를 연결- 제어판 -> 시스템
-> '하드웨어'창에서- '범용 직렬 버스 컨트롤러'폴더를 확장한- 'atm6124.Sys ATMEL AT91xxxxx
시험위원회'항목을 마우스 오른쪽 버튼을 클릭,- '제거'와 확인을 선택 (항목은 목록에서 사라집니다)- 보드
전원.CDC 시리얼 드라이버를 설치하려면 :- 보드 UP 파워.- 시스템은 새로운 하드웨어를 발견하고 그것을 새로운
드라이버를 검색하도록 부탁합니다- 윈도우 업데이트 후 '다음'버튼을 연결하지 그것을 말해- 그럼 '다음'버튼을 목록 또는 특정
위치에서 설치 (고급)를 선택,- 클릭 '을 검색하지 마세요, ...', 후'다음 '버튼을- 선택 '은 디스크 있음을 ...'
버튼을 클릭하고 '열기'및 '확인'을 클릭한 다음, 당신이 SAM - BA이 CDC 버전을 설치한 'atm6124_cdc.inf'파일을
찾아- 모델을 선택하십시오 목록에서 '시리얼 변환기 AT91 USB를'및 '다음'을 클릭,- '마침'을 클릭한 다음 다음 창에서
'어쨌든 계속'을 클릭합니다.중요 : 여러분이 보드를 연결하는 USB 포트를 변경할 경우에는 설치 절차 위에서 설명한을 다시
실행해야합니다.'장치 관리자'창에서 보드는 '가상'COM 포트 이름을 괄호 안에 표시와 함께 '포트 (COM &
LPT)'폴더에 나타납니다.중요 : SAM - BA는 '선택 연결'메시지 상자가 나타나면 그것을 선택하는 마음에이 번호를
계속해야합니다.SAM - BA CDC 버전을 실행실행 '샘 - ba_cdc.exe'파일, 그리고 보드를 선택하고 보드에가
연결된 COM 포트 번호입니다.아래 2는 원본 데이터입니다.- 아래 2- The CDC version of
SAM-BA is designed to communicate with ATMEL AT91SAM devices only via a USB CDC
Serial communication channel, on Microsoft Windows and Linux
OS.Installing SAM-BA CDCDownload "SAMBA x.xx for Windows" or
"SAMBA x.xx for Linux" depending on the OS you use and install it. SAMBA CDC is
automatically installed when executing the downloaded file. You can find
SAMBA installation files in the following link:http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3883&category_id=163&family_id=605&subfamily_id=1739USB
CDC driver installationIf your AT91SAM EK board is recognized as an
ATMEL AT91xxxxx Test Board using atm6124.sys driver, you have to uninstall this
driver first, or connect the board to another USB port on the computer where the
board will not be detected.To uninstall a previously installed
driver on a USB port, you have to open the Windows Device Manager tool (the
following steps are explained for Windows XP, but very similar for the other
versions of the OS) :- Connect the board to the computer via a USB port and
power it up,- Control panel -> System -> 'Hardware' pane,- Expand
the 'Universal Serial Bus controllers' folder,- Right click on the
'atm6124.Sys ATMEL AT91xxxxx Test Board' entry,- Choose 'uninstall' and
confirm, (the entry disappears from the list)- Power down the
board.To install the CDC Serial driver :- Power UP the
board.- The system finds a new hardware and asks you to search a new driver
for it,- Tell it to NOT connect to Windows update, then 'Next' button,-
Choose to install from a list or specific location (Advanced), then 'Next'
button,- Click on 'Don't search, ...', then 'Next' button,- Choose 'Have
Disk...' button, and look for the 'atm6124_cdc.inf' file where you have
installed this CDC version of SAM-BA, then 'Open' and 'OK',- Select the
Model : 'AT91 USB to Serial Converter' in the list and click 'Next',- Click
on 'Continue Anyway' in the next window, and then 'Finish'.IMPORTANT
: If you change the USB port on which you connect the board, you will need to
redo the install procedure described above. In the 'Device Manager'
window, your board appears in the 'Ports (COM & LPT)' folder, with the
'virtual' COM port name indicated in parenthesis.IMPORTANT : You have to
keep this number in mind to select it when SAM-BA shows the 'Choose Connection'
message box. Running SAM-BA CDC versionLaunch
'sam-ba_cdc.exe' file, and select your board and the COM port number where your
board in connected to.수고하세요.
Q
뉴티씨 홈페이지 쉬운 접근법
기타 ▼
A * 홈페이지 주소 (언어별)한국어 : http://www.newtc.co.kr일본어 : http://www.newtc.co.jp영 어 : http://www.newtc-en.com* 빠른 연결 주소 - 한국어 -자료실 : http://www.newtc.co.kr/datacenter/강 좌 : http://www.newtc.co.kr/lecture/제품소개 : http://www.newtc.co.kr/product/Q & A : http://www.newtc.co.kr/qna/FAQ (잦은질문): http://www.newtc.co.kr/faq/- 일본어(日本語) -자료실 : http://www.newtc.co.jp/datacenter/강 좌 : http://www.newtc.co.jp/lecture/제품소개 : http://www.newtc.co.jp/product/Q & A : http://www.newtc.co.jp/qna/FAQ (잦은질문): http://www.newtc.co.jp/faq/- 영어(ENGLISH) -자료실 : http://www.newtc-en.com/datacenter/강 좌 : http://www.newtc-en.com/lecture/제품소개 : http://www.newtc-en.com/product/Q & A : http://www.newtc-en.com/qna/FAQ (잦은질문): http://www.newtc-en.com/faq/홈페이지의 자료실을 누르시면, AVR 자료실로 바로 들어가도록 되어 있는 데, 통합정보 검색으로 들어가셔서 검색하시면 보다 많은 자료를 보실 수 있습니다.이 링크로 저희 홈페이지를 보다 편리하게 사용하시기를 바랍니다.감사합니다. 
Q
[89S52] 보드에서 hex 다운로드 방법.
기타 ▼
A 1. 일단 AVR STUDIO 를 실행 시키신 다음 첨부해 드린 사진과 같이 con 아이콘이나 AVR 아이콘을 누루시면 됩니다.   다른 방법으로는 toors-> program AVR -> auto connect 를 클릭하시면됩니다. (그림2번 참조)   그리면 첨부한 3번 사진과 같은 창이 뜨게 될겁니다.2. 그리면 Sevice and Signature Bytes 아래 쪽에 AT89S52 를 선택 합니다     (지금 내장 되어 있는 main MCU chip 입니다.)3. 그리고 나서 read signature 를 클립 해서 칩이랑 인식이 되는지 확인합니다. 4. 인식이 되셨다면 0x1E 0x52 0x06 이와 같은 메시지가 뜨게 될겁니다. 이상태 까지 되셨다면 칩이랑 인식은 하신 겁니다.Entering programming mode OKreading signature 0x1E 0x52 0x06 okLeaving programming mode OK 5. 그 다음 program 창으로 넘어가서  가지고 계시는 헥사 파일을 불러 들여서 다운 로딩 하시면 됩니다.  (4번 그림참조)5. 다운로딩이 완료 되시면 5번 그림과 같은 창이 뜹니다.<  셋팅 관련 >1. USBISP를 USB port에 꼽으시면 장치관리자 포트(COM&LPT) 쪽에 다음과 같은 메시지가 나타날껍니다.         "  silicon Labs CP210x USB to UART Bridge(com4) "2. com 포트는 USBISP 메뉴얼에 나와있듯지 8번 이하로 잡으시면 됩니다 .3. 만일 컴포트가 잡히셨더라두 newtc 드라이버가 잡히셨다면 드라이버를 잘못 깔으신겁니다.   옛날 버전을 까신 경우입니다. 최근 것으로 다시 깔아주세요.4. 주의사항 :  USBISP에 달려있는 2번 스위치는 절대로 올라가 있으면 안됩니다                     올라가 있다면 100% ISP mode error 이 나게 되어 있습니다.5. 프로그램만 다운로드 할 시에는 이렇게 USBISP 에 달려 있는 1번 스위치응 on 시키셔서 5V 전원을 사용 하셔셔 하시면 됩니다.(사진 설명 )첨부 사진 1번은 연결 시키기 전 모습 입니다.첨부 사진 2번은 USBISP 스위치 모습입니다.첨부 사진 3번은 연결해서 다운로딩 완료된 모습입니다.
Q
SLCD(시리얼 LCD)에서 숫자(변수)를 출력하기
기타 ▼
A 아래와 같이 숫자를 스트링으로 변화하여 하시면 됩니다.1. 정수 출력의 경우 int main(int argc, char** argv) {    int i=0;  char *buff;  char Buff[10];   uart0_init();  printf("Resetted!!\r\n");    buff = Buff;  while (0){   // #Method 1        i++;       itoa(buff, i, 10);   printf("i: %s\r\n", buff);   delay(1000);     // #Method 2         sprintf(buff, "%i: d", i++);      printf("%s\r\n", buff);   delay(1000);    }  return 0; }2. 소수 출력의 경우 int main(int argc, char** argv) {    double f=0.0;  char *buff;  char Buff[20];   uart0_init();  printf("Resetted!!\r\n");    buff = Buff;//memset(buff, 0 ,20);  while (1){   // #Method 2          f = f+0.1;   sprintf(buff, "%5.1f", f);   printf("Buff: %s\r\n", buff);   delay(1000);    }  return 0; }
Q
USBISP V03을 V03.5로 변경하는 방법
기타 ▼
A 안녕하세요? 고객님,아래에 잘 설명이 되어 있었습니다.참고하시기 바랍니다.- 아래 - http://magicom9.tistory.com/53수고하세요.
Q
USBISP (즉, STK500 호환)으로 다운로드 가능한 AVR MCU 리스트
기타 ▼
A




본사의 USBISP는 STK500호환입니다.아래 나열된 stk500 이 지원하는 디바이스들 입니다.xmega 관련 디바이스들은 보이지 않습니다.AT90CAN128 Automotive8-bit AVR Microcontroller, 128KB ISP Flash, CAN ControllerAT90CAN32 Automotive8-bit Automotive AVR Microcontroller, 32KB ISP Flash, CAN ControllerAT90CAN64 Automotive8-bit Automotive AVR Microcontroller, 64KB ISP Flash, CAN ControllerATmega164P Automotive8-bit Automotive AVR Microcontroller, 16KB ISP FlashATmega168 Automotive8-bit Automotive AVR Microcontroller, 16KB ISP FlashATmega169P Automotive8-bit Automotive AVR Microcontroller, 16KB FlashATmega16M1 AutomotiveATmega M1 Series 16KB Flash, PSC ATmega324P Automotive8-bit Automotive AVR Microcontroller, 32KB ISP FlashATmega328P Automotive8-bit Automotive AVR Microcontroller, 32KB ISP Flash, 32 PinsATmega32C1 AutomotiveATmega C1 Series 32KB FlashATmega32M1 AutomotiveATmega M1 Series 32KB Flash, PSCATmega48 Automotive8-bit Automotive AVR Microcontroller, 4KB ISP FlashATmega644P Automotive8-bit Automotive AVR Microcontroller, 64KB ISP FlashATmega64C1 AutomotiveATmega C1 Series 64KB FlashATmega64M1 AutomotiveATmega M1 Series 64KB Flash, PSCATmega88 Automotive8-bit Automotive AVR Microcontroller, 8KB ISP FlashATtiny24 Automotive8-bit Automotive AVR Microcontroller, 2KB ISP FlashATtiny25 Automotive8-bit Automotive picoPower AVR Microcontroller, 2KB ISP FlashATtiny261 Automotive8-Bit Microcontroller with 2KBytes ISP FlashATtiny44 Automotive8-bit Automotive AVR Microcontroller, 4KB ISP FlashATtiny45 Automotive8-bit Automotive picoPower AVR Microcontroller, 4KB ISP FlashATtiny461 Automotive8-Bit Microcontroller with 4KBytes ISP FlashATtiny84 Automotive8-bit Automotive AVR Microcontroller, 8KB ISP FlashATtiny85 Automotive8-bit Automotive picoPower AVR Microcontroller, 8KB ISP FlashATtiny861 Automotive8-Bit Microcontroller with 8KBytes ISP FlashATtiny88 Automotive8-bit Automotive AVR Microcontroller, 8KB ISP Flash, 32 PinsAtmel AVR 8- and 32-bit - Battery Management AVRDevicesDescriptionATmega16HVA8-bit AVR Battery Management HVA Microcontroller Series with 16KB Flash, 1-2 cells in seriesATmega32HVB8-bit AVR Battery Management HVB Microcontroller Series with 32KB Flash, 2-4 cells in seriesATmega4068-bit AVR Battery Management Microcontroller with 40KB Flash, 2-4 cells in seriesAtmel AVR 8- and 32-bit - megaAVRDevicesDescriptionAT90CAN1288-bit AVR Microcontroller, 128KB Flash, 64-pin, CAN ControllerAT90CAN328-bit AVR Microcontroller, 32KB Flash, 64-pin, CAN ControllerAT90CAN648-bit AVR Microcontroller, 64KB Flash, 64-pin, CAN ControllerAT90PWM18-bit AVR Microcontroller, 8KB Flash, 24-pin, LightingAT90PWM28-bit AVR Microcontroller, 8KB Flash, 24-pin, PWMAT90PWM2168-bit AVR Microcontroller, 16KB Flash, 24-pin, LightingAT90PWM2B8-Bit Microcontroller with 8KB Flash, 24-pin, LightingAT90PWM38-bit AVR Microcontroller, 8KB Flash, 32-pin, PWMAT90PWM3168-bit AVR Microcontroller, 16KB Flash, 32-pin, LightingAT90PWM3B8-Bit Microcontroller with 8KB Flash, 32-pin, LightingAT90PWM818-bit AVR Microcontroller, 8KB Flash, 20/32-pin, LightingAT90USB12868-bit AVR Microcontroller, 128KB Flash, 64-pin, USB ControllerAT90USB12878-bit AVR Microcontroller, 64KB Flash, 64-pin, USB ControllerAT90USB1628-bit AVR Microcontroller, 16KB Flash, 32-pin, USB ControllerAT90USB6468-bit AVR Microcontroller, 64KB Flash, 64-pin USB ControllerAT90USB6478-bit AVR Microcontroller, 64KB Flash, 64-pin, USB ControllerAT90USB828-bit AVR Microcontroller, 8KB Flash, 32-pin, USB ControllerATmega1038-bit AVR Microcontroller, 128KB Flash, 64-pinATmega1288-bit AVR Microcontroller, 128KB Flash, 64-pinATmega12808-bit AVR Microcontroller, 128KB Flash, 100-pinATmega12818-bit AVR Microcontroller, 128KB Flash, 64-pinATmega12848-bit AVR Microcontroller, 128KB Flash, 40/44/49-pinATmega1284P8-bit AVR Microcontroller, 128KB Flash, 40/44/49-pinATmega128A8-bit AVR Microcontroller, 128KB Flash, 64-pinATmega168-bit AVR Microcontroller, 16KB Flash, 40/44-pinATmega1618-bit AVR Microcontroller, 16KB Flash, 40/44-pinATmega1628-bit AVR Microcontroller, 16KB Flash, 40/44-pinATmega1638-bit AVR Microcontroller, 16KB Flash, 40/44-pinATmega164A8-bit AVR Microcontroller, 16KB Flash, 40/44/49-pinATmega164P8-bit picoPower AVR Microcontroller, 16KB Flash, 40/44-pinATmega164PA8-bit picoPower Microcontroller, 16KB Flash, 40/44/49-pinATmega1658-bit AVR Microcontroller, 16KB Flash, 64-pinATmega165P8-bit picoPower AVR Microcontroller, 16KB Flash, 64-pinATmega165PA8-bit picoPower AVR Microcontroller, 16KB Flash, 64-pinATmega1688-bit AVR Microcontroller, 16KB Flash, 28/32-pinATmega168A8-bit AVR Microcontroller, 16KB Flash, 28/32-pinATmega168P8-bit picoPower AVR Microcontroller, 16KB Flash, 28/32-pinsATmega168PA8-bit picoPower AVR Microcontroller, 16KB Flash, 28/32-pinATmega1698-bit AVR Microcontroller, 16KB Flash, 64-pin, LCD ControllerATmega169A8-bit AVR Microcontroller, 16KB Flash, 64-pin, LCD ControllerATmega169P8-bit picoPower AVR Microcontroller, 16KBP Flash, 64-pin, LCD ControllerATmega169PA8-bit picoPower AVR Microcontroller, 16KB Flash, 64-pin, LCD ControllerATmega16A8-bit AVR Microcontroller, 16KB Flash, 40/44-pinATmega16M18-bit AVR Microcontroller, 16KB Flash, 32-pin, LIN and CAN ControllerATmega25608-bit AVR Microcontroller, 256KB Flash, 100-pinATmega25618-bit AVR Microcontroller, 64KB Flash, 64-pinATmega328-bit AVR Microcontroller, 32KB Flash, 40/44-pinATmega3238-bit AVR Microcontroller, 32KB Flash, 40/44-pinATmega324A8-bit AVR Microcontroller, 32KB Flash, 40/44/49-pinATmega324P8-bit picoPower AVR Microcontroller, 32KB Flash, 40/44-pinATmega324PA8-bit picoPower AVR Microcontroller, 32KB Flash, 40/44/49-pinATmega3258-bit AVR Microcontroller, 32KB Flash, 64-pinATmega32508-bit AVR Microcontroller, 32KB Flash, 100-pinATmega3250A8-bit AVR Microcontroller, 32KB Flash, 100-pinATmega3250P8-bit picoPower AVR Microcontroller, 32KB Flash, 100-pinATmega325A8-bit AVR Microcontroller, 32KB Flash, 64-pinATmega325P8-bit picoPower AVR Microcontroller, 32KB Flash, 64-pinATmega325PAShort DescriptionATmega3288-bit AVR Microcontroller, 32KB Flash, 28/32-pinATmega328P8-bit picoPower AVR Microcontroller, 32KB Flash, 28/32-pinATmega3298-bit AVR Microcontroller, 32KB Flash, 64-pin, LCD ControllerATmega32908-bit AVR Microcontroller, 32KB Flash, 100-pin, LCD ControllerATmega3290A8-bit AVR Microcontroller, 32KB Flash, 100-pin, LCD ControllerATmega3290P8-bit picoPower AVR Microcontroller, 32KB Flash, 100-pin, LCD ControllerATmega329A8-bit AVR Microcontroller, 32KB Flash, 64-pin, LCD ControllerATmega329P8-bit picoPower AVR Microcontroller, 32KB Flash, 54-pin, LCD Controller ATmega329PA8-bit picoPower AVR Microcontroller, 32KB Flash, 64-pin, LCD ControllerATmega32A8-bit AVR Microcontroller, 32KB Flash, 40/44-pinATmega32M18-bit AVR Microcontroller, 32KB Flash, 32-pin, LIN and CAN ControllerATmega32U48-bit AVR Microcontroller, 32KB Flash, 44-pin, USB ControllerATmega488-bit AVR Microcontroller, 4KB Flash, 28/32-pinATmega48A8-bit AVR Microcontroller, 4KB Flash, 28/32-pinATmega48P8-bit picoPower AVR Microcontroller, 4KB Flash, 28/32-pinATmega48PA8-bit picoPower AVR Microcontroller, 4KB Flash, 28/32-pinATmega648-bit AVR Microcontroller, 64KB Flash, 64-pinATmega6408-bit AVR Microcontroller, 64KB Flash, 100-pinATmega6448-bit AVR Microcontroller, 64KB Flash, 40/44-pinATmega644A8-bit AVR Microcontroller, 64KB Flash, 40/44/49-pinATmega644P8-bit picoPower AVR Microcontroller, 64KB Flash, 40/44-pinATmega644PA8-bit picoPower AVR Microcontroller, 64KB Flash, 40/44/49-pinATmega6458-bit AVR Microcontroller, 64KB Flash, 64-pinATmega64508-bit AVR Microcontroller, 64KB Flash, 100-pinATmega6450A8-bit AVR Microcontroller, 64KB Flash, 100-pinATmega6450P8-bit picoPower AVR Microcontroller, 64KB Flash, 100-pinATmega645A8-bit AVR Microcontroller, 64KB Flash, 64-pinATmega645P8-bit picoPower AVR Microcontroller, 64KB Flash, 64-pinATmega6498-bit AVR Microcontroller, 64KB Flash, 64-pin, LCD ControllerATmega64908-bit AVR Microcontroller, 64KB Flash, 100-pin, LCD ControllerATmega6490A8-bit AVR Microcontroller, 64KB Flash, 100-pin, LCD ControllerATmega6490P8-bit picoPower AVR Microcontroller, 64KB Flash, 100-pin, LCD ControllerATmega649A8-bit AVR Microcontroller, 64KB Flash, 64-pin, LCD ControllerATmega649P8-bit picoPower AVR Microcontroller, 64KB Flash, 64-pin, LCD ControllerATmega64A8-bit AVR Microcontroller, 64KB Flash, 64-pinATmega64M18-bit AVR Microcontroller, 64KB Flash, 32-pin, LIN and CAN ControllerATmega88-bit AVR Microcontroller, 8KB Flash, 28/32-pinATmega85158-bit AVR Microcontroller, 8KB Flash, 40/44-pinATmega85358-bit AVR Microcontroller, 8KB Flash, 40/44-pinATmega888-bit AVR Microcontroller, 8KB Flash, 28/32-pinATmega88A8-bit AVR Microcontroller, 8KB Flash, 28/32-pinATmega88P8-bit picoPower AVR Microcontroller, 8KB Flash, 28/32-pinATmega88PA8-bit picoPower AVR Microcontroller, 8KB Flash, 28/32-pinATmega8A8-bit AVR Microcontroller, 8KB Flash, 28/32-pinAtmel AVR 8- and 32-bit - tinyAVRDevicesDescriptionATtiny118-bit AVR Microcontroller, 1KB Flash, 8-pinATtiny128-bit AVR Microcontroller, 1KB Flash, 8-pinATtiny138-bit AVR Microcontroller, 1KB Flash, 8/10/20-pinATtiny13A8-bit picoPower AVR Microcontroller, 1KB Flash, 8/10/20-pinATtiny15L8-bit AVR Microcontroller, 1KB Flash, 8-pinATtiny1678-bit AVR Microcontroller, 16KB Flash, 20/32-pin, LIN ControllerATtiny23138-bit AVR Microcontroller, 2KB Flash, 20-pinATtiny2313A8-bit picoPower AVR Microcontroller, 2KB Flash, 20-pinATtiny248-bit AVR Microcontroller, 2KB Flash, 14/20-pinATtiny24A8-bit picoPower AVR Microcontroller, 2KB Flash, 14/15/20-pinATtiny258-bit AVR Microcontroller, 2KB Flash, 8/20-pinATtiny268-bit AVR Microcontroller, 2KB Flash, 20/32-pinATtiny2618-bit AVR Microcontroller, 2KB Flash, 20/32-pinATtiny261A8-bit picoPower AVR Microcontroller, 2KB Flash, 20/32-pinATtiny28L8-bit AVR Microcontroller, 2KB Flash, 28/32-pinATtiny43138-bit picoPower AVR Microcontroller, 4KB Flash, 20-pinATtiny43U8-bit AVR Microcontroller, 4KB Flash, 20-pin Boost Converter (0.7V Operation)ATtiny448-bit AVR Microcontroller, 4KB Flash, 14/20-pinATtiny44A8-bit picoPower AVR Microcontroller, 4KB Flash, 14/15/20-pinATtiny458-bit AVR Microcontroller, 4KB Flash, 8/20-pinATtiny4618-bit AVR Microcontroller, 4KB Flash, 20/32-pinATtiny461A8-bit picoPower AVR Microcontroller, 2KB Flash, 20/32-pinATtiny488-bit picoPower AVR Microcontroller, 4KB Flash, 28/32-pinATtiny848-bit AVR Microcontroller, 8KB Flash, 14/20-pinATtiny84A8-bit picoPower AVR Microcontroller, 8KB Flash, 14/20-pinATtiny858-bit AVR Microcontroller, 8KB Flash, 8/20-pinATtiny8618-bit AVR Microcontroller, 8KB Flash, 20/32-pinATtiny861A8-bit picoPower AVR Microcontroller, 2KB Flash, 20/32-pinATtiny888-bit picoPower AVR Microcontroller, 8KB Flash, 28/32-pinAtmel AVR 8- and 32-bit - zzz_[DNU] AVRDevicesDescriptionAT90S12008-Bit AVR Microntroller with 1KB Flash, EEPROM, 64K FlashAT90S23138-Bit AVR Microntroller, 2KB FlashAT90S23238-bit AVR Microcontroller, 2KB Flash, 4-6V, EEPROMAT90S23438-bit AVR Microcontroller, 2KB Flash, 4-6VAT90S44338-bit AVR Microcontroller, 4KB Flash, 4-6VAT90S85158-bit AVR Microcontroller, 8KB Flash, 2.7-6V, 3.0 mAAT90S85358-bit AVR Microcontroller, 8KB Flash, 4-6V, 8.0 mAMCU Wireless - BundlesDevicesDescriptionATmega1280R212MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1280 and AT86RF212ATmega1280R231MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1280 and AT86RF231ATmega1281R212MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1281 and AT86RF212ATmega1281R231MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1281 and AT86RF230ATmega1284PR231MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1284P and AT86RF231ATmega1284RZAPMCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1284P and AT86RF230ATmega128RZAVMCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1281 and AT86RF230ATmega128RZBVMCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega1280 and AT86RF230ATmega2560R212MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega2560 and AT86RF212ATmega2560R231MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega2560 and AT86RF231ATmega2561R212MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVRATmega2561 and AT86RF212ATmega2561R231MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega2561 and AT86RF231ATmega256RZAVMCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega2561 and AT86RF230ATmega256RZBVMCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled ATmega2560 and AT86RF230ATmega644PR231MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega644P and AT86RF231ATmega644R212MCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega644P and AT86RF212ATmega64RZAPVMCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega644P and AT86RF230ATmega64RZAVMCU Wireless Chipset for IEEE 802.15.4 and ZigBee Applications - Bundled AVR ATmega644 and AT86RF230수고하세요
Q
코드비전에서의 비트제어
기타 ▼
A 코드비전에서의 비트제어관련된 내용입니다. 참고 바랍니다.특이하게도 Codevison에서는 옛날 8051처럼 AVR도 PORTA.0 이런 식으로 제어할 수 있도록 만들어 두었는 데, 이는 첫 32개의 레지스터들에 대해서만 핀 확장명을 쓸 수 있도록 된 것으로 알고 있습니다.  이는 AVR의 개발 과정과 관련이 있는 데요. 처음 설계시 ATMEGA103 처럼 레지스터를 어드레스 0x3F까지만(ATMEGA128의 0x5F에 해당) 지원했었는 데요 PORTF 부터는 원래 없던 부분입니다. 이 부분을 신규로 만들어 내면서, 첨에 칩설계시 설계고려하지 않은 부분이라서 다른 구조로 설계해야 했습니다. 그래서, 어셈블리 명령어로 짜더라도, 명령어가 다릅니다.포트 A~E는         LDI        AL,0xFF                        ; initialize PORTB = output        OUT      DDRB,AL        LDI        AL,0b01010000                ; LED1,3 on        OUT      PORTB,AL라고 할 수 있는데,PORTF는         LDI        AL,0xFF                        ; PORTF = output         STS      DDRF,AL        LDI        AL,0x00        STS      PORTF,AL이렇게 해야 합니다.아래는 일반 명령 방식으로 쉽게 짜는 방법을 기술해 두었으니 참고 바랍니다.  본사의 FAQ에 있는 내용입니다. - 아래 - 8051 등에서는 비트별로 제어하는 함수들이 있었는 데 AVR에서는 그런 함수들이 잘 없어서,불편해 하시는 분들을 많이 보았습니다.예를 들어서, 8051에서는 P1.0 = 1; 이렇게 하면 포트 1의 0번 비트를 1로 쓸 수 있었지요.무척 편리했습니다.  그런데, 그렇게 하면 헥사 코드가 커지게 되어서, ICCAVR에서는 그러한 함수가 없습니다.자체적으로 제작하여 사용해야 하지요. 그래서, 아래와 같이 만들어서 쓰곤 합니다.아래는 비트 제어 하는 입출력 관련 정의입니다.함수로 만들어도 쓰지만, 아래와 같이 define문으로 만들어 쓰면 편리하고 빠릅니다.함수로 들어가지 않아도 되니까요. 함수로 들어가는 시간이 절약 되겠지요.참고 하시길 바랍니다.- 아래 1- #define sbi(PORT, bit)        (PORT) |= (1 << (bit))#define cbi(PORT, bit)        (PORT) &= ~(1 << (bit))- 아래 2 - #define        OUTPORT                        PORTC#define        BIT_4                                0x10#define        BIT_5                                0x20#define        BIT4(m)                m?(OUTPORT|=BIT_4):(OUTPORT&=~BIT_4)#define        BIT5(m)                m?(OUTPORT|=BIT_5):(OUTPORT&=~BIT_5)아래 2처럼 하시면 나름 편리할 수도 있습니다.하지만, 보통은 아래 1로 많이 씁니다.입력 받는 것은#define        INPORT                        PINC     unsigned char test4, test5;   test4=INPORT&(0x10);   test5=INPORT&(0x20);이렇게 하시면 됩니다.
Q
[ICCAVR V8에서 USBISP(STK500)으로 다운로드하기]
기타 ▼
A  
Q
Ponyprog2000에서의 ISPPRO 셋팅방법
기타 ▼
A ISPPRO를 산 경우 포니 프로그 셋팅방법 : Settup --> Interface Settup 으로 가세요. 그림의 setting과 같이 셋팅하고나서 Probe 해서 OK를 받아야 합니다. OK가 안 나오면, 원인을 분석해야하죠. --> 컴퓨터 껏다 켜면서 DEL키 눌러서 보통 들어가는 CMOS setup에서 Pheripheral 쪽에서 printer 포트를 0x378번지, LPT1, ECP, 인터럽트 IRQ7으로 잡으셔야 합니다. 그러고 나서, Setup에서 Calibration 선택하고 Yes 눌러서 Calibration OK를 받아야 합니다. 아니라면, 문제가 있을 수 있으니, 체크해 봐야 겠지요. 포니 프로그의 경우, 속도가 좀 느리다고 생각되면, Configuration을 좀 바꿔주면 빨라집니다. PonyProg2000 깔고 나서 그 디렉토리 안에 있는 파일 중 PONYPROG2000.INI 라는 파일이 있는 데, 그 파일을 텍스트 에디터로 읽어서 머 메모장 같은 것으로 읽어도 되구요. SPIBusSpeeed = NORMAL을 FAST로 변경하면 됩니다. 그 후에 퓨즈 등을 아래와 같이 셋팅하면 되죠. 물론, Device->AVRmicro->ATMEGA128 이렇게 셋팅해 주고 나서, Command -> Sequrity and Configuration bit를 체크하면 fuse.JPG 화면이 나올겁니다. 화면처럼 체크하고나서 Write 눌러 주고 ok 합니다. 참고바랍니다.
Q
Check that the ISP programing frequency specified on the 'Main' page is well below 1/4 of the clock frequency of the device.
기타 ▼
A 안녕하세요?

이 에러 메시지가 나오는 경우는
1.타겟보드의 퓨즈비트를 잘못하여 사용할수 없는 경우
2.다운로드 클럭 속도가 안맞는 경우 메인탭에 다운로드클럭 속도를 조절하는 것이 있습니다.
3. ISP 다운로드 선의 결선에 문제가 일경우

위 경우에 나올 수있는 메세지 입니다.
사용하시는 타겟보드가 본사 제품이면 ISP와 같이 점검을 받아 보시길 바랍니다.

좀 더 자세히 보시려면, 아래 내용도 참고하세요.본 메시지가 나오는 것은 드라이버 설치는 정상적으로 되었고, USBISP도 USB 포트에 잘 연결되어 있음을 의미합니다. 따라서, 다음을 체크 바랍니다. 1. 다만, USBISP에서 타겟 보드 사이의 연결 결선이 잘못된 경우가 있을 수 있습니다. 육안 확인 및 선이 내부적으로 끊어졌을 경우를 대비해서 멀티미터를 이용하여 체크하여 주세요. 간혹, 육안으로는 이상 없이 잘 되어 있는 데, 선이 내부적으로 끊어져 있는 경우도 있습니다. 2. 또한, ISP Programming .주파수가 타겟보드상의 클럭의 1/4 이하라야 하는 데, 그렇지 않은 경우도 발생합니다. 따라서, ATMEGA2560의 퓨즈 값으로 설정한 클럭이 얼마인지 확인하여 보세요. 3. MOSI와 MISO 신호를 서로 바꿔 꽂지 않았는 지 확인. 비슷하게 생겨서, 이름을 헛갈리는 경우가 있는 데, 반드시 잘 연결하였는 지 확인하세요. 4. 프로그래밍 할 때, 적절한 전압을 줬는 지와 전압이 잘 나오는 지 체크해 보세요. 5. 잘못된 프로그래머의 선택의 경우에도 나타날 수 있습니다. 혹시 AVR MKII나 AVR ISP Programmer가 이난 다른 것으로 선택하지는 않았는 지 확인해 보세요. 수고하세요. 
Q
Windows7 64비트 에서 USBISP V03 드라이버 설치법
기타 ▼
A Windows7 64비트 에서 USBISP 드라이버 설치법입니다. 첨부해 드린 CP2103_WIN7_64bit.zip을 풀면, an144와 CP210x_VCP_Win7 폴더가 나옵니다. XP에서 PID를 바꾸신 후 사용하시는 Windows 7에서 첨부해 드리는 드라이버 깔아서 진행하시면 됩니다. 1. 우선, 첨부된 an144sw.zip을 사용하여 PID를 0xEA60으로 변경하여야 합니다. ==> 반드시 XP에서 하세요.     변경할 때 첨부해 드린 USB에 USBISP를 꽂은 상태에서 변경하시려는 PID 쪽에만 0xEA60으로 변경하여   프로그램 하시면 됩니다. 이 때, XP PC에는 XP용 USBISP용 드라이버가 깔려 있어야 가능합니다. 2. 첨부해 드린 윈7 64비트용 드라이버를 윈7 OS가 깔린 곳에 깔아서 쓰시면 됩니다. 이렇게 되는 이유는    아래와 같습니다.  윈도우즈 7 64비트에서는 현재 WHQL Qualified driver를 사용해야 해서, USB 칩 제조사인 silabs 사의 정식 드라이버를 사용하면 사용이 가능합니다. 따라서, PID를 원래 칩 제조시에 되어 있는 0xEA60으로 변경해야 silabs 원래 드라이버를 잡기 때문에 그렇게 해야 합니다. 그런 이후에, AVR Studio 깔고, ICCAVR 깔고 하시면 됩니다. 나머지는 FAQ의 USBISP 사용법 메뉴얼과 사용법은 같습니다. AVR Studio 설치시에 V4.17 이상을 추천합니다. *PID 변경시 주의 하시길 바랍니다. 잘못된 PID 를 기입하시면  그칩을 사용할 수 없습니다. 감사합니다.
Q
스테핑 모터 구동부(AM-MS2, AM-CS2P)의 사용
기타 ▼
A (스테핑 모터 발열의 일반론)스테핑 모터 구동부와 스테핑 모터의 열 때문에 고민이 많으시다구요? 우선, 아래 사항들을 확인하여 보세요. 스테핑 모터 스펙이 5V 라도 본사의 스테핑 모터 컨트롤러는 24V를 정격으로 사용합니다. 보통 스테핑 모터는 보통 스펙의 3배~8배 정도의 전압을 걸어 줘서, 드라이브 합니다. 또한, 본사의 스테핑 모터 구동부인 AM-CS2P와 AM-MS2는 스펙상 무부하시 10V 부터 동작하도록 되어 있으며, 24V를 정격으로 씁니다. 토크가 약한 경우 12V에 충분한 전류만 공급해도 잘 돌아갑니다. 그렇게 해도 스텝 모터구동부 내부에서 24V를 생성해 줍니다. 하지만, 이런 경우 전압 변환 효율상 열이 날수 있으므로, 24V를 공급하는 것이 가장 좋습니다. 또한, 전류가 충분히 공급되지 않게 되면, 전압이 불안정해지면서 모터 구동부에 열이 날 수 있게 됩니다. 전류가 충분히 공급되지 않는 원인은 모터 구동부에 공급되는 전류를 공급하는 파워인 SMPS가 충분한 전류를 공급하지 못하는 스펙이거나 고장의 경우입니다. 스펙상으로는 되는 것처럼 되는 것도, 실제로는 제대로 스펙을 만족하지 못하는 규격의 것들도 많이 있으니, 주의 바랍니다. 본사의 스테핑 모터 구동부는 최대 3A까지 사용이 가능하지만, 1.5~2A 이상이 되는 경우에는 방열판을 추가 장착하여 주어야 합니다. 최대 스펙으로 사용하려면, 모터 하나 당, 모터에 따라 다르지만, 최대 DC 24V 5A까지 사용이 가능한 모터 하나당 대략 24V 100W 정도의 SMPS를 사용하여 주는 것이 좋겠습니다. 다만, 모터에 따라 소모되는 전류는 다르다는 것을 참고하시기 바랍니다. 또한, 모터 구동부에 부하를 걸어서, 돌리게 되면, 모터 구동부의 중앙에 있는 가변저항을 돌려서, 적절한 토크로 출력될 수 있도록, 가변저항을 돌려서, 적절한 바이어스로 맞춰 주어야 합니다. 이 부분을 잘 하면, 모터 구동부와 모터에 열이 덜 나게 됩니다. 혹시 스텝 모터 드라이버에 모터용 전압으로 공급해 주는 전압은 얼마를 넣고 계신지요? 최하 12V 정도는 걸어 줘야 동작하며, 전류도 토크에 따라 다르지만, 위에서 설명한 데로입니다.  (라인트레이서나 마이크로마우스 제작시)참고로, 작은 라인트레이서 정도라면, 12V 1A 정도의 SMPS를 사용하면 돌아갑니다. 저희 (주)뉴티씨(NEWTC)에서도 스테핑 모터 구동용 SMPS인 24V 100W SMPS를 판매하고 있습니다. 필요시 본사로 문의 바랍니다. 또한, SMPS는 충분한 것을 썻더라도, SMPS 에서 모터 구동부로 가는 선이 너무 얇으면, 충분한 전류가 전달될 수 없어서, 마찬가지 증상으로 인하여 모터 구동부에서 열이 나게 됩니다. 주의 바랍니다. 전류가 흐를 수 있는 충분한 굵기의 전선을 사용하는 것이 매우 중요합니다. 절대, 전원은 건전지 쓰지 마세요. 건전지는 순간 전류가 많이 부족합니다. 1.2V 짜리 충전지(1.2V 1,000mA 리튬망간수소 충전지 사용)를 12개를 직렬로 연결하여 사용하세요. 단, 모양을 만들 떄, 2 x 6 형태로 만들어 달라고 하시면, 스테핑 라인트레이서 기구물 중앙에 딱 넣을 수 있어서 좋아요.(3A까지 사용할 경우 추가 방열판 장착은 필수 )또한, MS2나 CS2P 두 드라이버 모두 1.5A 이상을 사용하게 되면, 추가로 방열판을 사용하여 주어야 합니다. 하지만, CS2P는 3A에 맞게 제작되었고, MS2는 현재 1.67A정도까지 사용 가능하도록 제작되어 있습니다.  원래 이 두 모듈은 모두 교육용으로 제작된 것인데, CNC 쪽에 직접 쓰시면서, 망가지시는 분들이 계셔서, 특히 MS2가 그런 용도로 많이 사용되어서, 모듈이 쉽게 망가지지 않도록 MS2의 토크를 약하게 해 둔 것입니다.하지만, 중앙의 큰 저항 4개를 교체하면 3A까지 사용이 가능합니다.  현재는 1옴을 사용하고 있습니다.0.5옴으로 교체할 경우, I trip = Vref / R,  (단, I trip은 최대전류치 ) 여기서 트립 저항을 0.5옴을 쓰면, 1.5 / 0.5 즉,Vref입력은 최대 1.5V이고  회로는 현재 0.5옴을 사용하므로 최대 3A까지 사용이 가능합니다.  모듈에서 저항을 구별하는 쉬운 방법은 중간의         본사에서 달아 나가는 큰 저항의 바깥 색깔이 주황색이면 1옴이고,                                                                     녹색이면  0.5옴입니다.(방열의 해결책)그리고, 방열의 경우 원래는 DH-45A 라는 방열판을 MS2나 CS2P가 사용할 수 있게 되어 있지만, 본사는 주변에 부품이 장착되어 있어서, 사용이 불가합니다.  그래서, 넓은 알미늄 판을 잘라서 사용하시는 것이 좋겠습니다.
모터나 드라이버에 열이 많이 나거나, 잘 돌지 않으면, 바이어스를 조정하기 위해서, 적절한 위치로 가변 저항을 돌려 주세요. (발열의 하드웨어적인 해결책) - CS2P의 경우,사실 홀딩 토크에서 running 토크보다 더 많은 전류를 소모하는 것이 사실이며, 또한, PWM 주파수에 의하여 rining 되면서 경우에 따라서는 overshoot가 발생합니다. 따라서, R과 C 값을 변경하여 주면 그 주파수를 피할 수 있을 수도 있습니다.
R212와 C208, 그리고  R206과 C204 셋트가 그것입니다. 그 값을 변경하여 보면, 좀 나아질 듯 합니다. 다만, R212나 R206은 가변 저항의 값과 관계가 있어서, 그것을 변경하면 되지만, C208과 C204는 2200pF 인데, 그 값을 위 아래로 바꿔보는 것도 좋겠습니다.
또한, C201과 C205를 SM243 모터를 쓰는 경우 모터 임피던스가 4.2옴 정도이므로 , PWM 주파수의 경우 현재 19us 정도인 ON 타임 듀티를 50%로 내리려면, 300pF 정도 짜리로 변경하여 주면 되겠습니다.  이렇게 하면 12us 정도로 짧아집니다.  이 방법이 가장 현실적이지 않을까 싶네요. 또한, 좀 더 낮은 값을 사용하게 되면, ON 타임이 좀 더 낮아지겠습니다.  한계치가 2us 정도이므로 그 이하로 내리시면 안좋겠습니다. (소프트웨어적인 해결책)MS2의 경우,클럭을 넣어줄 떄, ON/OFF 듀티를 변경해 보세요. 즉, ON TIME을 짧게 하여 사용하셔도 사실, 동작에는 지장이 없으므로, 데이터 시트를 확인하셔서, 그 시간을 최소로 두면 열이 거의 나지 않습니다. 하지만, 토크가 줄어들 수 있으므로, 주의 바랍니다.CS2P의 경우, 상을 주는 그 상의 듀티를 변경하여 보세요., ON TIME을 짧게 하여 사용하셔도 사실, 동작에는 지장이 없으므로, 데이터 시트를 확인하셔서, 그 시간을 최소로 두면 열이 거의 나지 않습니다. 하지만, 토크가 줄어들 수 있으므로, 주의 바랍니다.수고하세요.
Q
USBISP V03을 V03.5로 변경하는 방법
기타 ▼
A 안녕하세요? 고객님, USBISP V03을 V03.5에서 설치하려면 윈도우 7 64비트에서 USBISP를 쓰려면, 최신 CP2103 드라이버를 이용하시면 가능합니다.
윈도우 7 64비트 고객님들에게도 이제 길이 열린 것 같습니다.

윈도우 7 64비트에서 USBISP 드라이버 설치법은 아래와 같습니다.

- 아래 - 첨부해 드리는 윈도우 7 64비트용 드라이버를 쓰려면 PID를 0xEA60으로 변경하여야 합니다.
변경할 때 첨부해 드린 an144sw.zip을 쓰셔서, USB에 USBISP를 꽂은 상태에서 변경하시려는 PID 쪽에만 0xEA60으로 변경하여 프로그램 하시면 됩니다. 그리고 나서, 드라이버 깔면 됩니다.
혹시라도 an144sw를 실행하였는 데, USBISP의 PID를 변경할 것이 안보인다면, XP의 PC로 가셔서 하시면 될겁니다.

그런 이후에, AVR Studio 깔고, ICCAVR 깔고 하시면 됩니다. 나머지는 FAQ의 USBISP 사용법 메뉴얼과 사용법은 같습니다.  AVR Studio 설치시에 V4.17 이상을 추천합니다.
혹시 궁금하신 점은 Q&A 로 올려 주시면 되겠습니다.
잘 안되시는 분은 노트북 들고 본사로 찾아 오시면, 직접 도와드립니다.

감사합니다.
Q
[ IAR 컴파일러 데모버전 다운로드하기]
기타 ▼
A 안녕하세요? (주)뉴티씨(NEWTC)는 공식 IAR seller 입니다.IAR은 사용하는 마이크로 컨트롤러에 관계없이 사용자
인터페이스가 일정해서,한번 익숙해 지면, 다른 MCU들도 다루기가 쉬워 지지요. 정확한 타이밍과 컴파일한 후의 HEX 크기가 최소화
되는 등, 상용으로서 많은 장점이 있습니다. 사실 제품을 개발 할 때는, IAR 만한 컴파일러가 없지요.IAR의 데모버전
컴파일러가 필요하셨나요? 이메일 주시면, 임시 링크나 첨부파일로 보내드립니다.다운로드 링크를 공개했더니, 스팸으로 다운로드 받는 일이
있어서, 웹에 무리를 주었습니다.그래서, 이메일 보내주시는 분에게만 보내드리기로 했습니다.EwAVR V5.10A
EwARM V5.20 Ew430 V4.11bEw8051 V7.50AEwH8 V2.10A라이센스
키와 다운로드 링크는 이메일( iar@newtc.co.kr ) 로 요청하셔야
합니다.(주)뉴티씨(NEWTC) 고객용 데모 라이센스키 요청 :아래 포맷으로 iar@newtc.co.kr 로 메일 주시기 바랍니다. 24시간 안에
처리됩니다.- 메일 보낼 때 포맷 - 이름 : 홍길동소속 : 홍길동대학교 홍개똥과연락처 :
02-000-0000(사무실) 010-7777-7777 (핸드폰)(주)뉴티씨(NEWTC) 네이버까페 대화명(옵션) :
개똥이Email : 나이 : xx살필요한 컴파일러명 : EwAVR데모 버전을 사용하신 후에, 구매가
필요하시면 본사로 연락 주시면, 진행해 드립니다.EwARM 사용에 관한 강좌를 진행하고 있습니다. ARM 강좌에 보시면 일부 나와
있으니, 참고 바랍니다.감사합니다.
Q
[ATMEGA128 회로 설계시 주의점]
기타 ▼
A 기본적으로 모든 포트는 GPIO로 사용이 가능하다. 하지만, 마다 각각 기능이 있어서, 사용시에 주의가 필요한데, 일반적으로 주의할 사항을 몇가지 기록하여 보았다. G포트 : 외부 메모리 사용시에 사용되는 제어신호인 /WR, /RD, ALE를 주의한다.  외부 메모리로 동시에 사용시에 이 부분과 GND 사이에 만약 커패시터가 연결된 회로를 구성하게 되면, 외부 메모리 억세스에 실패할 가능성이 높다. 따라서, 이 경우  이 핀들과 GND 사이에 커패시터를 연결하지 않도록 주의한다.           F 포트 :       ADC 용으로 사용 가능하다. ADC 할 때는 만약 외부 전압으로 AREF를 쓴다면,  external AREF에 연결되는 전압을 꼭 센서의 출력 범위와 맞춰 주도록 한다.     그래야만 정밀한 결과를 얻을 수 있다.  또한, AVCC, internal 2.56V ref 전압도 사용이 가능한데, 이 경우 AREF가 외부 DC 전압에 고정되어 있다면, 선택할 수 없으므로, 반드시 이 경우 AREF는 연결하지 않아야 한다.     또한, 이 경우에는 AREF와 GND 사이에 커패시터를 하나 달아주는 것이 노이즈를 막아주는 역할을 한다.    퓨즈 비트의 JTGAEN를 Enable(0) 해 놓을 경우 JTAG 핀들에 해당하는 핀들인 이 포트의 D4~D7이 사용 불가하니, 주의 바란다.  그래서, 본사에서는 출시하는 모든 포트를 사용하기  위하여 퓨즈비트를 JTAGEN이 disable(1)로 되어 있다.    E포트 : D0, D1 이 각각 RXD0, TXD0 기능도 하도록 되어 있다. 따라서, UART0를 초기화 하게 되면, D0, D1이 각각 평상시에 High 로 전압이 올라가 있게 된다. 즉, 이 경우 포트로 사용이 불가하다. 따라서, 이 경우 왜 이 핀들이 출력이 항상 High로만 나오는가 고민하지 않기 바란다. D포트 : D2, D3가 각각 RXD1, TXD1 기능도 하도록 되어 있다. 따라서, UART1을 초기화 하게 되면, D0, D1이 각각 평상시에 High 로 전압이 올라가 있게 된다. 즉, 이 경우 포트로  사용이 불가하다. 따라서, 이 경우 왜 이 핀들이 출력이 항상 High로만 나오는가 고민하지 않기 바란다. B 포트 :       PB1의 SCK 핀은 매우 민감한 클럭 핀이다. SPI 통신을 할 때, 특히 민감하게 반응한다.  따라서, 이 선을 SPI로 사용할 때는 꼭 가장 가까운 곳에 디바이스를 위치하게 해야 하면,  그렇게 하기 어렵다면, PCB 캐드 작업 시에 바깥쪽으로 그라운드와 연결된 GUARD Line을  양쪽 및 반대면 PCB에 생성하여 그 선을 따라가면서 싸 주어서, 노이즈가 끼지 못하도록 해 주어야 한다. 높은 정도의 속도와 정밀도가 필요한 경우에 이렇게 반드시 해 주어야 한다.       4층 정도로 만들어서, 반대면에서의 노이즈를 GND 판으로 막아주는 것도 좋겠다.             또한, SCK 핀이 있는 PB1와 GND 사이에 커패시터가 회로적으로 연결되게 되면, 클럭이 커패시터로 인하여 떨지 못하게 되어서, SCK를 사용하기 어렵게 되므로, 주의한다.  어쩔 수 없이 커패시터를 써야 할 사용할 상황이거나 다른 회로를 이 핀에 부가하여야 한다면,  반드시 PB1에서 1k옴 정도의 직렬 저항을 하나 거친 후에 커패시터를 쓰거나 다른 회로를 부가 하여 쓰도록 한다. 이렇게 하지 않으면, ISP 다운로딩 자체에도 문제가 생길 수 있다.       이런 경우를 종종 보아 왔으며, 반드시 주의하여 방지하도록 한다. 또한, AVR은 전압에 매우 민감하다. TTL Level의 5V 전압을 사용하는 AVR 시리즈의 경우 4.5~5.5V 까지만 정상동작하며, 그 이상의 전압을 가하게 되면, 경우에 따라 바로 망가지게 될 수도 있으며, 오래 지속될 경우, 고장이 나기도 하는 데, 이 고장의 경우 고장 부위에 따라서 동작 자체는 잘 되지만, ISP 다운로딩이 안되는 문제가 발생하기도 한다. 또한, 일부 핀이 동작이 안 되거나, 동작은 되지만, AVR칩에서 열이 많이 나는 고장이 생기기도 한다. 이러한 경우, 어느 정도 시간이 지나면 어떤 상황으로 진행될 지 보장할 수 없는 상황이 되므로, 반드시 칩을 교체하는 것이 좋다. 8비트 프로세서 중에서 AVR의 많은 기능과 메모리를 잘 활용하고 싶다면, 안정된 회로를 전원부 설계를 하는 것이 필수적인데, 시스템에 따라서 열이 나도 되는 지, 열이 안나야 하는 지, 제품 생산 가격은 얼마선에서 시스템을 설계해야 하는 지에 따라서, 전원부 회로 설계가 달라지겠다.
Q
[센서] 3축 가속도 센서참고 (3축센서 V01, V02 용)
기타 ▼
A 안녕하세요? 고객님,저희 NewTC 제품을 이용하여 주셔서 감사합니다.메뉴얼에 보면 자세한 사항이 잘 나와 있습니다. 더 자세한 사항은 칩 데이타시트를 보시면 됩니다.- 아래 - http://www.newtc.co.kr/dpshop/bbs/board.php?bo_table=m48&wr_id=485&sca=&sfl=wr_subject&stx=3axis&sop=and간단하게 설명하자면, 1.65V를 기준으로 1.5g 모드의 경우 800mV/g 단위로 전압 값이 변하면서 나타나게 됩니다. 1g라고 할 때, g는 gravity의 약자이구요. 중력 가속도를 의미합니다.첨부한 그림은 모듈의 핵심 IC인 MMA7260Q 데이터 시트에서 발췌한 부분입니다.그림을 잘 보면, 이해가 가능하실 겁니다.우선, 가속도 = static 가속도 + Dynamic 가속도 로 구성된다는 것을 아셔야 합니다.고객님이 각도 측정만 하려 한다면, Dynamic 가속도같은 것은 심하게 발생하지 않는 다는 것을 가정해야 합니다. 본 모듈에서 static 가속도만 따로 뽑아 내기는 어려우니까요. 즉, 매우 천천히 움직이면, 매우 작은 Dynamic 가속도만 발생될 것이고, 그렇다면 전체 값이 static 가속도에 가까운 값이 나오게 되어, 고객님이 원하는 것처럼, 각도 측정에 사용할 수 있을 겁니다.-90도 ~ +90도 를 -1g ~ +1g로 대응시켜 보시는 것도 그림과 같이 무리가 아닙니다. 첨부한 3축 가속도 센서 계산법.ppt를 참고하면, 기울기로 변환시키는 방법도 나와 있으니, 참고 바랍니다.즉, X, Y, Z 축 각각에서 전압값이 나오게 되구요. 0g 일 때, 1.65V 가 나오구요. 1.5g 모드에서 1g당 출력 전압값이 800mV 정도 변하게 됩니다.gSelect 핀에 아무 연결을 하지 않아도, 기본적으로 1.5g 모드에 맞춰져 있도록 모듈이 제작되어 있습니다. 물론, 변경하면 변경된 모드로 동작합니다.그리고, 평행하게 놓은 상태에서라면 Z축은 1g가 될 겁니다.따라서, 1.65V + 800mV = 2.45V 정도 됩니다.아무리 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를 잡아낼 수 있을 겁니다.다른 아이디어들도 있는 데, 메뉴얼을 읽어 보시기 바랍니다.또한, 정확한 사용을 위하여 참고로 MMA7260Q 칩 데이터시트를 한 번 읽어 보시는 것이 좋겠습니다. mma7260q datasheet로 검색엔진에서 검색해 보시면 쉽게 찾을 수 있을겁니다.아래는 가속도 센서로 거리측정하기에 관련된 답변이니 참고 바랍니다.- 가속도 센서로 거리측정하기 - 실험을 하기 전에 우선, 센서의 여러가지 원인으로 인한 물리적인 오류를 잡아주기 위하여 첨부한 AN3447.pdf을 참고하여 센서 켈리브레이션을 진행해 주는 것이 좋겠습니다.또한, 첨부한 AN3397에서 나온 내용을 참고하여 또한 거기서 나오는 켈리브레이션도 함께 진행하면 좋겠지요.또한, 측정하는 시간간격이 짧을 수록, 즉, 주어진 시간안에 많은 데이터 샘플로 할 수록 양자화 에러도 줄 것이고, 그만큼 정확한 결과를 얻을 수 있겠습니다.ATMEGA128의 데이터 시트를 봐도 그렇고 실제로 테스트 해 보아도, 보통 AVR은 15kHz가 ADC의 최대치라고 보시면 됩니다. 하지만, 가속도 센서 자체가 11kHz인가에서는 특성이 특별히 좋지 않아지므로, 10kHz 정도로 샘플링 하는 것이 좋겠습니다. AVR로는 거의 채널당 3kHz 정도가 이 가속도 센서로 좋은 데이터를 얻는 최대치라고 봐야 겠지요.그 정도로 샘플링 한 후에, 크게 움직이면 생기게 되는 갑자기 생기는 물리적인 오류로 인한 이상한 샘플들을 제거하기 위하여 10개 샘플링 할 때마다 상위 2개 하위 2개 정도는 재하고, 중간값들을 소팅으로 정렬한 다음, 나머지 6개 정도의 값을 평균을 내서 하나의 값으로 사용합니다. 이러한 절차가 일종의 소프트웨어 필터 역할을 할 수 있으며, 많은 에러를 걸러주게 됩니다. 그렇게 되면 초당 채널마다 300개 정도의 샘플이 생기게 됩니다. 이 때의 시간 간격을 시간으로 환산하여, 적분할 때 시간축 델타T로 보면 되겠습니다.초기에 위에서 얘기한 대로, 첨부한 AN3447을 이용 물리적인 에러들을 잡아내어 보정하고, 완전 평형한 상태에서(an3447을 참고) 완전 정지한 상태에서의 가속도 값을 알아내서, 중력 가속도 값으로 지정한 후, 첨부한 an3397에서 나온 것처럼 켈리브레이션 한 후에, 이중 적분으로 거리 계산을 해 내되, 불안정한 움직임을 보이는 경우 노이즈로 인식하여 zero로 만들어 줄 수도 있어야 겠습니다.실제로 센서칩 자체도 +-1/2LSB의 에러가 있으며, AVR 자체도 +-1/2LSB의 에러가 발생하며, 또한, 전송 과정에서도 +-1LSB 정도의 에러는 발생할 수 있습니다. 최소한의 아날로그 신호의 전송선로를 사용하고, 또한 신호의 노이즈를 막아주는 PCB 설계 등으로 최대한 노이즈를 제거하는 것도 중요하겠습니다.이를 통하여 거리를 계산하면 보다 정확해 지리라고 생각합니다.참고로 말한다면, 중력 가속도가 X,Y,Z 축 각각에 따라 기울어짐에 따라서 또한 정적 가속도 값이 각 축마다 달라지게 되는 데, 이를 자이로 센서로 미리 측정하여 두었다가, 그 위치에서 빼는 중력 가속도 값을 불러와서 빼가면서 현재의 동적 가속도만을 알아내는 테크닉도 필요하겠습니다.이 때는 분명히 자이로 센서의 값을 받아서 동적 가속도 값을 정확히 알아내기 위하여 현재의 기울어짐을 각속도로 정확히 측정하는 것도 필요하겠습니다. 이렇게 보정하면 보다 정확한 결과를 얻을 수 있을 것으로 생각됩니다.보다 정확한 결과를 위하여, ADC를 외부에 별도로 달아서, 보다 정밀하게 ADC 하는 것도 도움이 될 것 같습니다.이 내용이 도움이 되었으면 좋겠습니다.수고하세요.감사합니다.
Q
[퓨즈셋팅] 코드비전 및 포니프로그에서 셋팅법[ATMEGA128]
기타 ▼
A [퓨즈셋팅] 코드 비전 및 포니프로그에서 셋팅법[ATMEGA128] 입니다. 물론, USBISP나 ISPPRO를 기준으로 한 것이구요. 여기에다가 JTAGICE 같은 경우는 JTAGEN을 반드시 체크 하셔야 합니다. 참고 바랍니다.

본사에서 판매되는 모듈일 경우 미리 퓨즈 셋팅이 되어 나가기 때문에  퓨즈셋팅을 안하셨도 됩니다.칩이 새것일 경우 퓨즈 셋팅을 한번 하시고 program fuse bit 체크를 해체하고 사용하세요
 

 
 
Q
[ICCAVR 에러 또는 데모 다운로드 관련]
기타 ▼
A 안녕하세요? 고객님,Option에서 target을 ATMega128(Please see NOTES)로 사용하세요.자료실의 최신 버전에 에러가 나실 경우,최신 버전의 에러는 ICCAVR의 에러가 아니라, 아래를 추가하시면 됩니다.printf와 scanf 함수가 하드웨어에 따라 다른 곳으로 출력할 수 있게 변경 가능하기 때문에, 생기는 메시지 이므로, 내부함수인 putchar와 getchar를 사용하는 환경에 맞게 적어주어야합니다.- 아래 -#include <stdio.h>// 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;}만약 그래도 안되시면, 프로젝트를 다시 생성해 주시고, 만들어진 C 소스를 추가해 주세요.예전 6.xx 버전에서 만들어진 예제라서 초기 생성 폴더가 달라서 그럴 수 있기 때문입니다.자료실--> ICCAVR 으로 검색하여 다운로드.==> 이 프로그램으로 다운받아서 다시 깔아 보세요.잘 될겁니다.감사합니다.
Q
제품의 A/S 절차는 어떻게 되나요?
기타 ▼
A 저희 (주)뉴티씨(NEWTC) 에서는 A/S의 경우 유상과 무상 처리가 있습니다.
원칙적으로는 제품 구매후, 1년간 제품의 A/S가 가능합니다만, 2005년 설립후 현재까지, 저희 제품에 관한 A/S는 모두 해드려 왔습니다. 가능하다면, 오래된 제품들도 A/S를 최선을 다해서 해드리고 있어서, 고객님들의 신뢰를 받고 있습니다.
 
다만, 제품을 구매하신 후, 한달 이내에는 품질보증기간으로 제품 자체 하자시에 무상수리가 가능합니다.
이후에는 유상처리 됩니다.천재 지변이나 소비자 과실의 경우 유상처리되며, 실비 부담만 받고 있습니다. 이 경우 보내고 받는 택배비는 소비자께서 부담하셔야 합니다. 로젠택배(1588-9988)를 이용하시거나 또는, 작은 것은 우체국 택배를 이용하셔도 편리하고 저렴합니다. USBISP와 같이 작은 것들은 우체국 택배를 이용하면 저렴하면서 편리합니다. ( 주의 : USBISP와 같은 제품의 경우에는 반드시 케이블도 함께 보내주셔야 전체 점검이 가능합니다. )무상처리의 경우 구매 직후 제품자체의 하자가 있을 경우가 되겠습니다. 택배를 발송해 주시면 택배로 A/S도 가능합니다. 이 경우, 택배비와 수리비는 저희 (주)뉴티씨(NEWTC)에서 부담합니다. 무상 처리를 받으시려면, 이상 증상 발생 경위, 현재 나타나는 증상 등을 정확히 적어서 함께 보내주셔야 무상 처리 판단후 처리가 가능합니다.
 
기본적으로 고객지원의 질문답변을 기본으로 하고 있으며, 검색을 통해 비슷한 답변들을 찾아보실 수 있습니다.  그것으로 해결되지 않는 경우는, 고객지원의 자주하는질문에 가면 그 곳에서도 대부분 답변이 있으니, 참고 바랍니다.
 
그래도 해결이 되지 않는 부분은 본사의 질문 답변에서 해결하실 수 있습니다.물론, 위의 해결을 찾아보지 않고, 그냥 질문 남기셔도 됩니다만, 보다 빠른 해결을 목적으로 한다면, 본사의 질문답변에서 검색을 해 보시는 것도 좋겠습니다. 온라인으로 문의하시면 필요한 소스의 위치라던가, 필요한 자료등을 함께 링크하여 드릴 수도 있습니다. 꼭 전화로 해결하여야 하는 업무는 본사에서 질문답변으로 올리면, 전화를 드립니다.
기본적으로 전화 상담 보다는 Q&A를 이용하여 주시구요, 자세히 남겨 주시면, 그만큼 자세히 답변하여 드립니다. 업무시간이 아닌 경우에는 전화를 받지 못하오니, 양해 바랍니다. 이 경우에는 팩스, 이 메일이나 Q&A를 통해서 A/S 건에 관하여 메시지를 남겨 주시면 처리해 드리겠습니다. 발송하실 주소 :  우편번호 06561서울특별시 서초구 방배동 방배중앙로 140, 대은빌딩 4층 (주)뉴티씨(NEWTC) A/S 담당자 (앞) 감사합니다.
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) 가입하여 많은 자료 다운로드 받으시기 바랍니다.

감사합니다.
Q
장치관리자에서 COM포트번호 초기화
참고자료 ▼
A 안쓰는 COM 포트인데도, 예전에 연결했던 USB 장치의 COM 포트가 있는 것처럼 계속 남아 있게 된다.이 때, COM포트를 다시 1부터 시작하게 하려면 어떻게 해야 할까?그림과 같이 하면 된다.우선, Windows에서 시작--&gt;프로그램및파일 검색에서 REGEDIT를 쓰고 실행한다.그런 후, 그림과 같은 곳을 찾아서, ComDB를 클릭하고, 모든 데이터를 00으로 변경한다.그냥, DELETE 키를 눌러서 없애도 된다.그럼, 즐거운 COM 포트 사용이 되기를 바란다.