Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberWO1999039952 A1
Publication typeApplication
Application numberPCT/US1999/002338
Publication date12 Aug 1999
Filing date3 Feb 1999
Priority date4 Feb 1998
Publication numberPCT/1999/2338, PCT/US/1999/002338, PCT/US/1999/02338, PCT/US/99/002338, PCT/US/99/02338, PCT/US1999/002338, PCT/US1999/02338, PCT/US1999002338, PCT/US199902338, PCT/US99/002338, PCT/US99/02338, PCT/US99002338, PCT/US9902338, WO 1999/039952 A1, WO 1999039952 A1, WO 1999039952A1, WO 9939952 A1, WO 9939952A1, WO-A1-1999039952, WO-A1-9939952, WO1999/039952A1, WO1999039952 A1, WO1999039952A1, WO9939952 A1, WO9939952A1
InventorsLawrence W. Hill, Henry J. Szmyt, Frederick Williams Sarles
ApplicantDbi Corporation
Export CitationBiBTeX, EndNote, RefMan
External Links: Patentscope, Espacenet
Electronic control for trailer brakes
WO 1999039952 A1
Abstract
A control circuit (12) for trailer brakes (14) is provided which includes a force sensor (54) on the trailer hitch (38) to monitor and control braking force, and which results in improved control of the towing vehicle (42) and reduced wear on the trailer brakes (14). Closed loop feedback control logic in the control circuit monitors the force exerted by the trailer (40) on the hitch. The feedback control logic governs the application of the trailer brakes (14) to maintain a braking force such that a consistent, predictable force is exerted by the trailer on the towing vehicle through the hitch during braking.
Claims  (OCR text may contain errors)
- 32 -CLAIMS
1. A trailer brake control circuit adapted to control trailer brakes on a trailer which is articulated to a towing vehicle through a hitch comprising: at least one force sensor integrated in said hitch and adapted to sense force applied to said hitch in a direction substantially parallel to the direction of movement of said trailer; a force sensor amplifier circuit connected to said at least one force sensor and adapted to produce a shear force signal indicative of said force applied; control logic connected to said force sensor amplifier circuit and to said trailer brakes, and adapted to receive said shear force signal and produce a braking control signal indicative of a braking force to be exerted on said brakes, wherein said braking force exerted is such that said force applied to said hitch remains in a predetermined range.
2. The trailer brake control circuit of claim 1 wherein said at least one force sensor is unaffected by the component of said force applied which deviates from said substantially parallel direction.
3. The trailer brake control circuit of claim 2 wherein said at least one force sensor comprises at least one strain gauge oriented to sense force along said substantially parallel direction.
4. The trailer brake control circuit of claim 3 wherein said at least one force sensor is integrated with said hitch at a location which is isolated from impact.
5. The trailer brake control circuit of claim 4 wherein said at least one force sensor is integrated with said hitch in a location which is mechanically noninterfering with a receptacle adapted to secure said hitch. - 33 -
6. The trailer brake control circuit of c]_aim 5 wherein said hitch further comprises a shear zone wherein said shear zone is subjected to mechanical deformation in response to said force applied and wherein said shear zone is mechanically noncommunicative with said receptacle.
7. The trailer brake control circuit of claim 1 wherein said force applied is a shear force and said at least one force sensor is a strain gauge sensor.
8. The trailer brake control circuit of claim 7 wherein said strain gauge sensor is a full bridge sensor.
9. The trailer brake control circuit of claim 7 wherein said strain gauge sensor is a half bridge sensor.
10. The trailer brake control circuit of claim 1 wherein said control logic is further adapted to receive a manual override signal, wherein said manual override signal is indicative of a continuously variable increase in the amount of said braking force to be exerted.
11. The trailer brake control circuit of claim 10 wherein said manual override signal is produced from a pressure sensitive element activated by selective manual input.
12. The trailer brake control circuit of claim 11 wherein said manual override signal is further indicative of a plurality of discrete thresholds indicative of the amount of said braking force to be exerted.
13. The trailer brake control circuit of claim 1 wherein said at least one force sensor is located on a circumferential surface of said hitch at a point tangent to said substantially parallel direction. - 34 -
14. The trailer brake control circuit of claim 1 wherein said hitch further comprises a central axis and a hollow bore therethrough, wherein said at least one force sensor is located on an interior surface of said hollow bore.
15. The trailer brake control circuit of claim 1 wherein said control logic determines said braking force to be exerted from said shear force signal.
16. The trailer brake control circuit of claim 15 wherein said control logic further comprises a closed loop feedback signal wherein said control logic determines braking force to be exerted by computing proportional integral differential equations based on a closed loop feedback signal.
17. The trailer brake control circuit of claim 1 wherein said control logic stabilizes said braking force exerted at a constant level when said shear force signal remains unchanged for a predetermined period.
18. The trailer brake control circuit of claim 1 wherein said braking force exerted and said shear force signal are each modified by remotely input predetermined gains.
19. The trailer brake control circuit of claim 18 wherein said remotely input predetermined gains are adapted for transmission along a single conductive member having unpredictable and noisy signal propagation properties.
20. The trailer brake control circuit of claim 19 wherein a diagnostic signal indicative of said braking force exerted and said shear force signal are adapted for remote transmission across a single conductive member having unpredictable and noisy signal propagation properties.
21. A trailer brake control circuit comprising: - 35 - at least one force sensor integrated in said hitch and adapted to sense forward and backward force applied to said hitch; a force sensor amplifier circuit connected to said at least one force sensor and adapted to produce a shear force signal indicative of said force applied; control logic connected to said force sensor amplifier circuit and to said trailer brakes, and adapted to receive said shear force signal and produces a braking control signal indicative of a braking force to be exerted, wherein said braking force is such that said force applied to said hitch remains in a predetermined range .
22. A pressure sensitive sensor mounted on a steering wheel of a vehicle and adapted for manual operation comprising: a sensing surface responsive to pressure and adapted to provide a continuously variable signal proportional to said pressure applied thereto; a signal path operable to transmit said continuously variable signal; a control circuit adapted to receive said continuously variable signal and provide a control signal in response thereto, wherein said control signal is indicative of a point along a continuum, said continuum representative of the range of said continuously variable signal.
23. The pressure sensitive sensor of claim 22 wherein said pressure sensitive element comprises a resistive film.
24. The pressure sensitive sensor of claim 22 wherein said pressure sensitive element comprises a resistive semiconductor .
25. The trailer brake control circuit of claim 11 wherein said pressure sensitive element comprises a resistive film. - 36 -
26. The trailer brake control circuit of claim 11 wherein said pressure sensitive element comprises a resistive semiconductor .
27. The trailer brake control circuit of claim 1 wherein said control logic further comprises a setpoint indicative of a predetermined magnitude of said force applied.
28. The trailer brake control circuit of claim 1 wherein said control logic further comprises a deadband indicative of a range of said force applied wherein said braking control signal is produced such that said braking force is not exerted.
29. The trailer brake control circuit of claim 1 wherein said control logic further comprises a plurality of gains wherein each of said plurality of gains is indicative of a discrete magnitude of said braking force to be exerted.
30. The trailer brake control circuit of claim 27 wherein said control logic further comprises a deadband indicative of a range of tolerance around said setpoint wherein said braking control signal is produced such that said braking force is not exerted.
31. The trailer brake control circuit of claim 1 wherein said predetermined range of applied force comprises a substantially constant value.
Description  (OCR text may contain errors)

TITLE OF THE INVENTION Electronic Control for Trailer Brakes

CROSS REFERENCE TO RELATED APPLICATIONS This application claims priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application No. 60/073,627, filed February 4, 1998, entitled Electronic Control for Automotive Trailer Brakes.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR

