GENERIC WIPER CONTROLLER

Abstract: A generic wiper system having the ability to be preprogrammed to accomodate different hardware and operational differences in wiper system designs. Thus, the generic controller of the present invention eliminates the need to stock multiple controllers to accomodate a multiplicity of vehicle designs and various customer selectable features.

Description: GENERIC WIPER CONTROLLER TECHNICAL FIELD This invention relates to motor controllers and more specifically relates to controllers which operate wiper systems in vehicles. BACKGROUND OF THE INVENTION Wiper systems in vehicles are used for keeping portions of the vehicle free of debris. Primarily, wiper systems are used for keeping the windshield and back lights of vehicles clear of rain water and other vision impairing debris. Typically, windshield wiper systems are designed to suit the specific hardware associated with a specific family of vehicles and cannot be readily applied to a substantially different family of vehicles without significant design changes. For example, some vehicles use a depressed park scheme for concealing the windshield wipers when not in use. In the depressed park applications, the windshield wipers reside in an opening provided between the vehicle windshield and the vehicle hood during the period of non-use. In non-depressed park applications, the windshield wipers simply remain at a bottom portion of the windshield during non-use. Another difference which arises between windshield wiper control systems from different families is the use of different types of motors (e.g. brush, brushless, single phase, multiphase, etc.). In addition to these distinctions between wiper control systems, there may be various customer selectable features which require wiper systems to operate differently. For example, certain customers may desire that the wiper blades move at a high speed when they are in a time delay mode (also known as pulse mode) while other customers may require that the wipers move at a slow speed when they are in a time delay mode. Another pulse mode feature which may be desired is the adjustability of time between wipe cycles as a function of vehicle speed. Specifically, some customers may want the interval between wipe cycles shortened as the vehicle moves at a greater rate of speed. Thus, for a given time delay setting, the wipers will pulse more often per unit time at 50 m.p.h. than they will at 25 m.p.h. The above referenced hardware differences and customer selectable features are set forth only to illustrate that if a single wiper system design cannot accommodate various hardware differences and various customer selectable features, many different windshield wiper control systems must be kept on hand each serving to accommodate the need of a particular family of vehicles having particular customer selectable features. This has largely been the approach of the prior art and is not without its drawbacks. For example, it is not unrealistic for a given car manufacturer to accommodate 15 or 20 different wiper control system designs, each used for a particular vehicle family having particular customer selectable features. If a manufacturer must stock 15 to 20 different control systems to accommodate all of its needs, a substantial amount of money is tied up in handling, engineering time, and inventory costs. In view of the above drawbacks, it is an object of this invention to provide a generic wiper controller which accommodates multiple families of applications and multiple sets of customer selectable features. Thus, operational features are selected by each customer and placed in a memory device. Once these features are established for each customer, they can be easily invoked for each customer thereby "customizing" the generic controller for a specific customer's family of applications and feature selections. Thus, the generic controller of the present invention allows a single wiper controller to be used across numerous families of applications and to accommodate numerous customer selectable features. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of the hardware associated with the generic controller of the present invention. Figure 2 is a logic flew diagram of the primary routines executed by the microcontroller of the generic controller of Figure 1. Figure 3 is a logic flow diagram of the routine which reads configuration switches 20 and decodes that reading to reflect a particular customer. Figure 3 also shows the assignment of the selected features associated with the customer under consideration. Figure 4 is a logic flow diagram of the main routine portion of the flow diagram of Figure 2. Figure 5 is a logic flow diagram of the run routine portion of the flow diagram of Figure 4. Figure 6 is a logic flow diagram of the delay routine portion of the logic flow diagram of Figure 5. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Various terms used throughout this disclosure are set out and defined below: DEPRESSED PARK: a design whereby the vehicle wipers reside between the vehicle windshield and the vehicle hood when not in use. -4- NON-DEPRESSED PARK: a design whereby the vehicle wipers remain at a bottom portion of the windshield (but are still visible) while not in use. INNERWIPE: the lower most position of travel experienced by the wipers when they are in use (i.e. not parked). OUTERWIPE: the highest most position of travel by the wipers. MIST MODE: an operational mode selected by the user by way of a wiper switch. In this mode, the wiper motor is run in LOW speed throughout the time the wiper switch is held in the mist position. Once the wiper switch is released the wipe cycle is completed and the wipers are returned to the parked position. OFF MODE: an operational mode selected by the vehicle user by way of the wiper switch. In the off mode the wipe stroke is continued until innerwipe is reached. Depending on the customer application, either the motor reverses to the depressed park position or stops at the innerwipe position. If the wash switch is closed with the wiper switch in the off position, then the forward wipe action is continued until a dry wipe cycle is completed. The off mode is executed at the moment the innerwipe position is reached. DRY WIFE CYCLE: the preprogrammed number of wipe cycles which are executed after washing fluid is dispensed. PULSE MODE: an operational mode selected by the vehicle user by way of the wiper switch. When the wiper switch is placed in the PULSE position, the wiper blades complete one wipe cycle and then pause in that position for a period of time specified by the vehicle operator. A wipe cycle can be defined as the movement of the wipers from the innerwipe position to the outerwipe position and back to the innerwiper position. It may also be defined as the movement of the wipers from the innerwipe to the outerwipe or visa-versa. The range of delay settings is selected by the combination of the wiper switch setting, customer requirements, and in some applications vehicle speed. An instant wipe function is obtained by moving the wiper switch from the OFF to PULSE position. IMMEDIATE DELAY RESPONSE: when the operator moves the wiper switch from a slower PULSE setting to a faster PULSE setting, the movement of the setting position will cause the microcontroller to generate a single wipe cycle immediately upon the operator's initiation before responding to the timing of the new-pulse setting. PULSE AT INNERWIPER AND OUTERWIPER: the customer can select the option to have pauses at both innerwipe and outerwipe. This feature is used at extremely slow delay settings. VEHICLE SPEED SENSITIVITY: the delay time between wipe cycles is determined, in part, by the speed of the vehicle. Increasing the vehicle speed will decrease the delay time between wipe cycles. HIGH SPEED PULSE: during a PULSE MODE, wipe cycling the wiper blades at the high speed setting of the motor. CONTINUOUS RUN LOW SPEED MODE: operator's positioning of the wiper switch to the low speed setting which causes the wiper motor to continuously wipe cycle the wiper blades at a low speed setting of the motor. CONTINUOUS RUN HIGH SPEED MODE: operator's positioning of the wiper switch into the high speed position causes the wiper otor to continuously wipe cycle the wiper blades at a high speed setting of the motor. WASH MODE: the operator can manipulate a wash switch to set a DEMAND WASH or a PROGRAM WASH. DEMAND WASH: when set by the operator, the demand wash activates the wash pump and the wiper blades move at a low speed. This action continues as long as the operator maintains the wash switch in an engaged position. As soon as the operator releases the wash switch, the dry wipe mode is entered. The number of dry wipes are programmable to the customer requirements. At the completion of the wash mode, the wipers are returned to the mode that they were operating in prior to the selection of the wash. PROGRAM WASH: When the wash switch is activated for less that a specific period of time (time to be specified by the customer), the program wash mode is entered. In this mode the wash pump is pulsed a preprogrammed number of times with the wiper blades running at low speed. The time for pulsing the pump can be programmed to be blade position dependent. For example, the wash pump can be activated only at innerwipe or outerwipe position. After the completion of the wash cycle, the dry wipe routine will take place. When the dry wipe cycle is completed, the control returns to the mode it was operating before the wash mode was entered. PULSE TIMER: this timer is fully programmable and can be specified by the customer. INSTANT WIPE FROM OFF: the manipulation of the wiper switch from OFF MODE to PULSE MODE results in one cycle before the controller responds to the timing of the delay setting. Now referring to Figure 1, generic wiper controller 10 employs micro-controller 12 to execute various program functions. In support of micro-controller 12, the following circuits are used: POWER VOLTAGE REGULATOR/CLOCK Primary power supply 14 is typically comprised of the vehicle battery and is used to supply electrical power to voltage regulator 16 and wash/wiper switch 20. Voltage regulator 16 regulates the voltage delivered by power source 14 to a level which is compatible with the operation of micro-controller 12. Clock 18 is comprised of an electric oscillator circuit to provide a frequency reference signal to micro-controller 12. Preferably, clock 18 includes a crystal and associated support components. The use of voltage regulator 16 and clock 18 in support of micro-controller 12 is well known to those skilled in the art of micro-controller applications. WASH/WIPER SWITCH The wash/wiper switch provides the primary means whereby the vehicle operator communicates his wiper commands to micro-controller 12. In its preferred mode, wash/wiper switch 20 has sufficient number of operator selectable positions to indicate the following information: 1) Wiper on/off 2) Delay mode 3) Continuous run low 4) Continuous run high 5) Mist mode 6) Wash mode In order to minimize the number of conductors 22 necessary to interface the above-referenced selections to micro-controller 12, in its preferred embodiment, wash/wiper switch 20 communicates with micro-controller 12 by way of switch read circuit 24. Switch read circuit 24 establishes an asynchronous communication link with wash/wiper switch 20 so that only a minimal number of conductors are necessary to establish the communications link between switch 20 and micro-controller 12. Asynchronous communications are well known to those skilled in the art and accordingly no further elaboration is necessary regarding the details of the communication between wash/wiper switch 20 and micro-controller 12. VEHICLE SPEED Vehicle speed line 26 provides an electronic signal representative of vehicle speed to speed read circuit 28. Vehicle speed read circuit 28 digitizes the speed signal putting it into a format suitable for reading by micro-controller 12. Vehicle speed information is used by micro-controller 12 to execute the VEHICLE SPEED SENSITIVITY FUNCTION (see definitions). CONFIGURATION SWITCHES Configuration switches 30 preferably comprise a bank of switches which are manipulated by the manufacturer of generic wiper controller 10 or the application's engineer or the like. Configuration switches can take the form of mechanical switches located on the circuit board or can be programmed in erasable or non-erasable ROM, etc. The purpose of configuration switches are to enable the application engineer to customize generic wiper controller 10 to a specific family of vehicles or to otherwise allow the application's engineer to select operational features. While the below list is not exhaustive, it indicates the valuable purpose served by configuration switches used in conjunction with micro-controller 12 to readily tailor generic wiper controller 10 to any number of applications. 1) DEPRESSED PARK OR NON-DEPRESSED PARK APPLICATIONS Perhaps the single most important use of configuration switches are the ability to indicate whether micro-controller 10 is used on a depressed park or a non-depressed park application. Thus, only one micro-controller is necessary to service both the depressed park and non-depressed park applications. Micro-controller 12 is furnished with the logic for both depressed park and non-depressed park applications and by simply reading the configuration switches the proper logic for a given application can be executed. 2) TIME DELAY SELECTION IMPULSE MODE Although the wiper switch allows the vehicle operator to select the time delay between wiper cycles, the upper and lower limits of this range may differ from customer to customer. Thus, by allowing the configuration switches to set different upper and lower limits, micro-controller 10 can be tailored to individual customer requirements. 3) PULSE AT INNERWIPE AND OUTERWIPE Traditional wipers operating in a pulse mode operate by "pausing" the windshield wiper at the innerwipe position and when it is time to wipe cycle the wiper arm, the wiper arm swings to the outerwipe position and back to the innerwipe position (staying at the innerwipe position until the next wiper pulse occurs). More recently a pulse scheme has been used which pauses the wiper arm both at the innerwipe and the outerwipe position. This feature is primarily used when extremely slow delay settings are desirable. Configuration switches 30 can be used by the customer to select one of the above two schemes. 4) VEHICLE SPEED SENSITIVITY As was discussed in the definitions, it is desirable to key the pause time in the pulse mode to vehicle speed wherein increasing the vehicle speed will decrease the pause time. This feature is made optional for any customer by setting the proper configuration switches. 5) WIPER SPEED DURING PULSE MODE Some customers desire that the wipers move at a high speed during a pulse mode while other customers require that the wipers move at a low speed during pulse mode. Configuration switches can be used to select a particular customer's preference. 6) NUMBER OF DRY WIPES The number of dry wipes can be tailored to the particular requirements of a given customer. 7) PUMP ACTIVATIONS DURING PROGRAM WASH During a program wash, the wash pump is activated a predetermined number of times while the wiper blades are running. The time for activating the wash pump can be programmed to be blade position dependent (i.e. can be activated only at innerwipe or outerwipe stroke). The number of times the pump is activated along with the timing for activating the pump (i.e. blade position dependent) can be tailored to a given customer's requirements. By using five configuration switches 30, 2 5 combinations (32 combinations) can be defined. Thus, the configuration switches can be used in one of two ways. The first way they can be used is to simply associate one of the above features with a given switch. For example, when switch 1 is set in the open position, this could indicate that generic wiper controller 10 was being used in a depressed park application. When switch 1 was in the closed position, this would indicate that generic wiper controller 10 was being used in a non-depressed park application. Thus, each switch would correspond to a programmable feature. Of course, using this scheme, there must be sufficient number of switches to accommodate each customer selectable option. The second manner in which configuration switches 30 can be used is that they can define an address unique to each customer. That address corresponds with a set of customer requirements which are defined and stored within the ROM of micro-controller 12. For example, each customer would be assigned a customer number between 0 and 31. When switches 1 through 5 were set to reflect binary "00101", this would reflect that the requirements of customer number 5 were to be used. Micro-controller 12 would have stored therein all of the settings for the features required by customer number 5. Either one of the above two approaches is effective for tailoring generic controller 10 to the individual needs of various customers. LOW SPEED DRIVE Low speed drive 32 accepts the low speed drive command from line 34 of micro-controller 12 and amplifies that signal to a power level sufficient to drive wiper motor 36 at a low speed. Likewise, high speed drive 38 is effective for amplifying the high speed drive command signal on line 40 to a sufficient power level to enable wiper motor 36 to operate at a high speed. DEPRESSED PARK DRIVE Depressed park drive 42 is effective for taking the depressed park drive signal from line 44 and amplifying that signal to a sufficient power level to enable wiper motor 36 to enter into the depressed park mode. Micro-controller 12 receives feedback indicating the wiper position by way of cam 46. In the preferred embodiment, cam 46 is coupled to wiper motor 36 in a way which allows cam 26 to communicate to micro-controller 12 one of the four following wiper positions: 1) wipers on glass (wipers positioned somewhere between inwipe and outwipe position); 2) wipers at outwipe position; 3) wipers at inwipe position; 4) wipers in park position. WASHER POMP Washer pump 54 accepts commands from washer pump driver 48 along line 52 in order to dispense washer solvent on the vehicle windshield. Washer pump driver 48 is commanded from micro-controller 12 along line 50. Washer pump 54 operates in one of two WASH MODES — the DEMAND WASH MODE or the PROGRAM WASH MODE. Both the DEMAND WASH MODE and the PROGRAM WASH MODE are defined in the definition section. WATCHDOG Watchdog circuit 53 is connected to micro-controller 12 by way of line 51. During normal operation of the logic program stored within micro-controller 12, line 51 is periodically toggled. If the generic wiper program stored within controller 12 malfunctions it will fail to toggle line 51. If no activity is sensed by watchdog 53 on line 51 (during a predetermined period), watchdog 53 causes wiper motor 36 to operate in its high speed mode. This is a default mode of the generic controller 10. If micro-controller fails, at least the default mode of motor 36 will be to operate the wipers at a high speed. Now referring to Figure 2, upon initialization of micro-controller 12, program logic set up within micro-controller 12 executes the following routines: customization routine 56, data initialization routine 58, the inputs on mux's line 22' are read, the position of wiper switch 20 is decoded 62, the main routine 64 is executed, and output routine 66 is executed. Now referring to Figure 2 and 3, customization routine 56 is the routine whereby configuration switches 30 are read and matched to a respective customer. Initially, certain default values are assigned 68 to customer selection variables. Next, the configuration switches 30 are read 70 and the switch values are decoded 56 to determine which customer address is set thereon. Once a particular customer address is determined (e.g. customer number 1) 72, the preprogrammed operational features 74 associated with that customer are loaded into the operational logic of the generic wiper program and used therein. Now referring to Figure 2, after the customization routine 56 is complete, a data initialization routine is entered into 58 wherein program variables are assigned values representing certain initial conditions. Next, the position of wash/wiper switch 20 is read 60 and the position of switch 20 is decoded 62. Data initialization routine 58, read routine 60 and decode routine 62 are all well known to those skilled in the programming arts and no further elaboration of these routines is believed to be necessary in order to understand the generic wiper controller of the present invention. Now referring to Figure 2 and Figure 4, main routine 64 interrogates 76 the status of wash/wiper switch 20. If switch 20 is not in the off position, run routine 78 is executed. Run routine 78 will be discussed below. If wash/wiper switch 20 is in the off position, logic path 80 is executed to determine where the wiper arms are positioned in the wipe cycle. If the wiper arms are in the in-wipe position 82 and there are no more dry wipes to execute 84, wiper motor 36 is stopped 86 and if it is operating on a depressed part system 88, the motor is run in reverse 90 until the wiper arms are placed in the parked position 92. Once the wiper arms are in a parked position, motor 36 is stopped 94. If the wiper arms are not in the in-wipe position 82, the status of cam 46 is interrogated 96 to determine if the motor is currently reversing 96 (i.e. in the process of parking the windshield wipers). If the motor is in the process of parking the wiper arms, this process continues 90 until the wiper arms are in the parked position 92. If the motor is not in the process of parking the wiper arms 96, cam 46 is interrogated once again 98 to determine if the wiper arms satisfy the on glass condition (see earlier discussion of DEPRESSED PARK DRIVE for definition of the on glass condition). If the wiper arms are on glass 98 or at the out-wipe position 102, motor 36 is commanded to run at the low speed setting 100. Now referring to Figures 4 and 5, if the "run" routine 78 is invoked from the main routine 64 of Figure 4, logic control jumps to the run routine of Figure 5. If wash/wiper switch 20 is positioned in its high setting 110, motor 36 is run in high speed 112 and any counts remaining in the dry wipe variable are cleared. There is no need for dry wipe cycles once the wipers are run in a continuous mode. If switch 20 is positioned in its low setting 114, motor 36 is run at its low speed setting and the dry wipe variable is cleared. If switch 20 is placed in its delayed position 118, the dry wipe variable is interrogated to determine if the system is in the process of completing a dry wipe cycle. If the dry wipe variable is not equal to zero 120 (i.e. there is a dry wipe in process) the dry wipe is allowed to continue 122, 124 and 126 until it is completed. Once the dry wipe cycle is completed, program logic switches to delay sub-routine 130. Delay sub-routine 130 will be discussed below. If switch 20 is in the wash position 132, program logic is switched to wash routine 134 wherein micro-controller 12 communicates with pump driver 48 along line 50 in order to activate wash pump 54. Now referring to Figures 5 and 6, once delay routine 130 is entered into, program logic is executed in accordance with the flow diagram of Figure 6. Delay routine 130 starts by determining if the system is programmed to pause at the in-wipe and the out-wipe position 136. If the system is so programmed, the status of the wiper arm position is interrogated to determine if the wiper arms are at the out-wipe position 138. If the wiper arms are at the out-wipe position, the delay timer is interrogated 140 to determine if the time delay count has expired. If the time delay count has not expired, an inquiry is made at 152 (discussed below). If the time delay count (time between wiper cycles) has expired 140 and the system is programmed to have a high speed delay 144, then motor 36 is run at a high rate of speed 146. If the system does not have a high speed delay 144, then the motor is run at a low speed setting 148. If the system does not pause at both the in-wipe and out-wipe position 136, and the wiper arms are at the in-wipe position 150, then program logic is transferred to block 140 as has already been discussed. If the wiper arms are not in the in-wipe position, program logic is then transferred to block 144 which has already been discussed. If delay timer has not expired 140, a check is made 152 to determine if wiper switch 20 has just been moved from the off position to the pause position or if the pause time input portion of wiper switch 20 has recently been lengthened or shortened 152 by the vehicle operator. If either of these tests are met, the delay routine immediately wipe cycles the wiper arms 144, 146, 148. This is an important aspect of this invention inasmuch as it eliminates frustration associated with prior art delay systems. In prior art delay systems, there is no immediate pulse from the wiper once a delay setting is changed. Because of this lack of immediate feed back to the vehicle operator, there is a tendency to continue to adjust the pause setting until a response is seen from the wiper arms. Of course, at this point, the vehicle operator has, more than likely, adjusted the pause setting far beyond that which he desires so he must recompensate by readjusting the time setting. This type of "hunting" is frustrating to vehicle operators. The logic of the present invention overcomes this problem by immediately wipe cycling the wipers when they are turned on or if the pause setting has just been lengthened or shortened. The foregoing detailed description shows that the preferred embodiments of the present invention are well suited to fulfill the objects of the invention. It is recognized that those skilled in the art may make various modifications or additions to the preferred embodiments chosen here to illustrate the present invention without departing from the spirit of the present invention. Accordingly, it is to be understood that the subject matter sought to be afforded protection hereby should be deemed to extend to the subject matter defined in the appended claims, including all fair equivalents thereof.

