임베디드 플랫폼



항공 전자 및 엔진 컨트롤 유닛에 대한 검증 테스트 시스템을 구축하는 자동차 및 우주항공 설계 엔지니어들은 열전대 시뮬레이션 서브 시스템을 구축하기 위해 CompactRIO를 사용합니다. CompactRIO는 열전대 전용 시뮬레이션 제품과는 달리 저가로 높은 채널 카운트를 제공합니다. 비단, 우주항공 및 자동차 분야의 엔지니어뿐 아니라 기계의 상태를 모니터링하는 모든 분야에서는 이러한 솔루션이 필요합니다. 본 기고문에서는 열전대를 시뮬레이션하는 가장 기초적인 하드웨어 구성 방법부터 S/W적인 프로그래밍 기법까지 알려드릴 것입니다. 또한 열전대뿐 아니라 센서로부터의 입력을 처리해야 하는 모든 종류의 아날로그 신호 입력을 처리할 수 있으며, NI Smart Camera 시스템을 이용하여 비젼 시스템까지 통합할 수 있을 것입니다.

원고 제공: 한국내쇼날인스트루먼트 마케팅 / http://ni.com/korea

기본 개념 및 내용 범위

자동차 및 항공 우주 산업에 종사하는 설계 엔지니어들은 열전대 기반의 온도 입력을 사용하여 ECU 및 항공 전자 기기를 위한 검증 시스템을 구축한다. UUT(Unit Under Test)의 설계를 검증하기 위해서 검증 시스템은 차량 및 항공기에 설치되었을 때 UUT에 연결되는 다양한 트랜스듀서(열전대 등)를 시뮬레이션 하는 전압 신호를 반드시 생성해야 한다.
이를 위해 테스트 엔지니어들은 고가의 전용 트랜스듀서 시뮬레이션 기기에 의존한다. 그러나 cRIO-9263 아날로그 출력 모듈, cRIO-9211 열전대 모듈 및 LabVIEW 프로그래밍 환경과 같은 내쇼날인스트루먼트의 CompactRIO (cRIO), FPGA 기반의 산업용 임베디드 플랫폼을 사용하면 높은 채널 카운트로 편리하게 확장할 수 있는 유연성을 갖춘 트랜스듀서 시뮬레이션 시스템을 낮은 비용으로 구축할 수 있다.
이 글에서는 cRIO 플랫폼에 기반한 열전대 시뮬레이션 시스템을 구축하는 데 활용되는 하드웨어 및 소프트웨어의 개념에 대해 살펴보겠다. 또한 하드웨어 레이아웃에 대한 회로도 및 LabVIEW 프로그램의 예제도 다루게 된다. 여기서 설명되는 기본적인 개념은 다른 유형의 트랜스듀서용 시뮬레이션 시스템을 구축하는 데에도 사용될 수 있다. 또한 이 글은 독자가 회로 이론에 대한 기본 이해도와 LabVIEW, LabVIEW RT 및 LabVIEW FPGA의 기본적인 프로그래밍 능력을 갖추고 있음을 전제로 한다.
하드웨어 아날로그 출력

일반적으로 트랜스듀서는 물리적인 현상을 데이터 수집 디바이스에 의해 디지털 값으로 표현되는 전압으로 변환한다. 트랜스듀서의 민감도에 대해 알고 있다면 우리는 요청되는 트랜스듀서의 값을 표현하는 전압을 인위적으로 생성할 수 있다.
cRIO-9263은 시뮬레이션 시스템의 핵심으로써, 다이내믹하게 업데이트되며 트랜스듀서로부터의 신호를 시뮬레이션하는 데에 사용되는 4개의 아날로그 출력이 있다. cRIO-9263의 스펙에 관한 상세한 정보는 모듈의 사용자 매뉴얼을 참조. cRIO-9263에 있는 디지털-아날로그 컨버터(DAC)는 16비트이며 +/-10V의 고정된 전압 범위가 있다. 모듈은 +/-1mV의 절대 정확도와 약 300 uV/least significant bit (LSB)의 해상도를 제공한다. 본 디바이스의 출력이 컨디셔닝되지 않은 경우, 열전대 시뮬레이션을 위한 전압을 생성하는 것은 매우 어렵다. 그 이유는 대부분의 열전대 신호는 -10mV~50mV 범위, 대략 50uV~100uV/deg의 해상도에 있기 때문이다. cRIO-9263으로부터의 원시 출력을 사용할 경우, LSB당 3℃~6℃의 해상도를 가지게 된다. 그러나 본 해상도는 대부분의 애플리케이션에서 적합하지 않다.
이러한 문제의 해결을 위해 cRIO-9263의 출력에서 간단한 전압 분배기가 있는 감쇠 회로를 설계함으로써 특정 열전대를 위한 원하는 범위 및 해상도를 얻어 보겠다. 100:1 감쇠기는 +/-100mV 범위를 제공하므로 약 3uV의 해상도를 가진 대부분의 열전대(0.1℃/LSB 미만과 동일)에 사용할 수 있다. 절대 정확도 에러는 시스템을 교정할 경우 줄어들게 되며 이는 다음의 섹션에 살펴보겠다.

