The present invention relates to a method and system for motor speed control. It is particularly, but not exclusively, concerned with a method and system for motor speed control over packet networks such as Ethernet and Internet Protocol (IP).
Industrial networks play a big role in industrial automation, manufacturing, process control, and other industrial related businesses. Until recently, industrial processes and equipment would communicate with each other using one of several possible specialized open or proprietary protocols, such as Modbus, HART, Profibus, CANopen, DeviceNet, FOUNDATION Fieldbus, PROFINET IO, etc [1][2]. These are all specialized networking technologies tailored for industrial automation, manufacturing, process control.
Currently, it is not uncommon to see a manufacturing facility, for example, having multiple parallel networks as depicted schematically in
However, many industrial networks are currently migrating from legacy industrial protocols to packet based technologies like Ethernet and IP. Ethernet has emerged as a viable alternative to the traditional industrial protocols simply because it is much cheaper, readily available, and proven to be effective for networking.
As such, there is growing interest in the industrial community to use available “data-centric” protocols such as Ethernet as the transport protocol for industrial networks (as shown schematically in
Ethernet is a major carrier for other networking protocols; Ethernet can pretty much carry any other protocol whether open or proprietary. The benefits of adopting packet technologies like Ethernet are as follows:
The current trend shows that the industry has embraced Ethernet as the protocol of choice for industrial networking. However, there are certain difficulties in using Ethernet for industrial processes, most of which require real-time processing. Ethernet was initially developed as a data oriented protocol and was not designed with the inherent real-time and loss-less data transport capabilities found in many traditional industrial protocol.
These limitations of Ethernet often call for adding special functionalities in an Ethernet (or other packet) network to address the special needs of automation, manufacturing, process control processes.
One such situation is the remote control of an electric motor over a packet network as illustrated schematically in
The area of control applications over IP (packet) networks has recently gained significant interest in the research community [6][7][8]. Due to the complex nature of control over IP packet-based networks, several researchers have devised different approaches to deal with the stochastic nature of the packet delay variations. In order to deal with the packet delay variations, many approaches attempt to replace practical controllers that exist in industrial applications such as the proportional-integral (PI) controller with other controllers [9][10][11]. This replacement is in general expensive and requires extensive amount of time to replace all the existing controllers.
In [12] a methodology to improve the widely used PI controller over IP networks was proposed. Specifically the optimal PI controller gains are scheduled in real time in accordance to the monitored IP network traffic allowing for a more dynamic approach to control system implementation.
In [13] a networked control system over Wireless LAN (WLAN) based on the separation principle of Linear Quadratic Gaussian (LQG) control with random delays and packet loss in the feedback loop improves the performance.
A method to control the speed of the DC motor through IP networks with packet loss has been also introduced in [14]. The method is tested through speed control experiments of a commercial DC motor. The effectiveness of reducing the negative influences of packet loss is demonstrated by adopting a PI controller with a Smith compensator.
In [15] an approach that modifies and enhances conventional systems is achieved through adopting a model-based networked predictive control scheme based on round-trip time delay measurements.
In [16] a technique to provide means to transfer time-critical information between devices over Ethernet-IP network was proposed for large industrial control or automation solution. The technique is at the protocol/application layer and does not address the critical issue of harnessing synchronization to control motors.
Another technique that deals with motor control over packet networks was proposed in [17] where an applet-based system is implemented to enable control mechanism between a client and a server. Although this approach addresses the application layer of control over packet, it lacks relevance and practical implementation of control algorithms at the physical layer.
Accordingly, the present invention seeks to provide a new technique for remote control of a motor (particularly a DC motor) over a network (such as a packet network). Some applications of speed control over packet networks in process control and energy conservation are to allow smoother operation of a process, acceleration control, allow different operating speed for each process recipe, compensate for changing process variables, allow slow operation for setup purposes, adjust the rate of production, allow accurate positioning, and control torque or tension of a system.
An exemplary aspect of the present invention provides a system for controlling the speed of a motor, the system including: the motor; and a phase locked loop connected to a network and arranged to receive a timing signal from that network and to control the speed of the motor according to that timing signal, wherein the phase locked loop is arranged to generate an error signal which is the difference between the timing signal received from the network and a counter signal from a counter which is incremented according to the speed of the motor, and to adjust the speed of the motor according to the error signal.
A further exemplary aspect of the present invention provides a system for remotely controlling the speed of the motor, the system including: a central control unit, a motor control unit and a network connecting the control units, wherein: the central control unit includes: a variable frequency transmitter, arranged to send a timing signal over the network which represents the desired speed of the motor; and the motor control unit includes: the motor; and a phase locked loop connected to a network and arranged to receive a timing signal from that network and to control the speed of the motor according to that timing signal, wherein the phase locked loop is arranged to generate an error signal which is the difference between the timing signal received from the network and an output signal of a counter which is incremented according to the speed of the motor, and to adjust the speed of the motor according to the error signal.
A further exemplary embodiment of the present invention provides a method of remotely controlling the speed of a motor, the method including the steps of: sending, over a network, a timing signal which represents the desired speed of the motor; detecting the speed of the motor as a local oscillator signal; receiving said timing signal; comparing the phase of said timing signal and said oscillator signal to generate an error signal; and adjusting the speed of the motor according to the error signal.
Embodiments of the invention will now be described by way of example with reference to the accompanying drawings in which:
Accordingly, at its broadest, a first aspect of the present invention provides a system for controlling the speed of a motor, preferably over a packet network, by receiving timing signals and using phase-locked loop principles to adjust the speed of the motor according to the received timing signals. The motor is preferably a DC motor.
A first aspect of the present invention preferably provides a system for controlling the speed of a motor, the system including: the motor; and a phase locked loop connected to a network and arranged to receive a timing signal from that network and to control the speed of the motor according to that timing signal, wherein the phase locked loop is arranged to generate an error signal which is the difference between the timing signal received from the network and a counter signal from a counter which is incremented according to the speed of the motor, and to adjust the speed of the motor according to the error signal.
The motor control system of this aspect has particular application where the network is a packet network, such as an Ethernet network.
By using a phase locked loop to adjust and control the speed of the motor, the speed of the motor can be accurately controlled according to the received timing signals, even if those signals are subject to data loss (e.g. packet loss) or delay.
Preferably the phase locked loop includes: a speed encoder arranged to detect the speed of the motor and convert it to a sequence of pulses encoding the speed of the motor; a local counter which is incremented by pulses from the speed encoder and is arranged to output the counter signal; a receiver connected to the network and arranged to receive a timing signal from the network; a phase detector arranged to determine the error signal based on the difference between said counter signal and said timing signal.
In this configuration, the phase locked loop resembles that of known PLLs with the voltage-controlled oscillator being replaced by the motor and speed encoder combination.
Preferably the phase locked loop further includes a loop filter arranged to remove possible noise and/or jitter in the error signal and therefore prevent erroneous adjustment of the speed of the motor.
Preferably the phase locked loop further includes an amplifier which amplifies the error signal before passing it to the motor.
In preferred embodiments the timing signal is a sequence of timestamps. In particular, the timestamps may be conveyed using a protocol such as the IEEE 1588 Precision Time Protocol (PTP). For example, the timestamps could be carried using the PTP Sync and Follow_Up messages.
A preferred configuration of the speed encoder is an optical tachometer, in particular a fork-shaped optocoupler in which the light beam is chopped by a sector disk, thereby producing a known number of pulses for each rotation of the motor shaft.
Embodiments of this first aspect may include some, all or none of the above described optional or preferred features.
At its broadest, a second aspect of the present invention provides a system for remotely controlling the speed of a motor, preferably over a packet network, by sending timing signals from a central control unit to a motor control unit which uses phase-locked loop principles to adjust the speed of the motor according to the received timing signals.
Accordingly a second aspect of the present invention preferably provides a system for remotely controlling the speed of the motor, the system including: a central control unit, a motor control unit and a network connecting the control units, wherein: the central control unit includes: a variable frequency transmitter, arranged to send a timing signal over the network which represents the desired speed of the motor; and the motor control unit includes: the motor; and a phase locked loop connected to a network and arranged to receive a timing signal from that network and to control the speed of the motor according to that timing signal, wherein the phase locked loop is arranged to generate an error signal which is the difference between the timing signal received from the network and an output signal of a counter which is incremented according to the speed of the motor, and to adjust the speed of the motor according to the error signal.
The motor control system of this aspect has particular application where the network is a packet network, such as an Ethernet network.
Preferably the phase locked loop includes: a speed encoder arranged to detect the speed of the motor and convert it to a sequence of pulses encoding the speed of the motor; a local counter arranged to output a counter signal which is incremented by pulses from the speed encoder; a receiver connected to a network and arranged to receive a timing signal from that network; and a phase detector arranged to determine the error signal based on the difference between said counter signal and said timing signal.
Preferably the phase locked loop further includes a loop filter arranged to remove possible noise and/or jitter in the error signal and therefore prevent erroneous adjustment of the speed of the motor.
Preferably the phase locked loop further includes an amplifier which amplifies the error signal before passing it to the motor.
In preferred embodiments the timing signal is a sequence of timestamps. In particular, the timestamps may be conveyed using a protocol such as the IEEE 1588 Precision Time Protocol (PTP). For example, the timestamps could be carried using the PTP Sync and Follow_Up messages.
A preferred configuration of the speed encoder is an optical tachometer, in particular a fork-shaped optocoupler in which the light beam is chopped by a sector disk, thereby producing a known number of pulses for each rotation of the motor shaft.
In certain embodiments, there are a plurality of said motor control units and the central control unit sends timing signals to each of said plurality of motor control units so as to cause the motors of the motor control units to operate in synchronisation with each other.
Manufacturing systems in applications like paper manufacturing, food/beverage packaging, and semiconductor processing often require high-speed motion/motor synchronization to maintain product quality at high throughput rates. In this respect, “synchronization” does not necessarily mean that each motor rotates at the same speed, but that the relative speeds of the motors are maintained in a predetermined relationship. The proposed PLL technique can be used to provide real-time control with individual nodes synchronized to the same level of accuracy.
Preferably in such an arrangement the timing signals are multicast from a common clock source (e.g. in the central control unit) to each of said plurality of motor control units.
A preferred configuration of the central control unit includes: an oscillator generating a variable frequency pulsed signal; and a speed counter which counts the pulses from the oscillator, wherein the timing signals are samples of the output of the speed counter. Accordingly, the output of the counter represents the transmitter speed signal and is incremented by a fixed amount at each pulse. Samples of the transmitter speed signal thus generated may be communicated to the motor control unit as the timing signals/timestamps.
Embodiments of this second aspect may include some, all or none of the above described optional or preferred features.
At its broadest, a third aspect of the present invention provides a method of controlling the speed of a motor, preferably over a packet network, by sending timing signals over a network and using phase-locked loop principles to adjust the speed of the motor according to the received timing signals. The motor is preferably a DC motor.
Accordingly a third aspect of the present invention preferably provides a method of remotely controlling the speed of a motor, the method including the steps of: sending, over a network, a timing signal which represents the desired speed of the motor; detecting the speed of the motor as a local oscillator signal; receiving said timing signal; comparing the phase of said timing signal and said oscillator signal to generate an error signal; and adjusting the speed of the motor according to the error signal.
In certain configurations, where there are a plurality of motors, the method includes the steps of sending timing signals over said network to each of said plurality of motors so as to cause the motors to operate in synchronisation with each other.
Manufacturing systems in applications like paper manufacturing, food/beverage packaging, and semiconductor processing often require high-speed motion/motor synchronization to maintain product quality at high throughput rates. In this respect, “synchronization” does not necessarily mean that each motor rotates at the same speed, but that the relative speeds of the motors are maintained in a predetermined relationship. The proposed PLL technique can be used to provide real-time control with individual nodes synchronized to the same level of accuracy.
Preferably in such an arrangement the timing signals are multicast from a common clock source (e.g. in the central control unit) to each of said plurality of motor control units.
In embodiments of this aspect, on start-up, said motor is initially free-running, and the method further comprises the steps of: receiving the first timing signal from the network and using it to initialize a local counter which counts pulses of the local oscillator signal, and starting the steps of detecting, receiving, comparing and adjusting after receipt of said first timing signal.
Embodiments of this third aspect may include some, all or none of the above described optional or preferred features.
The method of the third aspect is preferably, but not necessarily, used to control a system according to the above first or second aspect, including some, all or none of the optional or preferred features of those aspects.
Some applications of speed control over packet networks in process control and energy conservation are to allow smoother operation of a process, acceleration control, allow different operating speeds for each process recipe, compensate for changing process variables, allow slow operation for setup purposes, adjust the rate of production, allow accurate positioning, and control torque or tension of a system.
PLLs have been applied to many applications from communications systems, consumer electronics, military hardware, computer clocks, to wireless systems. The use of PLLs techniques for motor speed control is not new. However, the use of PLL techniques for remote motor speed control over packet networks is new
The techniques employed in the embodiments of the invention described below are inspired by phase-locked loop (PLL) principles. Below the detail architecture of speed control systems according to embodiments of the invention are described, and design details for computing the parameters of the various elements of the motor speed control system are set out.
In a speed control system of an embodiment of the present invention, as shown schematically in
b shows an alternative implementation according to an embodiment of the present invention in which the phase detector and loop filter of the embodiment shown in
Manufacturing systems in applications like paper manufacturing, food/beverage packaging, and semiconductor processing often require high-speed motion/motor synchronization to maintain product quality at high throughput rates. The systems and methods according to the present invention can be used to provide real-time control with individual nodes synchronized to the same level of accuracy.
This multiple motor control scenario is illustrated in
An embodiment of a system and method which shows how precise motor speed control can be achieved using PLL principles will now be described with reference to
The setpoint for the motor is supplied by arriving timestamps 62 from a speed-mapped variable frequency source 60. The shaft speed of the motor 64 is measured with a tachometer 66 with its output proportional to the motor speed. Any deviation of the actual speed from the setpoint is amplified by the power amplifier (amp) whose output drives the motor. The gain of the power amp is usually high but finite.
Let us assume the system to be controlled includes a motor-tachometer combination where the tachometer measures the speed of the motor. The tachometer signal could be generated by a fork-shaped optocoupler in which a light beam is chopped by a sector disk. Let us assume the sector disk of the tachometer has KZ teeth. If the motor has speed ω (rad/s), then the speed of the tachometer signal ωm(t) is equal to the speed w multiplied by KZ, that is, ωm(t)=ω(t)KZ. This motor speed to tachometer speed mapping can be used to calibrate a variable frequency source (the speed reference generator) which can be used to generate a speed setpoint or reference for the control of the motor at a remote location over the packet network.
In
The motor speed control system uses the timestamps 62 (which constitute the reference signal and carry the setpoint or shaft speed) and its local encoder counter 67 output to generate a control signal that allows it to lock onto the speed-mapped transmitter speed signal. The motor speed control system has four main components: a phase detector 61, a loop filter 63, a motor 64 and speed encoder 66 (tachometer) set, and a local encoder counter 67. As shown in
Let T(n) denote the time base (e.g., in pulse ticks) of the transmitter speed counter and R(n) the time base of the encoder counter of the motor speed control system. These two functions correspond to the timestamps of the two counter signals at discrete time instants n, n=0, 1, 2, . . . . The motor speed control system initially runs at an unsynchronized speed, waiting for the first timestamp to arrive. When the first timestamp arrives it is loaded into the encoder counter (T(0)=R(0)) as shown in
The entire motor control system is accordingly a PLL in which the normal voltage controlled oscillator (VCO) is replaced by a combination of a motor and speed encoder (such as an optical tachometer).
For example, the tachometer signal could be generated by a fork-shaped optocoupler in which the light beam is chopped by a sector disk. The optocoupler is usually fabricated from a light-emitting diode (LED) and a silicon phototransistor.
In an alternative configuration, the tachometer signal could be generated by a gear with KZ teeth coupled to the motor shaft and a gear tooth sensor that can detect the motion of the gear with its discontinuous surface. The gear tooth sensor generates a digital pulse signal for each contact with a tooth on the gear.
In a further alternative, the tachometer can be provided as a rotating ring magnet with KZ North/South magnetic fields where a sensor generates a digital pulse signal for each contact with a North (or South) field.
The above are just example implementations of the speed encoder, and alternative implementations also fall within the scope of the present invention.
The signal generated by the optocoupler is a frequency proportional to the speed of the motor. Because the phase detector compares not only the frequencies ωref and ωm of the reference and the tachometer signals but also their phases, the system settles at zero velocity error.
To determine the parameters of the loop filter and also analyze the stability of the system, the transfer functions of all the components in
If the DC motor is excited by a voltage step of amplitude uf, its angular speed ω(t) will be given by
where Km is the proportional gain and Tm is the mechanical time constant of the motor. The above equation indicates that ω will settle at a value proportional to uf after some time.
Applying the Laplace transform to the equation above yields
The phase angle φ of the motor is the time integral of the angular speed ω. Therefore, we can express the Laplace transform Φ(s) of the phase angle of the motor φ(t) as
If it is assumed that the sector disk of the tachometer has KZ teeth, this implies that the phase of the tachometer signal is equal to phase φ multiplied by KZ, that is, θm(t)=φ(t)KZ. Consequently, we obtain for Θm(t) (i.e., Laplace transform of the tachometer signal θm(t)) the following expression
The transfer function of the DC motor is therefore given by
We see from the above equation that the DC motor is evidently a second-order system (note that the typical VCO used in a PLL is a first-order system only). The transient response of the motor is illustrated in
We see from
where τ1 and τ2 are time constants of the filter, K1=τ2/τ1, and K2=1/τ1. The filter has a pole at s=0 and therefore behaves like an integrator. It has (at least theoretically) infinite gain at zero frequency.
The open-loop transfer function of the motor speed control system is given as follows
In a practical design of the motor speed control system, some parameters are fixed, such as the motor parameters Km and Tm, the power amp gain Ka plus the teeth KZ of the disk sector. The remaining parameters (τ2 and τ1) then have to be chosen for the best dynamic performance and maximum stability of the system. We assume that the phase detector gain is set to one (Kd=1) and its effects are combined into the computation of the parameters of the loop filter. In this section we describe a method for determining these parameters.
The basic goal of a control system is to meet performance specifications. Performance specifications are constraints put on the system response characteristics. They may be stated in any number of ways. Generally, they take two forms: 1) Frequency-domain specifications (i.e., pertinent quantities expressed as functions of frequency), and 2) Time-domain specifications (in terms of time response). The desired system characteristics may be prescribed in either or both of the above forms. In general, they specify three important properties of dynamic systems: 1) Speed of response, 2) Relative stability, and 3) System accuracy or allowable error.
Knowing whether a system is absolutely stable or not is insufficient information for most control applications. If the system is stable, we usually want to know how close it is to being unstable. We therefore need to determine its relative stability. The discussion here will help us understand the third-order loop design considered here.
Let us denote KOLGOL(s) as the open-loop transfer function of the PLL. We can define the following two important measures that are used to indicate the stability margin in a system [18][19] (
where arg KOLGOL(jω180 °)=−180°=−π radians and ω180° is called the phase crossover frequency. The GM of the system is the factor by which the gain KOL can be raised before instability results. |GM|<1 (or |GM|<0 dB) indicates an unstable system. When |GM|=1 (or |GM|=0 dB) the system is neutrally stable.
φPH≡[180+arg KOLGOL(jω0 dB)]degrees, (9)
Note that a target phase margin of 60° is highly desirable in feedback amplifier design as a tradeoff between loop stability and settling time in the transient response. Typically, the minimum acceptable phase margin is 45°.
The closed-loop transfer function of our third-order loop is given as
Applying the final value theorem, we can determine the steady-state response of the loop to different input signals 1/sn, phase step (n=1), frequency step (n=2), frequency ramp (n=3), etc. The error transfer function for the third-order loop is given as
So by applying the final value theorem, when the loop is driven by 1/sn, the error response approaches a final value of [20]
This indicates that the phase error resulting from a phase step (n=1) or a frequency
step (n=2) will settle to zero, and the phase error will not reach steady state for n>3. A frequency ramp (n=3)) will produce a steady-state phase error of
the same phase error that occurs in the second-order loop. This is not surprising since one way to realize the third-order loop is to add a low-pass filter to the lag-lead filter (of the second-order loop above). The output of a low-pass filter driven by a ramp is another ramp with the same slope, offset from the input by a constant.
Following the analysis by Rohde in [21] (see also the section below entitled Derivation of the Third-order Control Loop Time Constants for a detailed discussion and corrections to Rohde's derivations) we see that, given pre-specified design parameters, phase margin φ, motor parameters (Km, Tm, Ka, KZ), the following steps can be used to design the parameters τ1, and τ2 of the third-order loop. To get acceptable stability of the loop, we require a phase margin of at least 30°; typical design choice is somewhere from 45° to 60°.
Designing the Third-Order Loop:
The design steps are as follows
Now knowing the two parameters of the loop filter GLF(S), we can find a set of difference equations (or GLF(z)) for the digital implementation of the filter. This can be done using the Tustin's (or bilinear) approximation for the digitization of GLF(s) [18]. For every occurrence of s in the loop filter we substitute
where Δt is the sampling interval for the system. Thus, we have
which gives the following difference equation for implementing the loop filter
With this equation, the phase detector and the loop filter can be implemented in the digital domain with sampling interval Δt.
In this section, we describe the procedure used by Rohde [21] to determine the parameters τ1 and τ2 of the third-order loop parameters given the design specification of φ, the phase margin. We need the open-loop transfer function of the control system to plot the Bode plot. The open loop transfer function is given as
The phase of the loop is determined from
from which we get
The magnitude is also given as
and with
|KOLGOL(jω)|=1,
at the crossover point, we get
The phase margin of the system is
φ=arctan ωτ2−arctan ωTm+π (A. 8)
assuming that
ω2τ2Tm<<1 (A. 9)
Now we determine the natural loop frequency ωn from the point of zero slope of the phase response,
from which we obtain
Let us set the following parameters
π=arctan ωτ2 (A. 13)
β=arctan ωTm (A. 14)
φ+α−+π (A. 15)
We see that
Setting
we get
Now using τ2 we can determine the remaining time constant Tm from
The time constant Tm is then determined from
The systems and methods of the above embodiments may be implemented at least partly in a computer system (in particular in computer hardware or in computer software) in addition to the structural components and user interactions described.
The term “computer system” includes the hardware, software and data storage devices for embodying a system or carrying out a method according to the above described embodiments. For example, a computer system may comprise a central processing unit (CPU), input means, output means and data storage. The data storage may comprise RAM, disk drives or other computer readable media. The computer system may include a plurality of computing devices connected by a network and able to communicate with each other over that network.
The methods of the above embodiments may be provided as one or more computer programs or as computer program products or computer readable media carrying a computer program which is arranged, when run on a computer, to perform the method(s) described above.
The term “computer readable media” includes, without limitation, any medium or media which can be read and accessed directly by a computer or computer system. The media can include, but are not limited to, magnetic storage media such as floppy discs, hard disc storage media and magnetic tape; optical storage media such as optical discs or CD-ROMs; electrical storage media such as memory, including RAM, ROM and flash memory; and hybrids and combinations of the above such as magnetic/optical storage media.
While the invention has been described in conjunction with the exemplary embodiments described above, many equivalent modifications and variations will be apparent to those skilled in the art when given this disclosure. Accordingly, the exemplary embodiments of the invention set forth above are considered to be illustrative and not limiting. Various changes to the described embodiments may be made without departing from the spirit and scope of the invention.
In particular, although the methods of the above embodiments have been described as being implemented on the systems of the embodiments described, the methods and systems of the present invention need not be implemented in conjunction with each other, but can be implemented on alternative systems or using alternative methods respectively.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB12/52165 | 9/9/2012 | WO | 00 | 11/26/2012 |