DOI QR코드

DOI QR Code

Modeling and Application Research of Zero Crossing Detection Circuit

Zero Crossing Detection 회로 Modeling 및 응용연구

  • Jeong, Sungin (Dept. of IT-Automotive Engineering, Gwangju University)
  • 정성인 (광주대학교 IT자동차학과 조교수)
  • Received : 2020.05.12
  • Accepted : 2020.08.07
  • Published : 2020.08.31

Abstract

In the case of a system that detects and controls the phase of an alternating voltage, the analog control method compensates the phase offset part by filtering for the detected phase and applies it to the control. However, in the digital control method, precise control cannot be achieved due to an error between the operating frequency of the microprocessor or the microcontroller and the input phase time when controlled using such phase detection. In general, when the method used is a certain time, the accumulated error is compensated and adjusted at random. To solve this problem, a method of detecting a zero point in real time and compensating for the operating frequency of the microprocessor is needed. Therefore, the research to be performed in this paper to reduce these errors and apply them to precise digital control is as follows. 1) Research on how to implement Zero Crossing Detection algorithm through simulation modeling to compensate the zero point to match the operating frequency through detection. 2) A study on the method of detecting zero points in real time through the Zero Crossing Detection design using a microcontroller and compensating for the operating frequency of the microprocessor. 3) A study on the estimation of the rotor position of BLDC motors using the Zero Crossing Detection circuit.

교류 전압의 위상을 검출하여 제어하는 시스템의 경우 아날로그 제어방식에서는 검출한 위상에 대해 필터링에 의한 위상 offset 부분을 보상하여 제어에 응용하고 있다. 그러나, 디지털 제어방식에서는 이러한 위상 검출을 이용하여 제어할 경우 마이크로프로세서 혹은 마이크로 컨트롤러의 동작 주파수와 입력 위상 시간과의 오차로 인하여 정밀한 제어를 이룰 수가 없다. 일반적으로 사용하는 방식이 일정한 시간이 되면 누적된 오차를 임의로 보상하여 맞추어주는 방식인데 이러한 경우 보상하기 전까지는 오차를 지속적으로 가지고 갈 수밖에 없는 상황이 발생하게 된다. 이러한 문제점을 해결하기 위해서는 실시간으로 영점을 검출하여 마이크로프로세서의 동작 주파수에 맞도록 보상하는 방법이 필요하게 된다. 따라서 이러한 오차를 줄이면서 정밀한 디지털 제어에 응용하기 위해 본 논문에서 수행하고자 하는 연구는 다음과 같다. 1) 시뮬레이션 모델링을 통해 Zero Crossing Detection 알고리즘을 구현하여 영점을 검출을 통하여 동작 주파수에 맞도록 보상하는 방법에 관해 연구. 2) Microcontroller를 이용한 Zero Crossing Detection 설계를 통하여 실시간으로 영점을 검출하여 마이크로프로세서의 동작 주파수에 맞도록 보상하는 방법에 관해 연구. 3) Zero Crossing Detection 회로를 활용하여 BLDC 전동기의 회전자 위치 추정 연구.

Keywords

Ⅰ. 서론

교류 전압의 위상을 검출하여 제어하는 시스템의 경우 아날로그 제어방식에서는 검출한 위상에 대해 필터링에 의한 위상 offset 부분을 보상하여 제어에 응용하고 있다. 그러나 디지털 제어방식에서는 이러한 위상 검출을 이용하여 제어할 경우 마이크로프로세서 혹은 마이크로 컨트롤러의 동작 주파수와 입력 위상 시간과의 오차로 인하여 정밀한 제어를 이룰 수가 없다[1-2].

또한, 전압의 위상을 검출하여 디지털 제어를 수행하는 시스템의 경우 사용하는 마이크로프로세서의 동작 주파수와 위상과의 동기화가 이루어지지 않고 일정량의 오차를 수반하게 된다. 이 시간 오차로 인하여 시간이 누적될수록 오차에 의한 시간 지연이 발생하게 되고 이로 인하여 원활한 제어가 이루어지지 않게 된다.