하드웨어 감쇠 회로

감쇠 회로를 위해 선택하는 저항값을 방해하는 여러 요소가 있다. 우리는 cRIO-9263 출력에서 공급되는 최대 전류를 제한할 필요가 있다. 보드는 풀 스케일 10V에서 채널당 최대 1mA를 공급할 수 있으므로 10kW 보다 작은 임피던스가 있는 로드가 필요하다. UUT의 로드가 감쇠 출력에 미치는 영향을 최소화하기 위해 UUT에서 나타나는 출력 임피던스를 최소화해야 한다.
12 kW/120W 조합으로, cRIO-9263의 출력 범위를 초과하지 않고 원하는 100:1 감쇠 및 120W 출력 임피던스를 이룰 수 있습니다. 본 값은 최대 10% 정확도의 저항에서 작동 가능하다.
그림 1은 감쇠된 출력을 생성하는 데 사용되는 간단한 회로를 나타낸다. 다이어그램의 VT는 시뮬레이션된 열전대 전압이다.

하드웨어 교정

본 회로에 대한 보상되지 않은 출력 전압 에러는 저항값 에러 및 cRIO-9263 자체 생성된 에러이다. 이러한 에러를 수정하기 위해서, 회로에 교정 작업을 수행하여 에러를 알아내고 본 정보를 이용하여 테스트 애플리케이션에서 cRIO-9263 출력 전압을 조정한다.
교정을 수행하는 여러 가지의 방법이 있다. 이번 경우에는 cRIO-9211를 사용하여 감쇠 회로에서 출력을 측정하고 적절한 교정 상수를 결정한다. cRIO-9211은 열전대 측정을 위해 특수 제작된 4채널 24 비트 ADC 모듈이다. cRIO-9211 스펙에 관한 상세 정보는 cRIO-9211 사용자 매뉴얼을 참조한다. 그림 2는 cRIO-9211 열전대 모듈을 위한 연결을 포함한 회로 다이어그램이다. 측정 및 계산에 관한 상세 정보는 아래에 포함되어 있으므로 모든 적절한 측정 디바이스로 교정을 수행할 수 있다.
더욱 구체적인 결과를 위해, cRIO-9263 및 감쇠 회로에서 발생한 에러는 선형이며 다음 등식으로 표현된다고 가정한다.

y = mx + b (1)

엔드 투 엔드 교정을 수행하여 에러 계산을 단순화할 수 있으며, 전체 시뮬레이션 회로를 위한 m (기울기 또는 게인) 및 b (절편 또는 오프셋) 값을 도출할 수 있다. LabVIEW는 본 과정을 단순화하는 [선형 근사] VI를 제공한다. 이 글의 소프트웨어 고려사항 섹션을 참조하면 된다.
교정 계수를 계산하기 위해 그림 1의 회로를 참조하겠다. VO은 cRIO-9263 출력 전압이며 VT는 시뮬레이션된 열전대 전압이다. 공식 (1)에서, m은 저항 분배기 회로에서 제공된 감쇠이며 b는 시뮬레이션 시스템 내에서 모든 오프셋을 나타낸다. 이제 VO 및 VT를 선형 공식에 대입할 수 있다.

VO = mVT + b (2)

우리는 특정한 범위에서 시뮬레이션된 여러 전압을 생성할 수 있으며, 본 값을 사용하여 VO의 주어진 값에 대한 전압 VT을 측정함으로써 m 및 b를 근사할 수 있다. 이 글의 예제 프로그램은 0~7.5볼트 범위(대부분의 시뮬레이션 어플리케이션에서 사용하는 범위)에서 15개의 전압을 사용한다. 7.5V 이상을 사용하지 않는 이유는 100:1 감쇠의 경우 소싱할 수 있는 최대 전압이 75mV이며 이는 cRIO-9211(+/- 80mV)의 최대 전압 범위 내에 있기 때문이다. 일단 계수가 계산되면 이제 정확한 시뮬레이션된 열전대 전압을 도출할 수 있다.

