Title:
COMPUTING DEVICE FOR AN INTERPOLATION
United States Patent 3846625


Abstract:
A computing device for interpolation of values which is suitable for controlling operation of a car engine includes a digital memory for memorizing the data of selected independent variations of engine parameters and digital adder circuit for adding the value of the data corresponding to the selected variations in a certain method being determined in accordance with the order of the read-out operation of the memory. The first read-out address is a near address to the value corresponding to desired variations in a lower direction and the read-out address is scanned sequentially in the same distance to the distance between said selected variations in every direction of the variations, in order to obtain the volume dependent on the memorized values of the selected variations near to the desired variations.



Inventors:
SASAYAMA T
Application Number:
05/334401
Publication Date:
11/05/1974
Filing Date:
02/21/1973
Assignee:
HITACHI LTD,JA
Primary Class:
International Classes:
F02D41/24; F02D41/34; F02P5/15; G05B11/36; G06F17/17; (IPC1-7): G06F1/02
Field of Search:
235/152,150
View Patent Images:
US Patent References:
3689755ENGINE CONTROL SYSTEMS1972-09-05Hodgson et al.
3689753ENGINE CONTROL SYSTEMS1972-09-05Williams et al.
3676655DIGITAL FUNCTION GENERATOR FOR TWO INDEPENDENT VARIABLES WITH INTERPOLATION1972-07-11Ancona
3483364ELECTRICAL 3D CAM1969-12-09Leeson
3110802Electrical function generators1963-11-12Ingham et al.



Primary Examiner:
Morrison, Malcolm A.
Assistant Examiner:
Gottman, James F.
Attorney, Agent or Firm:
Craig & Antonelli
Claims:
What is claimed is

1. A computing device for interpolation of values comprising digital memory means for memorizing data corresponding to selected values (x1, x2, - - - xn, y1, y2, - - - yn) of variations of the values (x, y), address control means connected to said digital memory means for reading out needed data from said memory means, input means connected to said address control means for setting certain values of said variations of (x, y) into said address control means, adder circuit means connected to said memory means for accumulating said output data of said memory means, and control circuit means for controlling said input means, said address control means and said adder circuit means, whereby at first certain values along said variations being set into said address control means and then said needed data to be accumulated are read out and the read out address of said memory means is shifted continuously by operation of said address control means, wherein said address control means comprises a plurality of address counters providing counted values which define said read out address, each of said address counters providing each of said certain values of said variations (x, y) from said input means, and wherein each of said address counters has an upper counter means connected to said memory means and a lower counter means connected to said upper counter means for counting increments of (Δx1, Δx2 - - - Δxn, Δy1, Δy2 - - - Δyn) between each of said selected values (x1, x2 - - - xn, y1, y2 - - - yn) of each variation of (x, y).

2. A computing device for interpolation of values in accordance with claim 1, wherein said computing device includes second counter means for determining the shifted area of said read out address of said memory means.

3. A computing device for interpolation of values in accordance with claim 2, wherein said input means includes sensor means responsive to selected operating conditions for providing corresponding digital values representing said variations of (x, y) and gating means responsive to said control circuit means for applying said digital values to said address control means.

4. A computing device for interpolation of values in accordance with claim 3, wherein said adder circuit means includes an adder circuit connected to the output of said memory means and a register connected to the output of said adder circuit, the output of said register being connected back to the input of said adder circuit.

5. A computing device for interpolation of values comprising digital memory means for memorizing data corresponding to selected values of two kinds of variables (x, y), first counting means for selecting the read out address of said memory in response to a certain value yp of said first variable (y), second counting means for selecting the read out address of said memory in response to a second certain value xp of said second variable (x), input means for setting said first and second certain values (xp, yp) into said first and second counting means, respectively, adder means for accumulating the output of said memory, third counter means for providing a signal defining the shifted distance of the read out address along said first variable (y), fourth counter means for providing a signal defining the shifted distance of the read out address along said second variable (x), and control means for providing pulse signals for operating said input means and for shifting said read out address.

6. A computing device for interpolation of values according to claim 5, wherein said first and second counting means include upper counting means and lower counting means, respectively, said upper counting means being connected to said memory means, and said lower counting means being connected to said upper counter means for counting increments between said selected values of said variations.