Claims: CLAIMS We claim: 1. A generic wiper controller for controlling vehicle wipers, comprising micro-controller means for controlling a plurality of modes of operation of said wipers, wiper switch means coupled to said micro-controller means for allowing an operator of said vehicle to command a first set of parameters associated with said plurality of modes of operation of said wipers, configuration switch means coupled to said micro-controller means for allowing a customer to command a second set of parameters associated with said plurality of modes of operation of said wipers, wherein said configuration switch means are not readily accessible to said vehicle operator. 2. The generic wiper controller of claim 1, wherein said second set of parameters contains elements not present in said first set of parameters. 3. The generic wiper controller of claim 1, wherein said second set of parameters includes an element relating to a depressed park mode of operation. 4. A generic wiper controller for controlling vehicle wipers comprising wiper switch having a plurality of settings for allowing the vehicle operator to command one of a plurality of modes of operation of said vehicle wipers, electronic circuit coupled to said wiper switch for driving said wipers in accordance with one of said plurality of vehicle wiper modes, wherein said wiper switch includes a TIME DURATION setting wherein said vehicle wipers immediately respond when said TIME DURATION setting is adjusted by said vehicle operator. 5. The generic wiper controller of claim 4, wherein said wiper switch further includes an OFF setting and a DELAY setting, wherein said vehicle wipers immediately respond when said wiper switch is moved from said OFF setting to said DELAY setting. 6. A generic wiper controller for controlling vehicle wipers, comprising: micro-controller means for controlling a plurality of modes of operation of said wipers, program means executable by said micro-controller for establishing the logic steps executed by said micro-controller for controlling the plurality of modes of operation of said wipers, wherein said program means also includes means for signalling the proper operation of said micro-controller means, a watchdog circuit coupled to said signalling means for commanding said vehicle wipers to enter into one of said plurality of modes of operation in response to said signalling means. 7. The generic wiper controller of claim 6, wherein said one of said plurality of modes of operation is a continuous high speed mode of operation. 8. A method of controlling a windshield wiper of a vehicle, comprising: moving the windshield wipers in accordance to commands issued by a vehicle operator, modifying the movement of said windshield wipers in accordance to parameters issued by a vehicle customer. 9. The method of claim 8, wherein said parameters include a TIME DURATION parameter. 10. The method of claim 8, wherein said parameters include an OFF parameter.

Inventors: AGROTIS DEMETRIS A, HARMON DANIEL L, MONAHAN MICHAEL B, SHAMS-JOSDANY MARYAM, AGROTIS, DEMETRIS, A., HARMON, DANIEL, L., MONAHAN, MICHAEL, B., SHAMS-JOSDANY, MARYAM
Applicants: ITT AUTOMOTIVE ELECTRICAL SYST, ITT AUTOMOTIVE ELECTRICAL SYSTEMS, INC.
Application year: 1995
Main classification: B60S1
IPC codes: B60S1