DEVELOPMENT Not Applicable.

BACKGROUND OF THE INVENTION Trailers for automotive vehicles often employ trailer brakes to provide adequate braking resources for both the trailer and the towing vehicle. Such trailer brakes are typically connected to the brake light circuit of the towing vehicle. As the brake light circuit is activated by a switch which is closed when the brake pedal is depressed, the trailer brakes are activated upon application of the towing vehicle brakes.

Since such trailer brakes are merely switched on and off by the brake light circuit, the resultant braking force is not proportional to the brake pedal travel distance, unlike the brakes on the towing vehicle. While trailer brake systems often incorporate a manual control to vary braking force, such a control is not immediately adaptive to different braking situations. The result often is that the braking force of the trailer is uneven from the braking force of the towing vehicle, as the trailer brakes are either excessively or insufficiently applied. -2 -

As such vehicles are typically connected in a pivotal manner through either a fifth-wheel hitch or a ball-and- socket hitch, uneven braking force is transferred to the towing vehicle through the hitch. As a result, handling of the towing vehicle is compromised, as the trailer tends to drag or push the towing vehicle. Also, excessive trailer braking force causes additional wear on the trailer brakes as the trailer brakes bear a portion of the braking load of the towing vehicle. Many trailers, such as horse, livestock, utility, heavy equipment, house trailers and fifth-wheel trailers over certain weight limits are federally mandated to contain brakes on their wheels to facilitate stopping. It is quite common for such trailers to be three or four times the weight of the tow vehicle, and without additional brakes the safety of such towing rig combinations would be seriously compromised.

Previous methods and apparatus used to control such trailer brakes include Snyder (U.S. patent No. 4,196,936), which suggests a pendulum-like inertial sensor connected to an oscillator, and Pittet, Jr. et al . (U.S. patent No. 3,953,084), which suggests a pendulum selectively shielding an optical light sensor. Such mechanical pendulum systems, however, typically impose a time lag to allow such a system to sense and respond. This time lag does not lend itself well to a dynamic braking situation requiring immediate system response. Other systems which have been used to control trailer brakes are disclosed by McGrath et al . , (U.S. patent Nos. 5,620,236 and 5,615,930). McGrath, however, senses force on the brakes themselves, not the force on the hitch, and further does not use closed loop control. Milner (U.S. patent No. 5,286,094) suggests a compression sensing transducer attached to opposed sides of a drawbeam. The Milner system, however, is directed to compression sensing, not shear force sensing, and further controls a fluid based braking system, not an electrically powered braking system. Brearley, et al . (U.S. patent No. 5,080,445) suggests a pneumatic sensor on the trailer hitch, however, such pneumatic sensors are prone to mechanical fatigue and impact. These various prior art approaches, therefore, tend to rely on pendulums activating potentiometers, on Hall effect devices or light beams, and on ramping the current to the trailer brakes at some predetermined slope. Such prior art approaches are limited in that they allow only a single brake force exertion setting with some small adaptability around that setting.

What is needed is an approach whereby braking of the tow vehicle and braking of the trailer can perform as a unified system. This is accomplished in commercial 18 wheel tractor- trailers by using brake systems in each which are physically coupled, either through hydraulics or via air hose couplings. Tapping into a tow vehicle hydraulic brake line raises significant reliability issues, and designing a system to translate varying hydraulic pressure into suitable control of an electrically actuated brake represents a difficult task with questionable performance at best.

Since the tow vehicle brakes are not physically coupled to those of the trailer, unlike in an 18 wheel tractor- trailer, the problem arises in simulating this coupling to introduce true proportionality of braking forces between the towing vehicle and trailer. A further problem remains in overcoming the inequities of the brake-light activated system, which tends to result in porpoising and hitch banging under the prior art systems. It would be beneficial to provide a reliable trailer brake control circuit which overcomes the above problems and which is quickly adaptive to different braking situations such that proportional braking force is consistently exerted by the trailer brakes.

BRIEF SUMMARY OF THE INVENTION A control circuit for trailer brakes is provided which includes a force sensor on the trailer hitch to monitor and control braking force, and which results in improved control of the towing vehicle and reduced wear on the trailer brakes. Closed loop feedback control logic in the control circuit monitors the force exerted by the trailer on the hitch. The feedback control logic governs the application of the trailer brakes to maintain a braking force such that a consistent, predictable force is exerted by the trailer on the towing vehicle through the hitch during braking. Towing vehicle control is then improved because the trailer is not exerting excessive force upon the towing vehicle, and trailer brake wear is minimized because the trailer is not exerting excessive backward drag force on the towing vehicle.

In one embodiment, a strain gauge sensor is mounted on the hitch to sense forward and backward shear force exerted by the trailer on the hitch. The shear force sensed by the strain gauge is converted to a signal which is indicative of the shear force on the hitch. This signal is received by the feedback control logic, described further below, which controls the level of braking force exerted by the trailer brakes.

Feedback control logic controls the braking force exerted by the trailer brakes such that the shear force is maintained at a constant level while braking. In one embodiment, this level is such that a slight backward drag force is exerted on the towing vehicle by the trailer. In this manner, trailer brake force is maintained at a level which is proportional to the brake force of the towing vehicle. Data for the braking force requirement is derived from the strain gauge installed on the hitch by which the trailer is towed. A microprocessor in the brake control circuit processes this data via a software PID (proportional - integral -differential) loop and generates a PWM (pulse-width modulated) output to a brake solenoid amplifier circuit which in turn controls current in the brake solenoids. This braking control circuit is capable of modulating braking effort so that the towing vehicle/trailer combination feels like a single vehicle to the driver and is consequently much easier to drive than conventional systems.

Therefore, the present invention yields true proportionality with the trailer brakes being constantly modulated during stopping to maintain force equilibrium between the trailer and the towing vehicle. Furthermore, parameter coefficients within the PID loop, shown in detail in appendix A, can be modified to compensate for different vehicle and trailer characteristics. The variation of forces upon the hitch during braking are complex due to different weights of the vehicle and the trailer, different suspension actions on the vehicle and the trailer, and different wheelbases of the vehicle and the trailer. Utilization of the PID loop in the feedback control logic together with the speed of the microprocessor in reacting to force changes results in smooth braking action in a variety of braking contexts .

Also provided are a manual override to bypass the control circuit to allow independent operator control of the braking force to be exerted by the trailer brakes. Such an override can be mounted on or in the steering wheel , and activated when the driver squeezes the steering wheel, or override control, as in a panic stop situation. The control circuit also performs system diagnostics, such as brake solenoid continuity, and produces status signals indicative of system failures. Such status signals also include the current level of braking force, and are sent to a cab display unit adapted to be mounted in view of the driver.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

Fig. 1 is a block diagram of the brake control circuit as defined herein;

Fig. 2 shows a perspective view of a prior art trailer hitch and hitch box; Fig. 3 shows placement of a hitch on a trailer and towing vehicle; - 6 -

Fig. 4 shows a side view of a hitch and hitch box as defined by the present invention;

Fig. 5 shows a perspective view of the trailer hitch according to the present invention; Fig. 6a shows a side view of the hitch connecting a trailer to a towing vehicle;

Fig. 6b shows a side view of the hitch of Fig. 6a during deceleration of the towing vehicle;

Fig. 6c shows a side view of the hitch of Fig. 6a during acceleration of the towing vehicle;

Fig. 7 shows an alternative location for strain gauge placement;

Fig. 8a shows the strain gauge placement on the hitch;

Fig. 8b shows one embodiment of strain gauge orientation as defined in the present invention;

Fig. 9 shows a seven pin connecter as defined in the present invention;

