논문 2012-49-11-19
FPGA을 이용한 초음파 오일레벨 측정기 설계
( Design of a Ultrasonic Oil Level Meter Using a FPGA )
조 정 연*, 강 문 호**
( Jeong yeon Cho and Moon ho Kang )
요 약
본 논문에서는 자동차 변속기 오일레벨을 측정하기 위한 초음파 오일레벨 측정기를 설계하고 실험을 통하여 유용성을 보였 다. 측정기에 필요한 모든 디지털 회로를 FPGA 프로젝트 IDE상에서 하나의 FPGA를 이용하여 설계하여 측정기의 단순화와 고성능화를 이루었고, 측정기 개발 시간을 줄일 수 있었다. 또한, 전원회로와 저전압 초음파 에코신호 처리를 위한 아날로그 회로를 설계하고 시뮬레이션을 행하였다. 실험을 통하여, 설계된 측정기가 약 1mm 이내의 정확도를 가짐을 확인하였다.
Abstract
In this paper a ultrasonic oil level meter for measuring oil levels of vehicle transmissions is designed and its effectiveness is shown by experiments. On a FPGA(Field Programmable Gate Array) project IDE(Integrated Development Environment), all digital circuits for the meter is designed using a FPGA, which enables simplicity and high performance of the meter as well as short developing time. Also, power supplying circuit and analog circuits to process low voltage ultrasonic echo signal are designed and simulated. Under experiments, the designed level meter is verified to provide accuracy to within 1mm.
Keywords: Ultrasonic, Oil Level Meter, Vehicle Transmission, FPGA
Ⅰ. 서 론
차량의 변속충격과 변속성능 이상의 일차적인 원인 이 변속기 오일레벨의 변동 및 오염도에 기인하므로 변 속기의 적정한 오일레벨과 상태는 매우 중요하다. 이를 위해 변속기 조립라인에서 변속기내에 적정한 량의 오 일이 있는지를 검사하는데, 현재는 변속기의 중량을 측 정하는 방식을 사용하고 있다. 이 경우, 변속기 부품(하 우징, 케이스, 기어류 등)들의 중량차이가 큼에 따라 정 확하게 오일레벨을 측정하기가 어렵다. 본 논문에서는 종래의 자동차 변속기 오일레벨 측정방식을 개선하여
* 정회원, 선문대학교 정보통신공학과
(Department of Information and Communication Engineering, Sunmoon University)
접수일자: 2012년7월27일, 수정완료일: 2012년10월29일
오일레벨을 정확하고 손쉽게 측정할 수 있는 초음파 방 식 오일레벨 측정기를 설계하고 실험을 통해 유용성을 보인다.
초음파를 이용하는 경우 기존의 변속기에 어떠한 변 형도 가하지 않고 비파괴적으로 오일레벨을 측정할 수
있지만[1~3], 기존의 초음파 레벨 측정기는 외형, 성능 및
기능, 가격 면에서 변속기 조립라인에 실시간 적용하기 가 어려워 FPGA(Field Programmable Gate Array)를 이용한 새로운 오일레벨 측정기를 설계하였다. FPGA 로 Xilinx 사의 XC3S200을 사용하여[4], 측정기에 필요 한 모든 디지털 회로를 하나의 FPGA내에 구현하여 측 정기의 구조를 최적화하고 약 1mm 이내의 측정 정밀 도를 얻었다. 또한, AD(Altium Designer)의 FPGA 프 로젝트 IDE(Integrated Development Environment)상에 서[5] 측정기 설계에 필요한 모든 프로그램을 작성하여
측정기 설계 기간을 줄일 수 있었다. 한편, 배터리로부 터 초음파 프로브의 구동 전압을 생성하기 위해 플라이 백 DC-DC 컨버터 회로, 초음파 에코신호를 증폭하여 TOF(Time of Flight) 신호를 발생시키기 위한 다단 능 동필터 회로, 전파 정류 회로 및 비교기 회로 등을 설계 하고 시뮬레이션을 통하여 회로들의 동작을 검증하였 다. 측정기의 정확도를 확인하기 위하여 실제 자동차 변속기 오일레벨에 대한 반복 측정 시험을 행하였다.
Ⅱ. 변속기 오일레벨 측정 방법
그림 1은 자동차 자동 변속기 모습을 보인다. 변속기 본체와 변속기 오일이 저장되는 플라스틱 케이스로 구 성되어, 케이스에는 오일레벨 측정을 위한 오일 탐침 투입구와 오일의 일부를 배출하기 위한 오일 배출구가 상, 하부에 각각 설치되어 있다. 초음파를 이용하여 케 이스의 변형이 없이 오일에 비접촉식으로 오일의 량을 측정하기 위해서는 초음파 손실을 최소로 하면서 오일 레벨을 정확히 측정할 수 있도록 초음파 프로브를 배치 해야하는데, 오일 케이스 내외부 구조를 고려하여 케이 스의 좌측 하부를 적절한 프로브 위치로 선정하였다.
그림 2는 변속기 오일레벨의 측정방법을 보인다. 초 음파 프로브를 변속기 오일 케이스 하부에 위치시켜 초 음파를 발생시키면 초음파는 프로브 커플러와 변속기 케이스를 거쳐 오일로 입사되고, 오일을 투과한 후 공 기층에 도달하면 프로브로 반사된다. 따라서 이 기간
그림 1. 변속기와 초음파 프로브 배치
Fig. 1. Arrangement of transmission and ultrasonic probe.
그림 2. 초음파에 의한 오일레벨 측정방법
Fig. 2. Oil level measuring scheme by ultrasonic wave.
동안의 시간을 측정하면 오일내의 초음파 속도로부터 식(1)과 같이 오일 레벨 [m]을 계산할 수 있다.
(1)
: 프로브에서의 초음파 발생으로부터 프로브로의 반 사까지 소요된 시간[s]
: 초음파의 케이스와 커플러 왕복에 소요된 시간[s]
: 오일에서의 초음파 속도[ ]
초음파 커플러를 통과한 초음파는 식(2)와 표 1의 매 질 특성에 의해 약 23%가 케이스 면에서 최초로 반사 되고, 나머지 77%가 오일로 진입한다. 이때, 이중에서 약 20%가 오일 면에서 다시 반사되고, 이후 오일을 투 과하는 과정에서 상당량의 초음파가 흡수 된 후 공기 면에 도달한다. 공기 면에 도달한 초음파는 전량이 프 로브 쪽으로 반사되어(초음파 에코신호), 상기와 동일한 과정의 반사와 흡수과정을 거쳐 프로브에 최종적으로 도달한다. 따라서 최초에 발생된 초음파의 극히 일부만 이 수신되어 큰 폭의 에코신호 증폭이 필요하다[6].
특성 매질
음향임피던스( )
[× ] 음파속도() [ ]
커플러1 1.4(두께 1mm) 940
케이스2 4.0(두께 3mm) 2530
오일 1.5 1450 (20℃)
공기 0.0004 356 (20℃)
표 1. 매질의 음파 특성[2],[7],[8]
Table 1. Acoustic characteristics of mediums[2],[7],[8]
.
× (2)
:매질 경계면에서 음파 반사율[%]
:매질1 (입사매질)의 음향 임피던스[ ]
:매질2의 음향 임피던스[ ]
한편, 오일에서의 초음파 속도 는 20℃를 가정하여 약 1450 로 설정하였다. 이 값과 표 1의 값들로부 터 초음파가 커플러와 케이스를 왕복하는데 약 4가 소요되므로 이 값을 식(1)의 에 적용한다.
Ⅲ. 오일레벨 측정기 설계
그림 3은 측정기 전체 구성을 보이는 그림으로, 4MHz의 A, B상 디지털 펄스를 생성하고, 초음파 TOF 와 오일레벨을 계산하며, 온도센서와 LCD와의 인터페 이스를 담당하는 FPGA, A, B상 디지털 펄스를 증폭하 여 초음파 프로브를 구동시킬 ±70V 고전압 펄스를 생 성하는 MOSFET 증폭기, T/R(Transmit/Receive) 스위 치를 이용하여 고전압 펄스를 초음파 에코 신호와 분리 시킨 후 에코신호를 필터링하고 증폭하여 에코펄스를 생성하는 부분, 배터리로부터 DC-DC 변환기를 통해 필요한 전원들을 생성하는 부분, 오일의 온도 측정을 위한 온도센서와 AD변환기, LCD 등으로 나누어진다.
그림 3. 초음파 오일레벨 측정기 구성
Fig. 3. Configuration of ultrasonic oil level meter.
3.1 초음파 구동 펄스 발생부
그림 4는 초음파 프로브 구동을 위해 고전압 펄스를 생성하는 회로이다[9]. 먼저, FPGA에 의해 프로브의 공 진주파수와 일치하는 4MHz의 INA/INB 두 디지털 신
그림 4. 초음파 프로브 구동펄스 발생회로
Fig. 4. Circuit to produce ultrasonic-probe driving pulse.
그림 5. INA/INB 신호 생성을 위한 스키매틱 다이어그램 Fig. 5. Schematic diagram to produce INA/INB signals.
호들이 만들어지면, MOSFET의 게이트를 구동할 수 있는 전압레벨로 변환된 후 MOSFET 증폭기에서 초음 파 프로브를 구동하는 ±70V 고전압 펄스를 생성한다.
그림 5는 INA/INB 생성을 위한 스키매틱으로, AD의 IDE을 이용하여 FPGA 프로젝트를 만든 후, 필요한 컴 포넌트들을 호출하여 작성하였다[5]. FPGA는 Xilinx 사 의 XC3S200을 사용하였다[4]. 스키매틱에서 기준클록 (Clk)는 50MHz이고 이를 CLOCK_MANAGER(U3)와 클록분주기(U2) 통해 적절히 분주하여 4MHz INA/INB 신호를 발생시킨다. U9와 U8은 각각 5비트 카운터와 비교기로, numPulse[4..0] 설정값과 동일한 갯수의 클록 이 생성되면 CLR로 ‘1’을 입력하여 4MHz 클록을 차단 한다. D-플립플롭의 클록입력에 연결된 StartPulsing은 2Hz의 클록 신호로서 0.5초 주기로 INA/INB 펄스열을 발생시킨다. 즉, StartPulsing의 상승에지에서 INA/INB 신호가 발생되어, 이 시점이 초음파 프로브의 구동시점, 즉 초음파의 TOF 개시 시점이 된다.
그림 6은 INA/INB와 MOSFET 증폭기 출력 파형 (PROBE)을 보인다. MOSFET 전원 전압은 ±70V 이고, 0.5초 마다 10 사이클의 INA/INB 신호가 반복되도록 설정하였다. INA와 INB 신호로부터 초음파 프로브 구
그림 6. INA(상), INB(중), PROBE(하) Fig. 6. INA(top), INB(mid.) and PROBE(bot.).
동 펄스가 원활히 발생되고 있음을 보여 준다.
3.2 에코신호 처리부
매질의 경계면에서의 반사와 매질 내에서의 흡수 등 에 기인하여 최초 프로브에서 발생된 초음파의 극히 일 부분만이 수신되기 때문에 적절한 에코신호의 처리가 요구된다. 한편, 고전압의 프로브 구동 신호로부터 에코 신호 처리회로를 보호하기 위한 T/R 스위치가 에코신 호 처리부 전단에 필요하다[10].
가. T/R 스위치
그림 7과 8은 각각 T/R 스위치 회로와 초음파 프로 브 전압 파형을 보인다. 프로브에 그림 6과 같은 ±70V 의 전압 펄스를 프로브에 인가한 경우, 프로브 회로의 공진 특성에 의해 실제 프로브 전압이 최대 ±150V 이 상의 큰 폭으로 상승하여(그림 8(상)), 사용된 T/R 스위 치(MD0100)의 최대 전압정격을 초과한다. 따라서 그림
그림 7. T/R 스위치 회로 Fig. 7. T/R switch circuit.
그림 8. 프로브 전압(상)과 에코신호(하) Fig. 8. Probe voltage(top) and echo signal(bot.).
7에서와 같이 2개의 T/R 스위치를 직렬로 연결하여 프 로브 전압이 2개의 T/R 스위치에 분배되도록 하였다.
그림 8(하)는 T/R 스위치 후단의 에코신호를 보인다.
나. 에코신호 처리
그림 9는 에코신호 처리부 각 단에서의 이득과 차단 주파수(fc)를 보인다. 첫 번째 단의 3차 HPF는 에코신 호를 필터링하고 증폭한다. 프로브 구동신호의 주파수 인 4MHz를 고려하여 차단주파수를 3.9MHz로 설정하 였다. 두 번째 단은 전단의 HPF 출력을 정류하는 전파 정류기이다. 세 번째 단에서는 차단주파수가 0.5MHz인 3차 LPF를 이용하여 정류된 신호를 필터링하고 에코신 호 포락선을 검출한다. 네 번째 단에서는 차단주파수가 106Hz인 1차 HPF를 통해 출력전압을 조정하고 직류 오프셋 전압을 제거한다. 마지막 단에서는 비교기를 통 해 앞단의 출력전압을 기준전압과 비교하여 디지털 신 호(echopulse)를 생성한다. echopulse는 FPGA에 인가 되어 초음파의 TOF 계산에 사용된다.
에코신호 처리부에서 요구되는 기능을 검증하기 위 해 기본 회로를 구성하고 시뮬레이션을 행하였다. 그림 10은 시뮬레이션에 사용된 회로와 시뮬레이션 결과를 보인다. 먼저, TI(Texas Instruments)사에서 제공하는 능동필터 설계 프로그램인 FilterPro[11]를 사용하여 그
그림 9. 에코신호 처리부
Fig. 9. Echo signal processing part.
그림 10. 에코신호 처리부 시뮬레이션 회로와 결과(위로 부터, 3차 HPF, 전파정류기, 3차 LPF, 1차 HPF 와 비교기, 시뮬레이션 결과)
Fig. 10. Simulation circuits and result for echo signal processor(from top, 3rd-order HPF, Full-wave rectifier, 3rd-order LPF, 1st-order HPF and comparator, and simulation result).
림 9에 표시된 기능들을 만족하는 능동필터들을 설계한 후, TI사의 회로설계 프로그램인 TINA-TI[12]상에서 정
류기와 비교기 회로를 추가하고 전체 에코신호 처리부 회로를 구성하여 시뮬레이션을 행하였다. 시뮬레이션 결과에서 가장 아래 파형이 전체 회로의 입력(Vin)이고, 나머지 파형들은 Vin에 따른 각 회로의 출력을 보인다.
시뮬레이션 결과로부터 에코신호 처리부 각 단의 기능 이 원활이 이루어지고 있음을 알 수 있다.
3.3 디지털 신호 처리부
가. 오일레벨 계산
초음파 TOF를 계산하기 위하여 2MHz 클록을 가지 는 10비트 카운터를 사용한다. 그림 5의 초음파 구동 펄스(INA/INB) 발생 시점부터 그림 9의 비교기 출력신 호(ECHO PULSE)가 발생하기까지의 카운터 출력 증가 분(TOF)을 이라 하고 카운터의 주기를 이라 한 후, 오일레벨을 [mm]로 환산하여 식(2)를 다시 표현하 면 식(3)과 같다. 가 0.5이므로 이 값을 식(3)에 대입한 후 정리하면 식(4)와 같다.
× × × (3)
×
(4)
: 오일레벨[mm], : 오일내 초음파 속도[ ],
: TOF동안의 카운터증분, : 카운터 클록주기[ ],
: 초음파의 케이스와 커플러 왕복에 소요된 시간[ ]
식(4)의 제수가 2의 배수가 되도록 식(4)를 식(6)과 같이 근사화하면, 식(4)에 의한 계산 결과의 약 0.7% 오 차로 결과 값을 구할 수 있다.
×
×
(5)
≈
×
(6)
나. 전체 신호 처리부 스키매틱
그림 11은 오일레벨 측정기의 디지털 신호 처리부 전
그림 11. 전체 디지털 신호처리부 스키매틱 다이어그램 Fig. 11. Schematic diagram of entire digital signal
processing parts.
체의 스키매틱을 보이는 것으로, 측정기에 필요한 모든 디지털 회로와 신호처리를 하나의 FPGA로 구현하였다.
PulseGeneratorCore는 그림 5의 스키매틱에 대한 코어 이고[5], U_TimmingClks은 전체 신호 처리부에서 사용 되는 타이밍 클록들을 제공하기 위해 작성한 스키매틱 심볼이다[5]. U_LevelCalculation은 초음파의 TOF로부터 식(6)에 의하여 오일레벨을 계산하기 위해 작성한 스키 매틱 심볼이고, U_Lcd16x2는 LCD를 구동하기 위해 작 성한 VHDL 코드에 대한 심볼이다. U_i2cdrive는 i2c 장치와의 인터페이스를 위해 작성한 VHDL 코드에 대 한 심볼이고, I2CM은 온도측정을 위해 AD변환기와 인 터페이스를 담당하는 i2c 마스터 컴포넌트로 라이브러 리 형태로 제공된다.
Ⅳ. 실험 및 고찰
시험에 앞서 오일 탐침으로 변속기 오일레벨을 측정 하여 약 84mm가 됨을 확인하고 기준 오일레벨로 설정 하였다. 표 2는 오일레벨을 10회 반복 측정한 결과를 보이는 것으로 오일레벨에 1mm의 편차가 발생됨을 알 수 있다. 오일레벨 계산시(식(6)), 초음파 속도 는 1450
로, 는 4로 설정하였다.
그림 12-15는 그림 9의 에코신호 처리부 각단의 출
측정 횟수 1 2 3 4 5 6 7 8 9 10
[mm] 83 83 83 84 84 83 84 83 84 84
표 2. 오일레벨 측정결과
Table 2. Oil-level measurement result.
그림 12. 에코신호 처리부 각단 출력 파형(=83mm): 3 차 HPF(상), 1차 HPF(중), 비교기(하)
Fig. 12. Output waveforms of the echo signal processor (=83mm): 3rd-order HPF(top), 1st-order HPF(mid.) and comparator(bot.).
그림 13. 그림 12 신호 확대 파형 (=83mm, ≈ )
Fig. 13. Magnified waveforms of the signals of Fig. 12.
(=83mm, ≈ )
력을 오실로스코프로 측정한 결과이다. 그림 12와 13은 오일레벨이 83mm로 측정된 경우이고, 그림 14와 15는 오일레벨이 84mm로 측정된 경우이다. 그림 12의 첫 번 째 파형(상)은 에코신호 처리부의 첫째 단 HPF의 출력 파형이고, 두 번째 파형(중)은 네 번째 단 HPF의 출력 파형이다. 세 번째 파형(하)은 마지막단인 비교기 출력 파형으로, 기준전압(Vcom)은 2V로 설정하였다. 각 파 형들로부터 에코신호의 필터링과 증폭, 포락선검출 및 비교기를 통한 디지털 펄스의 생성 등이 원활히 이루어 지고 있음을 알 수 있다. 그림 13은 그림 12에서 에코신 호가 발생되는 부근을 확대한 것이다. 이로부터, 에코신 호의 발생 시점으로부터 비교기 출력의 상승에지 사이
그림 14. 에코신호 처리부 각단 출력 파형(=84mm): 3 차 HPF(상), 1차 HPF(중), 비교기(하)
Fig. 14. Output waveforms of the echo signal processor (=84mm): 3rd-order HPF(top), 1st-order HPF(mid.) and comparator(bot.).
그림 15. 그림 14 신호 확대 파형 (=84mm, ≈ )
Fig. 15. Magnified waveforms of the signals of Fig. 14.
(=84mm, ≈ )
에 약 650ns의 시간지연()이 생기는 것을 알 수 있다.
따라서 이 시간만큼 TOF값이 실제 TOF값보다 크게 계산되어 오일레벨로 환산하면 약 0.5mm의 오차를 유 발할 수 있지만, 본 시험에서는 무시하였다. 비교기 출 력파형으로부터 초음파 TOF는 약 120.85임을 알 수 있다. 그림 14와 15는 오일레벨이 84mm 로 측정된 경 우의 파형으로, 이 경우에도 약 650ns 정도의 시간지연 ()이 발생하고 TOF는 약 121.8로 앞의 경우에 비 해 약 1 증가됨을 알 수 있다. 따라서 약 0.7mm 정 도 오일 레벨이 크게 계산된다. 이상으로부터, 에코신호 출력파형과 오일레벨의 측정결과가 서로 일치됨을 알 수 있다.
한편, 측정결과에서 보이는 편차는 프로브 커플러의
그림 16. 오일레벨 측정 시험과 측정기 사진 Fig. 16. Photos of oil level test and meter.
두께 변동에 의한 것으로서, 측정에 사용된 커플러는 신축성이 있는 고무 재질로, 프로브를 오일 케이스에 밀착시키는 과정에서 밀착력에 따라 프로브 커플러의 두께가 변동하여 결과적으로 측정 편차가 유발되는 것 을 확인하였다. 그림 16은 오일레벨 측정 사진으로 오 일레벨과 온도 측정 결과를 LCD상에 보여주고 있다.
Ⅴ. 결 론
본 논문에서는 자동차 변속기 오일 량을 측정하기 위 한 초음파 오일레벨 측정기를 설계하고 실험을 통하여 유용성을 보였다. 측정기에 필요한 모든 디지털 회로와 신호처리를 하나의 FPGA내에 구현하여 측정기의 구조 를 최적화하고 약 1mm 이내의 측정 정밀도를 얻었다.
또한, AD(Altium Designer)의 FPGA 프로젝트 IDE(Integrated Development Environment)상에서 프로 그램을 제작하여 측정기 개발 시간을 줄일 수 있었다.
한편, 초음파 에코신호를 처리하기 위한 아날로그 회로 를 설계하고 시뮬레이션을 행하여 회로의 기능을 검증 하였다. 향후에는 실제 변속기 작업라인에서 실험을 행 하고 결과를 분석할 것이다.
참 고 문 헌
[1] B. Henning, J. Rautenberg, “Process monitoring using ultrasonic sensor systems”, Ultrasonics, Vol.44, pp.e1395-e1399, Dec., 2006.
[2] W. Volker, R. Hans-Peter, “Measurement of ultrasound speed in several car engine oils as a function of temperature”, IEEE Ultrasonics Symposium proceedings, pp.369-372, 2007.
[3] 이영진, 임종인, “외접형 초음파 유량센서용 압전 트랜스듀서의 개발 및 평가”, 대한전자공학회 논문 지-SC, 43권, 4호, pp.30-34, 2006.
[4] “Spartan-3 FPGA Family”, Data Sheet, Xilinx,
저 자 소 개 조 정 연(정회원)
2012년 선문대학교 정보통신 공학과 학사 졸업.
2012년 현재 선문대학교 정보통신 공학과 석사 재학.
<주관심분야 : 회로 및 로보틱 스>
강 문 호(정회원)
1990년 고려대학교 전기공학과 석사 졸업.
1995년 고려대학교 전기공학과 박사 졸업.
2012년 현재 선문대학교 정보통신 공학과 교수.
<주관심분야 : 센서 네트워크, 지능제어>
Inc., DS009-4, Dec., 2009.
[5] “Altium Designer, FPGA Design Basics”, Document Version 1.2, Altium, February, 2008.
[6] T. G. Leighton, “What is ultrasound?”, Progress in Biophysics and Molecular Biology, Vol. 93, Issues 1–3, pp. 3-83, 2007.
[7] “Plastic Material's acoustic properties”, http://www.ndt.net/links/proper.htm
[8] “Acoustical Properties Of Common Materials”, http://www.ndtsystems.com/Reference/Velocity_T able/velocity_table.html
[9] Ching Chu, Sr., “High Voltage Pulser Circuits”, Application Note, AN-H53, Supertex inc., 2009.
[10] “High Voltage Protection T/R Switch, MD0100”, Doc.# DSFP-MD0100, Supertex inc., 2010.
[11] FilterPro™ User's Guide, Texas Instruments [12] Getting Started with TINA-TI™, Texas
Instruments