310 likes | 919 Views
컴퓨터 계측 및 실습 A/D-converter. 영남대학교 기계공학부. Quantization( 양자화 ). Sampling( 표본화 ). 샘플링주기와 aliasing. A/D 변환기의 역할. A/D-Converter 의 디지탈출력. A/D 변환기의 종류. 3 bit 병렬 A/D-Converter. Successive approximation. 축차비교형. Ramp A/D-converter. Dual-ramp A/D-Converter. A/D 변환기의 구성. 14bit.
E N D
컴퓨터 계측 및 실습A/D-converter 영남대학교 기계공학부
A/D 변환기의 구성 14bit Sample & Holder 차동증폭기 Programmable Gain Multiplexer • - 12bit A/D Converter • - Throughput Rate : 370 KHz at 14bit Accuracy • - 8Ch 차동입력 또는 16Ch Single Ended 입력 • - 입력범위 ±10, ±5, ±2, ±1, 0~10, 0~5, 0~2, 0~1 • Programmable Gain : 1, 2, 5, 10 배
A/D 변환기 레지스터 표8.1 A/D 데이터 레지스터 구조(Reading) 표8.2 A/D 변환 체크 레지스터 구조(Reading) ※ C : A/D Conversion 완료 체크 플래그, 0이면 A/D 변환중이고 1이면 변환완료.
※ P : Polarity, 0이면 Uni-polar이고 1이면 Bi-polar. ☞. A/D 트리거 • A/D 컨트롤 레지스터를 설정한 후 A/D 트리거를 수행하면 A/D 변환을 수행한다. • A/D 트리거는 CS0+8 레지스터에 아무값이나 쓰면 된다.
Channel 설정 표8.4 A/D 컨트롤 레지스터를 이용한 채널설정
입력 범위 설정 표8.5 A/D 컨트롤 레지스터를 이용한 입력범위 설정
온도센서 실 험 목 적 이번 실험은 온도에 따라 저항이 변하는 소자인 NTC 서미스터를 사용하여 온도를 A/D변환기를 거쳐 컴퓨터에 의해 측정하여 온도라는 물리량에 대한 디지털 계측을 합니다.
열전쌍(Thermocouple) - 상이한 금속으로 만들어진 두개의 전기 도체로 이루어져 있으며, 적어도 한 곳에서 전기적으로 연결되어 있다. - Seebeck 효과 : Thomas Johann Seebeck 이 발견 회로내 접점의 온도차이에 기인하는 개방 열전대 회로의 전압 또는 기전력
서미스터 (Thermistor) • Thermistror • Thermal +Transistor • 온도에 따라 전기저항치가 달라지는 반도체 회로소자를 이용한 온도측정기 • 종류 • NTC (Negative Temperature Coefficient) • 온도 상승과 함께 저항치가 감소 • 가장 일반적 • PTC (Positive Temperature Coefficient) • 온도 상승과 함께 저항치가 증가 • CTC (Critical Temperature Resistor) • 어는 온도에서 저항치가 급히 감소
NTC Thermistor - Mn, Co, Ni, Fe, Cu 등의 천이금속 산화물을 혼합해서 성형하고 1000°C 이상의 고온에서 소결한 세라믹계열의 서미스터 - 온도특성치나 저항특성을 재료나 소결조건에 따라 자유로이 제어가능
서미스터의 결합방식 - 호환성의 문제가 있어서 소자 상호 또는 호환용 저항을 부가하여 온도특성을 균일화 하는 결합방식을 사용
실 험 목 적 이번 실험은 써미스터를 이용하여 실제의 온도를 계측하여 봄으로써 A/D변환을 실습해 봅니다.
Ontheron int m_therdata Onloadcellon Ontheroff int m_loadcelldata Onloadcelloff
프로그램 설명 void CComPractDlg::Ontheron() { COMI_AD_SetRange (m_hDevice, 0, 0, 10); SetTimer(0 , 100 , NULL); } void CComPractDlg::Ontheroff() { KillTimer(0); }
void CComPractDlg::OnTimer(UINT nIDEvent) { m_therdata = COMI_AD_GetDigit (m_hDevice, 0); UpdateData (FALSE); CDialog::OnTimer(nIDEvent); }