Not Applicable
Not Applicable
Not Applicable
This present application claims priority from U.S. provisional application No. 61/574,469 having the same title as the present invention and filed on Aug. 3, 2011.
This invention relates to apparatus and methods for driving an actuator using pulse control signals.
Pulse signals, such as pulse-width modulated (PWM) signals and pulse-duration modulated (PDM) signals, are used in controlling power applied to inertial devices and directly controlling average values, e.g. average flow-rate. A PWM or PDM signal is determined by two parameters: a PWM period and an on-time or duty cycle, which is the ratio of the on-time to the PWM period. Normally, in an application, the PWM period value in a PWM signal is a constant and is much lower than the time constant of the inertial device driven by the PWM signal, while in a PDM signal, the on-time value is fixed, and the period value is determined by the duty cycle value.
In addition to the parameters of pulse control signals, in a system with pulse control, there is a third factor, full-scale level, affecting control performance. The full-scale level is the control level during the on-time of a pulse signal. For example, in an electrical heater with PWM power control, the full-scale level is the electrical power delivered to the heater during the on-time of a PWM control signal, while in a system with a flow rate controlled by switching on and off a control valve with a PWM signal, the full-scale level is the flow rate when the control valve is switched on. The full-scale level together with duty cycle determines the average value controlled by a pulse signal.
In a feed-forward pulse control system, normally, a required duty cycle is generated based on a desired output value (target value), and then a pulse control signal is generated accordingly. If the full-scale level is constant and the calculation for duty cycle is accurate, then the control is accurate if there is no perturbation in the plant, i.e., there is no parameter change in the plant. However, due to variation in the full-scale level and perturbation in the plant, the actual output value may not equal to the target value. For example, in an electrical heater-temperature PWM control, if the driving voltage is not constant, then the actual power output varies even the duty-cycle of the PWM control is controlled constant and there is no change in heater resistance. In a flow-rate control, if the driving pressure changes, then the actual flow rate changes with the same valve open time even there is no change in other parameters such as nozzle shape and size.
A feedback control, which compares an output sensing value to a target value, and then adjusts the pulse signal accordingly, can be used to decrease the effects of variation in the full-scale level and other plant parameter changes. However, normally the feedback controller is designed for a nominal plant assuming constant plant parameter values. As a result, the variation in the full-scale level, and other plant parameter changes are perturbations to the control system. If the perturbations are much slower than the plant dynamics and the variation of plant parameters is small, then normally the feedback controller is able to correct the error caused by the variation and effectively decrease its effects. However, if the variation is large, then there would be a significant perturbation in the control system, while if the variation is fast, even it is small, it is a noise to the control system. Though for the perturbations, increasing the robustness of the feedback controller helps improving the stability of the system, and narrowing the band-width of the feedback controller de-sensitizes the system to the noise, all these methods lead to deterioration of the control performance.
In systems requiring accurate controls, variations in plant parameters need to be controlled small. However, to keep the variations small, in addition to decreasing plant sensitivity to influencing factors, a high precision driving source is also needed. For example, in an electrical heater-temperature PWM control system, a high precision voltage supply and a heater with low temperature coefficient are required for accurate temperature control, and in a flow-rate control system, a high precision driving pressure is needed. The high precision driving source and robust plant insensitive to influencing factors increase system cost and sometimes are not available. To solve this problem, a primary object of the present invention is to provide a control means to compensate the variation in the full-scale level and other plant parameters in the control loop and thereby eliminate its effects.
A further object is to include the control means into the pulse signal generation, so that the compensation to the variation in the full-scale level and other plant parameters won't increase the complexity of the system control, which provides commands to the pulse signal generation.
A further object is to generate a high precision pulse signal the precision of which is independent to the compensation of the control means added into the pulse generation.
The present invention provides an apparatus and method for controlling a device with pulse signals to reach a target value. More specifically, the apparatus includes sensors, a pulse signal generator, and a pulse control unit commanding the pulse signal generator using sensing values obtained from the sensors and the target value. In one embodiment of the present invention, a first stage PWM signal is generated with the pulse control unit periodically commanding the pulse signal generator, which generates a second stage PWM signal. In each cycle of the first stage PWM signal, the difference between a current control value, which is calculated using the sensing values, and the target value is used to determine values of control parameters to be set for the pulse signal generator. A fault is reported when the PWM signal is not capable to drive the device, i.e., at full capacity of the PWM signal, the device is not able to reach the target value.
A water tank temperature control system is used as an example for applications of the two-stage PWM control. In the water tank temperature control system, the target value is the energy to be generated in a PWM pulse, while the current control value is the energy already generated. A voltage analog-to-digital converter (ADC) and a current ADC are used to calculate the current control value. By adjusting the PWM signal using the error calculated from the target value and the current control value, variations in heater resistance and applied voltage are compensated. Thereby in system level closed-loop control, the closed-loop controller just needs to control a nominal plant with perturbation compensated, resulting in a better control performance.
Another exemplary application of the two-stage PWM control is a common rail flow rate control system, in which the target value is the amount of working fluid to be injected in a PWM pulse, and the current control value is the amount of working fluid that has been injected. The current control value can be calculated using either rail pressure sensing value or directly using the sensing value obtained from a flow sensor if it is available. The error between the current control value and the target value is then used in commanding the second stage PWM signal for compensating perturbation caused by variations in rail pressure.
The two-stage PWM control actually “cuts” the first stage PWM signal into pieces, each of which is a second stage PWM signal. In this way, the control is able to react quickly compensating fast changes in perturbation factors, such as applied voltage and heater resistance in the tank water temperature control system and rail pressure in the common rail pressure control system. At the same time, the precision of PWM control can be improved by the high PWM frequency of the second stage PWM signal. The two stage control method needs not be limited just to PWM signals. The same benefits can be obtained with other types of pulse signals. In another embodiment of the present invention, a pulse signal generator that adds a sleep section to a PWM signal is provided. The sleep section changes the duration of the result pulse signal, which is no longer a PWM signal. Thereby the error in the on-time period of a pulse cycle can be corrected in the current cycle rather than in the next cycle as that in a two-stage PWM signal controller. When a constant on-time value is commanded, the signal generated by this two-stage pulse signal controller is a pulse duration modulated (PDM) signal.
a shows a water tank temperature control system, in which a pulse signal is used in heating control.
b is a block diagram of the control system shown in
a shows a common rail flow rate control system, in which a pulse signal is used to control a solenoid valve.
b is a block diagram of the common rail flow rate control system shown in
a shows a block diagram with signal flow chart of a PWM signal generation circuit.
b is a timing chart of signals in the PWM signal generation circuit of
a is a block diagram of an on-time and period determination control for generating control parameters of a second stage PWM signal.
b is a flow chart of an interrupt service routine used in the on-time and period determination control of
c is a timing chart of signals in a PWM signal generation using the interrupt service routine of
a shows a block diagram with signal flow chart of a pulse signal generator circuit generating pulses with a sleep-time section, an on-time section, and an off-time section.
b shows a pulse generated by the circuit of
a is a flow chart of an interrupt service routine used in a two-stage pulse signal generation for correcting errors by adjusting the pulse duration of control signals.
b is a timing chart of signals in a pulse signal generation using the interrupt service routine of
In a control system shown in
An exemplary application of the controls system depicted in
In water temperature control, the PID controller 211 is tuned based on a nominal transfer function from the average heater heating power {tilde over (P)}0 to the water temperature T0:
T
0
=f
0({tilde over (P)}0) (1),
and the average heater heating power {tilde over (P)}0 is a function of the pulse on-time to and the period So commanded by the PID controller 211:
where V0 and R0 are nominal values of applied voltage and heater resistance. In a PWM control, the period So is a fixed value, while in a PDM control, the on-time to is constant. Combining equations (1) and (2), we have the transfer function between to and T0:
However, in actual applications, variations exist in the transfer function f0, the applied voltage V0, and the heater resistance R0, resulting in a different transfer function:
where f, V, and R are, respectively, the transfer function, the applied voltage, and the heater resistance with variations. The change in the relation between the duty cycle and the water temperature results in a perturbation to the control system and affects control performance. To compensate for the change, a sensor 220, which includes a voltage monitor 221 and a current monitor 222, is used to measure the changes in the applied voltage and heater resistance, and the perturbation sensing values are fed into the pulse signal generator 210 together with the output sensing values obtained from the temperature sensor 204. Inside the pulse signal generator 210, a compensation section is added in between the on-time and period outputs of the PID controller 211 and the inputs to the power switch circuit 213, creating functions:
t=g
a(t0) (5a)
S=g
b(S0) (5b ),
where t and S are, respectively, the on-time and period inputs of the power switch circuit 213. The functions ga and gb in equations (5a) and (5b) are designed to make the temperature output in equation (4) equals to that in equation (3), i.e.,
In this way, the plant to the PID controller is kept nominal, and thereby control performance is not affected by perturbations.
Compared to the common controls structure shown in
Another exemplary application is a common rail flow control system. Referring to
A controls scheme of the common rail flow control system is depicted in
In flow rate control, basically the average flow rate of working fluid, {dot over (m)}af, is a proportional to the square root of the difference between the rail pressure Pr and the pressure Pc in the fluid chamber into which the working fluid is injected, and the relation is approximately governed by the following equation:
where to is the pulse on-time, So the pulse period, CD the discharge coefficient, An the nozzle minimum area, and ρ the working fluid density.
Normally, the fluid chamber pressure Pc is very small compared to the rail pressure Pr, and the perturbation to the control system mainly comes from fast changing variations in Pr and slow degradation in the nozzle minimum area An. To decrease the effects of the variations, the pressure sensor 301 is used to measure the changes in rail pressure, and the sensing values are fed into the pulse signal generator 310 together with the output sensing values to compensate the variations.
Inside the pulse signal generator 310, a compensation section is added in between the on-time and period outputs of the PID controller 311 and the inputs to the power switch circuit 313, creating functions:
t=h
a(t0) (8a)
S=h
b(S0) (8b),
where t and S are, respectively, the on-time and the pulse period inputs of the power switch circuit 313. The functions ha and hb in equations (8a) and (8b) are designed to keep the plant to the PID controller nominal, i.e. when a fixed period S0 is used (PWM signal),
∫00t
where variables with apostrophe are the ones with variations. Thereby the system control performance is not affected by perturbations.
Compared to the common controls structure shown in
Referring back to
In a PWM control, the pulse control block 401 in
The pulse control block 401 can be realized with a service routine running periodically for a timer based interrupt. Referring to
In the routine of
In the interrupt routine, normally tv is selected greater than the error to be corrected (e.g. tv equals the value of P2). And the interrupt period value (P3) can be the same as that of the second stage PWM signal (P2). With the interrupt routine of
In the step 610, the calculation of current_value depends on the way the target value is calculated, and is different in different applications. In the example of water temperature control shown in
∫ot
In equation (10), V0 and R0 are nominal constants with which the PID controller 211 is tuned, and t0 is the target on-time value calculated from the duty-cycle generated by the PID controller 211. According to equation (10), if we use the total energy generated in a PWM pulse, ∫otV02/R0dt , as the target value, the formula in the interrupt routine for calculating the current_value can be:
current_value(i)=current_value(i−1)+P3*V2/R (F1),
where current_value(0) is set to 0 in the step 611, and i is the number of interrupts after the Timer value is reset to P3:
i=Timer/P3 (F2).
Since V0 and R0 are constant, the formula for target_value calculation is
target_value (i)=t0(i)*V0*V0/(R0*S0) (F3).
If we need to compensate for the perturbations caused by variations in the function f, then the target_value needs to include the target temperature T0, and the current_value can be calculated using the temperature feedback, the applied voltage Vand the heater resistance R according to equation (6).
In the example of common rail flow control system shown in
target_value (i)=t0(i)*mf_open (F4)
current_value(i)=mf(i)*P3+current_value (i−1) (F5),
where mf_open is the nominal full scale mass flow rate when the solenoid valve 303 is open and the rail pressure is at nominal value; mf(i) is the mass flow rate reading value obtained from the flow rate sensor for the calculation in the i-th interrupt cycle, and i is calculated using formula F2. In the step 611, the current_value(0) is initialized to 0.
If the flow rate sensor is not fast enough to measure the flow rate for calculating flow amount in a PWM cycle, then the current_value can be calculated according to equation (9) using pressure sensing values obtained from the sensor 301. In this case, the formula (F4) can be still used in calculating the target_value, and the formula for calculating current_value changes to
current_value(i)=K*sqrt(Pr(i)−Pc))*P3+current_value (i−1) (F6).
where sqrt is the square root calculation, Pr(i) the rail pressure sensing value for the calculation in the i-th interrupt cycle, and Pc the chamber pressure; K is the term C′DA′n√{square root over (2ρ′)} in equation (9). Normally compared to the changes in rail pressure, changes in K is much slower and smaller, therefore, as mentioned above, K can be a constant and the variation can be compensated by the PID controller 311. If K needs to be compensated, an identification algorithm using average flow rate sensing values and estimate values based on pressure sensing values calculated according to equation (7) can be used to calculate changes in K:
K={dot over (m)}
af
*S/Σ
j
n=1(∫0t
where S is the total monitoring time of n PWM cycles, and tj is the nozzle open time in j-th PWM cycle.
In addition to be used in compensating perturbation in a closed loop system, the two-stage pulse control can also be used independently in an open-loop control system. For example, in the water tank temperature control system, if the transfer function f is just slightly affected by ambient conditions, an open-loop control may meet performance requirements. In this case, the two-stage pulse can be used to compensate for temperature variations caused by changes in heater resistance and applied voltage. In the common rail flow rate control system, if the flow rate sensor 305 (
Another embodiment of the two-stage pulse control uses a pulse signal generator adding a sleep time to a PWM cycle. With the pulse signal having a sleep time section and a PWM signal, which includes an on-time section and an off-time section, the previous_error in
A service routine for a timer based interrupt can be used for generating a pulse signal with a sleep time and a PWM signal. A flow chart of this service routine is shown in
target_value/P1=current_value/(Ts+sleep_time) (12),
where Ts is the time period from the beginning of a first stage PWM cycle to the moment when the sleep time is set, and current_value is the control value at the moment when the sleep time is set. According to the equation (12), the sleep_time can be calculated using the following equation:
sleep_time=P1*current_value/target_value−Ts (13),
and the stop_time then is determined by:
stop_time=Ts +sleep_time—P3 (14).
In the PWM signal generator of
The timing chart when an interrupt service routine of
Using the PWM signal generator of
While the present invention has been depicted and described with reference to only a limited number of particular preferred embodiments, as will be understood by those of skill in the art, changes, modifications, and equivalents in form and function may be made to the invention without departing from the essential characteristics thereof. For example, a different circuit can be used in the PWM signal generator. Furthermore, the two-stage PWM control can be used in a variety of applications, such as humidity control, pressure control, position control, and speed control. Accordingly, the invention is intended to be only limited by the spirit and scope as defined in the appended claims, giving full cognizance to equivalents in all respects.
Number | Date | Country | |
---|---|---|---|
61574469 | Aug 2011 | US |