Upload
naeva
View
88
Download
11
Embed Size (px)
DESCRIPTION
컴퓨터 계측 및 제어. 영남대학교 기계공학부. PC 의 기본장치. PC 의 작동구조. 컴퓨터의 기본구성. CPU 의 구조. IBM-PC 의 입출력 단자. Analog and Digital. Analog: 측정치의 값이 연속적인 형태 Digital: 변화의 최소 크기가 정해져 잇고 변화의 크기는 최소크기의 정수배만 가능 Digital 의 장단점 : Digital 화 된 이후에는 추가적인 noise 가 없으나 , resolution 이 제한적임. 디지털의 장점. 잡음을 거의 타지 않음 - PowerPoint PPT Presentation
Citation preview
컴퓨터 계측 및 제어
영남대학교 기계공학부
2
PC 의 기본장치
3
PC 의 작동구조
4
컴퓨터의 기본구성
Ãâ·ÂÆ÷Æ®ROM
RAM
Á¦¾î±â
¿¬»ê±â
·¹Áö½ºÅÍ
ÀÔ·ÂÆ÷Æ®
µ¥ÀÌÅÍ ¹ö½º
¾îµå·¹½º ¹ö½º
Á¦¾î ¹ö½º
Áß¾Óó¸®ÀåÄ¡(CPU)
ÁÖ±â¾ïÀåÄ¡ ÀÔÃâ·Â ÀåÄ¡
5
CPU 의 구조
6
IBM-PC 의 입출력 단자
B1B2B3B4B5B6B7B8B9
B10B11B12B13B14B15B16B17B18B19B20B21B22B23B24B25B26B27B28B29B30B31
A1A2A3A4A5A6A7A8A9
A10A11A12A13A14A15A16A17A18A19A20A21A22A23A24A25A26A27A28A29A30A31
GND+RESET DRV
+5V DC+IRQ 2-5V DCDRQ2
-12 DC-CARD SLOTD
+12 DCGND
-SMEMW-SMEMR
-IOW-IOR
-DACK3DRQ3
-DACK1DRQ1
-REFRESHCLK
IRQ7IRQ6IRQ5IRQ4IRQ3
-DACK2T/CALE
+5V DCOSCGND
-I/O CHCKD7D6D5D4D3D2D1D0+I/O CH RDYAENA19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
7
Analog and Digital
Analog: 측정치의 값이 연속적인 형태Digital: 변화의 최소 크기가 정해져 잇고
변화의 크기는 최소크기의 정수배만 가능
Digital 의 장단점 : Digital 화 된 이후에는 추가적인 noise 가 없으나 , resolution이 제한적임
8
디지털의 장점 잡음을 거의 타지 않음 작동전압이 낮음 (5V 혹은 12V) 자동 스케일링이 가능 (scaling) 다른 기기 ( 혹은 컴퓨터 ) 와의 연결이 용이 데이터의 처리 (data reduction, filtering...)
가 가능하다
9
계측제어계의 구성요소
ÀÔ·ÂÆ÷Æ®(A/D , DI)
Ãâ·ÂÆ÷Æ®(D/A , DO)
(½ºÀ§Ä¡)
(¿Âµµ¼¾¼ )
(·¥ÇÁ)
(¸ðÅÍ)
µ¥ÀÌÅÍ ¹ö½º
¸ñÇ¥¹°
¼¾¼
±¸µ¿±â
10
Breadboard 의 모양과 배선
다림인터페이스보드 DR 8330
아날로그 입력 Differential 8 Channel, Single Ended 16 Channel
아날로그 출력 2 Channel 디지털 입력 16 Channel 디지털 출력 16 Channel 타이머 2 channel
12
A/D Conversion Complete 12 bit A/D Conversion A/D Converter : Burr Brown ADS7800 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 2V Resolution : 12 Bits, 1 in 4096 Maximum Sampling Rate : 330 kHz Streaming to Disk Rate : 330 kHz (Tested on Pentium 233) Input Impedance : 100 Gohm A/D Trigger Mode : Programmable Timer, Software,
External Trigger Data Transfer : Programmed I/o, Interrupt,
DMA(Block Mode) Channel Configuration : Unipolar/Bipolar, Gain, Channel,
Channel No FIFO Size : 4 Kbytes
13
D/A Conversion D/A Converter : Analog Device AD7545 D/A Channel : 2 Channel
(One for Wave form generation and the other for single DC Output)
Resoultion : 2 Bits, 1 in 4096 Throughput Rate : 48 kHz Output Voltage Range : 10 V D/A Trigger Mode : Software, Programmable Timer Data Transfer : Programmed I/O,
Memory on Card (for WFM)
14
DR8330 Reading 레지스터 구조
No Address Description Bit
0 Base+0 A/D Buffer Register 16 Bits
1 Base+1 A/D ConversionSoftware Trigger Register
And Memory WritingTrigger Register
8 Bits
2 Base+2 A/D FIFO Memory Regester 16 Bits
3 Base+3 Not Used
4 Base+4 Digital Input Register 16 Bits
5 Base+5 D/A 0 Reset Register 8 Bits
6 Base+6 Not Used
7 Base+7 Not Used
8 Base+8 Read Counter 0 Register 8 Bits
9 Base+9 Not Used
10 Base+10 Not Used
11 Base+11 Not Used
12 Base+12 Read Counter 1 Register 8 Bits
13 Base+13 Not Used
14 Base+14 Not Used
15 Base+15 Not Used
15
DR8330 Writing Reading 레지스터 구조No Address Description Bit
0 Base+0 D/A Channel Register 16 Bits
1 Base+1 A/D Channel Number & D/A1DMA Channel Register
8 Bits
2 Base+2 D/A 1 Channel Register 16 Bits
3 Base+3 A/D channel & Range Setting Register 8 Bits
4 Base+4 Digital Output Register 16 Bits
5 Base+5 IRQ Number Setting Register 8 Bits
6 Base+6 IRQ & DMA Control Register 8 Bits
7 Base+7 D/A & A/D Trig control & A/DDMA Channel Register
8 Bits
8 Base+8 Load Counter 0 Register 8 Bits
9 Base+9 Not Used
10 Base+10 Not Used
11 Base+11 Counter 0 Control Register 8 Bits
12 Base+12 Load Counter 1 Register 8 Bits
13 Base+13 Not Used
14 Base+14 Not Used
15 Base+15 Counter 1 Control Register 8 Bits
디지털 입력
영남대학교 기계공학부
17
디지털 입력이란 ? (1)
5V High(H) 1
0V Low(L) 0
전압 상태 Digit
이 상태로 컴퓨터는 전등의 점등 상태를 알 수있다 .
전등이 켜져 있는 경우 전등이 꺼져 있는 경우
전등이 켜져 있는 경우전등이 꺼져 있는 경우
18
디지털 입력이란 ? (2)
경우에 따라서는 bit 의 H, L 를 연속적으로 읽어서펄스의 수와 속도를 파악할 수도 있다 .예를 들면 모터의 속도를 이와 같이 측정한다 .
컴퓨터에서는 여러 개의 입력을 동시에 받아들여서 여러가지의 장치 혹은 센서 등의 상태를 파악할 수 있다 .
19
기본 D/I 연결 방법
D/ID I/O
Terminal block connector
BASE+4
Get_DI 라는 함수에서알아서 각 bit 의 주소를 계산하므로 신경 쓸 필요는 없다 .
20
근접센서 ( 디지털 출력을 내는 소자 )
원리
교과서 pp.262 참조
종류
고주파형
교류형
정전용량형
21
광전 스위치 ( 디지털 출력을 내는 소자 )
원리
종류 ( 검출형태에 따른 분류 )
투과형 직접반사형 거울반사형 복사량 검출형
고온금속
22
광전 스위치 (2)
종류 ( 광원의 종류에 따른 분류 )
1. 백열전구형 ( 가시광 ) : 저가격2. LED 형 ( 가시광 , 근적외광 ) : 초소형 , 소정력 가장 이상적인 광원3. 형광등형 ( 가시광 ) : 이미지 센서4. 자외광 : 이물질 검출5. 가스 레이저형 ( 가시광 ) : 바코드 리더6. 반도체 레이저형 ( 근적외광 ) : 강력한 투과력 , 철장설비등
종류 ( 광원의 변조에 따른 분류 )
1. 전기적 펄스 변조형2. 기계적 회전 변조형3. 다중 스캐닝형
23
디지털 스위치 ( 디지털 출력을 내는 소자 )
원리
+
-
VccGND20
21
22
23
+, - 단자를 한 번 누를 때마다 내부에서 카운트하여 BCD (Binary-Coded Decimal)
코드로 내보내는 소자
24
로터리 엔코더 ( 디지털 출력을 내는 소자 )
원리
회전하면서 일정 각도마다 하나의 펄스를 내보내는 장치( 단위 : pulse/rev)
25
로터리 엔코더의 응용
디지털 입출력 실험
D/I, D/O 의 실제 응용 예로서 , 광전 스위치의 상태를 PC 로 읽어 들이고 LED 또는 7-Segment 로 상태를 표시하는 실험입니다 .
27
실험 1 광전 스위치
실 험 목 적
이 실험은 D/I 의 실제 응용 예로서 , 광전 스위치의 상태를 PC 로 읽어 들이는 실험입니다 .
28
회 로 도
29
#include <conio.h> Digital 입출력을 담당
int _inp( unsigned short port ); 지정된 디지털 입력 채널의 상태를 읽음
=> port : 입력 채널 번호 0x224 int _outp( unsigned short port, int databyte );
출력 채널에 지정된 디지털에 출력=> port : 출력 채널 번호 0x224=> databyte : int 형 data
기본함수 기본함수 (1)(1)
30
SetTimer(0, 50, NULL) OnTimer(UINT nIDEvent) 를 50milliseconds간격으로 한번씩 구동 => 0 : timer identifier
KillTimer(0) OnTimer(UINT nIDEvent) 를 정지 => 0 : timer identifier
BOOL UpdateData( BOOL FALSE or TRUE); 다이얼로그박스에서 데이터를 읽거나 표시함 => FALSE : 데이터를 표시=> TRUE : 데이터를 읽어옴
기본함수 기본함수 (2)(2)
31
광전스위치 구동 프로그램
OnResetButton()
OnStartButton()
Int m_nCountNum OnEndButton()
32
프로그램 설명#include <conio.h>#include <conio.h>
voidvoid CDIDODlg::OnStartButton() CDIDODlg::OnStartButton() {{
SetTimer(0,50,NULL);SetTimer(0,50,NULL);}}
voidvoid CDIDODlg::OnEndButton() CDIDODlg::OnEndButton() {{
KillTimer(0);KillTimer(0);}}voidvoid CDIDODlg::OnResetButton() CDIDODlg::OnResetButton() {{
m_nCountNum = 0;m_nCountNum = 0;UpdateData(FALSE);UpdateData(FALSE);
}}
voidvoid CDIDODlg::OnTimer(UINT nIDE CDIDODlg::OnTimer(UINT nIDEvent) vent) {{
intint i;i;i = _inp(0x224) & 0x01;i = _inp(0x224) & 0x01;if(i){if(i){
m_nCountNum = 1;m_nCountNum = 1;}else{}else{
m_nCountNum = 0;m_nCountNum = 0;}}UpdateData(FALSE);UpdateData(FALSE);CDialog::OnTimer(nIDEvent);CDialog::OnTimer(nIDEvent);
}}
33
실험 2 LED 및 7-Segment
실 험 목 적
이 실험은 D/O 의 실제 응용 예로서 , 광전스위치로 부터 상태를 읽어 들여 PC를 통해 LED 및 7-Segment 로 상태를 표시하는 실험입니다 .
34
LED 출력 인터페이스
35
7 세그멘트 구동 인터페이스
36
74LS48 과 7 세그먼트와의 인터페이스
37
프로그램 설명
#include “conio.h”int m_nOnOff = 1;
void CDIDODlg::OnTimer(UINT nIDEvent) {
int i;i = _inp(0x224) & 0x01;if(m_nOnOff != i){
m_nCountNum ++;//LED_outp(0x224,i);Sleep(45);//7-Segment
// _outp(0x224, m_nCountNum);m_nOnOff = ~i;
}UpdateData(FALSE);CDialog::OnTimer(nIDEvent);
}