Embodiments generally relate to bidirectional communication methods, systems, assemblies, and devices, and more particularly, to methods, systems, assemblies, and devices for bidirectional communication with an engine control unit; and most particularly to methods, systems, assemblies, and devices for remote, bidirectional communication with a combustion engine control unit.
The petroleum dependency of the transportation industry is staggering. For example, a February 2005 study indicated that 370 million gallons of petroleum-based gasoline fuel was used daily in the United States. However, while the demand for gasoline remains high, its supply is limited, which in turn, drives up the price of gasoline. Companies within the transportation industry, such as rental car companies, sometimes lose their investment in gasoline as cars within their fleets are sold with the gasoline still intact. Moreover, because gasoline is a toxic substance, storage and destruction of discarded vehicles having gasoline in their tanks poses environmental and safety hazard.
It would be an advance in the art of transportation and environmental protection to provide solutions for recovery of fuel that would otherwise be wasted or economically lost.
In certain embodiments, a computer program product for remote, bidirectional communication with an engine control unit disposed in a combustion engine vehicle comprises a computer readable program code which causes a programmable processor to request a Vehicle Identification Number (VIN) from the engine control unit. The computer program product further comprises a computer readable program code which causes the programmable processor to receive and store the VIN.
In certain embodiments, a computer program product for remote, bidirectional communication with an engine control unit disposed in a combustion engine vehicle comprises a computer readable program code which causes a programmable processor to request diagnostic data about the combustion engine vehicle. The computer program product further comprises a computer readable program code which causes the programmable processor to receive and store the diagnostic data.
In certain embodiments, a remote computing device comprises a processor and a non-transitory computer readable medium having computer-readable program code disposed therein for bidirectional communication with an engine control unit disposed in a combustion engine vehicle. The computer-readable program code comprising a series of computer-readable program establishes communication between the processor and the engine control unit that controls a fuel pump disposed in the vehicle. The computer-readable program code further comprising a series of computer readable program to cause the fuel pump to continuously pump fuel from a fuel tank disposed in the vehicle.
The invention will be better understood from a reading of the following detailed description taken in conjunction with the drawings in which like reference designators are used to designate like elements, and in which:
The invention is described in preferred embodiments in the following description with reference to the FIGs., in which like numbers represent the same or similar elements. Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” “in certain embodiments,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment. It is noted that, as used in this description, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise.
The described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are recited to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
Gasoline is a toxic petroleum based liquid that is used as a fuel in combustion engines. The toxic nature of gasoline is due, in part, to the Volatile Organic Compounds (VOCs) and Hazardous Air Pollutants (HAPs) in the fuel. VOCs have a tendency to readily evaporate at environmental temperatures creating airborne particulates that are hazardous to people, animals, and the environment. HAPs are air pollutants that are expected to cause adverse environmental effects. For example, methane in gasoline is a greenhouse gas that is about 72 times stronger than carbon dioxide and when released into the atmosphere, it contributes to ozone formation.
The devastating effect of gasoline on the environment is particularly felt at vehicle salvage yards in which automobiles with gasoline filled tanks sit idle for long periods of time or are destroyed. A 2006 study by the Colorado Department of Public Health and Environment showed that release of vehicle fluids is one of the most common causes of environmental damage found at automobile salvage yards. Although many modern vehicles have an evaporative emissions control system that reduces evaporation of gasoline into the atmosphere, the evaporation is not halted. Consequently, when vehicles are not being used, such as at junkyards, the gasoline in the tanks of the vehicles is wasted as it leaks into the environment at a rate that depends on the ambient temperature. The hazardous risks and environmental damage are compounded when a vehicle is destroyed with the gasoline still in its tank. Here, as the tank of the vehicle is crushed, the volatile and combustible gasoline spills into the proximate soil possibly leaching into groundwater, evaporating as air pollution, or causing an explosion.
Fuel recovery supports energy conservation, reduces hazardous or toxic waste destruction or contamination into the atmosphere, and promotes safety because fuel is removed from vehicles that pose such hazards. In certain embodiments, fuel is recovered from one or more combustion engines, such as combustion engines of airplanes, motor vehicles, motor cycles, lawnmowers, and the like. Particularly, part or all fuel is recovered from a system in which fuel is normally pumped to an engine in a vehicle fuel system.
Referring to
The tip 110 has a configuration that is similar to the configuration of a tip that would normally connect a fuel rail 119 of a vehicle to a fitting 112 of a fuel line 114. The tip 110 has an internal conduit to produce fluid flow through the tip. The fuel line 114 is connected with a fuel pump 116 that draws fuel from a tank, such as fuel tank 118, and normally pumps the fuel to the fuel rail 119 of the vehicle.
Referring now to
When the vehicle is not operating (the engine is not running), and it is desired to recover fuel from the vehicle fuel tank 118 and fuel line 114, the fuel rail 119 is disconnected from the fuel line 114 (see block 130 in
In certain embodiments, a signal from an OBD2 port can cause a fuel pump to operate for up to three seconds only. This three second time interval is sufficient to determine a fuel pressure, and to report a fuel pressure that the fuel pump is capable of generating. Applicants' external fuel pump controller 122 utilizes computer readable code to override that three second limitation, and to cause the fuel pump to operate continuously. In certain embodiments, Applicants' computer readable program code overrides instructions encoded in the OBD2 port assembly. In certain embodiments, Applicants' computer readable program code overrides instructions encoded in an internal fuel pump controller resident in the vehicle.
The controller 122 is initiated by a switch 124, and initiates a circuit connection between the external fuel pump controller 122 and the fuel pump 116, to turn on the fuel pump 116, without turning on the vehicle engine. The fuel pump 116 initiates fuel flow in the fuel line 114, and the single conduit directs the fuel directly to the drain conduit 104 and to the container 102, bypassing the fuel rail 119, and without starting the engine (see 136, 138 in
The duration of time to recover the fuel varies by the make or model of the vehicle and by the capacity of the fuel pump 116. In certain embodiments, the fuel pump 116 is operated below full capacity. In other embodiments, the fuel pump 116 is operated at near full capacity reducing the amount of time to recover the fuel from the fuel tank 118. For example, when the fuel pump 116 of a four cylinder combustion engine is operated at near full capacity, the fuel from the fuel tank of the vehicle is recovered at 2-3 gallons/minute.
Thus, fuel is recovered from a fuel supply system (e.g. a vehicle fuel system) in which fuel is normally directed, under pressure from the fuel pump to an engine (generally via the fuel rail that is connected directly to a fuel supply line). The fuel is recovered, for example, by connecting the drain conduit to the fuel line in a manner that establishes a single fluid conduit from the fuel line to the drain conduit, which bypasses the fuel rail and the engine, and initiating operation of the fuel pump (without starting the engine), to cause the fuel pump to pump fuel in the fuel line directly to the drain conduit. Thus, fuel is drained to the drain conduit, by operating the fuel pump without starting the engine, and draining fuel through the single conduit, while bypassing the fuel rail and the engine.
In certain embodiments, the external fuel pump controller 122 turns the fuel pump 116 on and off, without turning on the vehicle engine, to recover a predetermined (e.g., predefined) amount of fuel from the tank 118 of the vehicle. For example, the external fuel pump controller 122 is programmed to turn on the fuel pump 116 to initiate fuel flow from the tank 118 then turn off the fuel pump 116 after a predetermined amount of fuel (e.g., 3 Gallons) is recovered from the tank 118. In other embodiments, the predetermined amount of fuel is a percentage of the fuel in the tank 118 prior to recovery. Additional comments on an example of a trailer that can be used in recovering fuel from one or more vehicles, in accordance with the principles of the present invention:
Referring to
In the illustrated embodiment of
In certain embodiments, the computing device 610 is a computing device that is owned and/or operated by a first entity/person. Examples of a first entity/person are a host, a vehicle data provider, or a regional or national rental fleet company. In certain embodiments, the computing device 630 is owned and/or operated by a second entity/person such as a rental car facility and the external fuel pump controller 650 (e.g., 122) is owned and/or operated by a third entity/person, such as a mechanic employed by the rental car facility.
In certain embodiments, one or more of the computing devices 610, 630, and 650 are the same computing device. For example, the computing device 610, operated by the host, is also the computing devices 630 and 650 and the communication fabrics 630 and 640 are the same communication fabric. In another example, the external fuel pump controller 122 is the computing device 630 owned and/or operated rental car facility.
For the sake of clarity,
In certain embodiments, the computing devices 610, 630, and 650 are each an article of manufacture. Examples of the article of manufacture include: a server, a mainframe computer, a mobile telephone, a smart phone, a personal digital assistant, a personal computer, a laptop, a set-top box, an MP3 player, an email enabled device, a tablet computer, or a web enabled device having one or more processors (e.g., a Central Processing Unit, a Graphical Processing Unit, programmable processor, and/or a microprocessor) that is configured to execute an algorithm (e.g., a computer readable program or software) to receive data, transmit data, store data, or performing methods or other special purpose computer, for example.
By way of illustration and not limitation,
In certain embodiments, the functions of a processor, and a computer readable medium, and computer readable program code encoded in the computer readable medium, are integrated in a unitary assembly, such as for example and without limitation, an application specific integrated circuit (“ASIC”). In these ASIC embodiments, processor 612, computer readable medium 613, and computer readable program code 614, are present in a single ASIC. Such an ASIC may be used in external fuel pump controller 122 and/or any one of the computing devices 660, 630, and/or 610.
In one example, the processors 632 and 652 access corresponding Application Program Interfaces (APIs) encoded on the corresponding non-transitory computer readable mediums (633 and 653, respectively), and executes instructions (e.g., 636 and 656, for example, respectively) to electronically communicate with the computing device 610. Similarly, the processor 612 accesses the computer readable program code 614, encoded on the non-transitory computer readable medium 613, and executes an instruction 616 to electronically communicate with the computing device 630 via the communication fabric 620 or electronically communicate with the external fuel pump controller 122 via another communication fabric (not shown). A log 637 is maintained of the data communicated or information about the data communicated (e.g., date and time of transmission, frequency of transmission . . . etc.) with any or all of the computing device 630, the external fuel pump controller 122, and the on-board computing device 660. In certain embodiments, the log 637 is analyzed and/or mined.
In certain embodiments, the data repositories 615, 635, 655, and 665 each comprises one or more hard disk drives, tape cartridge libraries, optical disks, combinations thereof, and/or any suitable data storage medium, storing one or more databases, or the components thereof, in a single location or in multiple locations, or as an array such as a Direct Access Storage Device (DASD), redundant array of independent disks (RAID), virtualization device, . . . etc. In certain embodiments, one or more of the data repositories 615, 635, 655, and 665 is structured by a database model, such as a relational model, a hierarchical model, a network model, an entity-relationship model, an object-oriented model, or a combination thereof. For example, in certain embodiments, the data repository 615 is structured in a relational model and stores an amount of fuel actually recovered from a plurality of vehicles in a matrix.
In certain embodiments, the computing devices 610, 630, 650, and 660 include wired and/or wireless communication devices which employ various communication protocols including near field (e.g., “Blue Tooth” or Infrared wireless signals) and/or far field communication capabilities (e.g., satellite communication or communication to cell sites of a cellular network) that support any number of services such as: Short Message Service (SMS) for text messaging, Multimedia Messaging Service (MMS) for transfer of photographs and videos, electronic mail (email) access, or Global Positioning System (GPS) service, for example.
As illustrated in
In certain embodiments, at least one of the communication fabrics 620 or 640 or communication link 670 contains either or both wired or wireless connections for the transmission of signals including electrical connections, magnetic connections, or a combination thereof. Examples of these types of connections include: radio frequency connections, optical connections, telephone links, a Digital Subscriber Line, or a cable link. Moreover, communication fabrics 620 or 640 or communication link 670 utilize any of a variety of communication protocols, such as Transmission Control Protocol/Internet Protocol (TCP/IP), for example.
In some embodiments, at least one or more portions of the system 600 can be implemented as a software and/or hardware module that can be locally and/or remotely executed on one or more of the computing devices 610, 630, and 650. For example, one or more portions of the system 600 can include a hardware-based module (e.g., a digital signal processor (DSP), a field programmable gate array (FPGA)) and/or a software-based module (e.g., a module of computer code or a set of processor-readable instructions that can be executed at a processor).
In certain embodiments, at least one of the computing devices 610, 630 and 650 (e.g., external fuel pump controller 122) is configured to send and/or receive signals from an on-board computing device 660 via an OBD2 port 120. For example, referring to
In certain embodiments, one or more of the computing devices 610, 630, and 650 is configured to receive information from the on-board computing device 660 of the vehicle. For example, the computing device 610 receives information about the vehicle that is stored in the data repository 665 of the on-board computing device 660 or determined through a diagnostic process performed by the on-board computing device 660. Examples of information received from the on-board computing device 660 include the Vehicle Identification Number (VIN); make or model; year of manufacture of the vehicle; or information from the OBD2 of the vehicle which has self-diagnostic and reporting capabilities, such as an amount of fuel left in the tank of the vehicle, or the type of fuel left in the tank of the vehicle.
To illustrate, in certain embodiments, the computing device 610 sends standardized Parameter ID (PID) codes to the OBD2 of vehicles in order to receive a response that includes diagnostic data. The table below shows the standard OBD2 PIDs as defined by SAE J1979 and the expected response of the OBD2 of the on-board computing device 660 for each PID to the computing device 610.
In certain embodiments, one or more of the computing devices 610, 630 and 650 analyze the received data from the on-board computing device 660 to, for example, send alerts, determine a driving status or habit of the corresponding driver, prepare reports, and/or control the engine of the vehicle. To illustrate, the computing device 610 forms a transmission for delivery, via the communication fabric 620, to the on-board computing device 660 that includes the standardized Parameter ID (PID) codes requesting the VIN of the corresponding vehicle. The on-board computing device 660 responds by transmitting the VIN back to the computing device 610, which the computing device 610, in turn, stores at the data repository 615, remote to the vehicle. The computing device 610 analyzes the received VIN to determine the make, and/or model, and/or year of model, and/or body style, and/or plant code of the corresponding vehicle.
In certain embodiments, one or more of the computing devices 610, 630, and 650 use the received diagnostic information to determine if the vehicle has been recalled. To illustrate, the computing device 610 compares the make and model of the vehicle determined from the received VIN with data stored in the data repository 615 regarding vehicle recalls to find a match. Alternatively, or in combination, the computing device 610 conducts a search on the Internet to determine up-to-date information about vehicle recalls and compares same with the determined make and model of the vehicle to find a match. If a match is found, the computing device 610 forms a transmission for delivery to the on-board computing device 660 including an alert, such as sending a PID that instructs the on-board computing device 660 to turn on an engine warning light (e.g., malfunction indicator lamp) in the vehicle. Alternatively or in combination, the computing device 610 forms the transmission for delivery to a known delivery address of a driver of the vehicle.
In certain embodiments, one or more of the computing devices 610, 630, and 650 receives and stores in a corresponding data repository an identifier of a driver and/or a delivery address (e.g., a telephone number, an email address, a computer Internet Protocol address, and the like) of a driver associated with the vehicle. To illustrate, the driver accesses a website of the host to create a profile about the driver and a corresponding vehicle. The profile data includes an identifier for the driver (e.g., name, an account number, and the like), the VIN of the vehicle, and a delivery address (e.g., telephone number) of the driver. The profile data, in turn, is stored in the data repository 615 of the computing device 610. Subsequent to receiving the profile data, the computing device 610 queries the on-board computing device 660 of the corresponding vehicle for the VIN. For example, the computing device 610 compares the received VIN with one or more stored VINs in the data repository 615 to find a match. The computing device 610, in turn, determines the associated identifier and/or the delivery address, such as a telephone number, of the driver and sends an SMS or automated voice message to the delivery address of the driver indicating that the vehicle has been recalled. Here, the telephone processes the message and delivers the message to the driver.
In another example, the computing device 610 sends an alert regarding the diagnostic data for delivery to the driver. To illustrate, when the computing device 610 receives data indicating that the fuel level of the vehicle is low the computing device 610 sends a PID to the on-board computing device 660 to toggle the corresponding fuel light of the vehicle on and off. Alternatively or in combination, the computing device 610 sends a transmission to the on-board computing device 660 that controls a GPS monitor of the vehicle. The transmission includes instructions to display fuel stations in the vicinity of the vehicle.
In certain embodiments, one or more computing devices 610, 630, and 650 use the received information from the on-board computing device 660 to rate a driving status or determine a driving habit of the driver of the corresponding vehicle. To illustrate, the computing device 610 queries the on-board computing device 660 for data about the vehicle to rate the driver's use of the vehicle, such as by sending the PID requesting one or more of: a fuel system status, calculated engine load value, engine coolant temperature, short and long term fuel trim, fuel pressure, engine RPM, speed of vehicle, throttle position, acceleration pedal position, run time since engine start, distance traveled with malfunction indicator lamp, engine run time, fuel level, fuel type, accelerator pedal position, the like, and a combination thereof. The computing device 610 then compares the values of the received data to one or more predetermined values for acceptable standards for driving and determines a ranking for the status of the driver of the corresponding vehicle. A low status ranking would indicated that the driver is driving below standards and a high status ranking would indicate that the driver is driving above standards. For example, if the received data indicates that the engine of the vehicle is on, the vehicle has been driven for a while with a low amount of fuel, and the throttle position indicates a high acceleration, then the computing device 610 ranks the driving status of the driver as low compared to the predetermined values for acceptable standards.
In certain embodiments, one or more of the computing devices 610, 630, and 650 query the on-board computing device 660 a plurality of times for data about the vehicle and uses the received data to determine a driving habit of the driver. For example the computing device 610 requests, receives and stores diagnostic data from the on-board computing device 660 for each of a plurality of times. The received diagnostic data is then used to determine the driving habit of the driver. To illustrate, if a first car rental customer consistently drives a corresponding vehicle over a period of time with above a 20% full tank of premium gasoline, then the first car rental customer is ranked as having a “good” driving habit that is above the predetermined standard of, for example, above 10% full tank. Other means for ranking the driving habit of the driver are also contemplated.
In certain embodiments, the driving status and/or driving habit of the driver is used to determine an offer to be made to the driver. To illustrate, the computing device 610 prepares a report indicating that the first car rental customer has a “good” driving status and/or habit which is then made accessible to a rental car agency. The rental car agency, in turn, determines that the first car rental customer's “good” driving status and/or habit makes the first car rental customer eligible for an offer of 10% off rental car fees. The 10% off offer is then communicated with the first car rental customer, such as by sending a coupon to the delivery address of the first car rental customer stored in one or more of the data repositories 615, 635, and/or 655. Alternatively, or in combination, the rental car agency stores the driving status and/or habit of the first car rental customer at a data repository of its computing device 630 (e.g., data repository 635) and the next time the first car rental customer is at the rental car agency's facility the computing device 630 notifies the rental car counter that the first car rental customer should be made the offer of 10% off her rental car fees due to her “good” driving status and/or habit. Other means for presenting an offer to the driver are also contemplated.
In certain embodiments, the data received from the on-board computing device 660 is used to create and store a driving profile for a driver. The driving profile is then used to subsequently identify the driver. To illustrate, data received from the on-board computing device 660 over time for driver a second car rental customer indicates that she typically drives with premium gasoline in the car with the throttle position constantly toggling between high and low positions. The received data is used to create a profile of the second car rental customer. Later, when the second car rental customer rents a car during a business trip, the computing device 610 receives data from the on-board computing device 660 of the rental car. The received data is compared with one or more profiles stored in the data repository 635 to find a match. When a match is found, the identity of the driver associated with the matched profile is determined and the driver of the rental car is recognized as the second car rental customer, for example.
Referring to
In certain embodiments, the information received from the on-board computing device 660 of the vehicle is used by the external fuel pump controller 122, such as the controller 122 of
To illustrate, the external fuel pump controller 122 forms a transmission for wireless delivery to the I/O 661 of the on-board computing device 660. The transmission includes a PID requesting information about a percentage of fuel disposed in the tank of the vehicle. The on-board computing device 660, in turn, sends a response signal to the external fuel pump controller 122 indicating that the tank of the vehicle is 50% full. The user of the external fuel pump controller 122 sets the predetermined amount of fuel to be recovered from the tank to be such that the tank of the vehicle remains only 25% full, Target Fuel Level 718 of 25%. Here, the external fuel pump controller 122 uses the information received from the on-board computing device 660 to determine the amount of fuel left in the tank and compares the determined amount to the predetermined amount. If a match is not found, the external fuel pump controller 122 sends a signal to the on-board computing device 660 to continuously operating the fuel pump of a combustion engine. The external fuel pump controller 122 repeatedly communicates with the on-board computing device 660 of the vehicle requesting data about the amount of fuel in the tank until a match is found. When the remaining amount of fuel in the tank matches the predetermined amount (e.g., 25% in this example), the external fuel pump controller 122 sends a signal to the on-board computing device 660 to stop the continuous operation of the fuel pump.
Other examples of Target Fuel Levels 718 include: five percent; ten percent; fifteen percent; twenty percent; twenty five percent; thirty percent; thirty five percent; forty percent; forty five percent; fifty percent; fifty five percent; sixty percent; sixty five percent; seventy percent; seventy five percent; eighty percent; eighty five percent; ninety percent; ninety five percent; and one hundred percent of the fuel in the tank.
Referring back to
The information received at the computing device 610 of the host can be filtered, mined, analyzed, and reported upon through the execution of a series of instructions encoded on the computer readable medium 613. Referring to
Thus, the foregoing description demonstrates how the principles of the present invention are used for recovering fuel from a system in which fuel is normally pumped to an engine, e.g. in a vehicle fuel system. With the foregoing disclosure in mind, it is believed that various ways of recovering fuel from a fuel delivery system, according to the principles of the present invention, will be apparent to those in the art.
The schematic flow chart diagrams included are generally set forth as a logical flow-chart diagram (e.g.,
In certain embodiments, individual steps recited in
Examples of computer readable program code include, but are not limited to, micro-code or micro-instructions, machine instructions, such as produced by a compiler, code used to produce a web service, and files containing higher-level instructions that are executed by a computer using an interpreter. For example, embodiments are implemented using Java, C++, or other programming languages (e.g., object-oriented programming languages) and development tools. Additional examples of computer code include, but are not limited to, control signals, encrypted code, and compressed code.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, not limitation, and various changes in form and details may be made. Any portion of the apparatus and/or methods, for example, described herein may be combined in any combination, except mutually exclusive combinations. The embodiments described herein can include various combinations and/or sub-combinations of the functions, components and/or features of the different embodiments described. For example, multiple, distributed qualification processing systems can be configured to operate in parallel.
Although the present invention has been described in detail with reference to certain embodiments, one skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which have been presented for purposes of illustration and not of limitation. Therefore, the scope of the appended claims should not be limited to the description of the embodiments contained herein.
This application claims priority to U.S. application Ser. No. 13/453,955 “Remote Bidirectional Communication with an Engine Control Unit”, filed Apr. 23, 2012, which is a continuation of U.S. application Ser. No. 13/252,070, filed Oct. 3, 2011, now U.S. Pat. No. 8,165,781 “Fuel Recovery”, which was a continuation-in-part application claiming priority to Ser. No. 13/018,154, filed Jan. 31, 2011, now abandoned, which claimed priority from a U.S. Provisional Application having Ser. No. 61/299,780 filed Jan. 29, 2010, the entire content of each of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61299780 | Jan 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13453955 | Apr 2012 | US |
Child | 14861483 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13252070 | Oct 2011 | US |
Child | 13453955 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13018154 | Jan 2011 | US |
Child | 13252070 | US |