일반적으로 사용하는 방식이 일정한 시간이 되면 누적된 오차를 임의로 보상하여 맞추어주는 방식인데 이러한 경우 보상하기 전까지는 오차를 지속적으로 가지고 갈 수밖에 없는 상황이 발생하게 된다. 이러한 문제점을 해결하기 위해서는 실시간으로 영점을 검출하여 마이크로프로세서의 동작 주파수에 맞도록 보상하는 방법이 필요하게 된다[3].

따라서 이러한 오차를 줄이면서 정밀한 디지털 제어에 응용하기 위해 본 논문에서 수행하고자 하는 연구는 다음과 같다.

1. 시뮬레이션 모델링을 통해 Zero Crossing Detection 알고리즘을 구현하여 영점을 검출을 통하여 동작 주파수에 맞도록 보상하는 방법에 관해 연구.

2. Microcontroller를 이용한 Zero Crossing Detection 설계를 통하여 실시간으로 영점을 검출하여 마이크로프로세서의 동작 주파수에 맞도록 보상하는 방법에 관해 연구.

3. Zero Crossing Detection 회로를 활용하여 BLDC 전동기의 회전자 위치추정 연구

Ⅱ. 교류신호와 마이크로프로세서 타이머와의 관계

그림 1은 마이크로프로세서의 동작 주파수와 교류 전압의 위상과의 관계로 다음과 같은 문제점으로 인하여 실시간 보상 방법이 필요하다.

OTNBBE_2020_v20n4_143_f0001.png 이미지

그림 1. 교류 입력 신호와 마이크로프로세서 타이머와의 관계

Fig. 1. Relationship between AC input signal and microprocessor timer

교류 입력 신호가 60Hz이고 마이크로프로세서의 위상 검출용 타이머의 주파수가 1MHz일 경우 교류 입력 신호의 주기는 16.6666…ms이고, 타이머의 주기는 1us가 된다. 이 타이머로 교류 입력 신호 1주기에 대해 카운트할 경우 16666번 세게 되고 이때의 주기는 16.666ms이 되어 약 0.666…us의 오차가 생기게 된다.

이러한 오차가 지속되어 누적이 될 경우 거의 한주기에 해당하는시간 오차가 발생하여 정확한 제어를 수행할 수 없게 된다. 따라서 실시간으로 한 주기마다 발생하는 오차를 보상하여 정확한 디지털 제어를 수행하도록 해 줄 필요성이 있다.

Ⅲ. Zero Crossing Detection 회로 모델링을 통한 보상

1. Zero Crossing Detection 회로[4]

그림 2는 교류 입력 신호를 마이크로프로세서에서 처리하기 위한 디지털 신호로 변환하기 위한 Zero Crossing Detection 회로를 보여주고 있다. 입력 신호를 차동 증폭기 (Differential Amplifier)를 거쳐 크기를 줄인 후에 40Hz의 Cutoff Frequency를 갖는 저역 통과 필터를 통과시켜 고주파 노이즈를 줄이도록 설계하였다. 이 회로의 출력을 히스테리시스를 갖는 증폭기를 거쳐 영점 부근에서 발생하는 채터링 현상을 방지하도록 하였으며 Photo Coupler를 이용하여 전압 레벨의 변환을 수행하며 입력단에서 출력단까지 각 부분의 파형을 통해 동작 상황을 확인할 수 있다.

OTNBBE_2020_v20n4_143_f0002.png 이미지

그림 2. Zero Crossing Detection 회로

Fig. 2. Zero Crossing Detection Circuit

2. 시뮬레이션을 통한 Zero Crossing Detection 모델링

그림 3은 ORCAD 시뮬레이션 tool을 이용한 Zero Crossing Detection 모델링 회로로 그림 2에서 설명한 내용과 같이 입력 신호를 차동 증폭기 (Differential Amplifier)를 거쳐 저역 통과 필터를 통과시켜 고주파 노이즈를 줄이도록 설계하였다. 또한, 영점 부근에서 발생하는 채터링 현상을 방지하기 위해 히스테리시스 증폭기를 이용하며 Photo Coupler를 이용하여 전압 레벨의 변환을 수행할 수 있도록 하였다.

