250 likes | 865 Views
코드비전을 사용한 ATMega128 (5 관절 로봇 ) 작동 방법. 5 관절 로봇의 특징. 관절 개수 : 5 개 ATMega128 의 다양한 레지스트리 중 3 개의 레지스트리를 사용하여 관절 조정 관절 조정 레지스트리 타이머 레지스트리 USB 송수신 레지스트리. 5 관절 로봇 장치 구성. 전원연결부. 전원 코드 ( 온 되어 있어야 함 ). P O R T B. 프린터 연결 포트. U S B 포트. 코드비전 AVR 사용 방법. 코드비전 AVR 실행 File - New.
E N D
5관절 로봇의 특징 • 관절 개수 : 5개 • ATMega128의 다양한 레지스트리 중 3개의 레지스트리를 사용하여 관절 조정 • 관절 조정 레지스트리 • 타이머 레지스트리 • USB 송수신 레지스트리
5관절 로봇 장치 구성 전원연결부 전원 코드 (온 되어 있어야 함) P O R T B 프린터 연결 포트 U S B 포트
코드비전 AVR 사용 방법 • 코드비전 AVR 실행 • File - New
코드비전 AVR 사용 방법 • Project 선택 (소스.. 아님..) • 코드 위저드 마법사 사용 Yes 체크
코드비전 AVR 사용 방법 • Chip = Atmega128 선택
코드비전 AVR 사용 방법 • PORT는 PORTB로 체크 • DATA DIRECTION은모든 BIT를 OUT으로 체크
코드비전 AVR 사용 방법 • PORT는 PORTB로 체크 • DATA DIRECTION은모든 BIT를 OUT으로 체크
코드비전 AVR 사용 방법 • USART1의송수신 모드를 그림과 같이 체크 • 이설정은 USB를 통한 로봇과 컴퓨터 사이의 데이터 교환을 위함
코드비전 AVR 사용 방법 • 타이머 설정 • Clock Source와 Value 값을 설정 가능함 • Value 값은 C 코드 내에서도 동적으로 설정 가능
코드비전 AVR 사용 방법 • 구성 완료 • File – Generate, save and exit 클릭
코드비전 AVR 사용 방법 • 코드 저장 • 총 3개의 파일을 저장함
코드비전 AVR 사용 방법 • 로봇 프로그래밍 c 코드 작성
코드비전 AVR 사용 방법 • Compile, Make를 통한 에러 검출
코드비전 AVR 사용 방법 • 롬기록 세팅 확인 (Setting – Programmer) • AVR Chip Programmer Type = Kanda… • Printer Port : 장치 관리자 참조 • ATmega169 CK… 체크
코드비전 AVR 사용 방법 • Run the chip progammer 클릭 • Tools – Chip programmer, 바로가기 클릭.. 등
코드비전 AVR 사용 방법 • 칩 확인 • ATmega128인지확인
코드비전 AVR 사용 방법 • 기존의 롬에 저장된 내용 삭제 • Program – Erase Chip
코드비전 AVR 사용 방법 • 작성한 코드 롬에 삽입 • Program – FLASH
코드비전 AVR 사용 방법 • 주의사항 • 프린트 포트를 통해 로봇과 컴퓨터가 연결되어 있어야 함 • 로봇의 전원이 연결되어 있어야 함 • 프린터 포트 옆에 위치한 2개의 빨간 사각형 (프린터 포트 전원 연결부라 함) 스위치가 모두 위로 올려져 있어야 함
코드비전 AVR 코드 작성 • 코드 위저드를 사용하였을 때의 기본 코드 • ATmega128 레지스트리 관련 api 임포트 (#include <mega128.h>) • 레지스트리 정의 (#define) • PORTB 관련 레지스트리 선언 • Usb 송수신을 위한 함수 정의 • char getchar1(void) { } : 데이터 출력 • void putchar1(char c) { } : 데이터 입력 • Main 함수 (void main) • PORTB 함수 데이터 삽입됨 (코드 자동 완성) • 메인 함수 내에 실제 작동되는 코드 입력
코드비전 AVR 코드 작성 • 실제 코드 작성 방법 • Void main 내의 while (1) { } 내에 작성함 • 변수는 메인 함수 내부에 전역 변수로 설정 가능 • While 문의 조건을 변화시키면서 조작 가능함 • Chat i = 1; • While (i) {.. 내부에 조건을 걸어 i를 0으로 바꿀 수 있음 } • 메인 함수 내에 While 문을 여러 개 사용함으로써 순차적 처리가 가능할 것으로 생각됨
코드비전 AVR 코드 작성 • 주의사항 • 아트메가128 칩은 LCD 디스플레이, 카운트 등 매우 다양한 레지스트리로 구성되어 있으며 현재 우리가 사용하는 5관절 로봇은 이 중 PORTB레지스트리의 0~5번 레지스트리만 사용함 • 그 외 사용하는 레지스트리는 USB 송수신 레지스트리, 타이머 레지스트리로 제한됨 • 코드 위저드를 사용하였을 때 나타나는 수많은 레지스트리들 중 위에서 제시된 레지스트리가 무엇인지 알아내는 것이 중요함
코드비전 AVR 코드 작성 • PORTB와 관련된레지스트리 • PORTB : 포트B를 나타내는 레지스트리 • 사용 방법 • PORTB.0 (포트 B의 0번 레지스트리) • PORTB.1 (포트 B의 1번 레지스트리).. • 0번~4번까지 총 5개의 하위 레지스트리 사용 가능 • 로봇 조작을 위해 반드시!!!#include <delay.h>를 선언해야 함