Fig. 10a shows steering wheel mounted grip pressure sensors ; Fig. 10b shows one embodiment of the pressure sensors of Fig. 10a;

Fig. 10c shows an alternative embodiment of the pressure sensors of Fig. 10a;

Fig. 11 shows a front elevation of the cab display unit; Fig. 12 shows a block diagram of the schematic of the braking control circuit as defined herein;

Fig. 13 shows a schematic of the strain gauge amplifier circuit of Fig. 1;

Fig. 14 shows a schematic of the braking control module of Fig. 1;

Fig. 15 shows a schematic of the brake solenoid amplifier circuit of Fig. 1;

Fig. 16 shows a schematic of the manual override circuit of Fig. 1; Fig. 17 shows a schematic of the cab display unit circuit of Fig. 1. DETAILED DESCRIPTION OF THE INVENTION A braking control circuit in accordance with the present invention is shown in Fig. 1 and includes a braking control module 10 connected to strain gauge amplifier circuit 12 to control the trailer brakes 14 which also receives input from cab display unit 16. Strain gauge amplifier circuit 12 receives an analog shear force signal 18 indicative of forward or backward shear force on the hitch 20; the amplified strain gauge signal 22 is sent to the braking control module for A/D conversion. Braking control module 10, described further below, sends a braking control signal 24 to the brake solenoid amplifier circuit 25 to apply the trailer brakes 14. Further, cab display unit 16 transmits and receives diagnostic and control information over cab data link 26. Manual override 28 transmits signals from steering wheel grip sensors 30 mounted on the steering wheel 32 to increase braking force. Keypad 34 is used for operator input of sensitivity and gain control, described further below, to adjust braking force. A visual display 36 informs the operator of system activation and diagnostics.

As shown in Figs. 2 and 3, typical prior art hitch arrangements attach a trailer 40 to a towing vehicle 42 through a hitch 38 inserted into a receptacle 58 in the fifth wheel 46, which is designed to pivotally mate with hitch 38. The fifth wheel 46 is secured to the towing vehicle 42, as shown in Fig. 2, and the hitch 38 is welded to a hitch box 44 which is on the forward underside of the trailer 40.

By attaching the trailer and towing vehicle in this manner, any difference in braking force between the towing vehicle and the trailer causes a corresponding shear force on the hitch. This shear force bearing on the hitch causes subtle mechanical deformations of the hitch through strain, resulting in surface variations which can be detected through micromechanical sensors such as strain gauges. Strain gauges can convert such small mechanical deformations into an - 8 - electrical signal by measuring resistance in a wire or semiconductor attached to the surface so deformed.

The braking control circuit as defined by the present invention monitors this shear force bearing on the hitch 38 to control the braking force exerted by the trailer brakes.

Specifically, a modified hitch 20, shown in Figs. 4 and 5, is elongated to include a shear zone 52.

In a first embodiment, a hitch bore cavity 68 from the top of the hitch extending below the shear zone 52 provides a protected exit for the strain gauge wire 64; additionally adjustment of the shear zone wall thickness by altering the bore cavity diameter during hitch manufacture permits scaling of a ratio indicative of strain-stress in the shear zone 52. In the embodiment shown in Fig. 4, the hitch is attached to the trailer hitch box 44 through a lock nut 48 and threads 50 on the hitch. In alternative embodiments, other methods of attachment, such as welding, could be employed. Also shown in Fig. 4 is a recessed attachment point on the hitch box to provide protection for the shear zone 52. In this embodiment, a pair of strain gauges 54 is affixed on the outer surface 56 of the shear zone. The strain gauge 54 is affixed in a position so as to detect forward and backward shear force only. In a first embodiment, a strain gauge such as the MM 187UV is affixed to opposed sides of the hitch at points tangent to a line parallel to the direction of travel, however various other types and placement of strain gauges could be used.

The shear zone 52 of the present invention, provided by recess plate 67, allows the strain gauge 54 to sense the shear force in the hitch while avoiding contact with the receptacle 58 of the fifth wheel as it secures the hitch, as shown in Figs 6a-6c. Fig. 6a shows a hitch 20 secured in a fifth wheel receptacle 58 while the trailer and towing vehicles are at rest. Hitch 20 is secured in place by square bar 60, which allows sideways pivotal movement of the hitch while ensuring secure coupling. As can be seen, a tolerance gap 62 around the hitch allows for limited vertical pivoting of the towing vehicle and trailer, to compensate for uneven travel surfaces .

As the towing vehicle decelerates and brakes, shear force on the hitch is sensed by strain gauge 54. Strain gauge wire 64 is attached to strain gauge 54 and extends through wire hole 66 into hitch bore cavity 68 through center of hitch 20 to carry shear force signal 18 (Fig. 1) to strain gauge amp circuit 12, described further below. Strain gauge amplifier circuit 12, described further below, amplifies analog shear force signal 18 to allow accurate shear force to be measured at the shear zone 52.

Referring to Figs. 6b and 6c, braking and acceleration effects on the hitch are shown. Fig. 6b shows braking action by towing vehicle 44 causing the hitch to strain, as shown by dotted line 70, as it is forced within the limit of the range of movement afforded by the fifth wheel receptacle 58 and tolerance gap 62. Note that dotted line 70 enhances the actual degree of deformity for purposes of clarity. Strain gauge 54, located in shear zone 52, senses the resulting strain while avoiding potentially damaging contact with other surfaces. Fig. 6c shows the hitch 20 during acceleration. Hitch 20 is forced against square bar 60, causing the hitch to strain in the opposed direction, as illustrated by dotted line 70, showing enhanced movement for clarity.

An alternative embodiment for strain gauge placement is shown in Fig. 7. In this embodiment, strain gauge 54 is placed inside hitch bore cavity 68, at a point below the recess plate 67 which provides for the shear zone 52. Such installation, however, must be carefully verified to ensure proper strain gauge adhesion to the interior surface.

Braking force is then controlled by closed loop feedback control logic based on the strain gauge signal 22. Braking force is maintained such that a slight backward drag force is exerted by the trailer on the towing vehicle, as shown in Fig. 6c. In this manner, the trailer does not push against - 10 - or significantly pull back on the towing vehicle, allowing the towing vehicle to handle as if no trailer were present. This closed loop feedback control logic is embodied in the C++ code listing in appendix A, illustrating the use of proportional integral differential (PID) computations and closed loop feedback to evaluate the force on the hitch and control the braking force accordingly to maintain the slight backward drag force on the hitch.

Control logic is activated by the strain gauge signal 22, and does not require activation from the brake light signal of the towing vehicle. Brake light signal, however, is used in the braking control module 10 for diagnostic reasons, and alternative embodiments incorporate the brake light signal into the closed loop feedback control logic to anticipate deceleration of the towing vehicle. Control logic releases braking force when the strain gauge signal is unchanged for a predetermined period, as a static signal is indicative of the towing vehicle and trailer at rest . In alternative embodiments, however, such a static signal is measured to detect, for example, parking of the trailer and towing vehicle on a hill so that appropriate brake force may be applied.

Strain gauge sensor 54 is shown in more detail in Figs. 8a and 8b. As indicated above, strain gauge sensors are mounted on the shear zone 52 at point substantially tangent to the direction of motion such that only forward and backward shear force are sensed. Two opposed sensors are used so that torsional and binding force readings are minimized. The gauge is so oriented that it responds only to the shear modes arising from forward or backward forces on the pin; in particular, the strain gauge does not respond to the bending modes induced by trailer bucking, bouncing, or porpoising or to the shear modes arising from side thrust forces on the pin. In the first embodiment, each opposed strain gauge comprises two sensor wire elements 72, oriented as indicated at about 45 degrees such that only forward and - 11 - backward shear force are sensed, as torsional forces tend to cancel due to the opposed diagonal orientation of each pair of strain gauges. However, other strain gauges having alternative sensor wire sub-element placement could be used, provided that only forward and backward shear force, and not lateral or vertical forces, are sensed. In the first embodiment, a full bridge strain gauge is used, however a half bridge strain gauge can be used in alternative embodiments. Such a half bridge embodiment would place a single sensor wire element 72 on each opposed side, thereby providing about half the sensitivity of the full bridge embodiment .

