# US 7,612,326 B2 · Angle-calculation apparatus and angle-calculation method for three-phase optical encoder

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,612,326 B2
- Document ID: US7612326B2
- Status: Granted
- Kind: B2
- Application number: 11/845,234
- Filed: 2007-08-27
- Published: 2009-03-05
- Granted: 2009-11-03
- Earliest claimed: 2007-08-27
- Assignees: Delta Electronics, Inc.
- Inventors: Chin-Shiong Tsai; Cheng-Ping Lin; Meng-Chang Lin; Mi-Tine Tsai; Po-Ming Chen
- Web page: https://patentgrep.com/patent/US7612326B2

## CPC

- G01D 5/3473: {Circular or rotary encoders}
- H03M 1/485: {for position encoding, e.g. using resolvers or synchros}
- G01D: MEASURING 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
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

An angle-calculation apparatus for three-phase optical encoder receives three-phase sinusoidal signals 120 degree phase from the optical encoder and obtains angle information for a motor rotor. The angle-calculation apparatus includes an A/D converter, a digital signal processor (DSP), a phase digitalizer and a digital counter. The A/D converter converts three-phase analog signals of the optical encoder into three-phase digital signals. The phase digitalizer converts the three-phase analog signals into digital phase signals. The digital counter generates a counting value based on the digital phase signals. The DSP performs an inverse trigonometric function calculation on a relatively linear region of the three-phase digital signals to obtain the angle information. The DSP obtains the rotation turn number and rotation direction of the motor rotor according to the counting value.

## Claims

### Claim 1

An angle-calculation apparatus for a three-phase optical encoder, the three-phase optical encoder generating three-phase analog sinusoidal signal with 120 degree phase difference according to a rotation of a motor rotor, the angle-calculation apparatus comprising:
an analog to digital converter (A/D converter) adapted to convert three-phase analog signals from the three-phase optical encoder into three-phase digital signals; and
a digital signal processor (DSP) adapted to receive the three-phase digital signals and to perform an inverse trigonometric function calculation on a relatively linear region of the three-phase digital signals to obtain a rotation angle for the motor rotor.

### Claim 2 (depends on 1)

The angle-calculation apparatus in claim 1, wherein the angle-calculation apparatus further comprises:
a phase digitalizer converting the three-phase analog signals into digital phase signals; and
a digital counter processing the digital phase signals to generate a count value,
wherein the DSP is adapted to calculate a rotation direction of the motor rotor by the count value.

### Claim 3 (depends on 1)

The angle-calculation apparatus in claim 1, wherein the relatively linear region of the three-phase digital signals is defined by cross points of the three-phase digital signals.

### Claim 4 (depends on 2)

The angle-calculation apparatus in claim 2, wherein the digital counter is implemented by a state machine.

### Claim 5 (depends on 1)

The angle-calculation apparatus in claim 1, wherein the three-phase digital signal are indicated as A, B, C, and the DSP judges the rotation angle θ for the motor rotor by following formula:
IF C>A>0,
θ=a sin((A−V0)/U0)
ELSEIF A>C>0,
θ=π/3−a sin((C−V0)/U0)
ELSEIF B<C<0,
θ=π/3+a sin((V0−C)/U0)
ELSEIF C<B<0,
θ=2π/3−a sin((V0−B)/U0)
ELSEIF A>B>0,
θ=2π/3+a sin((B−V0)/U0)
ELSEIF B>A>0,
θ=π−a sin((A−V0)/U0)
ELSEIF C<A<0,
θ=π+a sin((V0−A)/U0)
ELSEIF A<C<0,
θ=4π/3−a sin((V0−C)/U0)
ELSEIF B>C>0,
θ=4π/3+a sin((C−V0)/U0)
ELSEIF C>B>0,
θ=5π/3−a sin((B−V0)/U0)
ELSEIF A<B<0,
θ=5π/3+a sin((V0−B)/U0)
ELSEIF B<A<0,
θ=2π−a sin((V0−A)/U0)
wherein
V0=(A+B+C)/3
U0=√{square root over (((A−V0)2+(B−V0)2+(C−V0)2)*2/3)}{square root over (((A−V0)2+(B−V0)2+(C−V0)2)*2/3)}{square root over (((A−V0)2+(B−V0)2+(C−V0)2)*2/3)}.