소프트웨어 I/O

하드웨어가 설정되었으므로 이제 소프트웨어 관련 문제를 살펴보도록 하겠다. FPGA 코드는 cRIO-9211 및 cRIO-9263의 모든 I/O에 적용될 수 있다. 여기서 논의될 코드는 본 문서에 링크되어 있는 TCSimFPGA.vi에 있다. 여기서 소개되는 방법은 코드의 I/O 부분을 실행하기 위한 한 가지 옵션이다. 따라서 사용자의 특정 어플리케이션에 더욱 적합한 다른 방법이 있을 수도 있다. 본 예제에서는 FPGA 코드는 4가지의 주요 기능이 있다.

1. cRIO-9263과 통신
2. cRIO-9211과 통신
3. cRIO-9263을 위한 교정 정보 전달
4. cRIO-9263 출력과 cRIO-9211 입력 동기화

그림 3은 1, 2 및 4번 업무를 수행하는 코드의 부분을 나타낸다. 위의 루프에서 소프트웨어 트리거를 사용하여 아날로그 출력을 업데이트하는 시점을 FPGA에 알린다. 아날로그 출력 루프 및 아날로그 입력 루프 사이에 위치한 다른 트리거는 출력이 언제 업데이트되고 입력이 언제 읽히는 지를 나타낸다. 아날로그 출력이 변경된 이후에 입력이 정정되었음을 보장하기 위해 cRIO-9211 수집 루프에 지연이 발생하여, 일단 데이터가 수집되면 인터럽트를 호스트 애플리케이션에 보내 새로운 입력값이 사용가능함을 알린다. 인터럽트는 일반적으로 단일 포인트 수집에 권장되지 않지만 본 경우에는 cRIO-9211 수집 과정이 느린 속도로 진행되므로 인터럽트를 매우 신속하게 보낼 필요가 없기 때문에 문제되지 않는다.
그림 4는 cRIO-9263으로부터 교정 데이터를 추출하는 코드의 부분이다. 본 코드를 둘레에 불리언 컨트롤 형태로 핸드쉐이킹이 있어 cRIO-9263을 위한 교정 데이터가 언제 유효한지를 나타낸다. 본 교정 정보는 cRIO-9263 디바이스의 내부 교정의 일부분이며 감쇠 회로와 관련되어 수행되는 교정과는 별도임을 기억해야 한다. 본 교정 값은 부동점 값이 Convert to Binary (cRIO-9263).vi를 사용하여 이진수 정수 값으로 변환될 때 RT Host 레벨에서 요청된 값에 적용된다.
본 예제의 I/O 실행에 있어 주의해야 할 마지막 사항은 입/출력 모듈에서 전체 애플리케이션을 단순화하기 위해 하나의 채널만을 사용한다는 점이다. 여러 개의 시뮬레이션된 열전대 출력을 통합하기 위해 애플리케이션을 확장할 수도 있다.

소프트웨어 교정 알고리즘

다음 섹션에서의 LabVIEW 코드는 TCSimRT.vi 내에 있으며 cRIO 컨트롤러에서 작동한다. 등식 (2)에서 VO을 VT의 함수로 나타낼 수 있었다. VO의 여러 값이 주어지면 VT의 값을 반환하는 알고리즘을 작성할 수 있으며 본 정보를 사용하여 감쇠 회로의 게인 및 오프셋을 계산할 수 있다. 그림 5에서, cRIO-9263 아날로그 출력에 전압을 적용하여 cRIO-9211 아날로그 입력에서 결과를 읽는다. 값을 2개의 1차원 어레이를 형성함으로써 LabVIEW에서 본 값을 Linear Fit Coefficients.vi에 적용할 수 있다. 본 VI는 (X, Y)값 쌍을 수용하며 최소 제곱을 사용하여 데이터의 두 배열간의 선형 관계를 근사하며 m 및 b (게인 및 오프셋) 값을 반환한다. 본 값은 테스트 시스템을 적절하게 교정하는 데에 필요한 교정 계수가 된다. 최소 두 개의 (X, Y) 쌍이 계수를 계산하는 데에 사용되며, 더욱 많은 값을 사용할수록 더욱 정확한 결과를 도출해낼 수 있다. 이 글에서 제공되는 예제 프로그램에서는 계산을 수행하기 위해 15개의 쌍을 사용한다.