Operator control and monitoring of the braking control module is provided through cab display unit 16, described further below. Braking control module 10 is connected to the cab display unit 16 via cab data link 26 (Fig. 1) . As shown in Fig. 9, the cab data link 26 is provided through an industry standard seven conductor plug 74 and cable commonly used to electrically connect a trailer and towing vehicle. This seven conductor plug contains an auxiliary conductor 76 which is frequently unused. Cab data link 26 is carried on the auxiliary conductor, preferably using a noise- immune protocol as will be described below. Such a noise-immune protocol permits cab display unit 16 to send and receive signals from braking control module 10, mounted on the trailer, despite the inherently noisy operating environment. Alternatively, auxiliary conductor 76, if used, powers backup lights on the trailer. In such a case, the backup light signal from the towing vehicle is provided to the cab display unit 16, backup lights on the trailer connected to braking control module 10, and the backup light signal carried over the cab data link 26.

In the preferred embodiment, this link 26 is a current loop on one conductor of the standard electrical cable customarily used with such trailers, this conductor being the one which is normally used for auxiliary functions in - 12 - conventional installations, with the return path being via the cable ground wire. The current loop is preferred because of robustness and noise immunity; however other standard implementations can be employed. A half duplex block-ahead acknowledge protocol is used on this link. The link and protocol deliver adequate data reliability through utilization of certain techniques according to U.S. patent Nos. 4,597,082 and 5,448,593, assigned to the assignee of the present application. Since the system data transfer rates required across this link are of a low bandwidth, this link can also be used for non system data or voice transmission between tow vehicle and trailer.

In addition, the present invention provides for the manual application of the trailer brakes and emergency override. It is very desirable in many instances, such as long downhill runs, or to prevent jackknifing, to apply brakes to the trailer only. For such manual application, many prior art devices have either a lever or a pushbutton which is often mounted in an awkward location, such as under the dashboard, and which is difficult to access during emergencies. To overcome this, the present invention utilizes a manual override pressure sensor mounted on the steering wheel. To activate the trailer brakes manually, the driver grips the steering wheel in the area where the sensor is mounted and applies finger or thumb pressure. The amount of force required for different drivers to activate the manual override can be predetermined and stored in memory by the microprocessor system. The manual override circuitry also has a second threshold, activated by a higher force, reserved for emergencies. When the manual override is squeezed hard, the override signal will use an alternate link, bypassing the microprocessors, and activate the trailer brakes directly and forcefully.

Referring to Figs. 10a- 10c, steering wheel grip sensors 30 are mounted around steering wheel 32 and connected to the manual override 28. In a first embodiment, shown in Fig. - 13 -

10b, such sensors are a thin film 80 having a conductive pressure-sensitive material applied at a sensor portion 82. Conductive traces 84 of the same pressure sensitive material allows connection to terminals 86. These sensors can then be adhered by any suitable means, such as taping, to the steering wheel 32. The electric resistance of this pressure- sensitive material varies with pressure so applied, providing an indication of the driver's grip pressure which is carried through coiled wire 78. Coiled wire 78 is of a length such that the steering wheel is allowed to rotate lock to lock without sagging or stretching.

Figure 10c shows a steering wheel cross sectional view of a manual override embodiment designed to be manufactured in the steering wheel itself; this approach is aimed at specialized steering wheels which would most likely be factory installed. Steering wheel rim 127 has been modified to contain the manual override mechanism. Pressure is applied to a pad 125 which is held in position by a retainer 126 and return springs 128. Movement of the pad compresses the sensor pressure spring 129, increasing the pressure on the pressure sensor 130. Suitable pressure sensors are commercially available, such as the Motorola MPX 20xx series of pressure transducer sensors. In a factory installation environment, the steering wheel would be designed such the sensor wiring would be internal to the steering column.

In alternate embodiments, other pressure sensitive elements, such as a resistive semiconductor, could be mounted to the steering wheel, provided that measurable voltage and/or current differences are provided in response to the gripping force applied by the driver to the steering wheel mounted sensor.

Manual override circuitry provides pressure sensitive multi-tiered control of the trailer brakes. A pressure threshold is used to control the brakes in either a proportional mode or an absolute mode. When the gripping force applied by the driver exceeds this pressure threshold, - 14 - the brakes are applied at an absolute mode in which maximum braking force is exerted, as in an emergency stop situation. Below this pressure threshold, the manual override circuitry operates in a proportional mode in which gripping force is used to gradually increase the braking force exerted.

Referring to Fig. 11, cab display unit 16 is shown. Cab display unit contains truck circuitry and manual override circuitry, and is used to interact with the operator through visual display 36 and keypad 34. A menu style interface allows the user to monitor and control system functions such as braking force, manual override sensitivity, and trailer lights. As indicated above, cab display unit 16 is connected to braking control module 10 through cab data link 26, and can control all trailer electronics through trailer circuitry, described further below.

Further description of the schematic diagrams shown in Figs 12-17 will illustrate the internal electronic circuit elements of the system. Referring to Fig. 12, a block diagram of the electronic schematics is shown. Five major subcircuits are shown, corresponding substantially to the elements indicated in the block diagram of Fig. 1.

Fig. 13 shows the analog strain gauge amplifier circuit 12. Strain gauge 54 is connected to a strain gauge integrated circuit U6 which not only senses and amplifies the bridge output but also supplies a regulated bridge drive. In this embodiment U6 is a Burr-Brown IMA 125, however alternative ICs or circuit designs which provide low offset voltages and adequate bandwidth of several hundred hertz will suffice. As the succeeding microprocessor A/D converter (U5, Fig. 14) has an input range of 0 to +5V, the output for zero- shear must be offset to 2.5 volts to accommodate both positive and negative shear. The voltage follower U7A uses an available on-chip 2.5V reference to set the I.MA125 zero- strain output to the required 2.5 V, and the difference amplifier U7B scales the I.MA 125 output range appropriately so that the ensuing input stage is not overdriven. - 15 -

Fig . 14 shows the braking control module which implements the PID control logic as listed in appendix A. In this embodiment, a PIC16C73 is employed as microprocessor U5 , although any processor with at least the equivalent capabilities and necessary I/O ports could be employed. The output STRAIN from the strain gauge amplifier circuit 12 is received by microprocessor A/D input U5/pin 2, which implements PID logic as listed in appendix A. This PID control logic first scales the input and adds an offset so that a zero value corresponds to the desired drag force on the hitch. This logic implements dead-bands in order to achieve smooth operation of the brake solenoids, and two different proportional gains are used, one near zero and a larger gain for rapid response when the error is large. Braking control signal 24 is then output on the microprocessor U5 PWM outputs from U5/pin 12. The remaining A/D inputs U5/pins 3-5 are utilized to monitor the performance of the brakes and the status of the trailer electrical system. Failures can be reported via the cab data link 26 for operator display. Microprocessor U5 and associated software allows the operator to tailor operational and/or test parameters, and can be stored in nonvolatile flash memory U4. The cab data link 26 is implemented via a current loop interface with a noise immune protocol as indicated above. An RS232 driver/receiver U8 is included to provide an external interface for testing, diagnostics, debugging, and future expansion.