7. A computing device for interpolation of values according to claim 6, including means for applying pulses for shifting said read out address to said first counting means and said third counting means from said control means and the output of said third counting means is applied to said second counting means and said fourth counting means.

8. A computing device for interpolation of values in accordance with claim 7, wherein said input means includes sensor means responsive to selected operating conditions for providing corresponding digital values representing said variables of (x, y) and gating means responsive to said control circuit means for applying said digital values to said address control means.

9. A computing device for interpolation of values according to claim 5, wherein said first and second counting means include upper and lower counting means respectively, said read out address being selected in accordance with the counting values of said upper counting means, when the advance of said lower counting means for counting increments between said selected values of the variations reaches a predetermined value, the upper counting means being advanced by a unit count.

10. A computing device for interpolation of variables comprising

11. A computing device for interpolation of variables in accordance with claim 10, wherein said address control means comprises a plurality of second counters providing counted values which define said read out address.

12. A computing device for interpolation of variables in accordance with claim 11, wherein said adder means includes an adder circuit having two inputs and summing two digital values receiving from said two input means, a register for storing the output of the adder circuit and feed means for feeding the stored digital value of the register to the first input of the adder circuit, the output data from the digital memory being applied to the second input of the adder circuit.

13. A computing device for interpolation of two kinds of variables (x, y), each of said variables being divided into a plurality of selected values (x1, x2, - - - , xn or y1, y2, - - - , yn) and each of said selected values being divided into a predetermined number of increments (x1, x2, - - - xn or y1, y2, - - - yn), said interpolation computing device comprising

14. A computing device for interpolation of variables in accordance with claim 13, wherein said computing device includes a means for determining the shifted values of each of said counting means of the address control means, whereby at first certain values of each variables from the input means being set into each of said counting means of the address control means, said counting means being shifted in synchronization with the accumulating timing of the adder means until the shifted value of the counting means reaches said determined shifted values of said shifted values determining means.

15. A computing device for interpolation of variables in accordance with claim 14, wherein said input means includes sensor means responsive to operating conditions for providing corresponding digital values representing said variables (x, y) and gating means responsive to said control means for applying said digital values to said address control means.

16. A computing device for interpolation of variables in accordance with claim 15, wherein said adder means includes an adder circuit, a register for storing the output from said adder circuit and feedback means for feeding back the output of the register to the input of the adder circuit which sums the output from the memory means and the register.

Description:
BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a computing device for interpolation and more particularly to a computing device which is suitable for determining the quantity of fuel injection or for advancing the angle of ignition of an engine.

2. Description of the Prior Art

One of our most serious ecological problems results from the emission of impurious components included in exhaust gas from a car engine, the impurious components having a baneful influence upon mankind, animals and plants. As a result, it has become an ever more urgent requirement to decrease the impurious components which are issued from the exhaust gas of the engine, for example, by developing a device which is suitable for decreasing those components.

There are various difficult problems which must be solved, in order to decrease undesirable exhaust components. One problem is to determine precisely the quantity of injection fuel or the degree of advancing of the angle of ignition to produce minimum exhaust.

A computing device for calculating the quantity of fuel injection or the advancing angle of engine ignition is needed. The conventional fuel injection control system like the conventional ignition advancing control system is of the analogue type and therefore cannot determine precisely the quantity of the fuel or the advancing angle of ignition required for efficient operation. For example, when the quantity of fuel injection is determined by the condition of the engine, the discharge characteristic of a capacitor is used as a measure and the value of the resistor forming part of the discharge circuit including the capacitor is controlled by the suction of the intake manifold so as to change the discharge time of the capacitor in response to the suction. The fuel quantity is determined in response to the discharge time. However, with this technique, the determined fuel quantity is not an accurate value which is the most suitable value to that engine condition.

Additionally, the analogue type control device, or analogue type calculating device, has a significant disadvantage. The controlled value or the calculated value is dependent upon circumferential conditions, particular temperatures, etc. For the same engine condition, the calculated value in winter is different from that in summer. Therefore, a digital type calculating device is more desirable in such cases.

