KR102500090B1 - 모터 포지션 검출기들과의 오프셋 및 게인 드리프트 관련 각도 오차들의 보정 - Google Patents

모터 포지션 검출기들과의 오프셋 및 게인 드리프트 관련 각도 오차들의 보정 Download PDF

Info

Publication number
KR102500090B1
KR102500090B1 KR1020197011063A KR20197011063A KR102500090B1 KR 102500090 B1 KR102500090 B1 KR 102500090B1 KR 1020197011063 A KR1020197011063 A KR 1020197011063A KR 20197011063 A KR20197011063 A KR 20197011063A KR 102500090 B1 KR102500090 B1 KR 102500090B1
Authority
KR
South Korea
Prior art keywords
sine
cosine
phase
lut
phase sector
Prior art date
Application number
KR1020197011063A
Other languages
English (en)
Other versions
KR20190065302A (ko
Inventor
마르틴 스타에블러
페르디난드 폰 모로
Original Assignee
텍사스 인스트루먼츠 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텍사스 인스트루먼츠 인코포레이티드 filed Critical 텍사스 인스트루먼츠 인코포레이티드
Publication of KR20190065302A publication Critical patent/KR20190065302A/ko
Application granted granted Critical
Publication of KR102500090B1 publication Critical patent/KR102500090B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/24471Error correction
    • G01D5/2448Correction of gain, threshold, offset or phase control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • G01D18/002Automatic recalibration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/248Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains by varying pulse repetition frequency
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P2203/00Indexing scheme relating to controlling arrangements characterised by the means for detecting the position of the rotor
    • H02P2203/03Determination of the rotor position, e.g. initial rotor position, during standstill or low speed operation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

정렬 버퍼(302)는 위상 섹터 결정 회로(402), 위상 섹터 업데이트 회로(404), 및 위상 섹터 완성 회로(406)를 포함한다. 위상 섹터 결정 회로(402)는 인코더 또는 리졸버로부터 수신되는 제1 사인 및 코사인 샘플 쌍의 위상에 대응하는 위상 섹터를 결정하도록 구성된다. 위상 섹터 업데이트 회로(404)는, 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 룩업 테이블(LUT)(410)에 저장되어 있는지를 결정하고, 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 LUT(410)에 저장되어 있지 않다는 결정에 응답하여, 제1 사인 및 코사인 샘플 쌍을 LUT(410)에 저장하도록 구성된다. 위상 섹터 완성 회로(406)는 LUT(410)가 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했는지를 결정하도록 구성된다.

Description

모터 포지션 검출기들과의 오프셋 및 게인 드리프트 관련 각도 오차들의 보정
인코더들(encoders) 및 리졸버들(resolvers)과 같은 포지션 검출기들(position detectors)은 전기 모터의 각도 포지션(angular position)을 결정하는 데 유용하다. 사인 및 코사인 증분 각도 인코더들 및/또는 리졸버들은 모터의 각도 포지션을 두 개의 직교 변조 사인 및 코사인 신호로 인코딩한다. 1 회전 당 정현파 주기들의 수는 인코더 라인 수에 따라 다르며, 일반적으로 인코더의 경우 50 내지 5000의 범위 내이며 리졸버의 경우 1 회전 당 1 주기이다. 사인 및 코사인 증분 인코더들 및/또는 리졸버들은 보간으로 인한 고해상도 각도 결정을 허용한다. 보다 구체적으로, 고해상도 각도는 일반적으로 사인 신호와 코사인 신호 간의 비율의 아크탄젠트(arctangent)를 사용하여 계산된다.
US 2012/0217912 A1 (WU LONG 등) (2012.08.30.) EP 2 955 823 A1 (CONTROL TECHNIQUES LTD) (2015.12.16.) US 7,251,444 B2 (RICOH COMPANY, LTD.) 2007.07.31.) GB 2496236 A (FARO TECHNOLOGIES, INC) (2013.05.08.)
전술한 문제점들은 대부분 인코더 또는 리졸버에서 오프셋 및 게인 오차(offset and gain error)를 보상하는 시스템들 및 방법들에 의해 해결된다. 일부 예들에서, 전자 디바이스는 정렬 버퍼(sort buffer), 오프셋 및 게인 오차 결정 회로, 및 폐루프 제어 회로를 포함한다. 정렬 버퍼는 인코더 또는 리졸버로부터 제1 사인 및 코사인 샘플 쌍을 수신하도록 구성된다. 정렬 버퍼는 위상 섹터 결정 회로(phase sector determination circuit), 위상 섹터 업데이트 회로(phase sector update circuit), 및 위상 섹터 완성 회로(phase sector completion circuit)를 포함한다. 위상 섹터 결정 회로는 제1 사인 및 코사인 샘플 쌍의 위상에 대응하는 위상 섹터를 결정하도록 구성된다. 위상 섹터는 복수의 위상 섹터들 내에 포함된다. 위상 섹터 업데이트 회로는, 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 룩업 테이블(lookup table)(LUT)에 저장되어 있는지를 결정하고, 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 LUT에 저장되어 있지 않다는 결정에 응답하여, 제1 사인 및 코사인 샘플 쌍을 LUT에 저장하도록 구성된다. 위상 섹터 완성 회로는 LUT가 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했는지를 결정하도록 구성된다. 오프셋 및 게인 오차 결정 회로는 사인 및 코사인 게인 및 오프셋 오차를 결정하도록 구성된다. 폐루프 제어 회로는 사인 및 코사인 게인 및 오프셋 오차에 기초하여 사인 및 코사인 게인 및 오프셋 보정 값을 결정하도록 구성된다.
다른 예는, 위상 섹터 결정 회로, 위상 섹터 업데이트 회로, 및 위상 섹터 완성 회로를 포함하는 정렬 버퍼이다. 위상 섹터 결정 회로는 인코더 또는 리졸버로부터 수신되는 제1 사인 및 코사인 샘플 쌍의 위상에 대응하는 위상 섹터를 결정하도록 구성된다. 위상 섹터는 복수의 위상 섹터들 내에 포함된다. 위상 섹터 업데이트 회로는, 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 룩업 테이블(LUT)에 저장되어 있는지를 결정하고, 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 LUT에 저장되어 있지 않다는 결정에 응답하여, 제1 사인 및 코사인 샘플 쌍을 LUT에 저장하도록 구성된다. 위상 섹터 완성 회로는 LUT가 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했는지를 결정하도록 구성된다.
또 다른 예는 인코더 또는 리졸버에서 오프셋 및 게인 오차를 보상하는 방법이다. 방법은 인코더 또는 리졸버로부터 제1 사인 및 코사인 샘플 쌍을 수신하는 단계를 포함한다. 방법은 또한 제1 사인 및 코사인 샘플 쌍의 위상에 대응하는 위상 섹터를 결정하는 단계를 포함한다. 위상 섹터는 복수의 위상 섹터들 내에 포함된다. 방법은 또한 위상 섹터에 대응하는 인코더 또는 리졸버로부터 수신된 제2 사인 및 코사인 샘플 쌍이 룩업 테이블(LUT)에 저장되어 있는지를 결정하는 단계를 포함한다. 방법은 또한 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 LUT에 저장되어 있지 않다는 결정에 응답하여, 제1 사인 및 코사인 샘플 쌍을 LUT에 저장하는 단계를 포함한다.
도 1은 다양한 실시예들에 따른 전기 모터 시스템의 블록도를 도시한다.
도 2는 다양한 실시예들에 따른 전기 모터의 포지션 검출기에 의해 생성된 신호들의 사인 및 코사인 쌍을 도시한다.
도 3은 다양한 실시예들에 따른 전기 모터 시스템의 호스트 프로세서의 블록도를 도시한다.
도 4는 다양한 실시예들에 따른 전기 모터 시스템 내의 호스트 프로세서의 정렬 버퍼의 블록도를 도시한다.
도 5는 다양한 실시예들에 따른 사인 및 코사인 샘플 쌍의 위상들에 대응하는 위상 섹터들의 그래프를 도시한다.
도 6은 다양한 실시예들에 따른 사인 및 코사인 샘플 쌍 데이터를 저장하기 위한 룩업 테이블을 도시한다.
도 7은 다양한 실시예들에 따른 전기 모터 시스템의 인코더 또는 리졸버에서 오프셋 및 게인 오차를 보상하는 방법의 흐름도를 도시한다.
본원의 설명에서, "결합(couple)" 이라는 용어는 간접 또는 직접 연결(indirect or direct connection)을 의미한다. 따라서, 제1 디바이스가 제2 디바이스에 결합되면, 그 연결은 직접 연결에 의한 것일 수 있거나, 또는 다른 디바이스들 및 연결들을 경유한 간접 연결에 의한 것일 수 있다. "기초하여"의 용어는 "적어도 부분적으로 기초하여"를 의미한다. 따라서, XY에 기초하면, XY 및 다른 인자들의 임의의 수에 기초할 수 있다.
인코더들 및 리졸버들과 같은 포지션 검출기들은 전기 모터의 각도 포지션을 결정하는 데 이용될 수 있다. 사인 및 코사인 증분 각도 인코더들 및/또는 리졸버들은 모터의 각도 포지션을 두 개의 직교 변조 사인 및 코사인 신호로 인코딩한다. 1 회전 당 정현파 주기들의 수는 인코더 라인 수에 따라 다르며, 일반적으로 50 내지 5000의 범위 내에 있다. 사인 및 코사인 증분 인코더들 및/또는 리졸버들은 보간으로 인한 고해상도 각도 결정을 허용한다. 보다 구체적으로, 고해상도 각도는 일반적으로 사인 신호와 코사인 신호 간의 비율의 아크탄젠트를 사용하여 계산된다. 사인 및 코사인 신호들에 대한 신호 체인 내 임의의 오프셋 또는 게인 오차(정적 및/또는 동적)로 인해 오리지널 신호들에 대해 오차가 도입된다. 따라서, 임의의 오프셋 및/또는 게인 오차로 인해 계산된 각도에는 오차가 도입된다.
임의의 오프셋 또는 게인 오차를 보정하는 한 가지 방식은 정확도가 0.1 %인 저항기들과 같은 고정확도의 하드웨어를 사용하거나, 초저 게인 오차 및 드리프트를 가진 저항기들, 저 오프셋 드리프트 차동 증폭기들, 및/또는 정교한 아날로그-디지털 컨버터들(analog to digital converters)(ADCs)을 매칭시키는 것이다. 그러나, 값 비싼 하드웨어를 사용하면 일부의 경우에 따라 수 천 퍼센트의 회로 비용이 증가할 수도 있다. 예시적인 실시예들은 전기 모터 포지션 검출기로부터 수신된 사인 및 코사인 신호에서 오프셋 또는 게인 오차를 보상하기 위한 저비용의 해결책을 제공한다.
도 1은 다양한 실시예들에 따른 전기 모터 시스템(100)의 블록도를 도시한다. 전기 모터 시스템(100)은 전기 모터(102), 포지션 검출기(104), 및 모터 드라이브(106)를 포함할 수 있다. 전기 모터(102)는 임의의 유형의 전기 모터일 수 있으며, 전기 에너지를 기계적 에너지로 변환하도록 구성된다. 예를 들어, 전기 모터(102)는 브러시드(brushed) 직류(DC) 모터, 브러시리스(brushless) DC 모터, 스위치드 릴럭턴스 모터(switched reluctance motor), 인덕션 모터(induction motor), 서보 모터(servomotor), 및/또는 임의의 유형의 AC 또는 DC 모터일 수 있다. 모터는 모터 드라이브(106)로부터 전력을 수신하고 그 에너지를 샤프트를 회전시키는 것으로 변환할 수 있다. 포지션 검출기(104)는 모터(102)에 결합되고, 모터(102)의 각도 또는 선형 포지션 및 속도를 결정하는 데 사용되는 신호들을 생성하도록 구성된다. 일부 실시예들에서, 포지션 검출기(104)는 증분형 로터리 인코더(incremental rotary encoder)이며, 보다 구체적으로는 사인 및 코사인 인코더(때로는 사인파 인코더라고도 함)이다. 대안적 실시예들에서, 포지션 검출기는 리졸버일 수 있다. 포지션 검출기(104)가 회전함에 따라, 주기적 출력들이 제공된다. 이러한 출력들은 광학적, 자기적 및/또는 기계적일 수 있다. 일부 실시예들에서, 3 개의 출력은 포지션 검출기(104)에 의해 제공되며, 하나의 출력은 사인파의 형태를 취하고, 하나의 출력은 코사인 파(cosine wave)의 형태(즉, 사인파의 위상에서 90도 벗어남)를 취하고, 기준 출력은 포지션 검출기(104)의 1 회전 당 1 회 발생한다.
모터 드라이브(106)는 모터(102)를 구동하도록 구성된다. 보다 구체적으로, 모터(106)는 외부 및/또는 내부 전원(110)에 연결될 수 있는 모터 드라이브(106)로부터 전력을 수신할 수 있다. 따라서, 모터 드라이브(106)는 모터(102)의 동작을 제어하도록 구성된다. 전원(110)에 추가하여, 모터 드라이브(106)는 인터페이스(108) 및 호스트 프로세서(112)를 포함할 수 있다. 인터페이스(108)는 포지션 검출기(104)에 의해 제공된 출력 신호들(예를 들어, 사인, 코사인, 및 기준 신호들)을 수신하고 이들 신호를 호스트 프로세서(112)에 제공하도록 구성된다.
호스트 프로세서(112)는 포지션 검출기(104)에 의해 제공된 출력 신호들에 기초하여 모터(102)의 각도 또는 선형 포지션 및 속도를 결정하도록 구성된다. 호스트 프로세서(112)는 산술, 로직, 및 입/출력(I/O) 연산들을 수행하는 것 등의 컴퓨터 명령어들을 실행하는 임의의 하드웨어일 수 있다. 호스트 프로세서(112)는 중앙 처리 유닛(CPU), 반도체 기반 마이크로프로세서, 그래픽 처리 유닛(GPU), 메모리에 저장될 수 있는 명령어들의 검색 및 실행에 적합한 다른 하드웨어 디바이스들을 포함할 수 있다. 또한, 호스트 프로세서(112)는 단일 프로세서, 다중 프로세서, 단일 컴퓨터, 컴퓨터들의 네트워크, 또는 임의의 다른 유형의 처리 디바이스를 포함할 수 있다. 예를 들어, 호스트 프로세서(112)는 한 칩 상의 다수의 코어, 다수의 칩에 걸친 다수의 코어, 다수의 디바이스에 걸친 다수의 코어, 또는 이들의 조합을 포함할 수 있다. 호스트 프로세서(112)는 다수의 전자 컴포넌트를 포함하는 적어도 하나의 집적 회로(IC), 다른 제어 로직, 다른 전자 회로, 또는 이들의 조합을 포함할 수 있다.
모터 드라이브(106), 포지션 검출기(104), 및/또는 인터페이스(108)에서의 특정 회로 특성들(예를 들어, 미스매칭된 저항기들 또는 증폭기 오프셋)에 기인하여, 포지션 검출기(104) 및/또는 인터페이스(108)에 의해 제공된 출력 신호들은 호스트 프로세서(112)가 모터(102)의 각도 포지션을 부정확하게 결정하도록 유도할 수 있는 게인 및/또는 오프셋 오차를 포함할 수 있다. 따라서, 호스트 프로세서(112)는 포지션 검출기(104) 및/또는 인터페이스(108)로부터 수신된 사인 및 코사인 신호들에 대해 호스트 프로세서(112)에 의해 결정된 게인 및 오프셋 오차 값에 기초하여 게인 및 오프셋 보정 값을 결정하도록 구성될 수 있다. 게인 및 오프셋 보정 값은 그 후 모터(102)의 실제 각도 포지션을 결정하기 위해 모터(102)의 초기 결정 각도 포지션에 인가될 수 있다.
호스트 프로세서(112)는 도 1에서 모터 드라이브(106)의 일부인 것으로 도시되어 있지만, 일부 실시예들에서는, 포지션 검출기(104)의 일부가 된다. 또한, 일부 실시예들에서, 호스트 프로세서(112)에 추가하여 또는 이 대신에, 필드 프로그래머블 게이트 어레이(field-programmable gate array)(FPGA), 주문형 집적 회로(application-specific integrated circuit)(ASIC), 및/또는 다른 하드웨어가 포지션 검출기(104)의 출력 신호들의 게인 및 오프셋 보정 값을 결정하는 데 이용될 수 있다.
도 2는 다양한 실시예들에 따른 전기 모터(102)의 포지션 검출기(104)에 의해 생성된 사인 신호(202), 코사인 신호(204), 및 기준 신호(206)를 도시한다. 상술한 바와 같이, 포지션 검출기(104)는 모터(102)의 각도 또는 선형 포지션 및 속도를 측정하기 위해 아날로그 출력 신호들을 생성할 수 있다. 일부 실시예들에서, 사인 신호(202) 및 코사인 신호(204)는 사인 및 코사인 샘플 쌍을 구성하는 1Vpp 또는 11uApp 신호들이다. 일부 실시예들에서, 1Vpp 계면(interface)을 갖는 포지션 검출기(104)는, 일부 실시예들에서, 1Vpp 및 2.5V DC 오프셋을 갖는 차동 아날로그 출력 신호들 A (A+, A-) 및 B (B+, B-)(신호 A는 사인 신호(202)로서 도시된 차동 신호들의 쌍(A+ 내지 A-)을 나타내며, 신호 B는 코사인 신호(204)로서 도시된 차동 신호들의 쌍(B+ 내지 B-)을 나타냄)를 출력할 수 있다. 포지션 검출기(104)는 또한 차동 기준 신호 R (R+, R-)(신호 R은 기준 신호(206)로서 도시된 차동 신호들의 쌍(R+ 내지 R-)을 나타냄)을 생성할 수 있다. 기준 신호(206)는 약간 낮은 진폭을 가질 수 있고, 피크는 포지션 검출기(104)의 1 회전 당 1 회만 발생할 수 있다.
포지션 검출기(104)에 의해 생성된 사인 신호(202) 및 코사인 신호(204)의 주파수는 포지션 검출기(104)의 라인 수 및 아래의 식에 의해 도시된 바와 같은 그 기계적 속도에 의존한다:
Figure 112019039555911-pct00001
(1)
여기서, N은 포지션 검출기(104)의 라인 수를 나타내고, v는 포지션 검출기(104)의 분당 회전수(rotations per minute)(RPM)의 기계적 속도를 나타낸다.
도 3은 다양한 실시예들에 따른 전기 모터 시스템(100)의 호스트 프로세서(112)의 블록도를 도시한다. 호스트 프로세서(112)는 정렬 버퍼(302), 오프셋 및 게인 오차 결정 회로(304), 및 폐루프 제어 회로(306)를 포함할 수 있다. 전술한 바와 같이, 일부 실시예들에서, 정렬 버퍼(302), 오프셋 및 게인 오차 결정 회로(304), 및 폐루프 제어 회로(306)는 도 3에 도시된 호스트 프로세서(112) 대신에 또는 이에 추가적으로, FPGA, ASIC, 및/또는 다른 하드웨어로 구현될 수 있다. 정렬 버퍼(302)는 포지션 검출기(104)로부터 사인 및 코사인 샘플 쌍들을 수신하고, 오프셋 및 게인 오차 결정 회로(304)가 포지션 검출기(104)로부터 수신되는 샘플들의 오프셋 및 게인 오차를 결정하도록 하기 위한 복수의 위상 섹터들의 각각에서의 샘플 쌍과 함께, 하나의 360도 위상 주기에 걸쳐 사인 및 코사인 샘플 쌍들의 적절한 분포를 보장하도록 구성된다. 예를 들어, 도 4는 다양한 실시예들에 따른 전기 모터 시스템 내의 정렬 버퍼(302)의 블록도(400)를 도시한다. 정렬 버퍼(302)는 위상 섹터 결정 회로(402), 위상 섹터 업데이트 회로(404), 위상 섹터 완성 회로(406), 및 룩업 테이블(LUT)(410)을 포함할 수 있다. 위상 섹터 결정 회로(402)는 복수의 사인 및 코사인 샘플 쌍들의 각각의 위상에 대응하는 위상 섹터를 결정하도록 구성된다. 따라서, 위상 섹터 결정 회로(402)는 다수의 사인 및 코사인 샘플 쌍들의 각각에 대한 위상을 계산하고 그 위상이 대응하는 것이 복수의 위상 섹터들 중 어느 것인지를 결정하도록 구성된다.
예를 들어, 도 5는 다양한 실시예들에 따른 사인 및 코사인 샘플 쌍의 위상들에 대응하는 위상 섹터들(502 내지 532)의 그래프(500)를 도시한다. 도 5에 도시된 예에서, 하나의 360도 위상 주기에 걸쳐 균등하게 분할되는 16개의 위상 섹터(502 내지 532)가 도시되지만; 다른 실시예들에서, 하나의 360도 위상 주기에 걸친 위상 섹터들의 수는 2의 임의의 멱승의 수(예를 들어, 2, 4, 8, 16, 32, 64, 128, 256 등)일 수 있다. 따라서, 도 5에 도시된 예에서, 각 위상 섹터는 22.5도의 섹터들로 균등하게 분할된다(예를 들어, 위상 섹터(502)는 0도 내지 22.5도의 위상들을 포함하는 반면, 위상 섹터(504)는 22.5도 내지 45도의 위상들을 포함한다). 주어진 사인 및 코사인 샘플 쌍의 위상 섹터를 결정하기 위해, 위상 섹터 결정 회로(402)는 다음의 식과 같이 사인 및 코사인 샘플 쌍의 위상을 결정(예를 들어, 계산)할 수 있다:
Figure 112019039555911-pct00002
(2)
여기서, A는 도 2로부터의 사인 신호(202)로 도시된 바와 같이, 차동 신호들의 쌍(A+ 내지 A-)으로부터의 샘플을 나타내며, B는 도 2로부터의 코사인 신호(204)로 도시된 바와 같이 차동 신호들의 쌍(B+ 내지 B-)으로부터의 샘플을 나타낸다. 위상이 결정된 후에, 위상 섹터 결정 회로(402)는 결정된 위상이 어느 위상 섹터에 대응하는지를 결정할 수 있다. 따라서, 예를 들어, 사인 및 코사인 샘플 쌍(550)에 대해 도시된 바와 같이, 특정 사인 및 코사인 샘플 쌍의 위상이 18도이고 (도 5의 예에 도시된 바와 같이) 16개의 위상 섹터가 존재하면, 위상 섹터 결정 회로(402)는 사인 및 코사인 샘플 쌍(550)이 위상 섹터(502)와 대응한다고 결정한다.
다시 도 4를 참조하면, 위상 섹터 업데이트 회로(404)는 위상 섹터 결정 회로(402)에 의해 결정된 특정 사인 및 코사인 샘플 쌍에 대한 위상 섹터가 저장된 사인 및 코사인 샘플 쌍을 갖는지를 결정하도록 구성될 수 있다. 예를 들어, 도 6은 다양한 실시예들에 따른 사인 및 코사인 샘플 쌍 데이터를 저장하기 위한 룩업 테이블(LUT)(410)을 도시한다. LUT(410)는 4개의 열(즉, 위상 섹터 열, 사인 샘플 열, 코사인 샘플 열, 및 플래그 열)을 포함할 수 있다. LUT(410)는 또한 위상 섹터들의 수와 동일한 행들의 수를 포함할 수 있다. 따라서, 이 예에서, 위상 섹터들(502 내지 532)에 대해 16개의 행들이 존재할 수 있다. 256개의 위상 섹터가 존재하면, 256개의 행(위상 섹터 당 하나)이 존재할 것이다.
일부 실시예들에서, LUT(410)의 메모리 어드레스를 식별하기 위해, (식 2를 사용하여) 위상이 결정된 후, 그 위상은 위상 섹터들의 수(예를 들어, 256)로 스케일링될 수 있다. 예를 들어, 위상 섹터 결정 회로(402)는 0도 내지 360도의 위상을 결정할 수 있으며, 0도는 0과 동일하고 360도는 228의 정수 표현과 동일하다. 32-비트의 부호가 있는 분수 표기법을 사용하면, 이는 28 비트의 이진 분수 비트가 있는 I4Q28과 같다. 위상 섹터(예를 들어, 256개의 위상 섹터가 이용되는 경우 0 내지 255)를 식별하기 위해, 위상 값은 20-비트만큼 우측으로 시프트된다. 20만큼 우측으로 시프트하면 위상 섹터들의 수(28)로 스케일링된 수가 생성되고, 따라서 그 값은 0 내지 255로부터 나온다. 이 값은 LUT(410)에서 위상 섹터 인덱스 어드레스를 식별하기 위한 어드레스 포인터 오프셋으로서 이용될 수 있다.
위상 섹터 결정 회로(402)에 의해 위상 섹터가 결정된 후에, 위상 섹터 업데이트 회로(404)는 위상 섹터 결정 회로(402)에 의해 결정된 위상 섹터에 대응하는 LUT(410)의 플래그 열(flag column)을 분석할 수 있다. 따라서, 예를 들어, 위상 섹터 결정 회로(402)가 사인 및 코사인 샘플 쌍이 위상 섹터(502)에 있다고 결정하면, 위상 섹터 업데이트 회로(404)는 위상 섹터(502) 행의 플래그 열을 분석할 수 있다. 위상 섹터(502)에 대한 샘플이 LUT(410)의 사인 및 코사인 열에 이미 저장되어 있다면, 플래그가 미리 세트될 것이다. 일부 예들에서, 위상 섹터(502)에 대한 행의 플래그 열을 1로 세트함으로써 플래그가 세트된다. 대안적 실시예들에서, 특정 행에 대한 사인 및 코사인 샘플이 저장되어 있을 경우 플래그는 0으로 세트될 수 있다. 위상 섹터 업데이트 회로(404)가 결정된 위상 섹터에 대해 플래그가 세트되어 있다고 결정하면, 위상 섹터 업데이트 회로(404)는 결정된 사인 및 코사인 샘플 쌍을 무시하도록 구성된다. 따라서, 위상 섹터 업데이트 회로(404)가 결정된 위상 섹터에 대해 플래그가 세트되어 있다고 결정하면, 위상 섹터 업데이트 회로(404)는 코사인 및 사인 샘플 쌍에 대해 어떠한 것도 수행하지 않도록(즉, 저장하지 않도록) 구성되며, 그 이유는 결정된 위상 섹터에 대한 코사인 및 사인 샘플 쌍이 이미 LUT(410)에 저장되어 있기 때문이다. 그 다음, 위상 섹터 결정 회로(402)는 포지션 검출기(104)로부터 수신된 다음 사인 및 코사인 샘플 쌍에 대한 위상 섹터를 결정하도록 구성되며, 프로세스가 반복된다. 도 6에 도시된 예에서, 위상 섹터(502)에 대한 샘플이 저장되어 있으므로, 위상 섹터(502)에 대응하는 행에 대해 플래그가 세트된다. 위상 섹터 결정 회로(402)가 사인 및 코사인 샘플 쌍의 위상이 위상 섹터(502)에 대응한다고 결정하면, 위상 섹터 업데이트 회로(404)는 그 위상 섹터에 대한 샘플이 이미 저장되어 있기 때문에 그 사인 및 코사인 샘플 쌍을 저장하지 않을 것이다.
그러나, 위상 섹터 업데이트 회로(404)가 결정된 위상 섹터에 대해 플래그가 세트되어 있지 않다고(예를 들어, 플래그가 주어진 위상 섹터에 대해 0으로 세트되어 있다고) 결정하면, 위상 섹터 업데이트 회로(404)는 사인 및 코사인 샘플 쌍을 결정된 위상 섹터에 대응하는 행의 LUT(410)에 저장하도록 구성된다. 사인 및 코사인 샘플 쌍이 LUT(410)에 저장된 후에, 위상 섹터 업데이트 회로(404)는 결정된 위상 섹터의 행에 대응하는 플래그를 세트하도록 구성될 수 있다. 도 6에 도시된 예에서, 위상 섹터(504)에 대한 샘플은 LUT(410)에 저장되어 있지 않다. 위상 섹터 결정 회로(402)가 사인 및 코사인 샘플 쌍이 위상 섹터(504)에 대응하는 위상을 갖는다고 결정하면, 위상 섹터 업데이트 회로(404)는 위상 섹터(504)에 대응하는 행에 대한 플래그가 세트되어 있지 않다고 결정한다. 따라서, 위상 섹터 업데이트 회로(404)는 위상 섹터(504)에 대응하는 행에 대한 사인 및 코사인 샘플 쌍을 LUT(410)에 저장(즉, 기입)한다. 위상 섹터 업데이트 회로(404)는 그 후 위상 섹터(504)에 대응하는 행에 대한 플래그를 세트할 수 있다(예를 들어, 플래그를 1로 세트할 수 있다).
위상 섹터 완성 회로(406)는 LUT(410)가 각각의 위상 섹터에 대해 사인 및 코사인 샘플 쌍을 저장했는지를 결정하도록 구성될 수 있다. 예를 들어, 위상 섹터 완성 회로(406)는 플래그가 LUT(410)의 각각의 행에 대해 세트되어 있는지를 결정하도록 구성될 수 있다. 일부 실시예들에서, 플래그가 LUT(410)의 각 행에 대해 세트되어 있는지를 결정하기 위해 카운터가 이용될 수 있다. 예를 들어, 위상 섹터 업데이트 회로(404)가 사인 및 코사인 샘플 쌍을 LUT(410)에 기입하고 대응 플래그를 세트하기 때문에, 카운터는 1 씩 증분될 수 있다. 따라서, LUT(410)가 (16개의 위상 섹터가 존재하기 때문에) 16개의 행을 갖는다면, 카운터가 16에 도달한 후, 위상 섹터 완성 회로(406)는 LUT(410)가 위상 섹터들의 각각에 대한 사인 및 코사인 샘플 쌍을 저장했다고 결정한다. 대안적 실시예들에서, 카운터는, 위상 섹터 업데이트 회로(404)가 사인 및 코사인 샘플 쌍을 LUT(410)에 기입하고 대응 플래그를 세트함에 따라, 위상 섹터들의 수(예를 들어, 16)에서 시작하여 1 씩 감소할 수 있다. 그 후, 위상 섹터 완성 회로(406)는 카운터가 0에 도달한 후에 LUT(410)가 위상 섹터들의 각각에 대한 사인 및 코사인 샘플 쌍을 저장했다고 결정할 것이다.
다시 도 3을 참조하면, 위상 섹터 완성 회로(406)가 LUT(410)가 위상 섹터들의 각각에 대한 사인 및 코사인 샘플 쌍을 저장했다고 결정한 후, 오프셋 및 게인 오차 결정 회로(304)는 LUT에 저장된 샘플들의 수(예를 들어, 16)에 걸쳐 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 결정하도록 구성된다. 그 후 오프셋 및 게인 오차 결정 회로(304)는 LUT(410)의 데이터를 클리어(예를 들어, 모든 샘플들을 삭제하고, LUT(410)에 저장된 모든 플래그들을 0으로 세트하고, 카운터를 리셋)할 수 있고, LUT(410) 내로의 샘플들의 누적 프로세스를 위상 섹터들의 각각에 대한 사인 및 코사인 샘플 쌍이 저장되어 LUT에 저장된 샘플들의 수에 걸쳐 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 결정할 때까지 미리 결정된 회수로 반복할 수 있다. 예를 들어, 오프셋 및 게인 오차 결정 회로(304)는 16개의 상이한 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 생성할 수 있다. 미리 결정된 수의 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차들이 결정된 후에, 오프셋 및 게인 오차 결정 회로(304)는 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차들을 평균화함으로써 실제의 사인 및 코사인 오프셋 및 게인 오차를 생성할 수 있다. 이렇게 하면, 단일 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 실제의 사인 및 코사인 게인 및 오프셋 오차로 사용하는 것과 비교하여 해상도 수치가 향상되고 노이즈가 감소된다. 그러나, 대안적 실시예들에서, 단일 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차는 실제의 사인 및 코사인 게인 및 오프셋 오차로서 이용될 수 있다.
일부 실시예들에서, 오프셋 및 게인 오차 결정 회로(304)는 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차들을 가산하고 그 오차들의 수로 제산함으로써 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차들을 평균화할 수 있다. 그러나, 대안적 실시예들에서, 오프셋 및 게인 오차 결정 회로(304)는 이들 오차들을 제산하지 않는다. 예를 들어, 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차들(예를 들어, 16개의 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차)은 누적될 수 있다. 오프셋 및 게인 오차 결정 회로(304)는 그 후 비트들을 우측으로 시프트할 수 있다. 예를 들어, 4개의 비트를 우측으로 시프트하는 것은 16으로 제산하는 것과 같다. 따라서, 16개의 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차가 누적되면, 오프셋 및 게인 오차 결정 회로(304)는 결과적인 누적을 4개의 비트 씩 우측으로 시프트하여 실제의 사인 및 코사인 게인 및 오프셋 오차를 결정한다.
폐루프 제어 회로(306)는 실제의 사인 및 코사인 게인 및 오프셋 오차에 기초하여 사인 및 코사인 게인 및 오프셋 보정 값을 결정하도록 구성될 수 있다. 일부 실시예들에서, 실제의 사인 및 코사인 게인 및 오프셋 오차는 상수 KI(예를 들어, 0.8)와 승산되고 임의의 이전 보정 값에 가산되어, 사인 및 코사인 게인 및 오프셋 보정 값을 생성하게 된다. 상수는 실제의 사인 및 코사인 게인 및 오프셋 오차만을 이용하는 것보다 더 안정적인 오프셋 보정 값을 제공하지만, 일부 실시예들에서는 실제의 사인 및 코사인 게인 및 오프셋 오차가 임의의 이전 보정 값에 가산되어, 사인 및 코사인 게인 및 오프셋 보정 값을 생성할 수 있게 된다. 그런 다음, 이 보정 값은 다음 반복시까지(즉, 새로운 사인 및 코사인 게인 및 오프셋 보정 값이 계산될 때까지) 오프셋을 가산하고 보정 게인을 승산함으로써 임의의 새로운 유입 사인 및 코사인 샘플들을 보상하는 데 사용될 수 있다. 이러한 전체 프로세스(즉, 실제의 사인 및 코사인 게인 및 오프셋 오차와 사인 및 코사인 게인 및 오프셋 보정 값을 결정하는 프로세스)가 반복되어, 게인 및 오프셋 오차가 0으로 수렴되도록 보장할 수 있다.
도 7은 다양한 실시예들에 따른 전기 모터 시스템의 인코더 또는 리졸버에서 오프셋 및 게인 오차를 보상하는 방법(700)의 흐름도를 도시한다. 편의상 순차적으로 도시되었지만, 도시된 액션들 중 적어도 일부는 상이한 순서로 수행될 수 있고, 및/또는 병행하여 수행될 수 있다. 또한, 일부 실시예들은 도시된 액션들 중 일부만 수행할 수도 있다. 일부 실시예들에서, 방법(700)의 동작들 중 적어도 일부 및 본원에 설명된 다른 동작들은 (위상 섹터 결정 회로(402), 위상 섹터 업데이트 회로(404), 및/또는 위상 섹터 완성 회로(406)를 포함하는) 정렬 버퍼(302), 오프셋 및 게인 오차 결정 회로(304), 및/또는 폐루프 제어 회로(306)에 의해 수행될 수 있으며, 로직으로, 및/또는 비-일시적 컴퓨터 판독가능 저장 매체에 저장된 명령어들 실행하는 프로세서에 의해 구현될 수 있다.
방법(700)은 사인 및 코사인 샘플 쌍을 수신하는 블록(702)에서 시작한다. 예를 들어, 정렬 버퍼(302), 및 특히 위상 섹터 결정 회로(402)는 포지션 검출기(104)와 같은 포지션 검출기로부터 사인 및 코사인 샘플 쌍을 수신할 수 있다. 블록(704)에서, 방법(700)은 수신된 사인 및 코사인 샘플 쌍의 위상 섹터를 결정하는 것을 계속한다. 예를 들어, 위상 섹터 결정 회로(402)는 사인 및 코사인 샘플 쌍의 위상을 결정(즉, 계산)하고, 결정된 위상에 기초하여 복수의 위상 섹터들 중 어느 위상 섹터가 이 위상에 대응하는지를 결정할 수 있다.
방법(700)은 블록(706)에서 결정된 위상 섹터가 LUT에서 업데이트되어 있는지를 결정하는 것을 계속한다. 예를 들어, 위상 섹터 업데이트 회로(404)는 위상 섹터 업데이트 회로에 의해 결정된 위상 섹터에 대응하는 포지션 검출기로부터 수신된 제2 사인 및 코사인 샘플 쌍이 이미 LUT에 저장되어 있는지를 결정할 수 있다. 결정된 위상 섹터에 대한 사인 및 코사인 샘플 쌍이 이미 LUT에 저장되어 있다면, 그 위상 섹터는 이미 LUT에서 업데이트된 것이다. 그러나, 주어진 위상 섹터에 대한 사인 및 코사인 샘플이 LUT에 저장되어 있지 않으면, 그 위상 섹터는 LUT에서 업데이트되지 않은 것이다.
블록(706)에서, 위상 섹터가 LUT에서 업데이트되어 있다는 결정이 행해지면, 사인 및 코사인 샘플은 무시되고, 방법(700)은 블록(702)에서 포지션 검출기로부터 다른 사인 및 코사인 샘플 쌍을 수신하는 것을 계속한다. 그러나, 블록(706)에서 위상 섹터가 LUT에서 업데이트되어 있지 않다는 결정이 행해지면, 방법(700)은 블록(708)에서 사인 및 코사인 샘플 쌍을 LUT에 저장(즉, 기입)하는 것을 계속한다. 블록(710)에서, 방법(700)은 위상 섹터에 대응하는 플래그를 LUT에서 세트하는 것을 계속한다. 예를 들어, 사인 및 코사인 샘플 쌍이 LUT에 저장된 후에, 위상 섹터에 대응하는 플래그 필드는 1로 세트될 수 있다.
방법(700)은 블록(712)에서 LUT 내의 모든 위상 섹터들이 업데이트되어 있는지를 결정하는 것을 계속한다. 예를 들어, 위상 섹터 완성 회로(406)는 카운터를 이용하여 LUT 내의 모든 위상 섹터들이 업데이트되어 있는지를 결정할 수 있다. 사인 및 코사인 샘플 쌍이 LUT에 저장되어 있음에 따라, 카운터는 1 씩 증분될 수 있다. 16개의 위상 섹터가 존재하면, 카운터가 16에 도달한 후, 위상 섹터 완성 회로(406)는 LUT 내의 모든 위상 섹터가 업데이트되어 있다고 결정할 수 있다.
블록(712)에서, LUT 내의 모든 위상 섹터가 업데이트되어 있는 것이 아니라는 결정이 행해지면, 방법(700)은 블록(702)에서 포지션 검출기로부터 다른 사인 및 코사인 샘플 쌍을 수신하는 것을 계속한다. 그러나, 블록(712)에서, LUT 내의 모든 위상 섹터가 업데이트되어 있다는 결정이 행해지면, 방법(700)은 블록(714)에서, 오프셋 및 게인 오차 결정 회로(304)를 이용하는 일부 실시예들에서, LUT에 저장된 해당 샘플들에 걸쳐 정렬 버퍼 게인 및 오프셋 오차를 계산하는 것을 계속한다. 블록(716)에서, 방법(700)은 정렬 버퍼 오차 게인 및 오프셋 오차 카운터를 증가시키는 것을 계속한다. 예를 들어, 정렬 버퍼 게인 및 오프셋 오차가 계산될 때마다 카운터는 1 씩 증분될 수 있다.
방법(700)은 블록(718)에서 정렬 버퍼 오차 게인 및 오프셋 오차 카운터가 미리 정의된 수 N과 동일한지를 결정하는 것을 계속한다. 예를 들어, 미리 정의된 수가 16이라면, 일부 실시예들에서 오프셋 및 게인 오차 결정 회로(304)에 의해, 정렬 버퍼 오차 게인 및 오프셋 오차 카운터가 16과 같은지에 대한 결정이 행해진다.
블록(718)에서, 정렬 버퍼 오차 게인 및 오프셋 오차 카운터가 미리 정의된 수 N과 동일하지 않다는 결정이 행해지면, 방법(700)은 블록(720)에서 LUT에 저장된 사인 및 코사인 샘플 쌍을 삭제하고 모든 플래그들을 리셋하는 것을 계속한다. 블록(702)에서, 방법(700)은 포지션 검출기로부터 다른 사인 및 코사인 샘플 쌍을 수신하는 것을 계속한다. 그러나, 블록(718)에서, 정렬 버퍼 오차 게인 및 오프셋 오차 카운터가 미리 정의된 수 N과 동일하다는 결정이 행해지면, 방법(700)은 블록(722)에서, 오프셋 및 게인 오차 결정 회로(304)를 이용하는 일부 실시예들에서, 실제의 게인 및 오프셋 오차를 생성하기 위해 정렬 버퍼 게인 및 오프셋 오차들을 평균화하는 것을 계속한다.
방법(700)은 블록(724)에서, 위상 섹터 완성 회로(406)를 이용하는 일부 실시들예에서 게인 및 오프셋 보정 값을 업데이트하는 것을 계속한다. 예를 들어, 실제의 사인 및 코사인 게인 및 오프셋 오차는 상수와 승산되고 임의의 이전 보정 값에 가산되어, 사인 및 코사인 게인 및 오프셋 보정 값을 생성할 수 있게 된다. 그런 다음, 이 보정 값은 다음 반복시까지(즉, 새로운 사인 및 코사인 게인 및 오프셋 보정 값이 계산될 때까지) 오프셋을 가산하고 보정 게인을 승산함으로써 임의의 새로운 유입 사인 및 코사인 샘플들을 보상하는 데 사용될 수 있다.
청구범위의 범주 내에서, 설명된 실시예들에서의 수정이 가능하고, 다른 실시예들이 가능하다.

