컴퓨터 계측 및 실습 개 요 영남대학교 기계공학부.

Slides:



Advertisements
Similar presentations
컴퓨터 계측 및 실습 개 요 영남대학교 기계공학부. PC 의 기본장치 PC 의 작동구조.
Advertisements

Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
                                  9장 컴퓨터 기반 데이터 수집의 기초.
Lab 10 Guide: 프린터 출력 예제. 한 페이지의 그림 인쇄 (교재 24장, 쪽)
Image & Video processing
A/D CONVERTER A/D CONVERTER란 무엇인가? A/D CONVERTER의 종류 및 특징
컴퓨터 계측 및 실습 A/D-converter
                                  8장 A/D 변환기 A/D Converter? A/D Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
컴퓨터 계측 및 실습 스테핑 모터 영남대학교 기계공학부.
                                  7장 D/A 변환기 D/A Converter? D/A Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
아날로그 입력과 출력.
컴퓨터 프로그래밍 기초 [Final] 기말고사
Lab 2 Guide: 교재 3장 그래픽 예제 ( 쪽) - 펜과 브러시로 그리기 - 튀는 공
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
아날로그 및 디지털 회로의 인터페이싱.
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
컴퓨터 계측 및 실습 D/A-converter
컴퓨터 계측 및 실습 스테핑 모터 영남대학교 기계공학부.
컴퓨터 계측 및 제어 영남대학교 기계공학부.
Ubiquitous Computing Practice - Part I (Installation) -
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
컴퓨터 계측 및 실습 A/D-converter
독립형 모션제어기 사양 - Catalog (optional) XMC-PO04-MOD
컴퓨터 계측 및 실습 D/A Converter DC 모터 구동
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
컴퓨터 계측 및 실습 D/A-converter
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
DK-128 ADC 실습 아이티즌 기술연구소
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
Microprocessor I/O Port & CLCD Noh Jin-Seok.
C#.
컴퓨터 계측 및 실습 A/D-converter 하중센서
13. 연산자 오버로딩.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바응용.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Device Driver 임베디드 시스템 I.
영상처리 실습 인공지능연구실.
품 목: DSP 모델명: TESIRA SERVER I/O 제조사: BIAMP Specifications
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
                                  11장 컴퓨터 기반 데이터 수집.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
13장 CTC and DMA Slide 1 (of 10).
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
UNIT 25 SPI 로봇 SW 교육원 조용수.
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
컴퓨터 계측 및 실습 디지털 입력 영남대학교 기계공학부.
제 6 장 함수(functions).
DK-128 직렬통신 실습 아이티즌 기술연구소
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
05. General Linear List – Homework
UNIT 25 SPI 로봇 SW 교육원 조용수.
3. 모듈 (5장. 모듈).
AdcRead API 함수 분석 마이크로프로세서.
Numerical Analysis Programming using NRs
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
엔코더 프로그램 설명 // 쓰레드를 사용하기 때문에 변수와 핸들을 전역변수로 지정 HANDLE hDevice;
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
Progress Seminar 양승만.
Presentation transcript:

컴퓨터 계측 및 실습 개 요 영남대학교 기계공학부

PC의 기본장치

PC의 작동구조

컴퓨터의 기본구성

CPU의 구조

IBM-PC의 입출력 단자

Analog and Digital Analog: 측정치의 값이 연속적인 형태 Digital의 장단점: Digital화 된 이후에는 추가적인 noise가 없으나, resolution이 제한적임

디지털의 장점 잡음을 거의 타지 않음 작동전압이 낮음 (5V 혹은 12V) 자동 스케일링이 가능(scaling) 다른 기기(혹은 컴퓨터)와의 연결이 용이 데이터의 처리(data reduction, filtering...)가 가능하다

계측제어계의 구성요소

어드레스 디코드

Breadboard의 모양

Breadboard의 배선

COMI-SD104 Multi-Function Board 커미조아 인터페이스보드 COMI-SD104 Multi-Function Board

기본 사양 Bus BM PC Bus(32Bit PCI) 크기 195 * 107 mm 자원할당 Plug & Play 방식의 자동할당

입출력 채널 아날로그 입력 Differential 8 Channel, Single Ended 16 Channel

A/D Conversion Complete 12 bit A/D Conversion A/D Converter : Burr Brown ADS7899 Type of ADC : Successive approximation A/D Channel : 16 Single Ended, 8 Differential Input Voltage Range :  10 V,  5 V,  2, 1, 0  10V, 0  5V, 0  2V,0  1V Resolution : 14 Bits, 1 in 16384 Maximum Sampling Rate : 375 kHz Streaming to Disk Rate : 375 kHz (Tested on PentiumⅢ 700MHz) Input Impedance : 10 Mohm A/D Trigger Mode : Programmable Timer, Software, External Trigger Data Transfer : Programmed I/o, Interrupt, Block Mode Channel Configuration : Uni polar/Bipolar, Gain, Channel, Channel No FIFO Size : 4 Kbytes