OTNBBE_2020_v20n4_143_f0003.png 이미지

그림 3. ORCAD 시뮬레이션 tool을 이용한 Zero Crossing Detection 모델링

Fig. 3. Zero Crossing Detection modeling using ORCAD simulation tool

이에 관한 결과를 그림 4를 통해 Zero Crossing Detection 시뮬레이션 결과를 확인할 수 있다. 입력되는 AC 전압(V3)은 Vpp = 8V, 주파수는 60Hz로, 비교기로 사용한 LM2902 OP Amp에는 ±15V의 전원을 입력으로 하는 차동증폭기 출력으로 동일 위상을 가지는 ±4V 값을 V_R4 단자를 통해 확인할 수 있다.

OTNBBE_2020_v20n4_143_f0004.png 이미지

그림 4. ORCAD 시뮬레이션 tool을 이용한 Zero Crossing Detection 시뮬레이션 결과

Fig. 4. Zero Crossig Detection simulation result using ORCAD simultion tool

V_R4 단자를 통해 출력되는 차동증폭기 출력값은 40Hz의 Cutoff Frequency를 갖는 저역 통과 필터를 통과시켜 V_R5의 출력값과 이 회로의 출력을 히스테리시스를 갖는 증폭기를 거쳐 영점 부근에서 발생하는 채터링 현상을 방지하도록 한 V_R6의 결과값을 추가로 확인할 수 있다. V3의 결과값에서 부터 V_R6에서 얻어진 출력값을 최종적으로 Photo Coupler를 이용하여 전압 레벨의 변환을 수행한 V_R7의 값을 통해 ORCAD 시뮬레이션 tool을 이용한 Zero Crossing Detection 모델링의 결과를 볼 수 있다. 따라서 시뮬레이션 모델링 회로를 통해 주기마다 발생하는 오차를 보상하기 위해 Zero Crossing Detection 회로를 이용하여 정확한 디지털 제어를 수행할 수 있다.

그림 5는 Simplorer 시뮬레이션 tool을 이용한 Zero Crossing Detection 모델링 회로로 그림 3에서 구성한 내용과 동일하게 차동 증폭기, 저역 통과필터, 히스테리 시스 증폭기, Photo Coupler를 이용하여 전압 레벨 변환으로 디자인된 회로를 보여주고 있다. 또한, 그림 6 역시 그림 4의 결과와 동일하게 Simplorer 시뮬레이션 tool을 이용한 Zero Crossing Detection 시뮬레이션 결과로 주기마다 발생하는 오차를 보상함으로써 정확한 디지털 제어를 수행할 수 있음을 알 수 있다.

OTNBBE_2020_v20n4_143_f0005.png 이미지

그림 5. Simplorer 시뮬레이션 tool을 이용한 Zero Crossing Detection 모델링

Fig. 5. Zero Crossing Detection modeling using Simplorer simulation tool

OTNBBE_2020_v20n4_143_f0006.png 이미지

그림 6. Simplorer 시뮬레이션 tool을 이용한 Zero Crossing Detection 시뮬레이션 결과

Fig. 6. Zero Crossing Detection simulation result using Simplorer simulation tool

3. Microcontroller를 이용한 Zero Crossing Detection

Microcontroller를 이용하여 Zero Crossing Detection을 구현하기 위해 소프트웨어에서 처리하는 흐름도를 그림 7과 같이 정리할 수 있다.

OTNBBE_2020_v20n4_143_f0007.png 이미지

그림 7. 소프트웨어 흐름도

Fig. 7. Software flowchart

(1) Zero Crossing Detection 회로의 출력신호의 시간을 측정하기 위한 카운터(Ring counter)를 동시킨다.

(2) 주기마다 (Rising edge or Falling edge 상태) 카운터에 저장된 값을 읽어 여 이전 상태에서 읽어 들인 카운터 값과의 차를 구한다.

(3) 시스템 제어를 위해 사용하는 제어 루프에서 사용하는 시간을 누적하여 제어 루프 한 주기(입력 신호와 동일한 한 주기)에 대한 카운트 값을 구한다.