In the digital type calculating device, in order to regulate the fuel quantity or the advancing ignition angle of the engine, it is required to memorize the needed data which is used for determining that quantity or the ignition angle. Namely, the memory stores the values, each value being determined by each engine condition or each value of the engine speed and the suction of the intake manifold. The engine condition is continuously measured, and the fuel quantity or the advancing angle of ignition is determined by the stored value which corresponds to that engine condition. The memory cannot memorize all values corresponding to all engine conditions and therefore the memorized value is discontinuous. The price of the memory increases in response to the volume of the memorized value. Therefore, it is necessary to develop a calculating machine for interpolation in order to decrease the cost of the device.

SUMMARY OF THE INVENTION

1. Object of the Invention

The primary object of this invention is to provide an economical computing device for interpolation of values.

Another object of this invention is to provide a computing device which is suitable for determining the quantity of fuel injection or the advance angle of ignition of the engine to produce efficient operation.

A further object of this invention is to provide a computing device for interpolation of values which is independent of circumferential temperature.

2. Statement of the Invention

The present invention includes an adder circuit for calculating the volume and an interpolation. The value of that volume corresponds to each value of the interpolation or each value of the fuel injection.

The present invention includes memory means for memorizing basic values which correspond to each engine condition or any other condition relating to the needed purpose. The value of the interpolation can be calculated by adding these basic values in a predetermined order.

Therefore, the computing device of the present invention is very simple and of low price.

If the basic values correspond to the engine condition, viz, engine speed, the suction of the intake manifold, the air temperature in the intake manifold, the recycle quantity of the exhaust gas, the calculated value corresponds to the value of the fuel injection quantity or the advancing angle of ignition. Therefore, the present invention is very suitable for a control device of a car engine or other engine.

The memory means and the adder means of the present invention are of the digital type so as to be independent of circumferential temperatures. If the memorized data is changed, it can be used for other purposes or as a controlling device of other kinds of car engines without any regulation. The controlling devices for various kinds of car engines are provided in one kind of continuous design and continuous manufacturing process.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a diagram of a surface of a group of values determined by independent variations x1, x2 - - - xn and y1, y2 - - - yn.

FIG. 2 is a partially enlarged view of desired values of independent variations of FIG. 1.

FIG. 3 is a partially enlarged view of desired values of FIG. 1 for graphical solution of an interpolation process.

FIG. 4 is a partially enlarged view of desired values of FIG. 1 for an electrical solution of an interpolation process.

FIG. 5 is a schematic block diagram of an electrical computing device for calculating an interpolation of values.

FIG. 6 is a schematic circuit diagram of an embodiment of the control circuit of the computing device of FIG. 5.

FIG. 7 is a schematic circuit diagram of another embodiment of the computing device for calculating an interpolation.

FIG. 8 is a schematic circuit diagram of another embodiment of the control circuit of the computing device of FIG. 7.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, a needed value z is a function of two independent variables x and y.

z = f(x, y) (1)

The needed value x is obtained by an experiment or an experience and has a surface as shown in FIG. 1. Setting values on the X-coordinate and the Y-coordinate, we can find the desired value z on the surface. If the x value is xp and the y value is yp, the desired value z has the value of point P. All of the values which are determined by the two independent variables x and y are found on this surface, as shown in FIG. 1, if it is assumed that all of the conditions being determined by the independent variables x and y are tested. But in practice, it is impossible to test all of the conditions. Thus, it is necessary to select basic values of the independent variables x and y with a certain distance along the X- and Y-coordinates via, x1, x2 - - - xn and y1, y2 - - - yn.

The conditions dependent upon the basic values of the independent variables x and y have been tested and only the resulting values memorized. In this case, the value of point P must be obtained by calculation, since xp and yp are not selected values.

The calculating method of the present invention is explained using FIGS. 2, 3, and 4. It is assumed that the distances between the selected values on the X- and Y-coordinate axes are δx and δy, respectively. The value of P, which is the number zpp on the Z-axis obtained by dropping a perpendicular to the Z-axis from the point P, is obtained by approximation within the plane from the values zii, zij, zji and zjj. The values zii, zij, zji and zjj are memorized by the memory.

The increment K1 of the line Lj between points zij and zjj is, as seen from FIG. 1:

K1 = (zjj - zij) /δx (2)

and the increment K2 of line Li between points zii and zji is:

K2 = (zji - zii) /δx (3)

