Abstract:
A stepping motor generates first and second voltages each varying in accordance with a sinusoidal function having a period proportional to the period of rotation of the motor&#39;s rotor, the first and second voltages being in quadrature with each other. A control device generates from the first and second voltages a signal representative of a number that is proportional to the square root of the sum of the squares of the first and second voltages. This signal is used to modify the energizing current provided to the phase windings of the stator, in order to reduce fluctuations in torque and shaft angular velocity.

Description:
This invention relates to control devices for use with a stepping motor. 
     BACKGROUND OF THE INVENTION 
     A known X-Y plotter, such as the Tektronix 4662 or 4663, functions by driving its pen head along vectors (straight lines between defined end points) within the plotter work space. The plotter has an X motor which drives the pen head in the X direction and a Y motor which drives the pen head in the (orthogonal) Y direction. The plotter has a microprocessor which receives information relating to the end points and uses that information, as well as information relating to the characteristics of the motors and the drive trains between the motors and the pen head, to calculate acceleration, constant velocity and deceleration times necessary to cause the pen head to travel along the vector between the end points. Clearly, the acceleration, constant velocity and deceleration times for the X and Y motors must be equal, and the instantaneous magnitudes of the speed and of the rates of change of speed of the motors must remain in proportion to one another, in order for the lines that are executed by the pen head to be straight. 
     In the Tektronix 4662 and 4663 digital X-Y plotters, stepping motors driven in a microstepping mode of operation are used for the X and Y motors because this enables the motors to be driven between precisely defined end points. 
     A conventional permanent magnet stepping motor is described in Theory and Application of Step Motors, Kuo, 1974, at pages 25-30. The rotor of that motor comprises a cylindrical permanent magnet core mounted coaxially on the rotor shaft and magnetized parallel to the axis of the shaft, and two soft iron caps which are fitted on the core at opposite ends thereof. Each cap is of generally cylindrical form and the caps have an equal number of equiangularly spaced teeth formed about their peripheries. The two sets of teeth are relatively angularly displaced about the axis of the rotor shaft by an angle equal to half the angular pitch between adjacent teeth of one cap. The core and the caps thus establish a number of pole pairs equal to the number of teeth of each cap. Typically, each cap has fifty teeth and so the rotor has fifty magnetic pole pairs. The two rotor caps may be designated N and S, in accordance with the polarity of the magnetization induced by the core. The stator is constructed of a stack of laminations that define eight salient poles. The salient poles are equiangularly spaced about the rotor axis, and for the sake of convenience in the following description the poles are designated by number according to their angular positions relative to a selected salient pole: the selected pole (pole 1) is at 0 degrees, pole 2 is at 45 degrees, pole 3 at 90 degrees, etc. Each salient pole is formed with five teeth that are presented towards the rotor. The stator teeth are at a pitch of 7.5 degrees, but eight teeth are omitted to allow space for the windings. Each salient pole is in two parts, at the two ends respectively of the rotor, so that the teeth of the two parts are associated with the two rotor caps respectively. Unlike the teeth of the two rotor caps, the teeth of the two parts of each salient pole are not angularly displaced relative to each other. 
     The stator has two phase windings, which may be called windings A and B for the sake of convenience, and windings A and B are wound on alternate salient poles, i.e., winding A is wound on poles 1, 3, 5 and 7 while winding B is wound on poles 2, 4, 6 and 8. Poles 3 and 7 are wound in the opposite sense to poles 1 and 5, and similarly poles 2 and 6 are wound in the opposite sense to poles 4 and 8. Thus, if the phase winding A is energized so that pole 1 is magnetized as a north pole, pole 5 is also magnetized as a north pole and poles 3 and 7 are magnetized as south poles. Only one phase winding is energized at a time, and the sequence of energization may be represented by 1,0; 0,1; -1,0; 0,-1; 1,0, etc., where the first digit of each pair indicates the state of magnetization of pole 1 and the second digit the state of magnetization of pole 2; and 1 indicates that the particular pole is magnetized as a north pole, -1 indicates that it is magnetized as a south pole and 0 indicates that it is not magnetized. 
     The rotor always attempts to assume a rotational position relative to the stator such that the sum of the reluctances of the magnetic circuits containing the rotor and magnetized poles of the stator is at a minimum, and this requires that the center teeth of poles that are magnetized as north poles be aligned with rotor teeth of the cap S and be out of alignment with rotor teeth of the cap N. Thus, in the state 1,0 the magnetic circuits defined by the poles 1, 3, 5 and 7 and the rotor have a minimum reluctance if the center teeth of poles 1 and 5 are aligned with respective teeth of the rotor cap S, and the center teeth of the rotor cap N. When the center teeth of poles 1 and 5 are aligned with teeth of the rotor cap S, the center teeth of poles 2 and 6 are one-quarter of a rotor pitch (1.8 degrees) out of alignment with teeth of the same rotor cap, and so when the state of magnetization changes to 0,1 the rotor advances through an angle of 1.8 degrees. In this position, the center teeth of poles 3 and 7 are one-quarter of a rotor pitch out of alignment with teeth of the cap S, so that when the state of energization is changed to -1,0 the rotor advances by another 1.8 degrees. Accordingly, if the phase windings are energized in accordance with the above sequence, the rotor will advance in steps of 1.8 degrees and by appropriate control of the energization of the phase windings, the rotor can be caused to stop at any one of the 200 angular positions corresponding to the steps of 1.8 degrees. In general, the rotor executes 4N steps per cycle, where N is the number of rotor pole pairs, and may be caused to stop at any one of these positions. This mode of operation of a stepping motor may be referred to as regular stepping, or simply as stepping, in order to distinguish it from microstepping, described below. 
     In the microstepping mode of operation of a stepping motor, the possibility exists of both stator windings being energized. If the relationship between the energizing currents I A  and I B  for the two windings is 
     
         I.sub.A =I sin θ.sub.e                               ( 1) 
    
     
         I.sub.B =I cos θ.sub.e                               ( 2) 
    
     where I is a constant and θ e  has the dimensions of radians, the rotor interpolates between adjacent pairs of the above mentioned 4N possible positions in accordance with the value of θ e . When equations (1) and (2) apply, the vector sum I T  of the two currents is given by ##EQU1## If the currents can be controlled so that θ e  has M discrete values between 0 and π/4 radians, the total number of possible rotational positions that can be assumed by the rotor, and therefore the number of steps per revolution of the rotor, is 4MN. Typically, N is 50 and M is 32, and so the number of microsteps per revolution is 6,400. 
     A microstepped stepping motor is particularly suited for driving the pen head of a plotter, since by accurate control of the energizing currents of the windings of the motor the pen head may be driven rapidly across its work area and stopped at a predetermined position, corresponding to one of the permitted rotational positions of the rotor. During translation of the pen head, the windings of each motor are driven by sinusoidally varying currents in phase quadrature relationship. 
     The torque required, T R , of a stepping motor to accelerate a mechanical load is given by: ##EQU2## where θ is the angular position of the motor shaft relative to a radius which is fixed with respect to the stator, C is the combined motor plus reflected mechanism coulomb friction constant, ω is the motor shaft angular velocity (d θ/dt or θ), B is the combined motor plus reflected mechanism viscous friction contant, α is the motor shaft angular acceleration (d 2  θ/dt 2 , or θ) and J is the combined motor plus reflected mechanism inertia constant. 
     The torque available, T A , from the stepping motor can be expressed to first order as: 
     
         T.sub.A =K.sub.T I.sub.T sin (θ.sub.e -θ.sub.m) (5) 
    
     where θ m  has the dimensions of radians, and represents the angular position of the rotor measured in the space such that the interval between two adjacent steps (as opposed to microsteps) of the rotor is π/4 radians. Thus, for each revolution of the rotor θ m  changes by 2Nπ, and if θ m  is equal to zero when θ is equal to zero then 
     
         θ.sub.m =Nθ                                    (6) 
    
     Setting equation (4) equal to equation (5) and substituting for θ from equation (6) gives ##EQU3## θ e  and θ m  can be considered as the angular position of electrical and mechanical phasors, representing respectively the angular position of the induced magnetic pole pair set up by magnetic flux in the stator poles resulting from currents in the phase windings and the angular position of one of the magnetic poles pairs of the rotor, each angle being measured in the space such that 2π radians correspond to 2π/N geometrical radians. 
     For proper stepping motor action, the angular difference θ e  -θ m  between the phasors must be kept small, and therefore 
     
         sin (θ.sub.e -θ.sub.m)=(θ.sub.e -θ.sub.m) (8) 
    
     Neglecting the coulomb friction component, which is significant only at low angular velocities, and substituting for sin (θ e  -θ m ) from equation (8), equation (7) becomes ##EQU4## 
     Laplace transforms can be used to obtain a system transfer function: 
     
         θ.sub.m (s)/θ.sub.e (s)=NK.sub.T I.sub.T /(Js.sup.2 +Bs+NK.sub.T I.sub.T)                                     (10) 
    
     Equation (10) can be put in the following form: 
     
         θ.sub.m (s)/θ.sub.e (s)=ω.sub.n.sup.2 /(s.sup.2 +2ζω.sub.n s+ω.sub.n.sup.2)              (11) 
    
     where: ##EQU5## ω n  and ζ being, respectively, the natural resonance frequency and the damping ratio of the system. 
     Solving the system characteristic equation (the denominator of equation (11)) for its roots gives: ##EQU6## 
     For stepping motor systems with low viscous friction forces, such as digital x-y plotters, ζ will be on the order of 0.3. It can be shown that if ζ is less than 1.0, the motor-mechanism combination is susceptible to angular position perturbations if ω(=θ) is close to or equal to ω n . This is due to small amounts of torque variations being present in the torque output of the motor and the motor drive system. These torque variations are the result of non-ideal behavior of the motor and motor drive and are harmonically related to shaft angular velocity. It is to be expected that any torque variations produced by the stepping motor or motor drive occurring at or close to the system natural frequency would degrade plotter line quality. In addition, if the motor is excited with a step function input, the motor-mechanism combination will be susceptible to angular positional overshoot. Those problems of improper response may be overcome or at least ameliorated by increasing the viscous friction constant B and thereby increasing the damping ratio ζ. However, if the viscous friction constant is increased, the system suffers an increase in the torque lost due to viscous friction ωB. 
     SUMMARY OF THE INVENTION 
     According to a first aspect of the present invention there is provided a control device for use with a stepping motor comprising a stator having phase winding means for generating a magnetic field which has a direction that can be varied with time in dependence on the current provided to the winding means for energization thereof, a rotor having a plurality of alternating north and south magnetic poles about a peripheral region thereof, said poles being substantially equiangularly spaced about the axis of the rotor, and sense coil means associated with the stator for generating first and second electrical voltages each varying in accordance with a sinusoidal function having a period proportional to the period of rotation of the rotor, the first and second voltages being in quadrature with each other, said control device comprising means for generating from said first and second voltages a signal representative of a number that is proportional to the square root of the sum of the squares of the first and second voltages, and means for utilizing said signal to modify the energizing current provided to the phase winding means. 
     According to a second aspect of the present invention there is provided a control device for use with a stepping motor comprising a stator having phase winding means for generating a magnetic field which has a direction that can be varied with time in dependence on the current provided to the winding means for energization thereof, and a rotor having a plurality of alternating north and south magnetic poles about a peripheral region thereof, said poles being substantially equiangularly spaced about the axis of the rotor, said control device comprising means for generating first and second electrical voltages each varying in accordance with a sinusoidal function having a period proportional to the period of rotation of the rotor, the first and second voltages being in phase quadrature with each other, means for generating from said first and second voltages a signal representative of a number that is proportional to the square root of the sum of the squares of the first and second voltages, and means for utilizing said signal to modify the energizing current provided to the phase winding means. 
     According to a third aspect of the present invention there is provided a stepping motor comprising a stator having phase winding means for generating a magnetic field which has a direction that can be varied with time in dependence on the current provided to the winding means for energization thereof, a rotor having a plurality of alternating north and south magnetic poles about a peripheral region thereof, said poles being substantially equiangularly spaced about the axis of the rotor, means for generating first and second electrical voltages each varying in accordance with a sinusoidal function having a period proportional to the period of rotation of the rotor, the first and second voltages being in quadrature with each other, and a control device for generating from said first and second voltages a signal representative of a number that is proportional to the square root of the sum of the squares of the first and second voltages, and means for utilizing said signal to modify the energizing current provided to the phase winding means. 
     It can be shown that the number represented by the signal generated from the first and second voltages is a measure of θ m . That signal can then be used to derive a correction factor K (θ e  -θ m ), where K is a constant having the dimensions of time. By adding the correction factor to θ e , a desired value θ&#39; e  for θ e  can be obtained, and equation (9) can then be rewritten as ##EQU7## 
     This is equivalent to detecting the angular velocity of the rotor pole pairs (θ m ), subtracting the measured value of θ m  from the desired angular velocity of the induced stator pole pairs (θ e ) and using the difference information (θ e  -θ m ) to modify the actual angular position of the induced stator pole pairs (θ e ). The correction factor K (θ e  -θ m ) is zero when the angular velocities are the same magnitude and direction, including when both angular velocities are zero, and θ&#39; e  is then equal to θ e . 
     Laplace transforms can be used to obtain a new transfer function: 
     
         θ.sub.m (s)/θ.sub.e (s)=((NK.sub.T I.sub.T [1+Ks])/J)/(s.sup.2 +[B+NKK.sub.T I.sub.T ]s/J+NK.sub.T I.sub.T /J)           (16) 
    
     which shows that the effective viscous friction constant has been increased by NKK T  I T  without increasing the viscous friction loss or increasing the system inertia as would occur if a mechanical viscous damper had been used. Thus, by determining the actual angular position (θ e ) of the induced stator pole pairs, which depends on the values of the currents energizing the phase windings, and then using the velocity difference information (θ e  -θ m ) to adjust the actual angular position until the velocity difference is zero, the difference θ e  -θ m  between the electrical and mechanical phasors is kept constant. Accordingly, fluctuations in torque and shaft angular velocity are reduced. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a better understanding of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings in which: 
     FIG. 1 illustrates schematically the mechanical arrangement of a stepping motor and a pen head connected thereto; 
     FIG. 2 is a block diagram illustrating operation of a control circuit for the Portescap P752 motor when used to drive a plotter pen head; and 
     FIG. 3 illustrates schematically a portion of the control circuit. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 illustrates the mechanical arrangement for driving the pen head of a digital x-y plotter in one direction (the x direction as illustrated). The motor 2 has a housing which is rigidly mounted in the plotter frame and has a rotary shaft 4 which projects from the housing. The shaft 4 is connected to a drive capstan 6. The two ends of a flexible, non-extensible cable 8 are secured to the plotter frame. The cable 8 is passed around pulleys 10 that are secured to the pen head 12. The cable is wound around the capstan and around stationary pulleys (not shown). Upon rotation of the capstan 6 in the clockwise direction, the pen head is driven in the x direction, and upon rotation of the capstan in the counterclockwise direction, the pen head is driven in the -x direction. 
     The following description of the invention is based upon an implentation of the invention in connection with a stepping motor having microstepping capabilities, manufactured by Portescap of La Chaux-de-Fonds, Switzerland and designated P752. This motor was described by C. Oudet at the Twelfth Annual Symposium on Incremental Motion Control Systems and Devices, which took place in May, 1983 at Champaign, Ill. under the auspices of the Incremental Motion Control Systems Society. The motor uses as its rotor a disk of samarium cobalt which is magnetized in one hundred pie-shaped domains each extending radially of the disk and lying in an annular region that is concentric with the disk. By total use of samarium cobalt as the material for the disc, instead of the iron and Alnico magnet that is conventionally employed for the rotor of a stepping motor, effects resulting from the ready magnetic saturation of conventional ferrous materials are ameliorated. The direction of magnetization is axial of the rotor, so that each domain has its north and south poles at opposite sides of the rotor, and adjacent domains are magnetized in opposite axial directions. The domains are uniformly distributed about the axis of the rotor. 
     In the P752 motor, each winding A, B (referred to subsequently as phase windings as distinct from sense windings) is split into two parts A 1 , A 2  and B 1 , B 2  which are disposed diametrically opposite each other for averaging purposes. The phase windings are provided with laminations which define an air gap within which the annular region of the disc is disposed. The flux generated by the phase windings is disposed axially of the rotor in the air gap. 
     In a practical implementation of the invention, as applied to a digital x-y plotter using units of the Portescap P752 motor for its x and y motors, a Motorola MC6809 microprocessor is used to calculate, for each direction (x and y), acceleration, constant velocity and deceleration magnitudes and times from vector end point data and from data relating to the characteristics of the motor. These calculations are performed by programming the MC6809 microprocessor in accordance with known techniques, for example as described in MC6809-MC6809E Microprocessor Programming Manual, published by Motorola Inc.; and result in the MC6809 providing a digital output signal representative of s 2  θ e  (s), which in turn represents the instantaneous value of the angular acceleration of the electrical phasor. This signal is applied to a Motorola MC6801 microprocessor which is programmed in known manner (e.g. as described in MC6801 Micro-processor Programming Manual, published by Motorola Inc.) and uses the digital output signal to generate a digital signal representative of θ&#39; e  (s), the desired value of the electrical phasor. 
     As shown in FIG. 2, the MC6801 first integrates s 2  θ e  (s) in order to produce a signal representing sθ e  (s). This integration is accomplished using a constant time numerical integration algorithm whose parameters are controlled by the MC6809 micro-processor. A similar operation is used in controlling the Hewlett-Packard 9872A x-y plotter. The signal sθ e  (s) is again integrated, using the same techniques as before, to provide θ e  (s), and is also made available for a subtraction operation. The signal representative of θ e  (s) is adjusted by addition of a correction quantity K[sθ e  (s)-sθ m  (s)], the derivation of which will be described below, to provide the signal representing θ&#39; e  (s). 
     The digital signal representing θ&#39; e  (s) is then converted to analog form and is used to drive the two phase windings of the motor. This may be accomplished in known manner, for example using a read only memory that performs a linear to sinusoidal transformation, a digital-to-analog converter, an analog multiplexer and H-bridge switching amplifiers. Through the motor-load combination, the value θ e  (s) is transformed into the value θ m  (s), which is a measure of the shaft angular position. 
     The stator of the P752 motor is also provided with two sense windings C and D. The sense windings are again each split into two parts C 1 , D 1  and C 2 , D 2  which are disposed diametrically opposite each other for averaging. Each sense winding is provided with flux concentrating laminations which define a magnetic circuit formed with two air gaps at opposite sides. The axial magnetic flux provided by the permanent magnet domains of the rotor, when the disc is disposed in the air gap defined by the flux concentrating laminations of the sense windings, varies in sinusoidal fashion about the annular region in accordance with the function 
     
         φ=φ.sub.max sin (Nθ)                         (17) 
    
     where N is equal to half the number of domains, i.e., the number of pole pairs presented to one side of the disk, φ max  is a function of the magnetic circuit permeance and the magnetomotive force produced by the pole pairs and θ is the angular position about the rotor from a reference radius at which the axial magnetic flux is zero. The air gaps of each sense winding are disposed so that they are traversed sequentially by each pie shaped domain as the rotor rotates. Therefore, as the rotor rotates the laminations associated with each sense winding collect the flux from the magnetic domains passing through the air gap, and owing to the variation in flux due to rotation of the rotor a sinusoidally varying voltage is induced in the sense winding. Since there are N pole pairs, each revolution of the rotor is associated with N cycles of the sinusoidally varying voltages and therefore the frequencies of the voltages are both equal to Nω, where ω is the angular velocity of rotation of the rotor. The phase difference between the voltages is NΩ, where Ω is the angular offset of the sense windings. In the P752 motor, N is equal to 50 and Ω is 1.8 degrees, and therefore the two sinusoidally varying voltages are in quadrature and may be represented as ##EQU8## where K 1  is a constant dependent on N, φ max  and the number of turns around the magnetic circuit. 
     The sense coil voltages E C  and E D  are converted to absolute value currents I C  and I D  by means of absolute value voltage amplifiers and transconductance circuits. The absolute value currents are then applied to a current mode circuit of the general kind described by R. W. J. Barker and B. L. Hart in &#34;Root-Law Circuit Using Monolithic Bipolar-Transistor Arrays&#34;, Electronic Letters, Vol. 10, No. 21, Page 439 (October, 1974). The current mode circuit is illustrated in FIG. 3, where A represents the relative areas of the base-emitter junctions of the several transistors. Assuming that all the transistors of the FIG. 3 circuit are fabricated at the same time on the same die, so that α F  (the ratio of collector current to emitter current), J o  (emitter-base junction reverse bias leakage current) and T (transistor temperature in degrees K.) are the same for all transistors, and that α F  is equal to unity and V BE  is much larger than kT/q, where k is Boltzmann&#39;s constant and q is the charge on an electron, it can be shown that the output current I o  is given by ##EQU9## 
     The current I o  is converted to a voltage V o  by a transresistance connected amplifier, and it will be readily appreciated that 
     
         V.sub.o =K.sub.1 K.sub.2 sθ.sub.m (s)                (19) 
    
     where K 2  is a constant dependent upon the transfer functions of the transconductance circuits and of the transresistance connected amplifier. Thus, the voltage V o  is proportional to the angular velocity ω of the rotor, i.e., sθ m  (s)/N. 
     The analog voltage V o  is converted to digital form by an analog-to-digital converter (ADC), and the digital output signal of the ADC is of the form 
     
         V.sub.o&#39; =K.sub.1 K.sub.2 K.sub.3 sθ.sub.m (s)       (20) 
    
     where K 3  is a constant that depends on the transfer function of the ADC. The digital signal V o  &#39; is applied to the MC6801 microprocessor, which uses the signal V o  &#39; to develop the correction signal for converting θ e  (s) to θ&#39; e  (s). 
     During power up initialization of the plotter, the output of the ADC at zero motor velocity is measured and stored as an offset value, and the motor and mechanism are accelerated to terminal velocity and the output of the ADC is then measured and a normalization factor is calculated and stored. During subsequent operation of the plotter, the MC6801 subtracts the offset value from the output of the ADC and multiplies the corrected value of V o  &#39; by the normalization factor, and the resulting signal is of the form sθ m  (s). The signal sθ m  (s) is then subtracted from sθ e  (s), yielding sθ e  (s)-sθ m  (s), and the latter signal is multiplied by the damping gain factor K to provide a signal of the form K[sθ e  (s)-sθ m  (s)]. This signal is clamped to a maximum value corresponding to a half-step (16 microsteps) difference between θ e  and θ m , since for proper stepping motor operation the difference between the electrical and mechanical phasors must not exceed the angle corresponding to half a step, and the clamped signal is added to θ e  (s) to provide the signal θ&#39;  e  (s). 
     In the foregoing discussions of the practical implementation of the invention, linear transforms are used. This is possible because of the high angular resolution of the stepping motor (32 microsteps per step) and because a high sampling rate (greater than ten times the system&#39;s natural frequency) is used. 
     It will be appreciated that the invention is not restricted to the specific motor and control device that have been described and illustrated, since variations may be made therein without departing from the scope of the invention as defined in the appended claims, and equivalents thereof. For example, the invention is not restricted to use in connection with a plotter pen head, and may be applied to other systems in which it is desired to bring about linear movement or an object.