# US 2006/0244407 A1 · Stepper motor encoding systems and methods

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

- Number: US 2006/0244407 A1
- Document ID: US20060244407A1
- Status: Published application
- Kind: A1
- Application number: 11/388,413
- Filed: 2006-03-23
- Published: 2006-11-02
- Earliest claimed: 2005-03-24
- Assignees: The Regents of the University of Colorado
- Inventors: Dale Lawrence; Lucy Pao
- Web page: https://patentgrep.com/patent/US20060244407A1

## CPC

- G05B 19/40: Open loop systems, e.g. using stepping motor
- G05B 2219/41132: Motor ripple compensation
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A method of producing a smoother torque from a multi-pole motor is described. The method includes determining an angular position of a rotor of the multi-pole motor, and producing a current to drive the multi-pole motor. The current is controlled based on the angular position of the rotor so as to produce a smoother torque, without the substantially sinusoidal characteristics of torque produced by a steady current. An apparatus is described which can employ methods of the invention to provide smoother torque from a multi-pole motor.

## Claims

### Claim 1

A method of producing a smoother torque from a multi-pole motor, the method comprising:
determining an angular position of a rotor of the multi-pole motor;
producing a current to drive the multi-pole motor, the multi-pole motor configured to produce a torque with substantially sinusoidal characteristics when driven by a steady current; and
controlling the current based on the determined angular position, wherein the current is controlled to produce a smoother torque without the substantially sinusoidal characteristics.

### Claim 2 (depends on 1)

The method of claim 1, wherein the multi-pole motor comprises a stepper motor.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the angular position comprises:
sensing a rotor position of the multi-pole motor;
producing an analog output representative of the sensed rotor position; and
computing the angular position based at least in part on the analog output.

### Claim 4 (depends on 3)

The method of claim 3, wherein the analog output comprises a first sinusoidal voltage and second sinusoidal voltage in quadrature, wherein each sinusoidal voltage represents a different sensed rotor position of the multi-pole motor.

### Claim 5 (depends on 3)

The method of claim 3, further comprising:
matching a period of the analog output with an electrical period of the multi-pole motor.

### Claim 6 (depends on 3)

The method of claim 3, further comprising:
receiving an input at an input device coupled with the multi-pole motor, the received input causing a change in the rotor position; and
controlling the current to drive the multi-pole motor to produce a force at the input device responsive to the received input.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining a ripple torque associated with the multi-pole motor; and
applying a ripple torque cancellation signal to vary the current and thereby substantially cancel the determined ripple torque.

### Claim 8 (depends on 7)

The method of claim 7, wherein determining the ripple torque comprises:
measuring a torque necessary to hold each of a plurality of positions of the multi-pole motor;
modeling ripple torque as a function of the measured torque; and
determining the ripple torque at the angular position based on the modeled ripple torque.

### Claim 9 (depends on 7)

The method of claim 7, wherein the ripple torque associated with the multi-pole motor is caused by a selection from the group consisting of:
non-optimized tooth profile in a stator of the multi-pole motor;
non-optimized tooth profile in the rotor of the multi-pole motor;
variation between tooth profiles in the stator of the multi-pole motor;
variation between tooth profiles in the rotor of the multi-pole motor;
errors in the angular position determination; and
any combination thereof.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
determining an encoder ripple associated with the determination of the angular position; and
varying the current to unwarp the determined encoder ripple.

### Claim 11 (depends on 10)

The method of claim 10, wherein determining the encoder ripple comprises:
measuring a plurality of encoder positions over an encoder period while the multi-pole motor is at a substantially constant velocity, the measure taken while the multi-pole motor is off-line; and
calculating an estimate of a true angular position based on the measured plurality of encoder positions during real-time operation.

### Claim 12 (depends on 10)

The method of claim 10, wherein the encoder ripple associated with the determination of the angular position is caused by a selection from the group consisting of:
variations between the optical reflectance of an encoder disk used to determine angular position;
variations between the electrical properties of an optical sensor used to determine angular position;
variations between the magnetic properties of a Hall sensor used to determine angular position;
variations between the electrical properties of a Hall sensor used to determine angular position;
eccentricity in mounting an encoder disk used to determine angular position;
eccentricity in mounting a Hall sensor component used to determine angular position;
the planarity of the encoder disk being different than the planarity of the sensor used to determine angular position;
the plane of the encoder disk not being perfectly perpendicular to the shaft of the multi-pole motor; and
physical manufacturing defects in the encoder disk.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
determining the mechanical characteristics of a linking component coupling the multi-pole motor with an input device; and
varying the current produced based at least in part on the determined mechanical characteristics.

### Claim 14 (depends on 13)