Claims (20)

  1. 전자 디바이스로서,
    인코더 또는 리졸버로부터 제1 사인 및 코사인 샘플 쌍을 수신하도록 구성되는 정렬 버퍼 - 상기 정렬 버퍼는: 상기 제1 사인 및 코사인 샘플 쌍의 위상에 대응하는 위상 섹터를 결정하도록 구성되는 위상 섹터 결정 회로로서, 상기 위상 섹터가 복수의 위상 섹터들 내에 포함되는 위상 섹터 결정 회로; 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 룩업 테이블(lookup table)(LUT)에 저장되어 있는지를 결정하고, 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있지 않다는 결정에 응답하여, 상기 제1 사인 및 코사인 샘플 쌍을 상기 LUT에 저장하도록 구성되는 위상 섹터 업데이트 회로; 및 상기 LUT가 상기 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했는지를 결정하도록 구성되는 위상 섹터 완성 회로를 포함함 -;
    사인 및 코사인 게인 및 오프셋 오차를 결정하도록 구성되는 오프셋 및 게인 오차 결정 회로; 및
    상기 사인 및 코사인 게인 및 오프셋 오차에 기초하여 사인 및 코사인 게인 및 오프셋 보정 값을 결정하도록 구성되는 폐루프 제어 회로
    를 포함하는 전자 디바이스.
  2. 제1항에 있어서, 상기 위상 섹터 업데이트 회로는 추가로, 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있다는 결정에 응답하여, 상기 제1 사인 및 코사인 샘플 쌍을 무시하도록 구성되는 전자 디바이스.
  3. 제1항에 있어서, 상기 위상 섹터 업데이트 회로는 상기 위상 섹터에 대응하는 플래그가 세트되어 있는지를 결정함으로써 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있지 않다고 결정하도록 구성되는 전자 디바이스.
  4. 제1항에 있어서, 상기 위상 섹터 업데이트 회로는 추가로, 상기 제1 사인 및 코사인 샘플 쌍을 상기 LUT에 저장하는 것에 응답하여, 상기 위상 섹터에 대응하는 플래그를 세트하도록 구성되는 전자 디바이스.
  5. 제4항에 있어서, 상기 위상 섹터 업데이트 회로는 상기 플래그가 세트되어 있는 것에 응답하여, 1 씩 증가하는 카운터를 포함하는 전자 디바이스.
  6. 제5항에 있어서, 상기 위상 섹터 완성 회로는 상기 카운터가 상기 복수의 위상 섹터들의 수와 동일하다는 것을 결정함으로써 상기 LUT가 상기 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했다는 것을 결정하도록 구성되는 전자 디바이스.
  7. 제1항에 있어서, 상기 오프셋 및 게인 오차 결정 회로는, 상기 LUT가 상기 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했다는 결정에 응답하여, 상기 사인 및 코사인 게인 및 오프셋 오차를 결정하도록 구성되는 전자 디바이스.
  8. 제1항에 있어서, 상기 오프셋 및 게인 오차 결정 회로는, 상기 정렬 버퍼에 대한 제1 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 결정하는 것과, 상기 제1 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 결정하는 것에 응답하여, 상기 LUT로부터 상기 대응하는 사인 및 코사인 샘플 쌍들의 각각을 삭제하는 것에 의해, 상기 사인 및 코사인 게인 및 오프셋 오차를 결정하도록 구성되는 전자 디바이스.
  9. 제8항에 있어서, 상기 LUT로부터 상기 대응하는 사인 및 코사인 샘플 쌍들의 각각을 삭제하는 것에 응답하여, 상기 정렬 버퍼는 상기 위상 섹터들에 대응하는 추가적인 사인 및 코사인 샘플 쌍들을 상기 LUT에 저장하도록 구성되는 전자 디바이스.
  10. 제9항에 있어서, 상기 오프셋 및 게인 오차 결정 회로는 추가로, 상기 정렬 버퍼에 대한 제2 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 결정함으로써 상기 사인 및 코사인 게인 및 오프셋 오차를 결정하고, 상기 제2 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 결정하는 것에 응답하여, 상기 제2 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차와 함께 상기 제1 정렬 버퍼 사인 및 코사인 게인 및 오프셋 오차를 평균화하도록 구성되는 전자 디바이스.
  11. 정렬 버퍼로서,
    인코더 또는 리졸버로부터 수신되는 제1 사인 및 코사인 샘플 쌍의 위상에 대응하는 위상 섹터를 결정하도록 구성되는 위상 섹터 결정 회로 - 상기 위상 섹터는 복수의 위상 섹터들 내에 포함됨 -;
    상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 룩업 테이블(LUT)에 저장되어 있는지를 결정하고, 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있지 않다는 결정에 응답하여, 상기 제1 사인 및 코사인 샘플 쌍을 상기 LUT에 저장하도록 구성되는 위상 섹터 업데이트 회로; 및
    상기 LUT가 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했는지를 결정하도록 구성되는 위상 섹터 완성 회로
    를 포함하는 정렬 버퍼.
  12. 제11항에 있어서, 상기 위상 섹터 업데이트 회로는 추가로, 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있다는 결정에 응답하여, 상기 제1 사인 및 코사인 샘플 쌍을 무시하도록 구성되는 정렬 버퍼.
  13. 제11항에 있어서, 상기 위상 섹터 업데이트 회로는 상기 위상 섹터에 대응하는 플래그가 세트되어 있는지를 결정함으로써 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있지 않다고 결정하도록 구성되는 정렬 버퍼.
  14. 제11항에 있어서, 상기 위상 섹터 업데이트 회로는 추가로, 상기 제1 사인 및 코사인 샘플 쌍을 상기 LUT에 저장하는 것에 응답하여, 상기 위상 섹터에 대응하는 플래그를 세트하도록 구성되는 정렬 버퍼.
  15. 제14항에 있어서, 상기 위상 섹터 업데이트 회로는 상기 플래그가 세트되어 있는 것에 응답하여 1 씩 증가하는 카운터를 포함하는 정렬 버퍼.
  16. 제15항에 있어서, 상기 위상 섹터 완성 회로는 상기 카운터가 상기 복수의 위상 섹터들의 수와 동일하다는 것을 결정함으로써 상기 LUT가 상기 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했다는 것을 결정하도록 구성되는 정렬 버퍼.
  17. 제14항에 있어서, 상기 위상 섹터 업데이트 회로는, 상기 플래그가 세트되어 있다는 것에 응답하여 1 씩 감소하는 카운터를 포함하며; 상기 위상 섹터 완성 회로는, 상기 카운터가 0과 동일하다는 것을 결정함으로써 상기 LUT가 상기 복수의 위상 섹터들의 각각에 대해, 대응하는 사인 및 코사인 샘플 쌍을 저장했다는 것을 결정하도록 구성되는 정렬 버퍼.
  18. 인코더 또는 리졸버에서 오프셋 및 게인 오차를 보상하는 방법으로서,
    인코더 또는 리졸버로부터 제1 사인 및 코사인 샘플 쌍을 수신하는 단계;
    제1 사인 및 코사인 샘플 쌍의 위상에 대응하는 위상 섹터를 결정하는 단계 - 상기 위상 섹터는 복수의 위상 섹터들 내에 포함됨 -;
    상기 위상 섹터에 대응하는 상기 인코더 또는 리졸버로부터 수신된 제2 사인 및 코사인 샘플 쌍이 룩업 테이블(LUT)에 저장되어 있는지를 결정하는 단계; 및
    상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있지 않다는 결정에 응답하여, 상기 제1 사인 및 코사인 샘플 쌍을 상기 LUT에 저장하는 단계
    를 포함하는 방법.
  19. 제18항에 있어서, 상기 위상 섹터에 대응하는 제2 사인 및 코사인 샘플 쌍이 상기 LUT에 저장되어 있다는 결정에 응답하여, 상기 제1 사인 및 코사인 샘플 쌍을 무시하는 단계를 추가로 포함하는 방법.
  20. 제18항에 있어서, 상기 제1 사인 및 코사인 샘플 쌍을 상기 LUT에 저장하는 것에 응답하여, 상기 위상 섹터에 대응하는 플래그를 세트하는 단계를 추가로 포함하는 방법.