If a line Lp is extended parallel to lines Li and Lj and passes through the point P, it is assumed that the values of points zjp and zip of the intersection of line Lp and lines between points zji and zjj and between point zii and points zij are zip and zjp, respectively.

The increment Kp of line Lp is obtained by the increments K1 and K2, as follows

Kp = K2 + (yp - yi). (K1 - K2)/δy = (1 - α)K2 + α . K1 (4)

where α = (yp - yi)/δy.

The perpendicular value zip to the Z-axis at the point zip is

zip = zii + (zij - zii)(yp - yi)/δy = zii + (zij - zii) . α = (1 - α)zii + αzij. (5)

The perpendicular value zpp to the Z-axis at the point P is

zpp = zip + Kp (xp - xi) = (1 - α)zii + αgij + {(1 - α)K2 + αK1 } (xp - xi) = (1 - α){zii + K2 (xp - xi)} + α{zij + K1 (xp - xi)} (6)

Substitution of equations 2, 3 in equation 6 yields

zpp = (1 - α) {zii + (zji - zii)/δx. (xp - xi)}+ α {zij + (zjj - zij)/δx. (xp - xi)} = (1 - α) {zii + (zji - zii). β} + α } zij + (zjj - zij). β} = (1 - α) (zii - βzii) + α (zij - β . zij) + (1 - α). β zji + α. βzjj = (1 - α) (1 - β) . zii + α (1 - β) . zij + (1 - α) . βzji + α. β. zjj (7)

where β = (xp - xi)/δx.

Since coefficients α, β are given by

α = (yp - yi)/δy (8)

β = (xp - xi)/δx, (9)

the distance (yp - yi) and the distance (xp - xi) are

yp - yi = α. δy (10)

xp - xi = β. δx (11)

It follows from equations (8), (9), (10), and (11) that

yj - yp = (1 - α)δy (12)

xj - xp = (1 - β)δx (13)

Equation (7) can be written

zpp = qii + qij + qji + qjj

where

qii = (1 - α) (1 - β). zii (14)

qij = α. (1 - β)zij (15)

qji = (1 - α). β. zji (16)

qjj = α. β. zjj (17)

The following new equations (18) to (21) are obtained by multiplying the equations (14) to (17) by a coefficient δx. δy.

Vii = δx. δy. qii = (1 - α) δy (1- β) δx . zii (18)

Vij = δx. δy qij = α . δy . (1 - β) δx. zij (19)

Vji = δx. δy. qji = (1 - α) δy. β. δx. zji (20)

Vjj = δ x. δy. qjj = α. δy. βδx. zjj (21)

Referring to FIG. 3, the equations (18) to (21) represent volumes Vii, Vij, Vji, Vjj.

Namely, the volume Vii is obtained by multiplying an area defined by points (xp, yp), (xp, yj), (xj, yp) and (xj, yj) by the value zii of point (xi, yi); the volume Vij is obtained by multiplying an area defined by point (xp, yj), (xj, yj), A5 and A6 by the value of point (xi, yj); the volume Vji is obtained by multiplying an area defined by points (xj, yp), (A2, A3), (xj, yj) by the value of point (xj, yi); and the volume Vjj is obtained by multiplying an area defined by point (xj, yj), A3, A4 and A5 by the value of point (xj, yj).

Equation (7) is given by the total of the volumes Vii, Vij, Vji and Vjj. But in reality, the equation (7) is given by the value which is obtained by dividing the total of the volumes by the area defined by δx. δy. Since the certain area δx. δy is multiplied by any point as a coefficient, the coefficient is taken into account by regulating the memorized value. The calculating method of the total of the volumes is determined in an electrical way.

