[0001] This invention relates to an internal combustion engine equipped with a torque controller.
[0002] In the field of internal combustion engine, there has been known that the varying
cylinder interior pressure due to compression of intake mixture and expansion of combustion
gas and the varying connecting rod angle with the crankshaft cause a variation in
"gas torque", and the varying rotational inertia force causes a variation in the inertia
torque. Such torque variations propagated to various devices driven by the engine
create torsional vibrations on these devices, resulting in a degraded performance
or a damage to the devices, and therefore the torque variation of the engine must
be reduced sufficiently. The torque variation has a reaction which is propagated through
the cylinder block to the engine supporting member, which then vibrates to create
an increased noise, and therefore such a reactional vibration must also be reduced.
[0003] There has been a proposal for coping with this problem, as described in JP-A-58-185937
in which a counter torque is produced on the crankshaft synchronously at an increase
in the torque variation derived from the internal combustion engine. A similar proposal,
involving a counter torque (reversal torque) is disclosed in JP-A-58-185940 (Patents
Abstracts of Japan, Vol 8, No 28 (M-274)(1465).
[0004] However, the conventional technique has encountered the following difficulty in producing
a counter load torque in close synchronism with the varying torque produced by the
internal combustion engine. Namely, an extremely high-speed operation is required
for a series of processes for detecting a quick varying torque, calculating the value
of the counter load torque which cancels the detected torque variation and causing
the load torque to vary by some means, and it has been difficult for the existing
control technique to implement the above-mentioned tight operation.
[0005] JP-A-59-158331 (Patents Abstracts of Japan, Vol 9, No 7 (M-350)(1730)) discloses
an arrangement in which a crank angle signal is obtained from a crank angle sensor
sensing the angle of the crankshaft of an engine. Torque is then controlled on the
basis of that crank angle signal. This document corresponds to the pre-characterising
part of claim 1.
[0006] The present invention seeks to provide an internal combustion engine equipped with
a load torque controller which may substantially prevent the occurrence of vibration
caused by the torque variation of the internal combustion engine.
[0007] In order to achieve the above objective, the inventive internal combustion engine
has a main power transmission system and an auxiliary machinery drive transmission
system which absorbs a load torque, said engine being equipped with a load torque
controller, wherein the controller is arranged to operate so that a differential torque,
which is the difference between an instantaneous torque produced by said engine and
an average torque obtained from at least one previous engine cycle, is determined
to provide differential torque information as a rotational speed variation in each
engine cycle, said differential torque information being obtained as the difference
(△Vx) between an instantaneous rotational speed (Vx) at each crank angle and an average
rotational speed (Vx) over said at least one previous engine cycle, and said load
torque is controlled to render said differential torque to zero.
[0008] As an example of the torque variation curve of internal combustion engines, Fig.
12 of the accompanying drawings shows the gas torque variation of one cylinder of
a Diesel engine. The 4 stroke cycle engine operates in the four strokes of suction,
compression, expansion and exhaust in 720° (two revolutions) in terms of the crank
angle (from now on we term this cycle an "engine cycle"), and there arises an extremely
great torque variation in expansion stroke especially immediately after ignition due
to the combustion gas pressure. For a 4-cylinder engine, the same gas torque variation
occurring four times in one engine cycle 180° of crankshaft apart each other. Therefore,
the resultant gas torque has a fundamental period of 180° in crankshaft angle. This
is added by the inertia torque variation caused by the variation in the rotational
inertia force to form a varying torque produced by an actual engine.
[0009] The output torque of the internal combustion engine varies sharply and in a complicated
manner depending on the crank angle, and therefore it is difficult to vary the absorptive
load torque for the auxiliary machinery in response to the varying engine torque on
a real-time basis. Seen from another viewpoint, when the engine runs at a constant
speed, the difference between the varying torque and the load torque absorbed by the
auxiliary machinary and the like (i.e., differential torque) is reflected by the rotational
speed variation on the crankshaft. Namely, an increasing torque causes the rotational
speed to rise, while a decreasing torque causes the speed to fall. Accordingly, by
sensing the crankshaft speed variation by some means and controlling the load torque
so that the speed variation diminishes, the differential torque is virtually eliminated
and consequently the vibratory noise created by the engine supporting members caused
by the reaction of torsional vibration induced by the engine torque variation will
be resolved. This idea is embodied in the following manner.
[0010] In an internal combustion engine having a main power transmission system and an auxiliary
machinary drive transmission system, the rotational speed variation on the crankshaft
caused by the engine torque variation is detected, the load torque to be absorbed
by the auxiliary machinary for nullifying the speed variation is calculated for each
crank angle, and the load torque control is implemented on the basis of the calculated
control value after one engine cycle (two crankshaft revolutions for a 4-cycle engine).
In case the auxiliary machinary is an electric power generator (a.c. generator), the
absorptive load torque can be controlled by changing the generator output current
(load current). Since the change in the torque variation of the internal combustion
engine is periodical, the dominant components of torque variation can be suppressed
through the load control in which speed variations in a past few engine cycles are
held and averaged for each crank angle, and more reliable control is accomplished.
For multi-cylinder engines, e.g., a 4-cycle, 4-cylinder engine, if the combustion
process is analogous torque variation will be identical among all cylinders, their
torque variation patterns will coincide with a 180° phase difference of a crank shaft,
and it becomes possible to use the overlapping patterns as a periodic variation data
for the control in the next period.
[0011] In the drawings:
Fig. 1 is a schematic diagram showing the internal combustion engine and its load
torque control circuit embodying the present invention;
Fig. 2 is a waveform diagram showing the speed signal produced by the crank angle
sensor;
Fig. 3 is a graph showing the engine speed variation evaluated from the signal shown
in Fig. 2;
Fig. 4 is a schematic diagram of the load torque control system;
Fig. 5 is a schematic diagram of the load torque control unit in Fig. 4;
Fig. 6 is a waveform diagram showing the chopper signal used for the load current
control;
Fig. 7 is a flowchart showing the control operation of the torque control system;
Fig. 8 is a block diagram of the digital filter employed when averaged speed data
is used;
Fig. 9 is a schematic diagram showing the second embodiment of this invention;
Fig. 10 is a schematic diagram showing the third embodiment of this invention;
Fig. 11 is a schematic diagram showing the fourth embodiment of this invention; and
Fig. 12 is a graph showing an example of gas torque variation in an internal combustion
engine.
[0012] Fig. 1 shows a first embodiment of this invention, in which an internal combustion
engine 1 includes an engine unit 2, a distributor 3 incorporating a crank angle sensor,
and an a.c. generator (ACG) 5 which is an auxiliary machinary fixed on the engine
unit 2 and is driven by the engine unit 2 through an V-shaped belt and crank pulleys
4. The crank angle sensor serves as a means for detecting the varying torque of the
engine 1 by detecting the speed variation of the engine 1, and its output pulses are
received by a microcomputer 6 which calculates the instantaneous engine speed variation
and evaluates the load current of the generator 5 for minimizing the speed variation.
After each engine cycle, the microcomputer 6 issues a command to a load torque control
unit 7 which adjusts the load current of the generator 5 in response to the command.
These components in combination constitute an engine load torque control system.
[0013] Fig. 2 shows the pulse signal produced by the crank angle sensor. The sensor output
signal has its pulse width varied as shown by the fluctuation of the rotational speed
of the crankshaft. The microcomputer 6 operates on its timer 6a to measure the pulse
width of the varying sensor output signal, calculates the instantaneous rotational
speed by reciprocating the pulse width, and calculates the average engine speed for
the period of engine cycle by counting sensor output pulses using a counter incorporated
in the timer 6a. The difference between the instantaneous speed and average speed
is calculated to evaluate the instantaneous speed variation. (See Fig. 3.)
[0014] Fig. 4 shows a specific arrangement of the control circuit, the figure being intended
to explain in more detail the qualities of the first embodiment. The a.c. generator
(ACG) 5 consists of a stator winding 5a which produces a.c. power (3-phase output
in this embodiment), a rotor winding 5b which supplies a magnetic field, a rectifier
5c made up of a diode bridge for rectifying the a.c. power to d.c. power, and an automatic
voltage regulator (AVR) 5d which controls the d.c. output to a constant voltage. Rotation
of the ACG rotor causes the rotor winding 5b to produce a rotational magnetic field,
and a current induced on the stator winding 5a is fed through the rectifier 5c and
supplied to the electric load 8 including an ignition coil and lamps etc. and to a
battery 9. If the load is constant, the torque variation of the engine 1 is reflected
by the crankshaft speed variation, which is detected by the crank angle sensor 10.
The frequency of sensor output pulses is reduced to meet the minimum requirement for
control by a frequency divider 11, and the pulses are fed to the microcomputer 6.
The microcomputer 6 produces a command signal in the manner mentioned previously,
and it is fed through a D/A converter 12 to the load torque control unit 7. The load
torque control unit 7 has a driver 16, which turns on or off a MOS switch 13 connected
in parallel to the load 8 and battery 9. A turn-on MOS switch 13 provides a by-pass
of the load, resulting in an increased current flowing in the power circuit. Accordingly,
by operating the driver 16 in pulse width modulation (PWM) mode or the like so as
to change the duty cycle of the MOS switch 13, the load current of the generator can
be controlled. Namely, the MOS switch 13 is given a duty cycle with a longer on-period
so as to increase the load current and thus to increase the load torque in response
to an increase in the engine speed, while a duty cycle with a shorter on-period is
given so as to decrease the load current and thus to decrease the load torque, thereby
counteracting the engine speed variation.
[0015] Fig. 5 shows in detail the load torque control unit 7 and its periphery. A resistor
17 having a small resistance Rs is inserted in the power circuit so that the load
current iL is detected as a voltage drop across the resistor 17. An amplifier 14 processes
the voltage drop signal to produce a current signal ViL, and it is given to an automatic
current regulator (ACR) 15. The ACR 15 forms a feedback loop for the entire power
circuit so that the detected current value ViL is made equal to the current command
value ViS issued by the microcomputer 6. A chopper circuit 18 receives the output
of the ACR and the output of a triangular wave generator 19 to operate the MOS switch
13 in PWM mode so that the load current iL is equal to the command of the microcomputer
6. (See Fig. 6.)
[0016] Fig. 7 shows in flowchart the operation of the foregoing control circuit. In the
initial step 110, the microcomputer 6 receives a k-th pulse at a certain crank angle
out of N pulses per engine cycle, measures the pulse interval tx(k) from the k-1 th
pulse, calculates the rotational speed Vx(k) from the tx(k) at this crank angle, and
calculates the average speed Vx in the past engine cycle by counting the k-N th to
k-1 th pulses. A differential speed ΔVx(k)=Vx(k)-Vx is calculated in step 120.
[0017] The subsequent step 130 tests the polarity of the differential speed ΔVx(k), and
if ΔVx(k) < 0, i.e., the instantaneous speed Vx(k) is lower than the average speed
Vx, the following step 132 issues a load current command i
S(k)=i
L(k)-Δi
L(k) so as to reduce the load current i
L(k); if ΔVx(k) > 0 , i.e., the instantaneous speed Vx(k) is higher than the average speed
Vx, the following step 134 issues a load current command i
S(k)=i
L(k)+Δi
L(k) so as to increase the load current; and if the instantaneous speed Vx(k) is equal
to the average speed Vx, the load current is kept unchanged.
[0018] In the next step 140, the load current command i
S at the k-th crank angle is memorized, the pulse count is incremented to k+1 in step
150, and the sequence returns to the beginning.
[0019] At every k-th step in all engine cycles, the previously memorized load current command
at the respective k-th crank angle is fed to the driver 16 to control the duty cycle
of the MOS switch 13, and the ACG load current is controlled. This procedure is shown
in step 160.
[0020] Fig. 8 shows the determination of the control value from speed variation information
which is in this case based on speed data collected in a past few engine cycles and
averaged. The weighted moving average for a differential speed Δvx(k) at a crank angle
k is calculated for a past few engine cycles as follows.

The above averaging process is accomplished using a linear non-cyclic digital filter
as shown in Fig. 8. The filter receiving input data ΔVx(k) consists of multipliers
50, 1-cycle delay elements 51 and an adder 52. With weighting factors ai being set
as: a1=a2= ... =an=1/N, the equation (1) provides a simple mean value.
[0021] Since the speed variation of the crankshaft is periodical, the above averaging process
minimizes the tendency of control instability even at the occurrence of an incident
varying component and ensures the control of the dominant components of torque variation,
whereby reliable control is achieved.
[0022] Fig. 9 shows a second embodiment of this invention. This embodiment is intended to
diminish the speed variation of the crankshaft by controlling the field current of
the rotor winding, in contrast to the first embodiment of Fig. 4 where the generator
load current is controlled. Namely, an increase in the field current results in a
rising generator output voltage, and the generator 5 requires an increased drive torque.
The microcomputer 6 calculates the necessary load torque from speed variation information
of the previous engine cycle provided by the crank angle sensor 10, and the field
current of the rotor winding 5b is controlled in accordance with the load current
command. A conceivable control scheme is shown in Fig. 9, in which the field current
flowing in the rotor winding 5b is detected and controlled by a field current regulator
(ACR) 30 so that it is equal to the command of the microcomputer 6, with the output
of the ACR 3 being fed through a driver 31 to the base of an emitter-grounded transistor
32 so that it is operated in switching mode. The on-state of the transistor 32 allows
a field current to flow through the rotor winding 5b, while the off-state shuts off
the field current. By changing the duty cycle of the transistor operation, the generator
field current is controlled. A diode 33 is used as a feedback diode to feed a current
caused by an excessive voltage back to the power source, and a diode 34 is to protect
the electric load 8 from the fluctuation of the generator output voltage caused by
the field current control.
[0023] Fig. 10 shows a third embodiment of this invention, in which the internal combustion
engine 1 is provided as a varying torque sensing means with a pair of acceleration
pickups 20 and 21 which detect the vertical vibration of the engine unit 2 by being
mounted at positions in the same distance from the crankshaft on the horizontal line
passing through the crankshaft center. The pickups 20 and 21 have their output signals
amplified by respective pre-amplifiers 22 and 23, and then the difference of the signals
is amplified by a differential amplifier 24. This process cancels the vertical vibration
components of the pickup outputs, and extracts a rotational vibration component. The
rotational vibration signal is processed by the microcomputer 6, which operates on
the a.c. generator 5 in the same manner as of the first embodiment, and the torque
variation and vibration of the engine unit 2 is alleviated.
[0024] Fig. 11 shows the fourth embodiment of this invention, in which the internal combustion
engine 1 is provided as a varying torque sensing means with at least two piezoelectric
load sensors 25 and 26 fitted between the engine mount (not shown) and fixtures 2a
of the engine unit 2 and in positions symmetrical with respect to the crankshaft center.
The load sensors 25 and 26 have their output signals processed by pre-amplifiers 22
and 23, and only a component proportional to the varying torque is extracted by a
differential amplifier 24, as in the case of the third embodiment, and it is used
by the microcomputer 6 for controlling the field current of the a.c. generator 5.
[0025] The locations of the acceleration pickups 20 and 21 in the third embodiment and the
load sensors 25 and 26 in the fourth embodiment are not confined to symmetrical positions
on the crankshaft center line, but their locations can be chosen arbitrarily in unison
with the selection of amplification of the pre-amplifiers 22 and 23.
[0026] When the inventive internal combustion engine is applied to the automobile engine,
it becomes possible to prevent the instability of maneuvability and lack of ride comfort
which are caused by a torsional vibration such as "surge" or "stumble" by which the
vehicle speed varies abruptly, and also reduce the interior noise which is caused
by the vibration of the whole vehicle derived from the engine through the engine mount.
1. An internal combustion engine (1) having a main power transmission system and an auxiliary
machinery drive transmission system which absorbs a load torque, said engine (1) being
equipped with a load torque controller (6,7);
characterised in that:
the controller (6,7) is arranged to operate so that a differential torque, which
is the difference between an instantaneous torque produced by said engine (1) and
an average torque obtained from at least one previous engine cycle, is determined
to provide differential torque information as a rotational speed variation in each
engine cycle, said differential torque information being obtained as the difference
(△ Vx) between an instantaneous rotational speed (Vx) at each crank angle and an average
rotational speed (Vx) over said at least one previous engine cycle, and said load
torque is controlled to render said differential torque to zero.
2. An internal combustion engine (1) according to claim 1, wherein said average torque
is obtained from the information of a plurality of previous engine cycles.
3. An internal combustion engine (1) according to claim 1 or claim 2, wherein when said
internal combustion engine (1) is a multiple cylinder engine, the torque variation
in one engine cycle is identical among all cylinders and said torque variation of
each cylinder occurs at the interval of a constant phase, said interval is regarded
as a period of a total torque variation of all cylinders' torque variations, and said
load torque controller (6,7) operates to control the load torque of said auxiliary
machinery so as to render the differential torque to zero according to the information
of said one previous period or the information of a plurality of previous periods.
4. An internal combustion engine (1) according to any one of the preceding claims, wherein
said load torque controller (6,7) comprises a rotational speed variation sensor (20,21,25,26)
for detecting the rotational speed variation of the crankshaft, an arithmetic operation
unit (6b) which calculates a load torque control value for said auxiliary machinery
from a crankshaft speed variation imparted by said sensor (20,21,25,26), a memory
unit (6c,6d) for storing control value information calculated by said arithmetic operation
unit (6b) and a load torque control unit (7) which retrieves the information from
said memory unit and controls the load torque absorbed by said auxiliary machinery.
5. An internal combustion engine (1) according to any one of the preceding claims, wherein
said auxiliary machinery comprises an electric power generator (5), the load torque
being controlled to increase by increasing the output current of said generator or
to decrease by decreasing the output current of said generator so as to render zero
said differential torque.
6. An internal combustion engine (1) according to claim 4, wherein said rotational speed
variation sensor comprises a plurality of acceleration pickup sensors (20,21,25,26)
on a horizontal plane including the centre line of the engine crankshaft.
1. Moteur à combustion interne (1) possédant un système principal de transmission de
puissance ainsi qu'un système auxiliaire de transmission de l'entraînement de machinerie
qui absorbe un couple de charge, ledit moteur (1) étant équipé d'un contrôleur de
couple de charge (6,7), caractérisé en ce que :
le contrôleur (6,7) est disposé pour fonctionner de sorte qu'un couple différentiel,
qui est la différence entre un couple instantané produit par ledit moteur (1) et un
couple moyen obtenu d'après au moins l'un des cycles précédents du moteur, est déterminé
de manière à obtenir une information de couple différentiel sous la forme d'une variation
de vitesse de rotation dans chaque cycle du moteur, ladite information de couple différentiel
étant obtenue sous la forme d'une différence (△ Vx) entre une vitesse de rotation
instantanée (Vx) de chaque angle de vilebrequin et une vitesse de rotation moyenne
(Vx) sur au moins ledit cycle moteur précédent, et ledit couple de charge étant contrôlé
de manière à rendre ce différentiel égal à zéro.
2. Moteur à combustion interne (1) selon la revendication 1, dans lequel ledit couple
moyen est obtenu d'après l'information d'une pluralité de cycles précédents du moteur.
3. Moteur à combustion interne (1) selon la revendication 1 ou la revendication 2, dans
lequel ledit moteur à combustion interne (1) est un moteur à cylindres multiples,
la variation de couple durant l'un des cycles du moteur étant identique parmi tous
les cylindres et ladite variation de couple de chacun des cylindres survenant avec
un intervalle de phase constant, cet intervalle étant considéré comme une période
d'une variation totale de couple de la variation de couple de tous les cylindres,
et ledit contrôleur de couple de charge (6,7) fonctionnant de manière à commander
le couple de charge de la machinerie auxiliaire afin de rendre le couple différentiel
égal à zéro selon l'information de ladite période précédente ou selon l'information
d'une pluralité de périodes précédentes.
4. Moteur à combustion interne (1) selon l'une quelconque des revendications précédentes,
dans lequel le contrôleur de couple de charge (6,7) comporte un détecteur de variation
de vitesse de rotation (20,21,25,26) apte à détecter les variations de vitesse de
rotation du vilebrequin, une unité de calcul arithmétique (6b) qui calcule une valeur
de commande du couple de charge pour ladite machinerie auxiliare d'après les variations
de la vitesse du vilebrequin obtenues par ledit détecteur (20,21,25,26), une unité
à mémoire (6c, 6d) apte à emmagasiner des informations de valeurs de commande calculées
par ladite unité de calcul arithmétique (6b), ainsi qu'une unité de commande du couple
de charge (7) qui restitue les informations de l'unité de mémoire et commande le couple
de charge absorbé par ladite machinerie auxiliare.
5. Moteur à combustion interne (1) selon l'une quelconque des revendications précédentes,
dans lequel ladite machinerie auxiliaire comprend un générateur de courant électrique
(5), le couple de charge étant commandé de manière à augmenter en faisant accroître
le courant de sortie dudit générateur ou de manière à diminuer en restreignant le
courant de sortie dudit générateur, afin de rendre ledit différentiel de couple égal
à zéro.
6. Moteur à combustion interne (1) selon la revendication 4, dans lequel ledit détecteur
de variation de la vitesse de rotation comprend une pluralité de détecteurs ponctuels
d'accélération (20,21,25,26) sur un plan horizontal qui inclut la ligne centrale du
vilebrequin du moteur.
1. Verbrennungskraftmaschine (1) mit einem Hauptleistungsübertragungssystem und einem
Hilfsaggregat-Antriebsübertragungssystem, das ein Lastdrehmoment aufnimmt, wobei die
Maschine (1) mit einem Drehmomentregler (6, 7) versehen ist;
dadurch gekennzeichnet, daß:
der Regler (6, 7) derart ausgebildet ist, daß ein Differenzdrehmoment, das der
Differenz zwischen einem von der Maschine (1) erzeugten augenblicklichen Drehmoment
und einem aus mindestens einem vorhergehenden Takt erhaltenen Durchschnittsdrehmoment
entspricht, bestimmt wird um eine Differenzdrehmomentinformation als Drehzahlabweichung
bei jedem Motortakt bereitzustellen, wobei die Differenzdrehmomentinformation als
Differenz (△ Vx) zwischen einer augenblicklichen Drehzahl (Vx) bei jedem Kurbelwinkel
und einer Durchschnittsdrehzahl (Vx) über dem mindestens einen vorhergehenden Motortakt
erhalten wird, und das Lastdrehmoment derart geregelt wird, daß das Differenzdrehmoment
gegen Null geht.
2. Verbrennungskraftmaschine (1) nach Anspruch 1, wobei das Durchschnittsdrehmoment aus
den Daten einer Mehrzahl vorheriger Motortakte erhalten wird.
3. Verbrennungskraftmaschine (1) nach Anspruch 1 oder 2, wobei die Verbrennungskraftmaschine
(1) eine Mehrzylindermaschine ist, die Drehmomentabweichung während eines Motortaktes
bei allen Zylindern gleich ist und die Drehmomentabweichung jedes Zylinders in einem
Intervall Mit konstanter Phase erfolgt, wobei dieses Intervallals ein Zeitraum einer
Gesamtdrehmomentabweichung der Drehmomentabweichungen aller Zylinder angesehen wird,
und der Drehmomentregler (6, 7) das Lastdrehmoment der Hilfsaggregate so regelt, daß
das Differenzdrehmoment gemäß der Information des einen vorhergehenden Zeitraums oder
der Information einer Mehrzahl vorheriger Zeiträume gegen Null geht.
4. Verbrennungskraftmaschine (1) nach einem der vorhergehenden Ansprüche, wobei der Drehmomentregler
(6, 7) einen Drehzahlabweichungssensor (20, 21, 25, 26) für die Erfassung der Drehzahlabweichung
der Kurbelwelle, eine Recheneinheit (6b), die einen Lastdrehmoment-Regelwert für die
Hilfsaggregate aus einer vom Sensor (20, 21, 25, 26) erfaßten Kurbelwellen-Drehzahlabweichung
errechnet, eine Speichereinheit (6c, 6d) für die Speicherung einer von der Recheneinheit
(6b) errechneten Regelwertinformation und eine Lastdrehmoment-Regeleinheit (7) umfaßt,
welche die Information aus der Speichereinheit holt und das von den Hilfsaggregaten
aufgenommene Lastdrehmoment regelt.
5. Verbrennungskraftmaschine (1) nach einem der vorhergehenden Ansprüche, wobei die Hilfsaggregate
einen elektrischen Generator (5) umfassen, und das Lastdrehmoment geregelt wird, um
durch Erhöhung des Generatorausgangsstroms zuzunehmen oder durch Verminderung des
Generatorausgangsstroms abzunehmen, damit das Differenzdrehmoment gegen Null geht.
6. Verbrennungskraftmaschine (1) nach Anspruch 4, wobei der Drebzahlabweichungssensor
mehrere Beschleunigungsaufnehmer (20, 21, 25, 26) in einer horizontalen Ebene aufweist,
die die Mittellinie der Motorkurbelwelle umfaßt.