(4) (2)항에서 구한 값과 (3)항에서 구한 값과의 차를 구하여 시스템 제어를 위해 사용하는 제어 루프의 시간 항에 보상한다.

(5) 위의 과정을 반복하여 수행하게 되면 교류 입력 위상과 근접한 시간에 디지털 제어가 가능하다.

그림 7의 소프트웨어 흐름도를 기본으로 하여 Zero Crossing Detection을 구현하기 위해 Microcontroller를 이용하여 다음과 같이 설계하였다.

(1) Microcontroller : Intel 80C196KC

(2) Zero crossing detection signal을 HSI 인터럽트 처리하여 내장 카운터의 값을 읽도록 구성

사용한 핀 : HSI 0 핀

사용한 인터럽트 : HSI Data Available 인터럽트 사용 제어 프로그램 수행 인터럽트 : Software Timer 인터럽트 사용

(3) 제어 프로그램을 동작시키는 Software Timer 인터럽트는 인터럽트를 발생시키는 타이머로써 80C196KC 내부의 타이머 1을 사용한다. 이 타이머는 또한 Zero crossing detection signal을 처리하는 HSI의 타이머로 사용된다.

외부 clock frequency : 16MHz

타이머 1 clock frequency :16MHz × \(\frac{1}{16}\) = 1MHz 타이머 1 clock period : 1μs

(4) 60Hz의 주파수를 갖는 신호와 이 신호에 micro controller의 제어 주기를 동기화시키기 위해서 다음과 같이 처리방법을 적용하였다.

1) 60Hz의 주파수를 갖는 신호가 Zero Crossing Detection 회로를 거쳐 HSI 0핀에 입력한다. 이 입력된 신호에서 falling edge(HI → LO)가 발생했을 때 HSI Data Available 인터럽트가 발생하고 이 인터럽트 처리함수에서 HSI FIFO에 저장된 타이머 값을 읽어와서 HSI 0핀에 입력된 신호에 대한 주기를 계산한다.

2) 제어 함수를 동작시키는 Software Timer 인터럽트가 발생할 때마다 인터럽트 발생 간격을 누적한다. 단, Software Timer 인터럽트의 초기화는 HSI Data Available 인터럽트가 발생한 후 이루어지며 HSI Data Available 인터럽트가 발생하기 전까지 계속 누적한다.

3) 항목 1) 항목 2)에서 연산된 타이머값의 오차가 Microcontroller와 외부 입력 신호와 동기화가 이루어지지 않아서 발생하므로 이 오차에 대해서 지속적으로 보상을 해주어야만 한다.

적용한 알고리즘은 주기마다 Microcontroller와 외부 입력 신호와의 오차를 보상해 주므로 시스템의 제어 성능의 향상을 이룰 수 있고 다른 Zero Crossing Detection 방법과 비교해서 간단한 소프트웨어 구성만으로 최적의 성능을 발휘할 수 있다.

4. Zero Crossing Detection 회로를 활용한 응용 연구

Ⅲ.2. 시뮬레이션을 통한 Zero Crossing Detection 모델링과 Ⅲ.3. Microcontroller를 이용한 Zero Crossing Detection의 연구결과를 활용하여 BLDC 전동기 회전자 위치추정에 적용할 수 있다. 일반적으로 BLDC 전동기를 구동하기 위해서는 위치 센서를 이용하여 회전자 위치정보가 필요하나 이러한 센서 없이 Sensorless를 통한 구동 방법도 보편화 되어 있다[5]. 따라서 본 논문에서는 BLDC 전동기를 Sensorless로 구동시 회전자 위치추정을 위해 Zero Crossing Detection 회로를 활용하였다[6].

그림 8과 9는 Zero Crossing Detection 회로를 이용한 시뮬레이션 결과 및 Microcontroller를 통한 실험 결과로 BLDC 전동기 고정자의 제 3고조파 전압 성분, 이 전압의 적분기 출력신호, 그리고 이를 Zero Crossing Detection 회로를 거쳐 생성된 회전자 전환 신호(Commutation signal), 각상의 전류 파형으로써 고정자의 3고조파 전압 성분을 이용하여 BLDC 전동기의 회전자 전환 신호를 생성하는 과정을 볼 수 있다.