Referring to FIG. 4, the values of points (xi, yi), (xi, yj), (xj, yi), (xj, yj) are memorized in a memory means. Namely, the selected values of independent variations x1, x2 - - - xn and y1, y2, - - - yn, correspond to the addresses of the memory means. The distance between two selected values of independent variations x and y are also divided into the many increments Δx1, Δx2 - - - Δxn and Δy1, Δy2 - - - Δyn. When the independent variations x and y are the values xp and yp, at first the value of point (xi, yi) is read out from the memory and the read out point is scanned from the first position of point p(xp, yp) to a point A4 or a point A2 through a small area defined by Δx1, Δx2, Δxn, - - - Δy1, Δy2 - - - Δyn. When the read out point is located at a small area (Δx1, Δy1), the value of point (xi, yi) is added by the adder means and when the read out point is shifted to the next small area (Δx1, Δy2), the value of point (xi, yi) is also added. When the read out point goes over the point (xp, yj), the value of the point (xi, yj) is read out and then the value of point (xi, yj) is added by the adder means. When the read out point p is located at any small area in the domain of points (xp, yp), (xp, yj), (xj, yj) and (xj, yp), the memorized value of the address corresponding to point (xi, yi) is read out; when the read out point is located at any small area in the domain of points (xp, yj), (xj, yj), A5 and A6, the memorized value of the address corresponding to point (xi, yj) is read out; when the read out point is located at any small area in the domain of points (xi, xp), A2, A3 and (xj, yj), the memorized value of the address corresponding to point (xj, yi) is read out; and when the read out point is located at any small area in the domain of points A3, A4, A5, (xj, yj), the memorized value of the address corresponding to point (xj, yj) is read out.

Referring to FIG. 5 the independent variations, for example, the rotational speed of the car engine and the suction value of an intake manifold, are converted to digital signals by sensors 1, 2 and are set in counters 10, 11 through AND gates 3, 4 and OR gates 5, 6, the operation of said AND gates 3, 4 is controlled by signals from a terminal T1 of a control circuit 7.

The independent variations (xp, yp) being set into said counters 10, 11 designate point (xp, yp) of FIG. 4. The counters 10 and 11 consist of an upper counter and a lower counter. The outputs of the upper counters are used for selecting an address of a memory 12 having two selecting input terminals T10 and T11. The lower outputs of counters 10 and 11 count a small divided increment Δx1, Δx2 - - - Δxn, Δy1, Δy2 - - - Δyn between the selected variation x1, x2 - - - xn, y1, y2 - - - yn. Therefore, the address corresponding to point (xi, yi) is selected by the upper counters of counters 10 and 11. The output terminal T2 of the control circuit 7 starts the transfer of pulses into a counter 8 and input terminal T5 of counter 11. When a scanning (read out) point is located at (xp, yp), the memorized value zii corresponding to point (xi, yi) is read out into register 13 from the memory 12.

The value zii of the point (xi, yi) is applied to a terminal T14 of an adder circuit 14 and the value of a register 15 is also applied to a terminal 15 of the adder circuit 14. At first the value of the register 15 is zero, the value zii of the point (xi, yi) is stored in the register 15 as the output of the adder circuit 14. The counters 8 and 11 are advanced one count by the pulse from the terminal T2 of the control circuit 7, so that the scanning (read out) point is advanced to point (xp, y1). The read out address of the memory is not changed because the upper counters connected to the address inputs T10 and T11 of the memory are not advanced. The same value zii of the point (xi, yi) is read out for adding with the value in the register 15. The resulting value calculated by adder circuit 14 is stored in the register as a new value. When the scanning (read out) point is moved to a point (xp, Δy6), the upper counter of the counter 11 is advanced one count by the output of the lower counter of the counter 11. As a result, the memorized value zij of the point (xi, yj) is read out from the memory 12 to register 13. The value zij of the register 13 is added with the value of the register 15 and then stored in the register 15 as a new value. When the scanning (read out) point reaches a point (xp, Δyn), the counter 8 counts a full count and then it is reset and counters 9 and 10 are advanced one count. Since an output from a terminal T4 of a counter 9 also is applied to the terminal T6 of the counter 11, the counter 11 abates one count by one pulse from the control circuit 7. When the scanning point is located between the points (Δx1, Δyn), (Δx1, yp), the counter abates the count by pulses from the control circuit, since the output from the terminal T4 is applied to the terminal T6 of the counter 11. When the scanning point reaches point (Δx1, Δ y6) from the point (Δx1, Δyn), the count of the upper counter of counter 11 is abated one count, and after that the address of (xi, yi) is read out. When the scanning point reaches point (Δx1, yp), the counter 8 counts a full count and then the counters 9 and 10 are advanced one count. As a result, the output from the terminal T4 of the counter 9 is stopped, so that the counter 11 advances again.