KR1020197011063A 2016-10-20 2017-10-19 모터 포지션 검출기들과의 오프셋 및 게인 드리프트 관련 각도 오차들의 보정 KR102500090B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/299,063 US10389281B2 (en) 2016-10-20 2016-10-20 Correcting offset and gain drift related angle errors with motor position detectors
US15/299,063 2016-10-20
PCT/US2017/057327 WO2018075735A1 (en) 2016-10-20 2017-10-19 Correcting offset and gain drift related angle errors with motor position detectors

Publications (2)

Publication Number Publication Date
KR20190065302A KR20190065302A (ko) 2019-06-11
KR102500090B1 true KR102500090B1 (ko) 2023-02-16

Family

ID=61971059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011063A KR102500090B1 (ko) 2016-10-20 2017-10-19 모터 포지션 검출기들과의 오프셋 및 게인 드리프트 관련 각도 오차들의 보정

Country Status (4)

Country Link
US (2) US10389281B2 (ko)
EP (1) EP3529880B1 (ko)
KR (1) KR102500090B1 (ko)
WO (1) WO2018075735A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11353337B2 (en) * 2020-11-03 2022-06-07 Semiconductor Components Industries, Llc Offset cancel systems and methods for resolver-type sensors
CN112485460B (zh) * 2020-11-17 2022-11-04 上海吉亿电机有限公司 旋转变压器信号采集及补偿方法
CN114593754B (zh) * 2020-12-04 2024-01-19 小华半导体有限公司 数据的分析/校正/方法及系统、存储介质、磁性编码器
EP4163600B1 (en) * 2021-10-07 2024-01-31 Renesas Electronics America Inc. Method for error detection of a position sensor and position sensor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556153B1 (en) 2002-01-09 2003-04-29 Anorad Corporation System and method for improving encoder resolution
JP2005533240A (ja) 2001-11-02 2005-11-04 ジーエスアイ・ルモニックス・コーポレーション エンコーダの自己校正装置および方法
US20150048242A1 (en) 2012-03-05 2015-02-19 Gsi Group Corporation Phase estimation method and apparatus therefor

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0176469B1 (ko) * 1993-08-18 1999-05-15 김광호 써보모터의 위상 오프셋 보정방법
US5589746A (en) * 1994-11-10 1996-12-31 Seagate Technology, Inc. Brushless motor speed control arrangement having derived common mode supply signal component
US5886701A (en) * 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
US5867166A (en) * 1995-08-04 1999-02-02 Microsoft Corporation Method and system for generating images using Gsprites
DE19712622C5 (de) * 1997-03-26 2010-07-15 Dr. Johannes Heidenhain Gmbh Anordnung und Verfahren zur automatischen Korrektur fehlerbehafteter Abtastsignale inkrementaler Positionsmeßeinrichtungen
DE10006142A1 (de) 2000-02-11 2001-08-16 Iro Patent Ag Baar Verfahren zur twistfreien Lieferung eines Fadens und Fadenliefergerät
TWI252073B (en) 2003-08-26 2006-03-21 Benq Corp Display
JP4420317B2 (ja) * 2003-09-26 2010-02-24 株式会社ルネサステクノロジ モータ駆動装置及びモータ駆動用集積回路装置
EP1628168B1 (en) * 2004-08-17 2014-01-08 Ricoh Company, Ltd. Apparatus for controlling the driving of an endless belt for an image forming apparatus
GB2440187A (en) * 2006-07-17 2008-01-23 Ubidyne Inc DUC and DDC forming digital transceiver
JP4957192B2 (ja) * 2006-11-06 2012-06-20 株式会社デンソー 回転角検出装置及び回転角検出方法
KR100940367B1 (ko) * 2007-09-27 2010-02-04 한국전력공사 자기 베어링을 사용하는 회전체에서 회전체 불균형에 의한회전위치오차 보상장치 및 그 방법
KR100969582B1 (ko) * 2008-06-13 2010-07-12 한국기계연구원 정현파 엔코더의 출력신호를 이용한 회전자의 정밀위치검출방법
US20100057392A1 (en) 2008-08-28 2010-03-04 Faro Technologies, Inc. Indexed optical encoder, method for indexing an optical encoder, and method for dynamically adjusting gain and offset in an optical encoder
KR101540709B1 (ko) * 2010-01-12 2015-08-03 한화테크윈 주식회사 모터의 엔코더 신호처리장치 및 방법
US8853979B2 (en) 2011-02-28 2014-10-07 Deere & Company Method and system for calibrating rotor position offset of an electric motor
JP2013150173A (ja) * 2012-01-19 2013-08-01 Sony Corp 画像処理装置および方法
EP3021585A4 (en) * 2013-07-12 2017-03-01 Sony Corporation Image processing device and image processing method
US9445111B2 (en) * 2014-01-08 2016-09-13 Sony Corporation Image processing apparatus and image processing method
GB2527114B (en) 2014-06-12 2017-03-01 Control Techniques Ltd Method and system for determining an offset between a detector and a point on a motor
KR101664567B1 (ko) * 2014-10-20 2016-10-10 현대자동차주식회사 레졸버의 위치 정보 오차를 보상하기 위한 장치 및 방법
US10320594B2 (en) * 2016-07-20 2019-06-11 Texas Instruments Incorporated Method of determining a direction of rotation and valid transitions of quadrature pulses
US10960922B2 (en) * 2017-01-31 2021-03-30 Steering Solutions Ip Holding Corporation Fault tolerant field oriented control for electric power steering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005533240A (ja) 2001-11-02 2005-11-04 ジーエスアイ・ルモニックス・コーポレーション エンコーダの自己校正装置および方法
US6556153B1 (en) 2002-01-09 2003-04-29 Anorad Corporation System and method for improving encoder resolution
US20150048242A1 (en) 2012-03-05 2015-02-19 Gsi Group Corporation Phase estimation method and apparatus therefor