Referring to Fig. 15, the brake solenoid amplifier circuit 25 is shown. The PWM signal output from the microprocessor U5 is applied to the input of comparator U2A, the output of which drives the bases of the complementary emitter follower pair Q2 , Q3. This pair in turn drives the gate of the P-channel power MOSFET Ql which applies modulated 12V DC directly to the brake solenoids 14. A P-channel power MOSFET is employed because electric brake solenoids are manufactured with one end of the solenoid winding connected - 16 - to the solenoid frame and therefore to the chassis ground. Since the brake solenoids are inductive, current will ramp up during an ON portion of the Ql switching cycle and continue to flow during the OFF portion of the switching cycle. During this OFF portion, power diode D2 clamps the solenoid winding to chassis ground and conducts the freewheeling current.

The other comparator U2B provides for emergency override operation. As the manual override signal provides a signal indicative of a point on a continuum, varying thresholds of operation can be provided. The manual override circuitry 28 is designed so that pressure significantly exceeding that which is typical for normal operation must be applied to the manual override to cause the GRIP signal to exceed a 4.8V threshold level at U2B/pin 5. The comparator outputs are open collector wire-ORed, so that when the GRIP signal exceeds the 4.8V threshold, the output of U2B takes precedence, driving Ql to the ON state regardless of the output of U2A. Manual override circuitry receives input from the pressure sensitive element 30 (Fig. 1) which converts pressure applied by the operator to a variable voltage signal as shown in Fig. 16. The pressure sensor 30 is connected to J5, so the sensor resistance Rs is effectively connected from U14A/pin 2 to ground. The resistance Rs of a resistive pressure sensor of this type varies inversely with pressure so that the variation of conductance Gs=l/Rs is a quasi linear function of pressure. Operational amplifier analysis then yields the output voltage of this stage as: Vout = Vref[l + Gs (Rf1 + Rf2) ]

The ensuing difference amplifier U14B subtracts Vref from Vout and multiplies this by the ratio Rb/Ra, so the final output at the GRIP point is:

GRIP = Vref Gs (Rfl + Rf2) Rb/Ra which is therefore a quasi linear function of pressure. - 17 -

As indicated above, the GRIP signal provided by the manual override circuit can take two control pathways. Emergency path 29 goes directly to the brake solenoid amplifier circuit for emergency activation above a predetermined threshold. The other path goes to the A/D input of microprocessor U10 in cab display unit circuit 16, described below. If the GRIP signal is below the emergency threshold, it is processed by microprocessor U10 and sent to U5 in the braking control module 10 for manual brake activation.

Cab display unit circuit 16 is shown in more detail in Fig. 17. Cab display unit has flash memory U9 , RS232 interface for future expansion, visual display 36 connected to LCD, current loop interface for data link 26, and also drives the user interface which allows manual operator input to override system defaults, gains, and thresholds. Alternatively, braking control module 10 can be configured without cab display unit and manual override, to eliminate the need for cab data link 26. Such operation would result in braking control module 10 operating with default values.

As various extensions and modifications to the disclosed embodiments will be apparent to those skilled in the art, the present invention is not intended to be limited except by the following claims.

18 -

/>p J, r A

/TRAILER BRAKE TEST PROGRAM 8/06/97 MODIFIED FOR V2 HARDWARE //MM & LWH

#include "windows.h"

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include <time.h>

#include "resource.!."

#include "812pg.h"

//add log

#include <sys/timeb.h>

#define IDM_EXIT 110

#define IDC ADDR 200

#defϊne IDC AD1 201

#define IDC AD2 202

#define IDC AD3 203

#define IDC_AD4 204

#define IDC_AD5 205

#define IDC AD6 206

#de ine IDC SCROLL 207

#define IDC SPIN 301

#define IDC ST.ART 208

#define IDC STOP 209

#define IDC PAUSE 210

#define IDC EDIT 211

#define IDC_GAIN 212

#define IDC_DA 400

#define TEMER1 1

#defineNONE 0

#define DEMO 1

#def-ne SINE 1

#define SQUi RE 2 int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int); long PASCAL MainWndProc(HWND, UINT, WPARAM, LPARAM);

HANDLE hlnst; HWND ahAddrComboBox;

HANDLE hlnst; HWND ahAddrComboBox; unsigned int input=0, output=0; unsigned int oldinput=0,analog_input[ 16],adinput[ 16],old_adinput 1 [ 16],old_adinput2[ 16]; unsigned ch-ir input_lo=0, input_hi=0; unsigned int demo_input=0, demo output; - 19 -

// This is additional variables for math formula

// Set gain = 2 float hitch_force_int=0, hitch_force=0, hitch_force_old=0; float B_output, BK,b.ra--e_out, brake out old = 0, deltime; float gainl>= -32-J*\\ was -10*/ float gainPhigh =-3.2 , gainPlow=-2.6 , gainPchg =200; float gainl= -0.4; /*vl was -0.20*/ float gainD = 0; float offset = -3200;/*vl was -3072*/ float zero_ofset=-3200 *this is 0 force point - vl was -1229*/ float Int_deadband = 2800;

_intl6 BJight; unsigned AG_output;

HBRUSH hLTGreenBι h^GreeιιBιιsh^lueBιτιsh^YellowBιijsh ιRedBn--.h -Blacld3ιιιsh ιWhiteBrush

^LTRedBπjsh,lιLTBlueBnιsh; HPEN hRedPen ιYellowPen ιGreerιPen ιBluePen ιLraiuePen ιLTRedPen ιLTGreenPen ιWhitePen; int base_addr=NONE ,sample_rate=10,time_interval,gain=2,xposl[8],xpos2[8];

int DA_wave[6] = {NONE, NONE, NONE, NONE, NONE, NONE}; double angle[6] = {0, 0, 0, 0, 0, 0}; intsq[6] = {0,0,0,0,0,0};

POINT input_pos[16]= {{470, 280}, {440, 280}, {410,280}, {380,280}, {350,280}, {320,280}, {290,280}, {260,280}, {230,280}, {200,280}, {170,280}, {140,280}, {110,280}, {80,280}, {50,280}, {20,280},

};

.POINT output _pos[16] ={

{470,340}, {440,340}, {410,340}, {380,340}, {350,340}, {320,340}, {290,340}, {260,340}, {230,340}, {200,340}, {170,340}, {140,340}, {110,340}, {80,340}, {50,340}, {20,340},

};

POINT io_pos[16]={

{395,40}, {370,40}, {345,40}, {320,40}, - 20 -

{295, 40}, {270, 40}, { 245, 40}, {220, 40}, {195, 40}, {170, 40}, {145, 40}, { 120, 40}, {95, 40}, {70, 40}, { 45, 40}, { 20, 40},

};

BOOL bCheckl [8],bCheck2[8],bSt--rt=FALSE,bStop=FALSE,bPause=FALSE; BOOL --αitApplication(H/\NDLE); BOOL InitIιι-rt- ce(Hi\NDLE, int); int PASCAL Wi--Main(hInst--nce, liPrevInstance, IpCmdLine, nCmdShow) HANDLE hltus-ance, liPrevInstance; LPSTR IpCmdLine; int nCmdShow;

{ MSG sg; if(!.hPrev.-nstance) if (!Ini-Application(hInstance)) return(FALSE); if (!lnitlnstance(----nst--nce, nCmdShow)) return(FALSE); while (GetMessage(&msg, NULL, NULL, NULL)) {

TranslateMessage(&msg);

DispatciιMessage(&msg);

} return(msg.wParam);

}

BOOL InitApplication(hInstance) HANDLE hlnstance;