소프트웨어 CJC 알고리즘

열전대 측정을 수행하는 데에 있어 중요한 과정은 CJC(cold junction compensation: 냉접점 보상) 개념을 통합하는 것이다. 열전대는 열전대의 길이와 온도 경사도에 기반하여 전압을 생성한다. 이 때문에, 열전대에서 생성된 전압을 직접 측정할 때에, 열전대의 도선과 열전대 접점 사이의 온도 차이를 측정한다. 이러한 상대적인 측정을 절대 측정값으로 전환하기 위해서는 도선이 측정 디바이스에 연결되어 있는 터미널의 온도를 알아야 한다. 본 연결 포인트는 냉접점으로 알려져 있다.
열전대 측정을 수행하는 여러 디바이스는 냉접점 측정을 통합하여 열전대 접점에서 절대 온도를 알아낸다. 디바이스에서 본 과정은 열전대 도선과 열전대 접점 사이의 온도 경사를 나타내는 전압을 측정한 후, 그 값을 터미널의 절대 온도 측정과 관련된 전압에 추가함으로써 이루어진다. 본 합계는 절대 온도에 기인한 전압으로써, 온도 유닛으로 직접 변환된다. LabVIEW에는 높은 차수 다항식을 사용하여 열전대에서 측정된 전압과 관련되는 온도 사이의 관계를 나타내는 VI가 있다.
열전대 시뮬레이터가 UUT의 CJC 온도를 알아야만 요청된 온도에 대한 적절한 전압을 계산할 수 있으므로 본 과정은 매우 중요하다. 온도가 필요한 경우, 가장 먼저 해야할 일은 온도를 전압으로 변환하는 일이다. 여기서 주의해야 할 점은 본 온도는 절대 온도이기 때문에 CJC 온도를 전압으로 변환한 후 본 값을 첫 번째 값에서 뺌으로써 열전대 길이에 따른 온도 경사를 나타내는 전압을 얻을 수 있다. 이것은 시뮬레이션 시스템에 의해 재생되어야 하는 전압 값이다. UUT가 본 전압을 측정하면, 그 값을 CJC 전압에 추가하고 온도로의 변환을 수행한다. 이 글에 링크된 예제 프로그램에서 사용자들은 시뮬레이션에서 CJC를 추가하는 옵션이 주어진다. 시용자가 CJC 추가를 선택하였다면 그 후 사용자가 제공한 CJC 온도를 택하여 그 온도를 전압으로 변환하며 요청된 온도에서 그 값을 뺀다. 다음 섹션의 그림 6은 CJC 보상하는 LabVIEW 코드를 나타낸다.

소프트웨어 메인 시뮬레이션 알고리즘

지금까지 교정 및 CJC를 수행하였고 이제부터는 시뮬레이션된 열전대 전압을 생성하기 위해 프로그램의 주요 부분에 대해 살펴보겠다. 교정 계수를 시뮬레이션 코드에 전달하여 cRIO-9263에 보내진 요청된 전압을 교정하기 위해 계수를 사용한다. Temperature to Volts.vi를 사용하여 원하는 온도를 교정되지 않은 생성하고자 하는 전압으로 전환한다. 본 VI는 8개의 다른 열전대 유형에 대한 연산을 사용하여 주어진 온도를 시뮬레이션하는 데에 필요한 전압을 계산한다. 본 VI에 대한 자세한 정보를 위해 LabVIEW 도움말에서 부가적인 문서를 참조한다. 그 후 게인 및 오프셋 계수를 적용하고, 십진수 전압을 16 비트 이진 전압으로 변환하여 cRIO-9263 아날로그 출력에 전송한다. 그림 6의 LabVIEW 다이어그램은 본 작업을 수행하는 코드를 나타낸다.
앞서 살펴본 코드를 마지막으로, 열전대 시뮬레이션 서브 시스템을 완성했다. 예제 코드 섹션을 통해 열전대 전압을 교정하고 시뮬레이션하는 LabVIEW 프로그램을 완성할 수 있게 된다.

<부록>
산업용 임베디드 시스템에 독립형 비젼 시스템 통합하기