### Claim 6

A method for calculating a rotation angle for a motor rotor based on three-phase analog signals from a three-phase optical encoder, comprising:
analog-to-digital converting the three-phase analog signals into three-phase digital signals; and
performing an inverse trigonometric function calculation on a relatively linear region of the three-phase digital signals to obtain the rotation angle for the motor rotor.

### Claim 7 (depends on 6)

The method as in claim 6, further comprising:
converting the three-phase analog signals into digital phase signals;
counting the digital phase signals to generate a count value; and
determining a rotation direction for the motor rotor by the count value.

### Claim 8 (depends on 6)

The method as in claim 6, wherein the relatively linear region of the three-phase digital signals is defined by cross points of the three-phase digital signals.

### Claim 9 (depends on 6)

The method as in claim 6, wherein the three-phases digital signal are indicated as A, B, C, and the rotation angle θ for the motor rotor is judged by following formula:
IF C>A>0,
θ=a sin((A−V0)/U0)
ELSEIF A>C>0,
θ=π/3−a sin((C−V0)/U0)
ELSEIF B<C<0,
θ=π/3+a sin((V0−C)/U0)
ELSEIF C<B<0,
θ=2π/3−a sin((V0−B)/U0)
ELSEIF A>B>0,
θ=2π/3+a sin((B−V0)/U0)
ELSEIF B>A>0,
θ=π−a sin((A−V0)/U0)
ELSEIF C<A<0,
θ=π+a sin((V0−A)/U0)
ELSEIF A<C<0,
θ=4π/3−a sin((V0−C)/U0)
ELSEIF B>C>0,
θ=4π/3+a sin((C−V0)/U0)
ELSEIF C>B>0,
θ=5π/3−a sin((B−V0)/U0)
ELSEIF A<B<0,
θ=5π/3+a sin((V0−B)/U0)
ELSEIF B<A<0,
θ=2π−a sin((V0−A)/U0)
wherein
V0=(A+B+C)/3
U0=√{square root over (((A−V0)2+(B−V0)2+(C−V0)2)*2/3)}{square root over (((A−V0)2+(B−V0)2+(C−V0)2)*2/3)}{square root over (((A−V0)2+(B−V0)2+(C−V0)2)*2/3)}.

### Claim 10

An angle-calculation system for a motor rotor, comprising:
an optical encoder generating three-phase analog sinusoidal signals with 120 degree phase difference based on a rotation of the motor rotor; and
an angle-calculation apparatus adapted to receive the three-phase analog signals and calculate a rotation angle of the motor rotor based on the three-phase analog signals.

### Claim 11 (depends on 10)

The angle-calculation system in claim 10, wherein the angle-calculation apparatus further comprises:
an analog to digital converter (A/D converter) converting three-phase analog signals from the optical encoder into three-phase digital signals; and
a digital signal processor (DSP) adapted to receive the three-phase digital signals and to perform an inverse trigonometric function calculation on a relatively linear region of the three-phase digital signals to obtain the rotation angle for the motor rotor.

### Claim 12 (depends on 11)

The angle-calculation system in claim 11, further comprising:
a phase digitalizer converting the three-phase analog signals into digital phase signals; and
a digital counter processing the digital phase signals to generate a count value;
wherein the DSP is adapted to calculate a turn direction of the motor rotor by the count value.

### Claim 13 (depends on 11)

The angle-calculation system in claim 11, wherein the relatively linear region of the three-phase digital signals is defined by cross points of the three-phase digital signals.

### Claim 14 (depends on 12)

The angle-calculation system in claim 12, wherein the digital counter is implemented by a state machine.