{ WNDCLASS wc;

/* Main Window Class */ wcstyle = NULL; wclpfeWndProc = (WNDPROC)MainWndProc; wc.cbCls.Extra = 0; wcxbWndExtra = 0; wcMnstance = hlnstance; wchlcon = LoadIcon(hInstance, "Mylcon"); wchCursor = LoadCursor(NULL, IDC_i RROW); wchbrBackground = GetStockObject(LTGRAY_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = "GenericWClass"; if (!RegisterClass(&wc)) return(FALSE); }

BOOL Initlnstance(hlnst--nce, nCmdShow) HANDLE hlnstance; int nCmdShow;

{ HWND hWnd; - 21 -

HMENU hSampleMenu; hlnst = hlnstance; hSampleMenu = LoadMenu(hInstance, "U7120Menu"); hWnd = Create Window("GenericWClass",

(L.PCSTR)"812.PG",

WS_OVERLAPPEDWINDOW,

CW JSEDEFAULT,

CW_USEDEFAULT,

520,

250,

NULL, hSampleMenu, hlnstance,

NULL); if (IhWnd) return(FALSE); ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); retum(TRUE); }

BOOL PASCAL setup(

HWND hWnd, unsigned message, WPARJ\M wP-iram,

LPiMLAM lPai-am

) { int i,k; char n[6]; switch (message) { case WM πTDϊaALOG:

SendMessage(GetDlgItem(hWnd,IDC_CO!^B01), CB_ y3DSTRING, NULL,(LONGXLPSTR)"(NONE)H); for (i=0x200; i<=0x3f8; i+=0xl0) { sprintf(n, "%xH", i); _.strupr(n);

SendMesMge(GeωigItem(hWncLIDC_COMB01), CB_ADDSTRING, NULL, (LONGXLPSTR)n);

}

SenclMessage(GeωigItem(hWn-UIX _COMB01) , CB_SETCURSEL, 0, OL); break; case WM_COMMAND: witch(LOWORD(wP--ram))

{ case IDC_COMB01: if (HIWORD(wP--ram) = CBN_CLOSEUP) { if ((i=(int)SendMe^ge(GetDlgItem(hWnd,IDC_COMB01), CB_GETCURSEL, 0, OL)) > DEMO) { - 22 -

SendMessage(GetDlgItem(hWnd,IDC_C01vIB01), CB_GETLBTEXT, i, (LPj\R.AMX(LPCSTR)n)); k = 0; for (i=0; i<3; i++) { if(n[i] < ,A>) k = k * 16 + (n[i]-O'); else k = k * 16 + (n[i]-'A'+10); } base_addr = k;

} else base_addr = i;

} retum(TRUE); case IDOK: W_812_Initial(0, base_addr); W_812_AD_Set_Gain(0); EndDialog(hWnd, TRUE); return (TRUE); case IDCANCEL: EndDialog(hWnd, TRUE); return (TRUE);

}; break;

} return (F.ALSE);

} long PASCAL MainWndProc(hWnd, message, wParam, IParam) HWND hWnd; UINT message; WPARAM wParam; LPARi\M IParam;

{

HDChDC; PAINTSTRUCT ps; int i, .k, px, py; char n[6];

FARPROC lpProc; double Pi = 3.1415926535; static int pos=0, pos 1 =0; int p; double m;

//kill me int Hoop; switch(message) { - 23 -

case WM_CREATE:

//This is tiny bos for gain value hAddrComboBox = Create Window("ComboBox", NULL,

CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL, output_pos[4].x+90, io_pos[0].y+70, 50, 60, hWnd, IDC_GAIN, hlnst, NULL); SendMessage(hAddrComboBox, CB DDSTRING, NULL, (LONG)(L.PSTR)"r); SendMessage(hAddrComboBθ3-, CB_ADDSTRING, NULL, (LONG)(LPSTR)"2");

SendMessage(hAddrComboBθ3c, CB_ADDSTRING, NULL, (LONG)(LPSTR)"4M); SendMessage(hAddrComboBθ3-, CB_.ADDSTRING, NULL, (LONG)(LPSTR)"8"); SendMessage(hAddrComboBox ,CB_SETCURSEL, 0, OL);

CreateWindow("BUTTON","Start" , WS_CHILD I WS_VISIBLE , output_pos[10].x+l 10, output_pos[10].y-200,50, 30, hWnd, IDC_START, .hlnst, NULL);

CreateWindow("BUTTON","Stop" , WS_CHILD I WS_VISIBLE , output_pos[10].x+170, output_pos[10].y-200,50, 30, hWnd, IDC_STOP, hlnst, NULL);

CreateWindow("BUTTON","Pause" , WS_CHILD I WSJVISIBLE , output _pos[10].x+230, output_pos[10].y-200,50, 30, hWnd, IDC_PAUSE, lilnst, NULL);

CreateWindow("BUTTON","0"

WS_CHILD I WS_VISIBLE | BS_Rj\DIOBUTTON | BS_LEFTTEXT , output_pos[4].x+50, io_pos[0].y-5,25,15, hWnd,UX;_DA, lilnst, NULL);

CreateWindowC'BUTTON"," 1"

WS_CIHLD I WS_VISIBLE I BS_Il-ADIOBUTTON | BS_LEITTEXT, output_pos[4].x+50, io_pos[0].y+13^5J5, hWnd,IDC_DA+l, .hln.st, NULL);

CreateWindow("BUTTON","2"

WS_CHILD I WS_VISIBLE | BS_R.ADIOBUTTON | BS_LEFTTEXT, output_pos[4].x+50, io_pos[0].y+31^5J5, hWnd,H>C_DA+2, hlnst, NULL);

CreateWindow("BUTTON","3" ,

WS_CHILD I WS_VISIBLE | BS_RADIOBUTTON | BS_LEITTEXT, output_pos[4].x+50, io_pos[0].y+49,25,15, hWnd,IDC_DA+3, hlnst, NULL);

CreateWindow("BUTTON","4"

WS_CHILD I WS_VISIBLE | BS_RADIOBUTTON | BS_LEITTEXT, output_pos[4].x+100, io_pos[0].y-5^5J5, hWnd,IDC_DA+4, hlnst, NULL);

CreateWindow("BUTTON","5"

WS_CHILD I WSJVISIBLE | BS_RADIOBUTTON | BS^EITTEXT, output _pos[4].x+100, io_pos[0].y+13^5,15, hWnd, IIX _DA+5, hlnst, NULL);

CreateWindow("BUTTON","6" - 24 -

WS_CHILD I WSJVISIBLE | BS_RADIOBUTTON | BS_LEFTTEXT, output_pos[4].x+100, io_pos[0].y+31,25,15, hWnd,I.DC_DA+6, hlnst, NULL);

CreateWindow("BUTTON","7H

WS_CHILD I WSJVISIBLE | BS_RJVDIOBUTTON | BS_LE.FTTEXT, outputjpos[4].x+100, io_pos[0].y+49,25J5, hWnd, IDC_DA+7, hlnst, NULL); for(i=0;i<8;i++)

{ bCheckl [i]=FALSE; bCheck2[i]=FALSE; old adinputl [i]=-l ; old_adinput2[i]=- 1 ; }

hLTGreenBrush = CreateSolidBrush(RG^O, 255, 0)); hGreenBrush = CreateSolidBrush(RGB(0, 128, 0)); hBlueBrush = Cre-ιteSolidBrush(RGB(0, 0, 255)); hRedBrush = CreateSolidBrush(RGB(255, 0, 0)); hYellowBrush= CreateSolidBnιsh(RGB(255,255,0)); hBlackBrush= CreateSolidBrush(RGB(0,0,0)); lιLTBlueBrush= CreateSolidBrush(RG.B(0,255,255)); lιLTRedBnκh= CreateSolidBrush(RGl-K255J28,0)); hWMteBrush= CreateSolidBrush(RGB(255,255,255)); lιRedPen= CreatePen(PS_SOLID, 1 ,RGB(255,0,0)); hYeUowPen= CreatePen(PS_SOLID,l,RGB(255,255,0)); lιBluePen= CreatePen(PS_SOLID, 1 ,RGB(0,0,255)); hGreenPen= CreatePen(PS_SOLID, 1 ,RGB(0,255,0)); hLTBluePen= CreatePen(PS_SOLID, 1 ,RGB(0,128,255)); lιLTRedPen= CreatePen(PS_SOLIDJ,RGB(255J28,0)); lιLTGreenPen= CreatePen(PS_SOLIDJ,RGB(0J28,0)); hWhitePen= CreatePen(PS_SOLID, 1 ,RGB(255,255,255)); break;

case WM_PAINT: liDC = BeginPaint(hWnd, &ps);

// Analog Input Box SelectObject(hDC, GetStockObject(GIlAY_BRUSH)); Rectangle(KDC, output_pos[15].x-10, io_pos[15].y-24, output_pos[0].x+26, io_pos[0].y+85); SetTertColor(M)CJlGB(255^55,0)); SetBkColor(hDC, RGB(0, 0, 255)); TextOut(hDC, io_pos[15].x, io_pos[15].y-35, ".Analog Input(A/D)", 17);

SelectObject(hDC, hBlackBrush); Rectangle(h.DC, output_pos[15].x+35, io_pos[15].y-2, output_pos[4].x+41, io_pos[0].y+83);

// Channel Label

SetTej-tColor(hIX ,RG.B(0,0,0)); SetBkColor(hDC, RGB(0, 255, 0)); - 25 -

/// Color box next to the tune number SelectObject(hDC,lιYellowBrush );

Re«rtmgle(l-lX;,outputjx)s[4].x+78Jo_pos[0].y-5,outputj3os[4].x+90Jo_pos[0].y+10);