Also Published As

Publication number Publication date
US10389281B2 (en) 2019-08-20
US20190372488A1 (en) 2019-12-05
EP3529880A4 (en) 2019-10-30
EP3529880A1 (en) 2019-08-28
US10734927B2 (en) 2020-08-04
KR20190065302A (ko) 2019-06-11
EP3529880B1 (en) 2020-11-04
US20180115261A1 (en) 2018-04-26
WO2018075735A1 (en) 2018-04-26

Similar Documents

Publication Publication Date Title
KR102500090B1 (ko) 모터 포지션 검출기들과의 오프셋 및 게인 드리프트 관련 각도 오차들의 보정
US9255817B2 (en) Rotation-angle detection device, image processing apparatus, and rotation-angle detection method
KR102502508B1 (ko) 보정 테이블 작성 장치, 인코더 및 보정 테이블 작성 방법
JP5896166B2 (ja) 磁気式の位置センサと移動体及び移動体システム
JPH08145719A (ja) 位置または角度の検出方法
SE519816C2 (sv) Fasdigitalisering med ackumulator
CN108375391B (zh) 正余弦信号处理方法及系统
CN1912549B (zh) 编码器输出的内插方法和内插电路
WO2016204205A1 (ja) 検出装置、回転角度検出装置、検出方法、およびプログラム
EP0746907B1 (en) Absolute encoder using multiphase analog signals
JP2005208028A (ja) バリアブルリラクタンスレゾルバ用角度演算方法とそのための角度演算装置
US11788867B2 (en) Incremental encoder position interpolation
CN112434254B (zh) 针对正余弦编码器实现增量脉冲计数值校正处理的方法、系统、装置、处理器及其存储介质
JP5842334B2 (ja) エンコーダ装置、及び駆動装置
US20100088053A1 (en) Phase detection device and position detection device
KR100478978B1 (ko) 홀아이씨를 이용한 회전각도 측정장치 및 그 방법
CN111089610B (zh) 一种编码器的信号处理方法、装置及相关组件
KR20180114743A (ko) 앱솔루트 엔코더, 앱솔루트 엔코더의 직교 정현파의 룩업테이블 생성 방법 및 이를 이용한 절대각도 검출방법
JP2013019829A (ja) 物理量検出装置、および物理量検出装置の検査方法
US6484120B1 (en) Position detection data generating method and apparatus based on phase shift principle
CN111412939B (zh) 用于编码器的实时校正方法及其系统
JP2003222534A (ja) 位相差誤差検出装置及びそれを用いた内挿誤差見積装置
JP2013250084A (ja) 回転角度検出装置、画像処理装置及び回転角度検出方法
JP5162739B2 (ja) エンコーダ信号処理方法、エンコーダ装置及びサーボモータ
JP2020144113A (ja) 磁場の絶対角度を判断する方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right