D/A Conversion D/A Converter : Burr Brown DAC7545 D/A Channel : 2 Channel (for single DC Output) Resolution : 12 Bits, 1 in 4096 Setting time : 2usec Output Voltage Range :  10 V D/A Trigger Mode : Software Data Transfer : Programmed I/O

Digital Input TTL Compatible Input Channel : 8 Channel Voltage Level : Low(0~0.8 V), High(2V~) Input Load : Low 0.5V(0.2 mA), High 2.7V(20 mA) Data Transfer : Programmed I/O

Digital Output TTL Compatible Output Channel 8 Channel Voltage Level Low(0~0.4 V), High(2.4V~) Input Load Low 0.5V(0.2 mA), High 2.7V(0.4 mA) Data Transfer Programmed I/O

Programmable Counter COMI-SD Counter Clock Input Channel 2 Channel Resolution 32 bits Gate Input Software Reset Real Time Clock

COMI-SD104 Reading 레지스터 구조

COMI-SD104 Writing 레지스터 구조

프로그램 작성 공통 사항 (1) Comidas.h와 Comidas.cpp를 Include하기 ComidasCommon.h, Comidas.h 그리고 Comidas.cpp 파일을 프로젝트가 있는 폴더에 복사한다. Comidas.cpp 파일을 프로젝트에 추가한다. Comidas.cpp 소스파일의 맨 처음 부분에 #include "stdafx.h" 구문을 추가한다. COMI-SD104 보드를 제어하는 함수를 사용하는 소스파일에 #include “Comidas.h” 구문을 추가한다.

프로그램 작성 공통 사항 (2) 디바이스 핸들 디바이스 핸들은 COMI-SD104를 제어하는 모든 함수의 파라미터로 사용되므로 전역변수 또는 메인 윈도우 클래스의 멤버 변수로 관리한다. 일반적으로 다이얼로그 기반 프로그램인 경우 메인 다이얼로그 클래스(XXXXDlg)의 멤버변수로 선언한다. class CASISTDlg : public CDialog { ………... public: //user parameter HANDLE m_hDevice; };

프로그램 작성 공통 사항 (3-1) 라이브러리 및 디바이스 로딩(Loading) 프로그램 시작 부분에서 다음과 같은 함수를 수행하여 라이브러리 및 디바이스를 로드하여야 한다. BOOL COMI_LoadDll(void) : 라이브러리를 로드한다. HANDLE COMI_LoadDevice (COMIDAS_DEVID deviceID, ULONG instance) : 지정한 디바이스를 로드한다. 일반적으로 다이얼로그 기반 프로그램인 경우에는 OnInitDialog()함수에서 라이브러리 및 디바이스 로딩을 수행하면된다.

프로그램 작성 공통 사항 (3-2)

프로그램 작성 공통 사항 (4-1) 라이브러리 및 디바이스 언로딩(Unloading) 프로그램 종료 부분에서 다음과 같은 함수를 수행하여 라이브러리 및 디바이스를 언로드하여야 한다. void COMI_UnloadDll(void) : 라이브러리를 로드한다. void COMI_UnloadDevice (HANDLE hDevice) : 지정한 디바이스를 언로드한다. 일반적으로 다이얼로그 기반 프로그램인 경우에는 WM_CLOSE이벤트 핸들러인 OnClose()함수에서 라이브러리 및 디바이스 언로딩을 수행하면된다.

프로그램 작성 공통 사항 (4-2) ☞ OnClose() 함수 생성 및 작성 예

Digital Output 구동 프로그램 LED, 7세그먼트, 스테핑 모터

기본함수 SetTimer ( UINT nIDEvent, 10, NULL ) OnTimer ( UINT nIDEvent ) KillTimer ( UINT nIDEvent )

SetTimer ( 0, 10, NULL) SetTimer 는 OnTimer, KillTimer 와 함께 사용되며 OnTimer 함수를 구동하는 함수이다. 여기서 첫번째 매개변수 0은 실행되는 Timer 번호, 10은 단위가 msec로 OnTimer 실행 간격을 의미한다. 즉 0번 Timer가 0.01초 마다 실행된다.

OnTimer ( UINT nIDEvent ) nIDEvent는 Timer 번호를 의미한다. SetTimer 함수가 한 개만 존재할 때는 nIDEvent는 0으로 인식하고 여러 개의 SetTimer 함수가 존재할 때는SetTimer 함수의 첫번째 매개변수 값을 받아 작업이 분기되어진다.

KillTimer ( 0 ) KillTimer 함수의 매개변수는 Timer 번호(nIDEvent)를 의미한다. 여기에는 0 번 Timer를 지시하고 있다. 따라서 이 KillTimer 함수는 0 번 Timer를 끝낸다.