// Rectangle(hI :,output_pos[4].x+78, io_pos[0].y+97,output_pos[4].x+90, io_pos[0].y+l 12);

SelectObject(hDC, hGreenBrush);

Rect-mgle(hl c)ouφut_ κ)s[4].x+78Jo_pos[0].y+13,output_pos[4].x+90Jojpos[0].y+28);

// .Rect-mgle(hDC,output_pos[4].x+78, io_pos[0].y+l 15,output_pos[4].x+90, io_pos[0].y+130);

SelectObjectQiDC, hBlueBrush);

Rect-mgle(l-TO,output_j)os[4].x+78Jo_pos[0].y+31,ou-put_pos[4].x+90Jo_pos[0].y+46);

// Rectangle(hDC,output_pos[4].x+78, io_pos[0].y+133,output_pos[4].x+90, io_pos[0].y+148);

SelectObject(hIX;, liRedBrush);

Resct-mgle(hIX:,outputj>os[4].x+78Jojx>s[0].y+49,ou^

// Rectangle(hlSc,output_pos[4]Λ+78, io_pos[0].y+151,output_pos[4].x+90, io_pos[0].y+166);

SelectObject(hDC, hLTBlueBrush);

Rect-mgle(hI ;,outputjκ>s[4].x+128Jo_j)os[0].y-5,ouφut_j>os[4].x+140Jo_pos[0].y+10);

// Rectangle(hDC)output_pos[4].x+128, io_pos[0].y+97,output_pos[4].x+140, io_pos[0].y+l 12);

SelectObject(hDC, liLTRedBr sh);

Rectangle(-ιDC,output_pos[4] .x+ 128, iojpos[0].y+ 13,output_pos[4].x+ 140, io_pos[0].y+28);

// Rectangle(hDC,output_pos[4].x+128, io_pos[0].y+115,output_pos[4].x+140, io_pos[0].y+130);

SelectObject(--DC, liLTGreenBrush);

Rect-mgle(lιIX ,output_pos[4].x+128Jo_j)os[0].y+31,ouφutjκ>s[4].x+140Jo_j)os[0].y+46);

// Rectangle(hIX:,output_pos[4].x+128, io_pos[0].y+133,output_pos[4].x+140, io_pos[0].y+148);

SelectObject(hDC, hWhiteBnish);

Rect-mgle(hIX ,outputjκ)s[4].x+128Jo_pos[0].y+49,outputjx)s[4].x+140Jo_pos[0].y+64);

// Rectangle(hI ;,output_pos[4].x+128, io_pos[0].y+151,output_pos[4].x+140, io_pos[0].y+166);

SetBl-ModeQiDCTRANSPARaENT);

TextOut(hDC,output_pos[4].x+50Jo κ)s{0].y+70,"Gain">4);

TextOut(hDC,input_pos[15].xJo_pos[15].y-19,"Vots",4);