OTNBBE_2020_v20n4_143_f0008.png 이미지

그림 8. Zero Crossing Detection 회로를 이용한 BLDC 전동기 회전자 위치추정 시뮬레이션 결과

Fig. 8. BLDC Motor Rotor Positioning Simulation Results Using Zero Crossing Detection Circuit

OTNBBE_2020_v20n4_143_f0009.png 이미지

그림 9. Zero Crossing Detection 회로를 이용한 BLDC 전동기 회전자 위치추정 실험결과

Fig. 9. Results of BLDC motor rotor position estimation using zero crossing detection circuit

적분회로를 통해 위상이 90 지연된 고정자의 3고조파 성분을 Zero Crossing Detection 회로를 통해서 회전자의 전환 신호를 만들 수 있는 결과를 보여주고 있다. 따라서 이러한 전환 신호를 이용하여 위치 센서 없이 BLDC 전동기를 ensorless 운전시 본 논문에서 연구한 Zero Crossing Detection 회로를 적용할 수 있음을 보여주고 있다.

Ⅳ. 결론

전압의 위상을 출하여 디지털 제어를 수행하는 시스템의 경우 사용하는 마이크로프로세서의 동작 주파수와 위상과의 동기화가 이루어지지 않고 일정량의 오차를 수반하게 된다. 이러한 문제점을 해결하기 위해서는 실시간으로 영점을 검출하여 마이크로프로세서의 동작 주파수에 맞도록 보상하는 방법이 필요하게 된다.

따라서 본 논문에서 수행한

(1) 시뮬레이션 모델링을 통해 Zero Crossing Detection 알고리즘을 구현하여 영점을 검출을 통하여 동작 주파수에 맞도록 보상하는 방법

(2) Microcontroller를 이용한 Zero Crossing Detection 설계를 통하여 실시간으로 영점을 검출하여 마이크로프로세서의 동작 주파수에 맞도록 보상하는 방법

(3) Zero Crossing Detection 회로를 활용하여 BLDC 전동기의 회전자 위치추정 연구들이 오차를 줄여 보상하는 정밀한 디지털 제어에 활용 가능할 것으로 사료된다.

※ 이 연구는 2020년도 광주대학교 대학 연구비의 지원을 받아 수행되었음

References

  1. Changyuan Chang, Hailong Sun, Wenwen Zhu, Yao Chen, and Chenhao Wang, "A Novel Zero -Crossing Compensation Scheme for Fixed Off- Time Controlled High Power Factor AC-DC LED Drivers", Journal of Power Electronics, Vol. 16, No. 5, pp. 1661-1668, 2016. DOI: http://dx.doi.org/10.6113/JPE.2016.16.5.1661
  2. J. Sun, "On the zero-crossing distortion in single -phase PFC converters," IEEE Trans. Power Electron., Vol. 19, No. 3, pp. 685-692, May 2004. https://doi.org/10.1109/TPEL.2004.826491
  3. Y. Li, Y. Yang, Z. Zhu, and W. Qiang, "Zero -crossing distortion analysis in one cycle controlled boost PFC for low THD," in Proc. ASICON, pp. 661-664. 2011. DOI: http://doi.org/10.1109/ASICON.2011.6157292
  4. B. Y. Bae, S. T. Baek, J. H. Lee, I. Y. Suh, "A frequency measurement based on modified zero-crossing method for anti-islanding detection of distributed generation," Conference. of KIPE, 2008.
  5. Kwang-Woon Lee and Tae-Sik Park, "A Simplified Analysis Approach on the Rotor Position Detection Error in Sensorless Interior Permanent Magnet Brushless DC Motor Drives," Trans. of KIPE, Vol. 21, No. 5, 2016. DOI: http://dx.doi.org/10.6113/TKPE.2016.21.5.449
  6. D. Y. Song, Y. T., K. S. Kim, D. O. Kim, T. U. Jung, S. J. Park "A Design of Back Emf Force Filter circuit For Driving Sensorless Brushless DC Motors," Conference. of KIPE, 2007.