NI Smart Camera의 사양
NI 스마트 카메라는 이미지 센서를 내장하고 있는 독립형 비젼 시스템으로써, VGA (640X480) 해상도 CCD 이미지 센서를 및 SXGA(1280X1024) 해상도 이미지 센서 (17X2 카메라 해상도의 4배)를 내장하고 있다. 프로세서는 400MHz (NI-1722) 및 533MHz (NI-1742 및 NI-1744)의 PowerPC프로세서를 장착하고 있다. 패턴 매칭, 데이터 매트릭스 코드 해독, 광학 문자 인식을 포함하고 있는 어플리케이션을 위해, NI 1762와 NI 1764는 720MHz TI DSP 코프로세서가 추가로 장착되어 있다. 이 코프로세서를 장착한 모델은 프로세서를 장착하지 않은 모델보다 최고 4배 빠른 성능으로 앞의 세 가지 알고리즘을 처리할 수 있다.
임베디드 플랫폼과 통합을 위한 NI 스마트 카메라의 I/O
NI 스마트 카메라는 온보드 산업용 I/O도 갖추고 있다. 카메라에는 두 개의 광학절연 디지털 입력과 디지털 출력을 갖추고 있다. 이는 24V I/O 라인으로서 산업용 환경에서 통신 및 제어를 하기 위해 설계되었다. 이 출력들은 펄스 트레인을 생성하고 출력을 단순한 액추에이터 제어 이상의 기능까지 확장시켜준다. 본 카메라들로 수행할 수 있는 고급 제어의 한 예는 간단한 스테퍼 모터 제어로서, 출력 중 한곳에 'step'을 보내고 다른 한곳에 'direction'을 보냄으로써 가능하다.
NI의 모든 스마트 카메라는 로컬 네트워크와 통신을 위한 듀얼 기가비트 이더넷 포트와 확장 I/O도 포함하고 있다. 또한 본 이더넷 포트들은 PLC와 통신을 위한 Modbus TCP를 지원한다. 시리얼 인터페이스가 필요한 고객들을 위해서 NI 스마트 카메라는 Modbus를 지원하는 RS-232 포트도 제공한다. 또한 NI 스마트 카메라는 선형 및 회전 구동 기반의 시스템과 연결하기 위한 구적 엔코더도 지원한다(NI 1722에서는 사용 불가).

직접 구동 조명
NI 스마트 카메라 모델에서 볼 수 있는 직접 구동 조명 컨트롤러는 시스템 비용과 복합성을 대폭 줄여주는 매우 유용한 기능이다. 본 컨트롤러를 이용하면 최고 500mA DC 전류나 최고 1A 스트로브 전류를 스마트 카메라로부터 직접 공급받아 전류 구동 LED 라이트 헤드로 제공한다. 이로써 사용자는 NI 비전 소프트웨어 내의 이미지 수집 API로부터 직접 조명을 제어할 수 있기 때문에 외부 스트로브 컨트롤러가 필요 없다.
NI 스마트 카메라 제품군의 특징

● SONY의 고품질 CCD 이미지 센서
● 강력한 임베디드 프로세서
● 절연이 내장된 산업용 디지털 I/O
● Modbus TCP를 지원하는 듀얼 기가비트 이더넷 포트
● Modbus를 지원하는 RS-232 포트
● Vision Builder AI 개발 소프트웨어
● 검사 타이밍을 선형 및 회전 드라이브 시스템과 동기화하기 위한 구적 엔코더 지원*
● LED 조명을 위해 내장된 직접 구동 컨트롤러*
 ( *이 두 가지 기능은 NI 1722에서는 사용불가 )

이러한 NI 독립형 비젼 시스템을 이용하여 여러분의 정교하고 복합적인 머신 시뮬레이션을 위한 최적의 플랫폼으로 산업용 임베디드 시스템과 통합하실 수 있다.
결론

본 설명에 제공된 하드웨어 권장 사항과 NI 웹사이트의 코드를 통하여 CompactRIO 및 LabVIEW는 정확한 시뮬레이션된 열전대 전압을 생성하게 된다.
항공 전자 및 엔진 컨트롤 유닛에 대한 검증 테스트 시스템을 구축하는 자동차 및 우주항공 설계 엔지니어들은 열전대 시뮬레이션 서브 시스템을 구축하기 위해 CompactRIO를 사용한다. 또한 머신 시뮬레이션이 필요한 엔지니어링 모든 분야에서 사용되게 된다. 기존의 열전대 전용 시뮬레이션 제품과는 달리, CompactRIO는 저가로 높은 채널 카운트를 제공하므로 여러분의 프로젝트 구축의 비용을 절감시켜 준다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지