When the scanning point reaches the point A5, (xj, Δyn), the upper counter of the counter 10 is advanced one count, by the next pulse from the counter 8, because the lower counter of the counter 10 is at a full count. The address of the x side is advanced one count, whereby the address corresponding to the point (xj, yj) is read out. In this way the scanning point reaches the point A4 and the volume indicated by the total of equations (18) to (21) is calculated.

The comparator 16 and the register 17 are shown as an auxiliary circuit. Namely, if the output of this computing device indicates the advancing angle, an instantaneous position of an engine piston is set into the register instantaneously. When the value in the register coincides with the value of the register 15, the comparator 16 derives an output, by which the ignition is triggered. A counter can be used instead of the register 17 in order to obtain the instantaneous position of the piston by counting pulses generated in response to the position of the piston.

If the output of this computing device indicates a quantity of injection fuel, the instantaneous injecting quantity of the fuel is obtained by counting pulses, the generation of said pulses being started by opening the fuel injection valve. The output of the comparator is caused by coincidence of the value of the counter or register 17 and applied to a control device for the fuel injection valve so that the fuel injection is stopped.

The control circuit 7 is shown in FIG. 6 in detail. A pulse is applied to a terminal ST1 or ST2 by another circuit or an operator for setting a flip-flop FF1.

The output of flip-flop FF1 is used for clearing the counters 8, 9, 10 and 11 and the registers 13 and 15. Next pulse from an oscillator 70 sets a flip-flop FF3 whereby the pulses from the oscillator 70 are applied to the counter 8 and the OR gate 6 until the output from the counter 9 is applied to an input of an AND gate 69 through the terminal T3.

Digital signals are set into counters 10 or 10' and 11 in FIG. 7 from sensors 1 or 1' and 2, respectively. When an output from the terminal T20 of the control circuit 7 is transmitted to AND gates 3 and 3', the AND gate 3 is opened by a pulse from a terminal T1 of the control circuit 7, while the output of the terminal T20 is in the off stage, the AND gate 3' is opened by output from the terminal T1. Assume that the output of the terminal T22 is continuously transmitted. The digital signals are set in the counters 10 and 11 respectively through the AND gates 3 and 4 and OR gates 5 and 6. Pulses for shifting the scanning point are applied to the counter 10 and a counter 8 from a terminal T2 of the control circuit 7.

In the way explained above in connection with FIG. 5, the value of the address determined by the counting values of counters 10 and 11 is transmitted to the input terminal of the adder 14 from the memory 12 through the register 13 in order to add to the value in the register 15. Namely, the adder circuit 14 accumulates the output data from the memory 12 in response to the signal of the control circuit 7. When the counter 9 is advanced to a full count, the desired calculation is completed and the calculated value is stored in the register 15. The comparators 16 and 16' and registers 17 and 17' operate in the same way as shown in FIG. 5. Counters can be also used instead of the registers 17 and 17'.

In the computing device of FIG. 7, it is assumed that the sensor 1 measures the suction of the intake manifold of the engine, the sensor 1' measures the throttle opening of the engine and the sensor 2 measures the rotating speed of the engine. At first the injecting fuel quantity is calculated from the measured values of sensor 1 and sensor 2. In the next cycle, the advancing angle is calculated from the measured values of sensor 1' and sensor 2.

FIG. 8 shows an embodiment of the control circuit of FIG. 1. A pulse is applied to a terminal ST1 or ST2 and a flip-flop FF1 is set. The output of the flip-flop FF1 is transmitted to set flip-flops FF4 and FF2 and to clear the counters 8, 9, 10, 10' and 11 and the registers 13 and 15. The output of flip-flop FF4 is transmitted to the AND gates 3, 3', 20 and 20'. The output of the flip-flop FF2 is transmitted to the AND gates 3, 3', and 4 through a terminal T1. The pulses of the oscillator 70 are derived from a terminal T2 of an AND gate 69 by setting a flip-flop FF3. The AND gate 69 is closed by the output from the counter 9 of FIG. 7.

The foregoing disclosure relates to the interpolation of two independent variations. If the independent variations are three or four, at first, the interpolation is caused between two independent variations of these variations in the above explained way, and the interpolation is caused between the resultant value and next variations. The desired result is obtained by repeat of this operation.