Servomechanisms (servos) are automatic devices that use error-sensing negative feedback to correct the performance of a device. Servos are commonly used to control position, speed, and temperature. Any difference between an actual value and a wanted value is amplified, converted, and used to drive a system in the direction necessary to reduce or eliminate the difference.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate and serve to explain the principles of examples in conjunction with the description. Unless specifically noted, the drawings referred to in this description should be understood as not being drawn to scale.
Reference will now be made in detail to various examples, examples of which are illustrated in the accompanying drawings. While the subject matter will be described in conjunction with these examples, it will be understood that they are not intended to limit the subject matter to these examples. Furthermore, in the following description, numerous specific details are set forth in order to provide a thorough understanding of the subject matter. In other instances, well-known methods, procedures, objects, and circuits have not been described in detail as not to unnecessarily obscure aspects of the subject matter.
Some portions of the description of examples which follow are presented in terms of procedures, logic blocks, processing and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signal capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present discussions terms such as “monitoring”, “determining”, “adjusting”, or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Furthermore, in some examples, methods described herein can be carried out by a computer-usable storage medium having instructions embodied therein that when executed cause a computer system to perform the methods described herein.
In some examples, servo 100 is coupled with heating/cooling instrument 170. Heating/cooling instrument 170 may include, but is not limited to: an oven, batch ovens, conveyor ovens, refrigerators, curing devices, a plurality of resistors, etc. In some examples, servo 100 controls the temperature within heating/cooling instrument 170 using procedures described herein. In some examples servo 100 is communicatively coupled to heating/cooling instrument 170. In some examples, a servo 100 is coupled, communicatively or otherwise, to a plurality of heating/cooling instruments 170. In some examples servo 100 is installed within heating/cooling instrument 170, while in other examples servo 100 is remote from heating/cooling instrument 170. In some examples, some of the modules (e.g., sensor 110, heating device 120, cooling device 130, I/O interface 140, etc.) are located within servo 100, while some of the modules are located within heating/cooling instrument 170.
Servo 100 comprises a sensor 110. In some examples sensor 110 may be a single sensor 110, while in other examples it may comprise multiple sensors 110. Sensor 110 may include, but is not limited to: temperature sensors, voltage sensors, current sensors, pulse-width modulation sensors, resistive sensors, pressure sensors, noise sensors, tachometers, heat coils, etc. In some examples sensors are required to provide feedback to servo 100 such that the device (e.g., heating/cooling instrument 170) in which servo 100 is implemented may reach the correct temperature. In some examples the servo 100 comprises air-flow sensors such that the servo 100 can make adjustments based on the air-flow within heating/cooling instrument 170. In some examples many air-flow conditions exist which servo 100 can differentiate and then adjust itself accordingly.
In some examples servo 100 comprises heating device 120. In some examples heating device 120 may comprise a single heating device 120, or a plurality of heating devices 120. In some examples heating devices 120 are connected to each other or to a processor 150 with single or bi-directional busses. Heating devices 120 may include any type of heating device 120 commonly used in heating/cooling instruments 170 as will be discussed herein. In some examples convection heating is employed, and in some examples infrared heating is employed. In some examples, a heating device 120 may transfer anywhere from 50 to over 50,000 Btu/hr-ft2, for example. In some examples heating device 120 may generate heat from the combustion of a gas (e.g., at a stoichiometric mixture). In some examples heating device 120 may use electricity.
In some examples servo 100 comprises cooling device 130. In some examples there is only one cooling device 130 while in other examples there are a plurality of cooling devices 130. In some examples cooling devices 130 are connected to each other or to a processor 150 with single or bi-directional busses. In some examples cooling device 130 employs liquid cooling, air cooling, heat sinks, thermoelectric cooling, phase-change cooling, or solid state cooling. All of these cooling devices 130 are well known in the art and will not be discussed for the sake of brevity.
In some examples servo 100 comprises an I/O interface 140. In some examples I/O interface 140 is used to program servo 100. In other examples I/O device 520 (of
In some examples servo 100 comprises a processor 150. In some examples processor 150 performs operations to control servo 100. In some examples processor 150 is used in conjunction with processor 506 (of
In some examples servo 100 comprises a power module 160. In some examples power module 160 is used to provide power to the devices within servo 100 including heating device 120 and cooling device 130. In some examples, power module 160 may control the speed of fans coupled with servo 100. In some examples power module 160 controls the power gain of the servo 100.
It should be noted that in some examples several controls are based on a proportional response to the input. For example, the proportional response between the temperature and the power may not be linear. In other words, a fixed amount of power does not necessarily raise the temperature by a fixed amount.
When a heating/cooling instrument 170, such as an oven or curing instrument, needs to reach a target temperature either a heating device 120 or a cooling device 130 may be used to assist in reaching the target temperature. In some examples, heating/cooling instrument 170 merely needs to maintain a temperature rather than change the temperature to a target temperature. Often times when a heating/cooling instrument 170 is powered on the temperature inside the heating/cooling instrument 170 is very cold (or hot, depending on the instrument 170 and situation). As the temperature increases, less power is needed to heat the device. When the temperature passes the target temperature, power is reduced or another heating device 120 or cooling device 130 is employed such that the temperature returns to the target temperature. This process of reaching the target temperature may require several iterations and often uses a servo 100 that employs error-sensing negative feedback to correct the temperature of the device.
In some examples, servo 100 provides advantages including disturbance rejection, guaranteed performance when parameters are incorrect, stabilization of unstable processes, reduction of sensitivity to parameter variations, improvement of reference tracking performance, etc.
Servo 100 operates by comparing a temperature to a target temperature. In some examples this comparison is performed by a transducer. In some examples, any difference between the temperature and the target temperature is an error signal, which is then amplified and converted, and then used to drive the temperature in the direction necessary to reduce or eliminate the error.
In one example, equation 1 may be used such that servo 100 causes a system to reach a target temperature.
In equation 1 Pin is an input power, PSteady is a long term power consumption the system requires to keep a target temperature, Kp is a proportional constant, err is the difference between the temperature and the target temperature, T is the temperature, Kd is a derivative constant, and t is time.
In some examples, a non-linear term is used to determine an input power. In some examples an integral term is used in place of PSteady, thus creating a PID (proportional-integral-derivative) implementation, or a PID controller. In an example, where an integral term is used, the relative weight of the integral term in a PID implementation is fixed.
A PID controller is a generic control loop feedback mechanism used in industrial control systems. A PID controller calculates an error value as the difference between a measured process variable and a target point. A PID controller attempts to minimize error by adjusting process control inputs.
A PID controller determination involves three separate parameters including the proportional, integral and derivative values.
In some examples, the P value depends on the present error. The P value produces an output value that is proportional to the current error value. The proportional response can be adjusted by multiplying the error by a constant Kp called the proportional gain constant.
In some examples, the proportional term is given by the equation:
P
out
=K
p
err(t) (Equation 2)
where t is time, and Pout is the P value. A high proportional gain results in a large change in the output for a given change in the error. If the proportional gain is too high, the system can become unstable. A small P value may result in a response to system disturbances because the P value is too small to sufficiently correct errors.
In some examples the I value is proportional to both the magnitude of the error and the duration of the error. In some examples the I value is the sum of the instantaneous error over time and gives the accumulated offset that should have been corrected previously. In some examples the accumulated error is then multiplied by the integral gain Ki and added to the controller output.
In some examples, the integral term is given by the equation:
I
out
=K
i∫0terr(t)dt (Equation 3)
In some examples the integral term accelerates the movement of the process towards a target point and eliminates the residual steady-state error that occurs with a pure proportional controller.
In some examples the D value is calculated by determining the slope of the error over time and multiplying this rate of change by the derivative gain Kd.
In some examples, the derivative term is given by the equation:
The derivative term slows the rate of change of the controller output. In some examples derivative control is used to reduce the magnitude of the overshoot produced by the integral component and improve the combined controller-process stability. The derivative term also slows the transient response of the controller. Also, differentiation of a signal amplifies noise and thus this term in the controller is highly sensitive to noise in the error term, and can cause a process to become unstable if the noise and the derivative gain are sufficiently large. In some examples an approximation to a differentiator with a limited bandwidth is used.
In some examples a weighted sum of the P, I and D values is used to adjust the power gain, thereby adjusting the temperature. In some examples a PID controller can provide control for specific process requirements. In such cases parameters are entered such that the servo 100 causes a system to reach a target temperature.
In one example, a moving integral average which may be responsible for the self-adjustment of the power gain is used as a substitution for PSteady as shown below in equation 5.
Where TTarget is a target temperature and Δt is a period of time.
In an example, equation 5 causes servo 100 to constantly determine the amount of power required to keep the average temperature at the target temperature. In an example, the proportional and derivative terms quickly seed the servo 100 equation and improve the response when the target temperature is relatively far from the temperature. Once the temperature is closer to the target temperature, the self-adjusted term becomes the dominant term in the power balance as the proportional and derivative errors become smaller. This assures better servo 100 stability. This is true regardless of the air-flow and the target temperature range, and results in almost no overshoot. Moreover, the self-adjusted term improves compliance with the regulatory limit of maximum acceptable power variation over time. For example, flickers may be reduced and line voltage oscillations may be smaller. In one example, the power gain is adjusted based on the amount of air-flow. In one example, the power gain is adjusted based on the temperature of intake air.
The following discussion sets forth in detail the operation of some example methods of operation of examples.
In operation 310, in one example, the servo 100 monitors a temperature for a period of time. In some examples the period of time is less than a second, while in other examples the period of time can be for much more than a second. In some examples an average temperature is measured. In other examples an instantaneous temperature is measured.
In operation 320, in one example, servo 100 determines a difference between the temperature and the target temperature. As discussed herein, servo 100 receives the current temperature and a target temperature and determines the difference between the two. In some examples a PID implementation is employed within the servo 100 such as in equation 5 to assist the servo 100 in changing the temperature to the target temperature.
In operation 330, in one example, the servo 100 determines a target power gain to produce the target temperature. After servo 100 determines the difference between the temperature and a target temperature, and determines the current power gain, servo 100 determines the power gain required such that the temperature reaches the target temperature.
In operation 340, the servo 100 adjusts a power gain to the target power gain based on a result of the determination made in operation 330 such that the temperature is equal to the target temperature. In some examples, once the temperature is equal to the target temperature the process is repeated. In some examples the process will not be repeated if the power to the servo 100 is shut off or the servo 100 is no longer needed for some other reason.
In operation 410, in one example, the servo 100 monitors a temperature for a period of time. In some examples the period of time is less than a second, while in other examples the period of time can be for much more than a second. In some examples an average temperature is taken. In other examples an instantaneous temperature is taken.
In operation 420, in one example, servo 100 determines a difference between the temperature and the target temperature. As discussed herein, servo 100 receives the current temperature and a target temperature and determines the difference between the two. In some examples a PID implementation is employed within the servo 100 such as in equation 5 to assist the servo 100 in changing the temperature to the target temperature.
In operation 430, in one example, the servo 100 determines a target power gain to produce the target temperature. After determining the difference between the temperature and a target temperature, and determining the current power gain, the servo 100 determines the power gain required such that the temperature reaches the target temperature.
In operation 440, the servo 100 adjusts a power gain to the target power gain based on a result of the determination made in operation 330 such that the temperature is equal to the target temperature. In some examples, once the temperature is equal to the target temperature the process is repeated. In some examples the process will not be repeated if the power to the servo 100 is shut off or the servo 100 is no longer needed for some other reason.
With reference now to
System 500 of
Referring still to
Referring still to
Examples of the present technology are thus described. While the present technology has been described in particular examples, it should be appreciated that the present technology should not be construed as limited by such examples, but rather construed according to the following claims.