TextOut(h-DC,input_pos[15i.x-5Jo_pos[15].y-5,"5.00",4);

TextOut(hIX:,input_pos[15].x-5Jo_pos[15].y+13,"2.50M,4);

TextOut(hIX:,input_pos[15].x-5Jo_pos[15i.y+31,"0.00H,4);

TextC>ut(-ι--)C,input_pos[15].x-8Jo_pos[15].y+49,"-2.50 ,5);

Te3rtOut(hIX ,input Jos[15].x-8Jo_pos[15].y+67,"-5.00",5);

Te3 tOut(hDC,output_pos[4].x+50Jo_pos[0].y-20)"Channer,7); SetBkMode(hDC,OPAQUE);

.EndPaint(hWnd, &ps); break;

case WM_COMMAND: switch(LOWORD(wParam)) { case lDM E3CIT: - 26 -

SendMessage(hWncL WM_CLOSE, 0, OL); bi-eak; case IDM_SETUP: lpProc = MakeProcInstance(setup, hlnst); DialogBox(lιInstJDD_DIALOG 1 ,h Wnd,lpProc); Free.Pr->cInstance(lpProc); break; case IDC_START:

SetTimer(hWnd, TIMERl, 1, NULL); srand((unsigned)time(NULL)); if(lbPause)

{ for (i=0;i<8;i++) xposl[i]=0; for (i=0;i<8;i++) xpos2[i]=0;

} bStop=FALSE; bPause=F- LSE; bStart=TRUE; break; case IDC_STOP:

I illTimeι<hWnd, TIMERl); bStop=TRUE; bPause=FALSE; bStart=FALSE; hDC = GetDC(hWnd);

ReleaseDC(hWnd, hDC); break; case IDCJPAUSE:

KillTimer(hWnd, TIMERl); bStop=FALSE; bPause=TRUE; bStart=FALSE; break; case IDC_DA: case IDCJDA+1: case IIX:_DA+2: case IDC_DA+3: case IDC_DA+4: case IDC_DA+5: case IDC_DA+6: case IDC DA+7: lc=wParam-IDC_DA; if(bCheckl[k])

{

SendMessage(GetDlgItem(hWnd,wP--ram), BM_SETCHECK, 0, 0); bCheckl [k]=FALSE; - 27 -

} else

{

SendMessage(GetDlgItem(hWnd,wParam), BM_SETCHECK, 1, 0); bCheckl [k]=TRUE;

} break; case IDC DA+8: case IDC_DA+9: case IDC_DA+10: case IDC_DA+l l: case IDC_DA+12: case -DC_DA+13: case .IDC_DA+14: case IDC_DA+15: lc=wP--ram-IDC_DA-8; if(bCheck2[k])

{

SendMessage(Ge-DlgItem(hWnd,wParam), BM_SETCHECK, 0, 0); bCheck2[k]=FALSE;

} else

{

Sen-lMessage(GetDlgItem(hWn-LwParam), BM SETCHECK, 1, 0); bCheck2[k]=TRUE;

} break; case IDC_GAIN: if (HIWORIXwPai-am) = CBN_CLOSEUP) { if ((i=(int)SendMessage(GetDlgItem(hWnd,IDC_GAIN))CB_GETCURSEL, 0, OL))>=0 ) { SendMessage(GetDlgItem(hWnd,IDC_GAIN), CB_GETLBTEXT, i, (LPi\R-AMX(LI>CSTR)n)); gain=i; }

}

W_812_AD_Set_Gain(gain); break; default: retum(DefWindow.Proc(hWnd, message, wPaium, IParam));

} break; case WMjriMER: for (iloop =0;iloop <50;iloop++){ if (base_addr != NONE) { /* Digital Input */

W_812_DI(DI_LO_BYTE,&input_lo); W_812_DI(DI_HIJBYTE,&input_hi); input=(((unsigned int)input_hi)«8>+input_lo; - 28 -

hDC = GetDC(hWnd); for (i=0; i<16; i++) { if( ((input»i)&0x01) != ((oldinput»i)&0x01) )

{ if((input»i)&0x01)

SelectObjectfliDC, hRedBrush); else

SelectObject(l-r>C, GetStockObject(WHITE_BRUSH)); //Ellipse(M>C, input_pos[i].x, input_pos[i].y, input_pos[i].x+20, input_pos[i].y+20); } } oldinput=input;

/* .Analog Input */ BitBlt(hDC,output_pos[l 5].x+39,io_pos[ 15].y- tput_pos[15].x+35,io_pos[15].y-2,SRCCOPY); or (i=0;i<8;i++ )

{ if (bCheckl [i])

{ W_812_.AD_Set_Channel(i);

W_812_i\D_Aquire(&analog_input[i]); switch(i)

{ case O:

SelectObjectQiDC, hYellowPen); break; case 1:

SelectObject(hDC, hGreenPen); b.reak; case 2:

SelectObject(hDC, hBluePen); break; case 3:

SelectObject(hDC, hRedPen); break; case 4:

SelectObject(hDC, hLTBluePen); break; case 5:

SelectObject(lιDC, liLTRedPen); break; case 6:

SelectObject(hDC, hLTGreenPen); break; case 7:

SelectObject(hDC, hWhitePen); break;

}

// 1 made a change for special case 0,1, 2 for ..analog index - 29 -

adinput[0]=io_pos[i].y+83-(85*(unsigned long)analog^input[i])/4095;

if (old_adinputl[i]!=-l )

{

MoveToEx(hDC,output_pos[15].x+39,adinput{i],NULL ); LineTo(hDC,output_pos[15].x+43,old_adinputl[i]); } old adinput 1 [i]=adinput[i] ;

// Calcurate the desired output do_formula();

}

}

/Write Analog Output into the hardware*/ for (i=0; i<l; i++) {

W_812_DA(i,AG_output); }

}

} break; case WM_DESTROY: DeleteObject(hRedBrush); DeleteObject(hGreenBιιιsh); DeleteObject(hLTGreenBnιsh); DeleteObject(hYellowBrush); DeleteObject(hBlueBrush) ; DeleteObject(hBlackBrush); DeleteObject(hRedPen); DeleteObjectfliYellowPen); DeleteObject(hBluePen); DeleteObject(hGreenPen); DeleteObject(hLTBluePen); DeleteObject(hLTRedPen); DeleteObject(hLTGreenPen); IDeleteObject(hWhitePen);

PostQuitMessage(O); break; case WM_LBUTTONDOWN: if (base_addr > DEMO) { px = LOWORD(lPa---ιm); py = HIWORD(lParam); for (i=0; i<16; i++) { if Oix>output_pos[i].x && px<output_pos[i].x+17 && py>output_pos[i].y && py<outputjpos[i].y+17) { - 30 -

hDC = GetDC(hWnd); if ((output»i)&0x01) { output -= (((unsigned int)l)«i); SelectObject(hDC, GetStockObject(WHITE_BRUSH));

} else { output += (((unsigned int)l)«i);

SelectObject(hDC, hJRedBrush);

}

Ellipse(hDC, output_pos[i].x, output_pos[i].y, output_pos[i].x+20, output_pos[i].y+20); W_812_IXXDO_LO_BYTE,(unsigned charXoutput&Oxff)); W_812_IX (DO_HI_BYTE,(unsigned charXoutput » 8)); ReleaseDC(hWnd, liDC); break; } } } break; default: return(DefWindowProc(hWnd, message, wParam, IParam));

} return(NULL);

}

do_foπnulaO{ deltime = 15.00;

W_812_.AD_Set_Channel(l); W_812_.AD_Aquire(&ana-og_input[ 1 ]);

BK = analog_input[l]; B_light = Otl6)BK;

W_812_AD_Set_Ch.annel(0); W_812_AD_Aquire(&analog_input[0]);

B_output = analog_input[0];

//SMOOTHING A INPUT

B_output = 0.8 * B_output + 0.2 * analog_input[0]; if (B_output<=Int_deadband)

{ hitch_force_int = 0;

} else

{ hitch force int = B_output+ zero ofset

+hitch_force_int;

}; brake_out_old = brake_out; - 31 -

if (B output + offset > gainPchg) brake out =81 +gainPchg*gainPlow+(B_output + offset-gainPchg) * gainPhigh + hitch_force_int * gaini; else brake_out =819+(B_output + offset) * gainPlow + hitch force int * gaini;

//brake out = 0.9 * brake out old + 0.1 * brake_out;

if (b.r--ke_out >=4095)

{ b.rake_out =4095;

} el∞ if (brake_out <=0)

{ brake_out = 0;

}

//lab testing***************************** if (B ight <= 3500) // 3000 is original

{ brake_out = 0.00; hitch_force_int = 0.00; brake_out_old = 0.00; }

//a**************************************** AG_output =(unsigned)brake_out;

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US2856036 *3 Dec 195614 Oct 1958Mullen Robert DAutomatic electric trailer brake control system
US3955652 *30 Dec 197411 May 1976Ab Linde InternationalOperating systems for trailer brakes
US4231442 *18 Aug 19784 Nov 1980Mogens BirkeholmApparatus for braking a train of vehicles
US5335743 *15 Oct 19919 Aug 1994Saab Automobile AktiebolagOperation of servo devices for driving a motor vehicle - control, arrangement and method
US5423569 *3 Nov 199313 Jun 1995United Technologies Automotive, Inc.Electric signalling in a supplemental passenger restraint system
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
WO2001014188A121 Aug 20001 Mar 2001Vincent Roy GarveyTrailer brake control system with safety function
WO2009043321A1 *7 Jun 20089 Apr 2009Conti Temic Microelectronic GmbhControl device for a motor vehicle safety system, comprising connected sensors for acquiring driving condition variables and actuators for actuating the safety systems
EP1904351B16 Jul 200630 Mar 2016Volvo Lastvagnar AbA system and a method for stabilising a vehicle combination
Classifications
International ClassificationB60T13/66, B60R16/02, B60T7/04, B60T8/24, B60T8/17, B60R16/023, B60T7/20
Cooperative ClassificationB60T7/20, B60T13/662, B60T7/042, B60T8/24, B60T8/1708, B60R16/0231
European ClassificationB60T8/24, B60R16/023D, B60T7/20, B60T7/04B, B60T13/66B, B60T8/17P9
Legal Events
DateCodeEventDescription
12 Aug 1999AKDesignated states
Kind code of ref document: A1
Designated state(s): CA