The method of claim 13, wherein the mechanical characteristics comprise a function of a spring coefficient of the linking component.

### Claim 15 (depends on 1)

The method of claim 1, further comprising:
determining a force received at a haptic device coupled with the multi-pole motor; and
varying the current to create a force on the haptic device responsive to the determined force.

### Claim 16

An apparatus for producing a smoother torque from a multi-pole motor, the apparatus comprising:
the multi-pole motor configured to produce a torque with substantially sinusoidal characteristics when driven by a steady current; and
a control unit coupled with the multi-pole motor, and configured to:
determine an angular position of a rotor of the multi-pole motor;
produce a current to drive the multi-pole motor; and
control the current based on the determined angular position, wherein the current is controlled to produce a smoother torque without the substantially sinusoidal characteristics.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the multi-pole motor comprises a stepper motor.

### Claim 18 (depends on 16)

The apparatus of claim 16, further comprising:
one or more additional multi-pole motors; and
a user interface coupled with each of the multi-pole motors,
wherein,
the control unit produces a current to drive each of the one or more additional multi-pole motors; and
the multi-pole motor and each of the one or more additional multi-pole motors are coupled with the user interface.

### Claim 19 (depends on 16)

The apparatus of claim 16, further comprising:
a sensor to identify a rotor position of the multi-pole motor; and
a circuit to produce an analog output representative of the identified rotor position,
wherein the control unit determines the angular position by computing the angular position based at least in part on the analog output.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the sensor comprises an optical encoder.

### Claim 21 (depends on 20)

The apparatus of claim 20, wherein the optical encoder comprises:
a reflective disk with a plurality of lines;
at least one photosensor configured to signal a change in position by reading the reflective disk as it spins, the spin caused by movement at the input device; and
the circuit.

### Claim 22 (depends on 19)

The apparatus of claim 19, further comprising:
an input device coupled with the multi-pole motor configured to receive input causing a change in the rotor position,
wherein the control unit further controls the current to drive the multi-pole motor to produce a force at the input device responsive to the received input.

### Claim 23 (depends on 25)

The apparatus of claim 25, wherein,
the input device comprises a haptic interface.

### Claim 24 (depends on 16)

The apparatus of claim 16, wherein the control unit comprises;
a control system; and
a pulse width modulation (PWM) driver coupled with the control system, and configured to produce the current by controlling a switching frequency.

### Claim 25 (depends on 16)

The apparatus of claim 16, wherein the control unit is configured to:
determine a ripple torque associated with the multi-pole motor; and
apply a ripple torque cancellation signal to vary the current and thereby substantially cancel the determined ripple torque.

### Claim 26 (depends on 25)

The apparatus of claim 25, wherein the control unit is configured to:
measure a torque necessary to hold each of a plurality of positions of the multi-pole motor; and
model ripple torque as a function of the measured torque,
wherein the control unit determines the ripple torque at the angular position based on the modeled ripple torque.

### Claim 27 (depends on 16)

The apparatus of claim 16, wherein the control unit is configured to:
determine an encoder ripple associated with the determination of the angular position; and
vary the current to unwarp the determined encoder ripple.

### Claim 28 (depends on 27)

The apparatus of claim 27, wherein the control unit is further configured to:
measure a plurality of encoder positions over an encoder period while the multi-pole motor is at a substantially constant velocity, the measure taken while the multi-pole motor is off-line; and
determine an encoder ripple by calculating an estimate of a true angular position based on the measured plurality of encoder positions during real-time operation.

### Claim 29

An apparatus for producing a smoother torque from a multi-pole motor, the apparatus comprising:
means for determining an angular position of a rotor of the multi-pole motor;
means producing a current to drive the multi-pole motor, the multi-pole motor configured to produce a torque with substantially sinusoidal characteristics when driven by a steady current; and
means for controlling the current based on the determined angular position, wherein the current is controlled to produce a smoother torque without the substantially sinusoidal characteristics.

### Claim 30 (depends on 29)

The apparatus of claim 29, further comprising:
means for receiving an input at an input device coupled with the multi-pole motor, the received input causing a change in the rotor position; and
means for controlling the current to drive the multi-pole motor to produce a force at the input device responsive to the received input.

### Claim 31 (depends on 29)

The apparatus of claim 29, further comprising:
means for determining a ripple torque associated with the multi-pole motor; and
means for applying a ripple torque cancellation signal to vary the current and thereby substantially cancel the determined ripple torque.

### Claim 32 (depends on 29)

The apparatus of claim 29, further comprising:
means for determining an encoder ripple associated with the means for determination of the angular position; and
means for varying the current to unwarp the determined encoder ripple.
