졸업작품 최종 보고서(AVR(AT90S2313)을 이용한 리모컨 로봇축구)전 공 : 전자정보기술학 번 : 20013378학 년 : 4 학 년이 름 : 정 경 한제 출 일 : 2004.11.30.湖 西 大 學 校1. 제작 목적로봇 축구는 오랜지색 골프공으로 벽 높이 5㎝, 170×150㎝경기장에서 가로, 세로, 높이 7.5㎝이하의 골키퍼 1대와 공격 또는 수비를 담당하는 로봇 2대 즉 3대의 로봇이 한 팀을 구성하여 6대의 로봇의 움직임을 감지하기 위한 디지털 영상 카메라의 영상을 입력받고, 인공지능 프로그램에 의해 축구경기를 운영하기 위한 프로그램이 있는 영상보드가 장착된 컴퓨터, 명령지시를 위한 무선모듈, 경기를 하는 축구로봇, 경기장 시설 등이 필요하다.카메라가 로봇의 움직임을 포착하여, 컴퓨터가 적군과 아군의, 공, 골대 등의 위치 데이터를 이용하여 프로그램에 의해 계산된 로봇의 새로운 위치를 무선으로 로봇으로 전송하면, 축구로봇은 무선으로 수신된 데이터를 이용하여 자신의 위치로 움직인다.이러한 자율이동 로봇축구를 위한 시스템은 첨단의 기술과 비용이 있어야 가능하므로 리모컨 로봇축구는 영상처리와 인공지능 부분을 사람이 대신하고 적외선 리모컨으로 제어해서 축구 로봇을 조정함으로서 고가의 카메라나 통신 모듈을 사용하지 않으면서 축구로봇의 묘미를 느끼도록 하여 향후 자율로봇 로봇축구의 기초가 되도록 한다.2. 작품 개요 및 관련 이론⑴ 프로세서 : AVR(AT90S2313)① 특 징AVR은 RISC(Reduced Instruction Set Computer)구조의 저전력 CMOS타입의 8bit마이크로 프로세서로서, 대부분의 명령을 1클럭 사이클에 수행할 수 있어, AT90S2313은 ㎒당 1MIPS까지 속도를 낼 수 있다. 또한 32개의 범용 레지스터가 ALU에 직접 연결되어 있어, 1클럭 사이클에 수행되는 한 명령에 독립된 2개의 레지스터를 처리할 수 있다. 이러한 구조의 결과로 일반적인 CISC(Complex Instruction Set Computer)마육용으로 사용하기 쉽다.AVR은 시리얼과 패러럴 모드의 2가지 다른 프로그래밍 방법이 있다. 패러럴 모드는 프로그래밍 장치로 빠르게 프로그램 할 수 있으며, 시리얼 모드는 'In-System Programming(ISP)'라 불리는 방법으로 별도의 프로그래밍장치 없이 프로그램을 할 수 있다. 즉 제어 기판에 ISP케이블의 연결만으로 프로그램이 가능하다.AT90S2313의 일반적인 특징은 다음과 같다.? 고성능 저전력 RISC구조? 대부분 싱글 사이클 수행이 가능한 118가지의 강력한 명령어? 프로그램 다운로딩을 위한 ISP시리얼 인터페이스가 가능하고 1000번을 쓰로 지울 수 있는 반복 프로그램이 가능한 2KB의 Flash메모리? 10만 번을 쓰고 지울수 있는 EEPROM? 128Byte의 내장 RAM? 23개의 8bit 범용 작업용 레지스터? 15개의 프로그램 가능한 입출력? 동작 전압 및 주파수 : 0~10㎒, 4V ~ 6V, 0~4㎒, 2.7V ~ 6V? 10㎒에서 10MPS이상의 수행능력? 별도의 프리 스케일을 가진 한 개의 8bit 타이머/카운터? 별도의 프리 스케일을 가지고 비교와 캡쳐 모드를 가진 16bit 타이머 카운터? Full Duplex UART? 8, 9, 10bit분해능의 PWM? 외부와 내부의 인터럽트 소스? 내부 오실레이터에 의한 프로그램 가능한 워치독 타이머? 저전력 아이들(Idle) 및 전력 절약(Power Down) 모드? 소프트웨어 보호를 위한 프로그램 읽기 방지(lock)기능? 20pin 디바이스요약하면 AT90S2313은 20pin의 작은 외관에 별도의 프로그래밍 장치 없이 사용할 수 있고, 시리얼 통신이 가능하며 2개의 외부 인터럽트와 2개의 타이머, 15개의 입출력 포트를 가지고 고속으로 데이터를 고속으로 처리 가능한 프로세서이다.㉯ pin배치 및 기능AT90S2313은 20pin으로 그림과 같으며, 각각의 기능은 다음과 같다.AT90S2313pin 구성㉠ /RESET : 리셋 입력 핀으로 50㎱이상의 Low신호가 들어rt D(PD0~PD6)포트D는 내부에 풀업저항을 가진 7개의 양방향성 입출력 핀이다. 출력버퍼는 20㎃를 흘릴 수 있다.포트 핀기 능PD0RXD : 직렬통신 입력PD1TXD : 직렬통신 출력PD2/INT0 : 외부 인터럽트 0PD3/INT1 : 외부 인터럽트 1PD4T0 : 타이머 0외부 입력PD5T1 : 타이머 1외부 입력PD6ICP(타이머/카운터1 입력 캡쳐 핀)㉢ Port B(PDB~PD6)포트 B(PB0~PB7)는 8bit 양방향성 I/O포트로 포트 핀들은 내부 풀업저항을 가지고 있다. 이 포트는 범용의 입출력 단자의 기능 외에 다른 기능을 가지고 있다포트 핀기 능PB0AIN0 : 아날로그 비교기 +입력PB1AIN1 : 아날로그 비교기 -입력PB3OC1 : 타이머/카운터1 출력 비교 일치 출력PB4MOSI : 메모리 다운로드를 위한 데이터 입력PB5MISO : 메모리 다운로드를 위한 데이터 출력PB6SCK : 직렬 클럭 입력⑵ 모터(DC)㉮ DC 모터 드라이버(BA6208)BA6208은 DC모터의 제어에 사용되는 소형 모터용 DC MOTOR 드라이브이다. 그리고 TTL 레벨(0~5V)에 제어 신호에 의해 제어된다.AIN(PIN 3)BIN(PIN 2)AOUT(PIN 7)BOUT(PIN 8)동 작HLHL정 회전LHLH역 회전HHLL브레이크LLOPENOPEN전원 공급 중지㉯ PWM(Pulse Width Modulation) 제어DC모터의 속도를 제어하기 위하여 가장 보편적으로 많이 사용하고 있는 방법은 전기자 전압 제어법이다. 전기자의 단자전압을 가변시키기 위해서는 가변시킬 수 있는 전압원이 필요하게 된다. 일반적으로 직류전압을 가변시키기 위해서는 슬라이닥을 이용하여 직류전압을 가변시키기도 하지만 이 방법의 경우 슬라이닥의 1차측 전압보다 높게 제어 할 수 없다는 점과 슬라이닥에서 발생하는 손실이 크다는 점이다.다른 방법으로 일정 크기의 직류전압을 스위칭 소자를 이용하여 ON/OFF 시켜 평균전압의 크기를 제어하는 것을 PWM(pulse width modu다. 리모컨 또한 이것을 이용한다. 리모컨 수신 부는 적외선 수광 다이오드와 마이컴, 필터회로로 되어있다.여기서 적외선 신호는 적외선 발광에서 보내는 신호를 말하는 것이다. 이 신호는 펄스로 이루어져 있다. 일정한 주파수를 가지고 있다는 것이다. 예를 들어 전원부는 10㎑, CH11은 8K등으로 만드는 회사마다 특정 주파수를 가지고 있다. 그래서 같은 회사 제품으로 텔레비전을 바꾸었을 때 전에 쓰던 리모컨으로 새로 산 텔레비전이 동작되기도 하는 것이다. 이러한 특징을 이용해서 각 버튼에 특정 주파수를 가지고 수광부 에서는 그 신호를 분석하여 하게 되는 것이다.㉮ 적외선 발광부적외선 발광부은 리모컨을 가리키는 것이다. 여기는 간단한 마이컴과 적외선 발광 다이오드가 있다. 마이컴은 각 버튼의 특정 주파수를 가지고 있어서 버튼을 누르면 마이컴이 그 버튼의 주파수를 적외선 발광으로 보내게 되는 것이다.㉯ 적외선 수광부적외선 수광부은 적외선 발광에서 나온 적외선 신호를 받아들인다. 그래서 그 특정 주파수를 해석해서 텔레비전을 끈다든지, 채널을 바꾼다든지 하는 미리 정해놓은 특정동작을 한다3. 회로도 및 부품목록㉮ CPU부CPU의 기본적인 회로를 모듈형태로 만들어 5pin커넥터를 이용하여 ISP를 가능하게 하여 브레이드 보드에 상에서 다른 어플리케이션회로를 구성하고 확인 할 수 있게 구성하였다.- 부품목록NO.규분규격수 량1프로세서AT90S2313-10PI1 EA2크리스탈12㎒1 EA3저항10㏀1 EA1㏀1 EA4콘덴서30㎊(30)2 EA100㎋(104)1 EA5커넥터핀해더 SINGLE20 EA모렉스 해더(5pin)1 EA- 회로도㉯ IR 발신부브레이드 보드에서 회로 구성 가능하도록 제작하였고, IR_SEND pin이 ‘LOW’이면 IR 다이오드는 발광한다.- 부품목록NO.규분규격수 량1TR2SA10151 EA2IR 다이오드CL-1L5R2 EA3저항10㏀1 EA4콘덴서100㎌1 EA100㎋(104)1 EA10㎋(103)1 EA5커넥터핀해더 SINGLE3 EA- 회로도㉰ ’로 바꿔주게 된다.- 부품목록NO.규분규격수 량1IR DemodulatorKM-603LM1 EA2저항10㏀1 EA100Ω1 EA3콘덴서100㎌1 EA4커넥터핀해더 SINGLE3 EA- 회로도㉱ 리모컨- 부품목록NO.규분규격수 량1프로세서AT90S2313-10PI1 EA2크리스탈12㎒1 EA3저항10㏀6 EA1㏀1 EA330Ω1 EA4콘덴서30㎊(30)2 EA10㎋(103)1 EA100㎋(104)2 EA100㎌1 EA5커넥터핀해더 SINGLE20 EA모렉스 해더(2pin)1 EA6S/WDIP (3pin)1 EASLIDE1 EATACTILE4 EA- 회로도㉲ IR CAR- 부품목록NO.규분규격수 량1프로세서AT90S2313-10PI1 EA2모터 드라이버BA62082 EA3크리스탈12㎒1 EA4IR DemodulatorKM-603LM1 EA5LEDØ 54 EA6저항10㏀1 EA1㏀4 EA100Ω1 EA330Ω4 EA7콘덴서30㎊(30)2 EA100㎋(104)3 EA100㎌1 EA8S/WDIP (4pin)1 EASLIDE1 EA9커넥터모렉스 해더(2pin)3 EA- 회로도4. 프로그램 소스- 송신되는 데이터 코드동작START BITCHANNL_DATACOMMAND_DATAXPD6PD5PD4PD3PD2PD1PD0전진110---0001후진110---0010좌회전110---0100우회전110---1000전-좌턴110---0101전-우턴110---1001후-좌턴110---0110후-우턴110---1010#include #include #include #define IR_BIT 3#define LED_BIT 7typedef unsigned char BYET;volatile unsigned int flag,count;SIGNAL(SIG_OVERFLOW0){if(count>60) count=0;else count++;if(flag>2300) flag=0;else flag++;outp(0, TCNT0);}void Io_port_set(void)//입출력 포트설정{outp(0xFF1
☆ BIOS란? / BISO와 OS의 관계 ☆과목명 : 컴퓨터 설계 및 실습 담당교수 : 이윤식교수님학 번 : 20013378 이 름 : 정 경 한 제 출 일 : 2004. 9. 9◎ 바이오스의 정의와 특성바이오스는 '기본적인 입력과 출력 담당하는 시스템'을 의미한다. 바이오스는 입출력에 관계된 대부분의 하드웨어에 존재한다. 요컨대, 하드웨어는 사용자의 요구에 의해 데이터를 입출력하므로 이런 동작을 수행하기 위해 하드웨어를 제어하는 가장 기본적인 코드를 필요로 하는데, 이런 일을 담당하는 것이 바로 바이오스인 셈이다. 그리고 사용자의 필요에 따라서 기본적 시스템 구성을 변경할 수 있다.바이오스는 컴퓨터의 핵심 부품인 메인보드에 ROM 칩의 형태로 저장되어 있으며, 메인보드로 하여금 각종 주변장치를 정확히 인식하여 컴퓨터가 부팅될 수 있게 하는 중요한 역할을 수행한다. 바이오스에서 설정할 수 있는 내용은 시스템의 날짜와 시간, 하드디스크, CD-ROM 드라이브, 그래픽 카드 같은 각종 주변장치 등에 대한 것으로, 컴퓨터가 부팅되기까지의 모든 과정에 빠짐없이 관여한다◎ 바이오스의 역할 ?컴퓨터를 구성하는 가장 중요한 부속물은 마더보드라고 불리는 기판이다. 마더보드에는 CPU와 RAM이 설치되어 있으며, 다수의 카드들이 연결될 수 있다. 또한 외부 장치와의 연결을 위해 커넥터가 제공된다. 마더보드는 이 모든 것을 컨트롤하는 역할을 담당하므로 이것을 총괄할 매개체가 필요하며, 그 역할을 담당하는 것이 바이오스이다.① 하드웨어 설정BIOS 설정 프로그램을 이용하여 사용자는 컴퓨터에 설치된 각종 하드웨어 장치들을 선택, 검사, 변경, 조정할 수 있다. 내장 시계의 날짜와 시간 조절, HDD 및 FDD의 종류와 전송 모드 선택, L1 및 L2 cache 사용 여부 선택, 메모리 검사 및 동작 속도 조절, drive boot 우선 순위 선택, 키보드 속도 조절, 전력 관리 설정, 인터럽트 변경, 직렬 및 병렬 포트 선택 등 BIOS는 시스템 내의 모든 장치들을 위한 환경을 자동 또는 수동으로 설정한다.② POSTing사용자가 컴퓨터의 전원 스위치를 켜면 BIOS는 작성/조정된 소프트웨어에 의하여 스스로 컴퓨터가 정상 동작할 수 있도록 시스템에 연결된 각종 하드웨어 장치들을 차례대로 점검하고 나서 이상이 없으면 시스템 디스크의 OS boot loader로 지휘권을 넘기는데 이 BIOS 과정을 POSTing (Power On Self Testing)이라고 한다.③ 디스크 부트시스템 초기화 과정까지 아무 문제가 발생하지 않으면 바이오스는 디스크 부팅을 준비하며, 이 작업을 위해 부팅할 디스크로부터 부트스트랩 로더를 읽어들인다. 부트스트랩 로더는 시스템 부팅에 필요한 아주 작은 프로그램으로서, 이것을 읽는 데 성공하면 디스크 부트가 시작된다. 디스크 부트의 시작과 더불어 디스크에 설치된 운영체제가 컴퓨터의 메모리에 올라오며, 운영체제는 시스템을 점검하고 일련의 초기화 과정을 수행한 다음 사용자의 명령을 기다린다. 이후로 사용자는 프로그램을 사용한다든가 시스템을 직접 제어하는 등의 작업이 가능하다. 물론 이 상태에서도 바이오스는 계속 사용되며, 컴퓨터 작동에 필요한 여러 루틴들이 함수 형태로 제공된다. 사용자는 이것을 호출에 의해서 사용할 수 있으며, 운영체제에 의해서도 사용할 수 있다.
◎ 서 론1. 작품 동기현재 도트매트릭스를 이용한 전광판은 여러 가지 분야에서 널리 사용하고 있습니다. 특히, 지하철을 이용하면서 도트매트릭스를 사용한 안내판을 보면서 관심을 갖게 되었고 전철의 위치를 실시간으로 안내해 줄 뿐만 아니라 현란한 움직임의 광고들을 표현하는 유용한 물건이라는 생각을 했습니다. 그래서 요번 프로젝트의 주제를 도트매트릭스로 정하고 비록 8*48도트의 작은 규모이지만 간단한 문자의 이동을 구현함으로써 도트매트릭스를 이용한 전광판의 원리를 공부하게 되었습니다.2. 작품 목적1) 실제 하드웨어를 제작해 봄으로써 동작원리와 이론적 지식을 얻음.2) C언어를 사용하여 프로그램을 작성함으로써 알고리즘과 C언어 습득.3) 소프트웨어와 하드웨어제작을 통해 다양한 광고판의 제작과 활용성을 도모.◎ 하드웨어 구성 및 작동원리