US20160010583A1 - Remote, bidirectional communication with an engine control unit - Google Patents

Remote, bidirectional communication with an engine control unit Download PDF

Info

Publication number
US20160010583A1
US20160010583A1 US14/861,483 US201514861483A US2016010583A1 US 20160010583 A1 US20160010583 A1 US 20160010583A1 US 201514861483 A US201514861483 A US 201514861483A US 2016010583 A1 US2016010583 A1 US 2016010583A1
Authority
US
United States
Prior art keywords
fuel
computer readable
programmable processor
vehicle
causes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/861,483
Inventor
Jerry McGuffin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/018,154 external-priority patent/US20110197855A1/en
Priority claimed from US13/252,070 external-priority patent/US8165781B2/en
Application filed by Individual filed Critical Individual
Priority to US14/861,483 priority Critical patent/US20160010583A1/en
Publication of US20160010583A1 publication Critical patent/US20160010583A1/en
Priority to US15/591,485 priority patent/US9796320B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60PVEHICLES ADAPTED FOR LOAD TRANSPORTATION OR TO TRANSPORT, TO CARRY, OR TO COMPRISE SPECIAL LOADS OR OBJECTS
    • B60P3/00Vehicles adapted to transport, to carry or to comprise special loads or objects
    • B60P3/22Tank vehicles
    • B60P3/224Tank vehicles comprising auxiliary devices, e.g. for unloading or level indicating
    • B60P3/2245Adaptations for loading or unloading
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/266Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the computer being backed-up or assisted by another circuit, e.g. analogue
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D7/00Apparatus or devices for transferring liquids from bulk storage containers or reservoirs into vehicles or into portable containers, e.g. for retail sale purposes
    • B67D7/04Apparatus or devices for transferring liquids from bulk storage containers or reservoirs into vehicles or into portable containers, e.g. for retail sale purposes for transferring fuels, lubricants or mixed fuels and lubricants
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/30Controlling fuel injection
    • F02D41/3082Control of electrical fuel pumps
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02MSUPPLYING COMBUSTION ENGINES IN GENERAL WITH COMBUSTIBLE MIXTURES OR CONSTITUENTS THEREOF
    • F02M37/00Apparatus or systems for feeding liquid fuel from storage containers to carburettors or fuel-injection apparatus; Arrangements for purifying liquid fuel specially adapted for, or arranged on, internal-combustion engines
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/04Introducing corrections for particular operating conditions
    • F02D41/042Introducing corrections for particular operating conditions for stopping the engine

Definitions

  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 1 is an illustration of a mobile system that can be used in the recovery of fuel from one or more vehicles, in accordance with the principles of the present invention
  • FIG. 2 is an illustration of a drain conduit with a two-way valve and a fitting, for use with an apparatus and method according to the principles of the present invention
  • FIG. 3 is a schematic illustration of the basic structure and principles by which fuel is drained from a vehicle, according to the principles of the present invention
  • FIG. 4 is an illustration of a portion of a system that can be used in draining fuel from a plurality of vehicles, according to the principles of the present invention
  • FIG. 5 is a schematic illustration of the method by which fuel is drained from a vehicle, according to the principles of the present invention
  • FIG. 6 is illustrates an exemplary embodiment of Applicants' fuel recovery system
  • FIGS. 7A and 7B each illustrates an exemplary user interface for a fuel pump controller
  • FIGS. 8A and 8B each illustrates an exemplary user interface for a computing device.
  • 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 Volatile Organic Compounds
  • HAPs Hazardous Air Pollutants
  • 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.
  • 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.
  • 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.
  • 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.
  • a recovery system 100 is shown, which is carried by a trailer 101 .
  • a fuel recovery container 102 (sometimes referred to as a storage container) is carried by the trailer, and fuel recovered from the vehicles, for example, is delivered to the fuel recovery container 102 .
  • a series of drain conduits 104 are connected with the fuel recovery container 102 (via a distribution/injector structure described below and shown in FIG. 4 ).
  • Each drain conduit 104 is supported on a reel 106 that enables the drain conduit to be extended when it is being used to recover fuel from a vehicle.
  • a two-way valve 108 shown in more detail in FIG. 2 , with a fitting that enables a tip 110 to be coupled to the two-way valve (preferably via a threaded connection).
  • 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.
  • the fuel rail 119 is disconnected from the fuel line 114 (see block 130 in FIG. 5 ).
  • the fuel recovery system is connected to the fuel line by coupling the tip 110 to the two-way valve 108 directly to the fitting 112 on the fuel line 114 , so that a single conduit is established directly from the fuel line to the drain conduit 104 (see 132 , 134 in FIG. 5 ).
  • An external fuel pump controller 122 is coupled to a fuel pump or to an on-board computing device (“engine control unit”), such as an internal fuel pump controller, via On-Board Diagnostics (“OBD”) port of the vehicle, such as the OBD2 port 120 of the vehicle.
  • engine control unit such as an internal fuel pump controller
  • OBD On-Board Diagnostics
  • 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.
  • Applicants' computer readable program code overrides instructions encoded in the OBD2 port assembly.
  • 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 FIG. 5 ).
  • fuel recovered from the fuel tank 118 of a vehicle is stored in a container 102 that has the same type of fuel that is in the fuel tank 118 .
  • unleaded fuel recovered from the fuel tank 118 is stored in a container 102 that is for unleaded fuel or fuel in the fuel tank 118 with a % of ethanol is stored in a container 102 that is for fuel with a similar type of % of ethanol.
  • 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 .
  • the fuel pump 116 is operated below full capacity.
  • 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.
  • 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.
  • 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.
  • 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.
  • a predetermined amount of fuel e.g., 3 Gallons
  • 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:
  • a system 600 for remote, bidirectional communication with an engine control unit disposed in a combustion engine vehicle is illustrated.
  • one or more computing devices 610 , 630 , and 650 e.g., pump controller 122 of FIG. 3
  • one or more on-board computing devices 660 (sometimes referred to as “engine control unit”) via an OBD2 port 120 of corresponding one or more vehicles having corresponding combustion engines.
  • the remote computing device 610 is server remote (e.g., more than 100 feet) from, and communicatively coupled to, one or more vehicles each with corresponding on-board computing devices 660 via a first communication fabric 620 .
  • the computing device 610 is communicatively coupled to each of 500 vehicles each with corresponding on-board computing devices 660 via a cellular or a far field communication network.
  • the computing device 630 is communicatively coupled to one or more vehicles each with corresponding on-board computing devices 660 via a second communication fabric 640 .
  • the external fuel pump controller 122 is wirelessly connected to each of 30 vehicles each with corresponding on-board computing devices 660 via an intranet.
  • the external fuel pump controller 122 is communicatively coupled to one or more vehicles each with corresponding on-board computing devices 660 via a second communication fabric 640 or via a direction connection 670 .
  • the external fuel pump controller 122 is electronically connected to each of ten vehicles each with corresponding on-board computing devices 660 via a wired connection.
  • the computing device 630 is communicatively connected to the computing device 610 through the first communication fabric 620 and the external fuel pump controller 122 through the second communication fabric 640 .
  • the computing device 610 is a computing device that is owned and/or operated by a first entity/person.
  • a first entity/person are a host, a vehicle data provider, or a regional or national rental fleet company.
  • 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.
  • one or more of the computing devices 610 , 630 , and 650 are the same computing device.
  • 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.
  • the external fuel pump controller 122 is the computing device 630 owned and/or operated rental car facility.
  • FIG. 6 shows a single computing device 610 , computing device 630 , and external fuel pump controller 122 .
  • FIG. 6 should not be taken as limiting. Rather, in other embodiments any number of entities and corresponding devices can be part of the system 600 , and further, although FIG. 6 shows two communication fabrics 620 and 640 , in other embodiments less or more than two communication fabrics is provided in the system 600 .
  • the communication fabric 620 and the communication fabric 640 are the same communication fabric.
  • the computing devices 610 , 630 , and 650 are each an article of manufacture.
  • 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.
  • an algorithm e.g., a computer readable program or software
  • FIG. 6 illustrates the computing device 610 , the computing device 630 , the external fuel pump controller 122 , and the on-board computing device 660 as each including: a processor ( 612 , 632 , 652 , and 662 respectively); a non-transitory computer readable medium ( 613 , 633 , 653 , and 663 respectively) having a series of instructions, such as computer readable program steps encoded therein; an input/output means ( 611 , 631 , 651 , and 661 respectively) such as a keyboard, a mouse, a stylus, touch screen, a receiver, a transmitter, a transceiver, a camera, a scanner, or a printer.
  • a processor 612 , 632 , 652 , and 662 respectively
  • a non-transitory computer readable medium 613 , 633 , 653 , and 663 respectively
  • an input/output means 611 , 631 , 651 , and 661 respectively
  • the non-transitory computer readable mediums 613 , 633 , 653 , and 663 each include corresponding computer readable program codes ( 614 , 634 , 654 , and 664 respectively) and data repositories ( 615 , 635 , 655 , and 665 respectively).
  • the processors 612 , 632 , 652 , and 662 access corresponding computer readable program codes ( 614 , 634 , 654 , and 664 respectively), encoded on the corresponding non-transitory computer readable mediums ( 613 , 633 , 653 , and 663 respectively), and executes one or more corresponding instructions ( 616 , 636 , 656 , and 666 respectively).
  • processor 612 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”).
  • ASIC application specific integrated circuit
  • processor 612 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”).
  • 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 .
  • 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 .
  • 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 .
  • the log 637 is analyzed and/or mined.
  • 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.
  • DASD Direct Access Storage Device
  • RAID redundant array of independent disks
  • virtualization device . . . etc.
  • 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.
  • 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.
  • 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.
  • 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.
  • SMS Short Message Service
  • MMS Multimedia Messaging Service
  • Email electronic mail
  • GPS Global Positioning System
  • the communication fabrics 620 and 640 each comprise one or more switches 621 and 641 , respectively.
  • at least one of the communication fabrics 620 and 640 comprises the Internet, an intranet, an extranet, a storage area network (SAN), a wide area network (WAN), a local area network (LAN), a virtual private network, a satellite communications network an interactive television network, or any combination of the foregoing.
  • SAN storage area network
  • WAN wide area network
  • LAN local area network
  • satellite communications network an interactive television network, or any combination of the foregoing.
  • 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.
  • 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.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • 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 .
  • 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).
  • DSP digital signal processor
  • FPGA field programmable gate array
  • At least one of the computing devices 610 , 630 and 650 is configured to send and/or receive signals from an on-board computing device 660 via an OBD2 port 120 .
  • the computing device 610 operated by the host is configured to form and receive transmissions from the computing device 660 .
  • the computing device 610 receives diagnostic data from, and sends requests or instructions to, the on-board computing device 660 .
  • the computing device 610 sends instructions to the on-board computing device 660 to continuously operate the fuel pump 116 of the combustion engine, without starting the combustion engine, to recover all fuel disposed in the tank 118 .
  • 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.
  • 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.
  • VIN Vehicle Identification Number
  • OBD2 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.
  • 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.
  • PID Parameter ID
  • 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 .
  • MIL malfunction indicator lamp
  • 1 2 Freeze DTC 1 3 2
  • 1 4 1 Calculated engine load 0 100 % A * 100/255 value 1 5 1 Engine coolant ⁇ 40 215 ° C.
  • PID 0x40 1 21 2 Distance traveled with 0 65,535 km (A * 256) + B malfunction indicator lamp (MIL) on 1 22 2 Fuel Rail Pressure 0 5177.265 kPa ((A * 256) + B) * (relative to manifold 0.079 vacuum) 1 23 2 Fuel Rail Pressure 0 655,350 kPa ((A * 256) + B) * (diesel, or gasoline (gauge) 10 direct inject) 1 24 4 O2S1_WR_lambda(1): 0 1.999 N/A ((A * 256) + B) * 2/65535 or ((A * 256) + B)/ 32768 Equivalence Ratio 0 7.999 V ((C * 256) + D) * 8/65535 or ((C * 256) + D)/ 8192 Voltage 1 25 4 O2S2_WR_lambda(1): 0 2 N/A ((A * 256) + B) * 2/65535 Equivalence
  • 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.
  • 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.
  • PID Parameter ID
  • 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.
  • one or more of the computing devices 610 , 630 , and 650 use the received diagnostic information to determine if the vehicle has been recalled.
  • 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.
  • 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.
  • 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.
  • the computing device 610 forms the transmission for delivery to a known delivery address of a driver of the vehicle.
  • 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.
  • a delivery address e.g., a telephone number, an email address, a computer Internet Protocol address, and the like
  • 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 is stored in the data repository 615 of the computing device 610 .
  • 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.
  • the delivery address such as a telephone number
  • the computing device 610 sends an alert regarding the diagnostic data for delivery to the driver.
  • 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.
  • 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.
  • 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.
  • 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 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.
  • 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.
  • 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.
  • a first car rental customer consistently drives a corresponding vehicle over a period of time with above a 20% full tank of premium gasoline
  • 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.
  • the driving status and/or driving habit of the driver is used to determine an offer to be made to the driver.
  • 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 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 .
  • 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.
  • a data repository of its computing device 630 e.g., data repository 635
  • Other means for presenting an offer to the driver are also contemplated.
  • 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.
  • 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.
  • 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.
  • a user interface (UI) 700 for rendition on the external fuel pump controller 122 shown as a smart phone 708 , is illustrated.
  • the user of the external fuel pump controller 122 has selected vehicle 2 on the smart phone 708 .
  • the vehicle information 712 for the selected vehicle 2 is rendered on UI 710 .
  • the information 714 includes the VIN, make, and year of the vehicle.
  • the UI 710 also includes diagnostic information received from the computing device 660 of vehicle 2 : Current Fuel Level 50% (element 716 ), and the type of fuel in the tank of vehicle 2 .
  • 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 FIG. 3 , to actuate the fuel pump of the combustion engine to recover a predetermined amount of fuel (e.g., predetermined amount of gallons to be recovered or a percentage of the tank to be recovered).
  • a predetermined amount of fuel e.g., predetermined amount of gallons to be recovered or a percentage of the tank to be recovered.
  • the predetermined amount of fuel is denoted by a Target Fuel Level 718 of 25%.
  • 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 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%.
  • 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.
  • 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.
  • 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.
  • 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.
  • the information of a plurality of vehicles received from a plurality of controllers that are sent to a plurality of computing devices 630 from different localities is sent to the computing device 610 of a host.
  • the computing devices 650 of each of a plurality of users communicate the information from a plurality of respective vehicles (e.g., actual fuel recovered from each), to the computing device 630 , which is operated by the store manager of Company XYZ.
  • the computing devices 650 of a plurality of store managers of a plurality of companies in turn, communicate the respective received information to the computing device 610 , which is operated by a host.
  • the computing device 610 of the host receives information from a plurality of computing devices 630 of store managers, each of which receives information from a plurality of user computing devices 650 for a plurality of on-board computing devices 660 of a plurality of vehicles.
  • 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 .
  • the processor 612 executes the code 614 to render exemplary UI 800 .
  • a host uses UI 800 to select a jurisdiction or field 802 to filter data received within the system 600 of FIG. 6 about fuel recovery.
  • the host has selected 804 to filter the fuel recovery data for Company XYZ's rental car facilities in Arizona 806 for fuel recovery in the month of August.
  • the data shows that a total of 25,000 actual gallons 816 of fuel were recovered from a plurality of vehicles in the month of August.
  • the recovery value in dollars is estimated 818 as $100,000.
  • the host uses the computing device 610 to transmit a report reflecting same to the computing device 630 of the participant (e.g., manager of a Company XYZ store in Arizona).
  • the processor 632 executes the code 634 to render a similar exemplary UI to filter, view, analyze, or mine the information it has access to.
  • the schematic flow chart diagrams included are generally set forth as a logical flow-chart diagram (e.g., FIG. 5 ). As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. In certain embodiments, other steps and methods are conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types are employed in the flow-chart diagrams, they are understood not to limit the scope of the corresponding method (e.g., FIG. 5 ). Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow indicates a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
  • the computer readable program code described reside in any other computer program product, where that computer readable program code is executed by a computer external to, or internal to, systems 100 or 600 ( FIGS. 1 and 6 , respectively), to perform one or more of steps recited in FIG. 5 .
  • the computer readable program code is encoded in a non-transitory computer readable medium comprising, for example, a magnetic information storage medium, an optical information storage medium, an electronic information storage medium, and the like.
  • “Electronic storage media,” means, for example and without limitation, one or more devices, such as and without limitation, a PROM, EPROM, EEPROM, Flash PROM, compactflash, smartmedia, and the like.
  • 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.
  • 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.

Abstract

A remote computing device communicates bi-directionally with an on-board computing device disposed in a combustion engine vehicle, wherein the on-board computing device controls a fuel pump of the vehicle. The remote computing device queries for and receives data about the vehicle from the on-board computing device, such as the Vehicle Identification Number, diagnostic information about the vehicle, and/or data about how the vehicle is being driven.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • 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.
  • FIELD OF THE INVENTION
  • 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.
  • BACKGROUND OF THE INVENTION
  • 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.
  • SUMMARY OF THE INVENTION
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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:
  • FIG. 1 is an illustration of a mobile system that can be used in the recovery of fuel from one or more vehicles, in accordance with the principles of the present invention;
  • FIG. 2 is an illustration of a drain conduit with a two-way valve and a fitting, for use with an apparatus and method according to the principles of the present invention;
  • FIG. 3 is a schematic illustration of the basic structure and principles by which fuel is drained from a vehicle, according to the principles of the present invention;
  • FIG. 4 is an illustration of a portion of a system that can be used in draining fuel from a plurality of vehicles, according to the principles of the present invention;
  • FIG. 5 is a schematic illustration of the method by which fuel is drained from a vehicle, according to the principles of the present invention;
  • FIG. 6 is illustrates an exemplary embodiment of Applicants' fuel recovery system;
  • FIGS. 7A and 7B each illustrates an exemplary user interface for a fuel pump controller; and
  • FIGS. 8A and 8B each illustrates an exemplary user interface for a computing device.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • 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 FIG. 1, a recovery system 100 is shown, which is carried by a trailer 101. A fuel recovery container 102 (sometimes referred to as a storage container) is carried by the trailer, and fuel recovered from the vehicles, for example, is delivered to the fuel recovery container 102. A series of drain conduits 104 are connected with the fuel recovery container 102 (via a distribution/injector structure described below and shown in FIG. 4). Each drain conduit 104 is supported on a reel 106 that enables the drain conduit to be extended when it is being used to recover fuel from a vehicle. As shown in FIG. 3, at the distal end of the drain conduit 104 there is a two-way valve 108 shown in more detail in FIG. 2, with a fitting that enables a tip 110 to be coupled to the two-way valve (preferably via a threaded connection).
  • 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 FIGS. 1-3 and 5. In normal operation of the vehicle, when the ignition switch is turned on, the fuel pump 116 is actuated (by an electrical signal), the engine (not shown) is turned on, and fuel is pumped from the fuel tank 118, to the vehicle combustion engine via a connection between the fuel line 114 and the fuel rail 119.
  • 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 FIG. 5). The fuel recovery system is connected to the fuel line by coupling the tip 110 to the two-way valve 108 directly to the fitting 112 on the fuel line 114, so that a single conduit is established directly from the fuel line to the drain conduit 104 (see 132, 134 in FIG. 5). An external fuel pump controller 122 is coupled to a fuel pump or to an on-board computing device (“engine control unit”), such as an internal fuel pump controller, via On-Board Diagnostics (“OBD”) port of the vehicle, such as the OBD2 port 120 of the vehicle.
  • 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 FIG. 5). In certain embodiments, fuel recovered from the fuel tank 118 of a vehicle is stored in a container 102 that has the same type of fuel that is in the fuel tank 118. For example, unleaded fuel recovered from the fuel tank 118 is stored in a container 102 that is for unleaded fuel or fuel in the fuel tank 118 with a % of ethanol is stored in a container 102 that is for fuel with a similar type of % of ethanol.
  • 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:
      • a. The trailer 101 is preferably a dual 3500# axle trailer equipped with G rated radial tires and electric brakes.
      • b. The fuel recovery container 102, which receives and stores recovered fuel, is preferably a UL 142 listed and approved 500 gallon all-steel fuel storage tank custom built by Tyco manufacturing in Tucson, Ariz.
      • c. The trailer 101 preferably includes safety features such as electric brakes, a break-away system, grated steel safety platform for easy access to the trailer, and flip away heavy duty trailer jack assembly. The trailer includes required federally-mandated pressure relief valves for proper release of fuel vapors. Moreover, the trailer would be equipped with stage one vapor recovery units installed to insure compliance with the new stricter EPA regulations. In addition, the trailer is provided with two vapor tubes, the first is for use while the unit is being transported to and from a facility at which it is used, the second additional vent tube for use while in operation.
      • d. The reels 106 are preferably UL listed anti-static reels.
      • e. The trailer 101 may include a pump for dispensing fuel directly from the storage tank. The pump would preferably be a UL listed explosion-proof pump with electrical connectors.
      • f. All tanks on the trailer come equipped with an accurate fuel level sight glass for easy recognition of fuel levels within the tank.
      • g. The fuel distribution/injection system is designed to enable fuel to be recovered from several vehicles. The fuel distribution system (also referred to as the injection system) safely transfers the fuel from the vehicles from which fuel is being recovered to the tank. FIG. 4 shows the distributor 126 that distributes fuel from several drain conduits 104 to the recovery container 102.
      • h. Fuel can be recovered from a vehicle through the tip(s) 110, that are specially produced to properly and securely fit into the fittings 112 of the fuel lines of different vehicle types in a leak proof manner, and each of which includes a fuel grade locking ball valve to prevent a fuel spill from occurring. This secure fit reduces emission of Volatile Organic Compounds into the atmosphere.
      • i. One or more solar panels may be installed on the trailer to power the unit. This eliminates the need for an internal combustion engine as the power source. Power from the solar panel(s) is stored in an onboard deep cycle battery in a sealed compartment. All connections in the electrical system are made using explosion-proof UL listed connectors.
      • j. The trailer is DOT certified, with four (4) fire extinguishers, all required information placards, and reflective DOT tape. One of the four onboard fire extinguishers is strategically placed in an appropriate location to address the unlikely case of an incident. The trailer also has a box of reflective triangles in case of a roadside emergency as required by the DOT. The trailer also includes spill kits that are preferably larger than standard spill kits on a semi-truck tanker, and include containment rings, spill diapers, safety goggles, rubber gloves, and clean-up disposal bag. The trailer includes a five (5) gallon fire bucket for safe storage of used rags. The two-way value 108 is preferably a solid brass corrosion proof two-way valve on the drain conduit 104 to control the flow of recovered fuel being deposited into the fuel recovery container 102.
      • k. The trailer has a stage one vapor recovery system designed to make the fuel recovery system compliant in all 50 United States and Canada. The trailer is also equipped with a dual-purpose delivery and vapor recovery collar. This collar enables the operator to simultaneously deliver fuel and recover vapors in one step. The collar is also universal to fit older as well as newer tank coupling styles. Manual lock handles, easy carry handle, oversize gaskets, and a sight glass are standard on delivery collars. Dual-purpose collar with delivery hose and vapor recovery hose attached are also provided.
  • Referring to FIG. 6, a system 600 for remote, bidirectional communication with an engine control unit disposed in a combustion engine vehicle is illustrated. In certain embodiments, one or more computing devices 610, 630, and 650 (e.g., pump controller 122 of FIG. 3) are communicatively coupled for bidirectional communication with one or more on-board computing devices 660 (sometimes referred to as “engine control unit”) via an OBD2 port 120 of corresponding one or more vehicles having corresponding combustion engines. To illustrate, the remote computing device 610 is server remote (e.g., more than 100 feet) from, and communicatively coupled to, one or more vehicles each with corresponding on-board computing devices 660 via a first communication fabric 620. For example, the computing device 610 is communicatively coupled to each of 500 vehicles each with corresponding on-board computing devices 660 via a cellular or a far field communication network. In another illustration, in certain embodiments, the computing device 630 is communicatively coupled to one or more vehicles each with corresponding on-board computing devices 660 via a second communication fabric 640. For example, the external fuel pump controller 122 is wirelessly connected to each of 30 vehicles each with corresponding on-board computing devices 660 via an intranet. In yet another illustration, in certain embodiments, the external fuel pump controller 122 is communicatively coupled to one or more vehicles each with corresponding on-board computing devices 660 via a second communication fabric 640 or via a direction connection 670. For example, the external fuel pump controller 122 is electronically connected to each of ten vehicles each with corresponding on-board computing devices 660 via a wired connection.
  • In the illustrated embodiment of FIG. 6, the computing device 630 is communicatively connected to the computing device 610 through the first communication fabric 620 and the external fuel pump controller 122 through the second communication fabric 640.
  • 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, FIG. 6 shows a single computing device 610, computing device 630, and external fuel pump controller 122. FIG. 6 should not be taken as limiting. Rather, in other embodiments any number of entities and corresponding devices can be part of the system 600, and further, although FIG. 6 shows two communication fabrics 620 and 640, in other embodiments less or more than two communication fabrics is provided in the system 600. For example, in certain embodiments, the communication fabric 620 and the communication fabric 640 are the same communication fabric.
  • 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, FIG. 6 illustrates the computing device 610, the computing device 630, the external fuel pump controller 122, and the on-board computing device 660 as each including: a processor (612, 632, 652, and 662 respectively); a non-transitory computer readable medium (613, 633, 653, and 663 respectively) having a series of instructions, such as computer readable program steps encoded therein; an input/output means (611, 631, 651, and 661 respectively) such as a keyboard, a mouse, a stylus, touch screen, a receiver, a transmitter, a transceiver, a camera, a scanner, or a printer. The non-transitory computer readable mediums 613, 633, 653, and 663 each include corresponding computer readable program codes (614, 634, 654, and 664 respectively) and data repositories (615, 635, 655, and 665 respectively). The processors 612, 632, 652, and 662 access corresponding computer readable program codes (614, 634, 654, and 664 respectively), encoded on the corresponding non-transitory computer readable mediums (613, 633, 653, and 663 respectively), and executes one or more corresponding instructions (616, 636, 656, and 666 respectively).
  • 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 FIG. 6, the communication fabrics 620 and 640 each comprise one or more switches 621 and 641, respectively. In certain embodiments, at least one of the communication fabrics 620 and 640 comprises the Internet, an intranet, an extranet, a storage area network (SAN), a wide area network (WAN), a local area network (LAN), a virtual private network, a satellite communications network an interactive television network, or any combination of the foregoing.
  • 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 FIGS. 3 and 6, in certain embodiments, the computing device 610 operated by the host is configured to form and receive transmissions from the computing device 660. Here, the computing device 610 receives diagnostic data from, and sends requests or instructions to, the on-board computing device 660. To illustrate, the computing device 610 sends instructions to the on-board computing device 660 to continuously operate the fuel pump 116 of the combustion engine, without starting the combustion engine, to recover all fuel disposed in the tank 118.
  • 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.
  • Mode PID Data bytes Min Max
    (hex) (hex) returned Description value value Units Formula
    1 0 4 PIDs supported [01-20] Bit encoded
    [A7 . . . D0] ==
    [PID
    0x01 . . . PID
    0x20]
    1 1 4 Monitor status since Bit encoded.
    DTCs cleared.
    (Includes malfunction
    indicator lamp (MIL)
    status and number of
    DTCs.)
    1 2 2 Freeze DTC
    1 3 2 Fuel system status Bit encoded.
    1 4 1 Calculated engine load 0 100 % A * 100/255
    value
    1 5 1 Engine coolant −40 215 ° C. A − 40
    temperature
    1 6 1 Short term fuel % −100 99.22 % (A − 128) *
    trim - Bank 1 (Rich) (Lean) 100/128
    1 7 1 Long term fuel % −100 99.22 % (A − 128) *
    trim - Bank 1 (Lean) (Rich) 100/128
    1 8 1 Short term fuel % −100 99.22 % (A − 128) *
    trim - Bank 2 (Lean) (Rich) 100/128
    1 9 1 Long term fuel % −100 99.22 % (A − 128) *
    trim - Bank 2 (Lean) (Rich) 100/128
    1 0A 1 Fuel pressure 0 765 kPa A * 3
    (gauge)
    1 0B 1 Intake manifold 0 255 kPa A
    absolute pressure (absolute)
    1 0C 2 Engine RPM 0 16,383.75 rpm ((A * 256) + B)/4
    1 0D 1 Vehicle speed 0 255 km/h A
    1 0E 1 Timing advance −64 63.5 ° relative A/2 − 64
    to #1
    cylinder
    1 0F 1 Intake air temperature −40 215 ° C. A − 40
    1 10 2 MAF air flow rate 0 655.35 grams/ ((A * 256) + B)/
    sec 100
    1 11 1 Throttle position 0 100 % A * 100/255
    1 12 1 Commanded Bit encoded.
    secondary air status
    1 13 1 Oxygen sensors [A0 . . . A3] ==
    present Bank 1,
    Sensors 1-4.
    [A4 . . . A7] ==
    Bank 2 . . . .
    1 14 2 Bank 1, Sensor 1: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 15 2 Bank 1, Sensor 2: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 16 2 Bank 1, Sensor 3: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 17 2 Bank 1, Sensor 4: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 18 2 Bank 2, Sensor 1: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 19 2 Bank 2, Sensor 2: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 1A 2 Bank 2, Sensor 3: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 1B 2 Bank 2, Sensor 4: Volts A/200
    Oxygen sensor 0 1.275 % (B − 128) *
    voltage, 100/128 (if
    B == 0xFF,
    sensor is not
    used in trim
    calc)
    Short term fuel trim −100 99.2
    (lean) (rich)
    1 1C 1 OBD standards this Bit encoded.
    vehicle conforms to
    1 1D 1 Oxygen sensors Similar to
    present PID 13, but
    [A0 . . . A7] ==
    [B1S1, B1S2,
    B2S1, B2S2,
    B3S1, B3S2,
    B4S1, B4S2]
    1 1E 1 Auxiliary input status A0 == Power
    Take Off
    (PTO) status
    (1 == active)
    [A1 . . . A7] not
    used
    1 1F 2 Run time since engine 0 65,535 sec. (A * 256) + B
    start
    1 20 4 PIDs supported 21-40 Bit encoded
    [A7 . . . D0] ==
    [PID
    0x21 . . . PID
    0x40]
    1 21 2 Distance traveled with 0 65,535 km (A * 256) + B
    malfunction indicator
    lamp (MIL) on
    1 22 2 Fuel Rail Pressure 0 5177.265 kPa ((A * 256) + B) *
    (relative to manifold 0.079
    vacuum)
    1 23 2 Fuel Rail Pressure 0 655,350 kPa ((A * 256) + B) *
    (diesel, or gasoline (gauge) 10
    direct inject)
    1 24 4 O2S1_WR_lambda(1): 0 1.999 N/A ((A * 256) + B) *
    2/65535 or
    ((A * 256) + B)/
    32768
    Equivalence Ratio 0 7.999 V ((C * 256) + D) *
    8/65535 or
    ((C * 256) + D)/
    8192
    Voltage
    1 25 4 O2S2_WR_lambda(1): 0 2 N/A ((A * 256) + B) *
    2/65535
    Equivalence Ratio 0 8 V ((C * 256) + D) *
    8/65535
    Voltage
    1 26 4 O2S3_WR_lambda(1): 0 2 N/A ((A * 256) + B) *
    2/65535
    Equivalence Ratio 0 8 V ((C * 256) + D) *
    8/65535
    Voltage
    1 27 4 O2S4_WR_lambda(1): 0 2 N/A ((A * 256) + B) *
    2/65535
    Equivalence Ratio 0 8 V ((C * 256) + D) *
    8/65535
    Voltage
    1 28 4 O2S5_WR_lambda(1): 0 2 N/A ((A * 256) + B) *
    2/65535
    Equivalence Ratio 0 8 V ((C * 256) + D) *
    8/65535
    Voltage
    1 29 4 O2S6_WR_lambda(1): 0 2 N/A ((A * 256) + B) *
    2/65535
    Equivalence Ratio 0 8 V ((C * 256) + D) *
    8/65535
    Voltage
    1 2A 4 O2S7_WR_lambda(1): 0 2 N/A ((A * 256) + B) *
    2/65535
    Equivalence Ratio 0 8 V ((C * 256) + D) *
    8/65535
    Voltage
    1 2B 4 O2S8_WR_lambda(1): 0 2 N/A ((A * 256) + B) *
    2/65535
    Equivalence Ratio 0 8 V ((C * 256) + D) *
    8/65535
    Voltage
    1 2C 1 Commanded EGR 0 100 % 100 * A/255
    1 2D 1 EGR Error −100 99.22 % (A − 128) *
    100/128
    1 2E 1 Commanded 0 100 % 100 * A/255
    evaporative purge
    1 2F 1 Fuel Level Input 0 100 % 100 * A/255
    1 30 1 # of warm-ups since 0 255 N/A A
    codes cleared
    1 31 2 Distance traveled 0 65,535 km (A * 256) + B
    since codes cleared
    1 32 2 Evap. System Vapor −8,192 8,192 Pa ((A * 256) + B)/
    Pressure 4 (A is
    signed)
    1 33 1 Barometric pressure 0 255 kPa A
    (Absolute)
    1 34 4 O2S1_WR_lambda(1): 0 1.999 N/A ((A * 256) + B)/
    32,768
    Equivalence Ratio −128 127.99 mA ((C * 256) + D)/
    256 − 128
    Current
    1 35 4 O2S2_WR_lambda(1): 0 2 N/A ((A * 256) + B)/
    32,768
    Equivalence Ratio −128 128 mA ((C * 256) + D)/
    256 − 128
    Current
    1 36 4 O2S3_WR_lambda(1): 0 2 N/A ((A * 256) + B)/
    32768
    Equivalence Ratio −128 128 mA ((C * 256) + D)/
    256 − 128
    Current
    1 37 4 O2S4_WR_lambda(1): 0 2 N/A ((A * 256) + B)/
    32,768
    Equivalence Ratio −128 128 mA ((C * 256) + D)/
    256 − 128
    Current
    1 38 4 O2S5_WR_lambda(1): 0 2 N/A ((A * 256) + B)/
    32,768
    Equivalence Ratio −128 128 mA ((C * 256) + D)/
    256 − 128
    Current
    1 39 4 O2S6_WR_lambda(1): 0 2 N/A ((A * 256) + B)/
    32,768
    Equivalence Ratio −128 128 mA ((C * 256) + D)/
    256 − 128
    Current
    1 3A 4 O2S7_WR_lambda(1): 0 2 N/A ((A * 256) + B)/
    32,768
    Equivalence Ratio −128 128 mA ((C * 256) + D)/
    256 − 128
    Current
    1 3B 4 O2S8_WR_lambda(1): 0 2 N/A ((A * 256) + B)/
    32,768
    Equivalence Ratio −128 128 mA ((C * 256) + D)/
    256 − 128
    Current
    1 3C 2 Catalyst Temperature −40 6,513.50 ° C. ((A * 256) + B)/
    Bank 1, Sensor 1 10 − 40
    1 3D 2 Catalyst Temperature −40 6,513.50 ° C. ((A * 256) + B)/
    Bank 2, Sensor 1 10 − 40
    1 3E 2 Catalyst Temperature −40 6,513.50 ° C. ((A * 256) + B)/
    Bank 1, Sensor 2 10 − 40
    1 3F 2 Catalyst Temperature −40 6,513.50 ° C. ((A * 256) + B)/
    Bank 2, Sensor 2 10 − 40
    1 40 4 PIDs supported 41-60 Bit encoded
    [A7 . . . D0] ==
    [PID
    0x41 . . . PID
    0x60]
    1 41 4 Monitor status this Bit encoded.
    drive cycle
    1 42 2 Control module 0 65.535 V ((A * 256) + B)/
    voltage 1000
    1 43 2 Absolute load value 0 25,700 % ((A * 256) + B) *
    100/255
    1 44 2 Command equivalence 0 2 N/A ((A * 256) + B)/
    ratio 32768
    1 45 1 Relative throttle 0 100 % A * 100/255
    position
    1 46 1 Ambient air −40 215 ° C. A − 40
    temperature
    1 47 1 Absolute throttle 0 100 % A * 100/255
    position B
    1 48 1 Absolute throttle 0 100 % A * 100/255
    position C
    1 49 1 Accelerator pedal 0 100 % A * 100/255
    position D
    1 4A 1 Accelerator pedal 0 100 % A * 100/255
    position E
    1 4B 1 Accelerator pedal 0 100 % A * 100/255
    position F
    1 4C 1 Commanded throttle 0 100 % A * 100/255
    actuator
    1 4D 2 Time run with MIL on 0 65,535 minutes (A * 256) + B
    1 4E 2 Time since trouble 0 65,535 minutes (A * 256) + B
    codes cleared
    1 4F 4 Maximum value for 0, 0, 0, 0 255, , V, mA, A, B, C,
    equivalence ratio, 255, kPa D * 10
    oxygen sensor voltage, 255,
    oxygen sensor current, 2550
    and intake manifold
    absolute pressure
    1 50 4 Maximum value for 0 2550 g/s A * 10, B, C,
    air flow rate from and D are
    mass air flow sensor reserved for
    future use
    1 51 1 Fuel Type From fuel
    type table.
    1 52 1 Ethanol fuel % 0 100 % A * 100/255
    1 53 2 Absolute Evap system 0 327,675 kPa 1/200 per bit
    Vapour Pressure
    1 54 2 Evap system vapor −32,767 32,768 Pa A * 256 + B −
    pressure 32768
    1 55 2 Short term secondary −100 99.22 % (A −
    oxygen sensor trim 128) * 100/128
    bank 1 and bank 3 (B −
    128) * 100/128
    1 56 2 Long term secondary −100 99.22 % (A −
    oxygen sensor trim 128) * 100/128
    bank 1 and bank 3 (B −
    128) * 100/128
    1 57 2 Short term secondary −100 99.22 % (A −
    oxygen sensor trim 128) * 100/128
    bank 2 and bank 4 (B −
    128) * 100/128
    1 58 2 Long term secondary −100 99.22 % (A −
    oxygen sensor trim 128) * 100/128
    bank 2 and bank 4 (B −
    128) * 100/128
    1 59 2 Fuel rail pressure 0 655,350 kPa ((A * 256) + B) *
    (absolute) 10
    1 5A 1 Relative accelerator 0 100 % A * 100/255
    pedal position
    1 5B 1 Hybrid battery pack 0 100 % A * 100/255
    remaining life
    1 5C 1 Engine oil temperature −40 210 ° C. A − 40
    1 5D 2 Fuel injection timing −210 301.992 ° (38,655 −
    ((A * 256) + B))/
    128
    1 5E 2 Engine fuel rate 0 3212.75 L/h ((A * 256) + B) *
    0.05
    1 5F 1 Emission requirements Bit Encoded
    to which vehicle is
    designed
    1 61 1 Driver's demand −125 125 % A − 125
    engine—percent torque
    1 62 1 Actual engine— −125 125 % A − 125
    percent torque
    1 63 2 Engine reference 0 65,535 Nm A * 256 + B
    torque
    1 64 5 Engine percent torque −125 125 % A − 125 Idle
    data B − 125 Engine
    point 1
    C − 125 Engine
    point 2
    D − 125 Engine
    point 3
    E − 125 Engine
    point 4
    1 65 2 Auxiliary input/ Bit Encoded
    output supported
    1 66 5 Mass air flow sensor
    1 67 3 Engine coolant
    temperature
    1 68 7 Intake air temperature
    sensor
    1 69 7 Commanded EGR and
    EGR Error
    1 6A 5 Commanded Diesel
    intake air flow control
    and relative intake air
    flow position
    1 6B 5 Exhaust gas
    recirculation
    temperature
    1 6C 5 Commanded throttle
    actuator control and
    relative throttle
    position
    1 6D 6 Fuel pressure control
    system
    1 6E 5 Injection pressure
    control system
    1 6F 3 Turbocharger
    compressor inlet
    pressure
    1 70 9 Boost pressure control
    1 71 5 Variable Geometry
    turbo (VGT) control
    1 72 5 Wastegate control
    1 73 5 Exhaust pressure
    1 74 5 Turbocharger RPM
    1 75 7 Turbocharger
    temperature
    1 76 7 Turbocharger
    temperature
    1 77 5 Charge air cooler
    temperature (CACT)
    1 78 9 Exhaust Gas Special PID.
    temperature (EGT)
    Bank 1
    1 79 9 Exhaust Gas Special PID.
    temperature (EGT)
    Bank 2
    1 7A 7 Diesel particulate filter
    (DPF)
    1 7B 7 Diesel particulate filter
    (DPF)
    1 7C 9 Diesel Particulate
    filter (DPF)
    temperature
    1 7D 1 NOx NTE control area
    status
    1 7E 1 PM NTE control area
    status
    1 7F 13 Engine run time
    1 81 21 Engine run time for
    AECD
    1 82 21 Engine run time for
    AECD
    1 83 5 NOx sensor
    1 84 Manifold surface
    temperature
    1 85 NOx reagent system
    1 86 Particulate matter
    (PM) sensor
    1 87 Intake manifold
    absolute pressure
    1 C3 ? ? ? ? ? Returns
    numerous
    data,
    including
    Drive
    Condition ID
    and Engine
    Speed*
    1 C4 ? ? ? ? ? B5 is Engine
    Idle Request
    B6 is Engine
    Stop
    Request*
    2 2 2 Freeze frame trouble BCD
    code encoded.
    3 N/A n * 6 Request trouble codes 3 codes per
    message
    frame, BCD
    encoded.
    4 N/A 0 Clear trouble codes/ Clears all
    Malfunction indicator stored trouble
    lamp (MIL)/Check codes and
    engine light turns the MIL
    off.
    5 100 OBD Monitor IDs
    supported ($01-$20)
    5 101 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 1 Sensor 1 lean sensor
    threshold
    voltage
    5 102 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 1 Sensor 2 lean sensor
    threshold
    voltage
    5 103 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 1 Sensor 3 lean sensor
    threshold
    voltage
    5 104 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 1 Sensor 4 lean sensor
    threshold
    voltage
    5 105 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 2 Sensor 1 lean sensor
    threshold
    voltage
    5 106 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 2 Sensor 2 lean sensor
    threshold
    voltage
    5 107 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 2 Sensor 3 lean sensor
    threshold
    voltage
    5 108 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 2 Sensor 4 lean sensor
    threshold
    voltage
    5 109 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 3 Sensor 1 lean sensor
    threshold
    voltage
    5 010A O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 3 Sensor 2 lean sensor
    threshold
    voltage
    5 010B O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 3 Sensor 3 lean sensor
    threshold
    voltage
    5 010C O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 3 Sensor 4 lean sensor
    threshold
    voltage
    5 010D O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 4 Sensor 1 lean sensor
    threshold
    voltage
    5 010E O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 4 Sensor 2 lean sensor
    threshold
    voltage
    5 010F O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 4 Sensor 3 lean sensor
    threshold
    voltage
    5 110 O2 Sensor Monitor 0 1.275 Volts 0.005 Rich to
    Bank 4 Sensor 4 lean sensor
    threshold
    voltage
    5 201 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 1 Sensor 1 Rich sensor
    threshold
    voltage
    5 202 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 1 Sensor 2 Rich sensor
    threshold
    voltage
    5 203 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 1 Sensor 3 Rich sensor
    threshold
    voltage
    5 204 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 1 Sensor 4 Rich sensor
    threshold
    voltage
    5 205 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 2 Sensor 1 Rich sensor
    threshold
    voltage
    5 206 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 2 Sensor 2 Rich sensor
    threshold
    voltage
    5 207 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 2 Sensor 3 Rich sensor
    threshold
    voltage
    5 208 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 2 Sensor 4 Rich sensor
    threshold
    voltage
    5 209 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 3 Sensor 1 Rich sensor
    threshold
    voltage
    5 020A O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 3 Sensor 2 Rich sensor
    threshold
    voltage
    5 020B O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 3 Sensor 3 Rich sensor
    threshold
    voltage
    5 020C O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 3 Sensor 4 Rich sensor
    threshold
    voltage
    5 020D O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 4 Sensor 1 Rich sensor
    threshold
    voltage
    5 020E O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 4 Sensor 2 Rich sensor
    threshold
    voltage
    5 020F O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 4 Sensor 3 Rich sensor
    threshold
    voltage
    5 210 O2 Sensor Monitor 0 1.275 Volts 0.005 Lean to
    Bank 4 Sensor 4 Rich sensor
    threshold
    voltage
    9 0 4 mode 9 supported Bit encoded
    PIDs 01 to 20
    9 1 1 × 5 VIN Message Count in Returns 1
    command 09 02 line/packet
    (49 01 05 00
    00 00 00),
    where 05
    means 05
    packets will
    be returned in
    VIN digits.
    9 2 5 × 5 Vehicle identification Returns five
    number (VIN) the VIN fames,
    as a with the
    multi- first
    frame frame
    response encoding
    using the size
    the ISO and
    15765-2 count.
    protocol.
    9 4 varies calibration ID Returns
    multiple
    lines, ASCII
    coded
    9 6 4 calibration
  • 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 FIGS. 6, 7A, and 7B, a user interface (UI) 700 for rendition on the external fuel pump controller 122, shown as a smart phone 708, is illustrated. In FIG. 7A, the user of the external fuel pump controller 122 has selected vehicle 2 on the smart phone 708. In FIG. 7B the vehicle information 712 for the selected vehicle 2 is rendered on UI 710. The information 714 includes the VIN, make, and year of the vehicle. The UI 710 also includes diagnostic information received from the computing device 660 of vehicle 2: Current Fuel Level 50% (element 716), and the type of fuel in the tank of vehicle 2.
  • 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 FIG. 3, to actuate the fuel pump of the combustion engine to recover a predetermined amount of fuel (e.g., predetermined amount of gallons to be recovered or a percentage of the tank to be recovered). In FIG. 7B, the predetermined amount of fuel is denoted by a Target Fuel Level 718 of 25%.
  • 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 FIG. 6, in certain embodiments, the information of a plurality of vehicles received from a plurality of controllers that are sent to a plurality of computing devices 630 from different localities is sent to the computing device 610 of a host. For example, the computing devices 650 of each of a plurality of users communicate the information from a plurality of respective vehicles (e.g., actual fuel recovered from each), to the computing device 630, which is operated by the store manager of Company XYZ. The computing devices 650 of a plurality of store managers of a plurality of companies, in turn, communicate the respective received information to the computing device 610, which is operated by a host. Consequently, the computing device 610 of the host receives information from a plurality of computing devices 630 of store managers, each of which receives information from a plurality of user computing devices 650 for a plurality of on-board computing devices 660 of a plurality of vehicles.
  • 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 FIGS. 8A and 8B, the processor 612 executes the code 614 to render exemplary UI 800. Here, a host uses UI 800 to select a jurisdiction or field 802 to filter data received within the system 600 of FIG. 6 about fuel recovery. In this illustration, the host has selected 804 to filter the fuel recovery data for Company XYZ's rental car facilities in Arizona 806 for fuel recovery in the month of August. The data shows that a total of 25,000 actual gallons 816 of fuel were recovered from a plurality of vehicles in the month of August. At $4 per gallon, the recovery value in dollars is estimated 818 as $100,000. In certain embodiments, the host uses the computing device 610 to transmit a report reflecting same to the computing device 630 of the participant (e.g., manager of a Company XYZ store in Arizona). In certain embodiments, the processor 632 executes the code 634 to render a similar exemplary UI to filter, view, analyze, or mine the information it has access 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., FIG. 5). As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. In certain embodiments, other steps and methods are conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types are employed in the flow-chart diagrams, they are understood not to limit the scope of the corresponding method (e.g., FIG. 5). Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow indicates a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
  • In certain embodiments, individual steps recited in FIG. 5 are combined, eliminated, or reordered. In certain embodiments, the computer readable program code described reside in any other computer program product, where that computer readable program code is executed by a computer external to, or internal to, systems 100 or 600 (FIGS. 1 and 6, respectively), to perform one or more of steps recited in FIG. 5. In either case, in certain embodiments, the computer readable program code is encoded in a non-transitory computer readable medium comprising, for example, a magnetic information storage medium, an optical information storage medium, an electronic information storage medium, and the like. “Electronic storage media,” means, for example and without limitation, one or more devices, such as and without limitation, a PROM, EPROM, EEPROM, Flash PROM, compactflash, smartmedia, and the like.
  • 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.

Claims (14)

I claim:
1. A computer program product encoded in a non-transitory computer readable medium, the computer program product being useable with a computing device comprising a programmable processor for remote, bidirectional communication with an engine control unit disposed in a combustion engine vehicle, the computer program product comprising:
computer readable program code which causes the programmable processor to request a first Vehicle Identification Number (VIN) from the engine control unit; and
computer readable program code which causes the programmable processor to receive and store said first VIN.
2. The computer program product of claim 1, further comprising:
computer readable program code which causes the programmable processor to use said first VIN to determine at least a make of the combustion engine vehicle; and
computer readable program code which causes the programmable processor to use the make of the combustion engine vehicle to determine whether the combustion engine vehicle has been recalled.
3. The computer program product of claim 1, further comprising computer readable program code which causes the programmable processor to send data to the engine control unit to cause the engine control unit to turn on an engine warning light in the combustion engine vehicle.
4. The computer program product of claim 1, further comprising:
computer readable program code which causes the programmable processor to compare the first VIN with at least a second VIN to find a match; and
computer readable program code which causes the programmable processor to use the second VIN to determine an identifier associated with a driver of the combustion engine vehicle.
5. The computer program product of claim 1, further comprising:
computer readable program code which causes the programmable processor to request data about the combustion engine vehicle; and
computer readable program code which causes the programmable processor to receive and store the data.
6. The computer program product of claim 5, further comprising computer readable program code which causes the programmable processor to use the data to rate a driving status of the driver of the combustion engine vehicle.
7. The computer program product of claim 5, wherein:
the computer readable program code causes the programmable processor to request, receive, and store the data a plurality of times; and
further comprising computer readable program code which causes the programmable processor to use the data to rate a driving habit of the driver of the combustion engine vehicle.
8. The computer program product of claim 7, further comprising computer readable program code which causes the programmable processor to determine an offer from a rental car company based on the driving habit.
9. The computer program product of claim 5, wherein the data is selected from the group consisting of: speed of the combustion engine vehicle; throttle position; acceleration pedal position; engine run time; fuel level; and a combination thereof.
10. The computer program product of claim 5, further comprising:
computer readable program code which causes the programmable processor to use the data to determine that the combustion engine vehicle is being driven by a driver;
computer readable program code which causes the programmable processor to send an alert regarding the data for delivery to a driver of the combustion engine vehicle.
11. The computer program product of claim 10, wherein the alert is message configured to be delivered by a cellular telephone of the driver.
12. The computer program product of claim 10, wherein the alert includes a warning that a fuel level of the combustion engine vehicle is low and a fuel station is located nearby.
13. A computer program product encoded in a non-transitory computer readable medium, the computer program product being useable with a computing device comprising a programmable processor for remote, bidirectional communication with an engine control unit disposed in a combustion engine vehicle, the computer program product comprising:
computer readable program code which causes the programmable processor to request diagnostic data about the combustion engine vehicle; and
computer readable program code which causes the programmable processor to receive and store the diagnostic data.
14. The computer program product of claim 13, further comprising computer readable program code which causes the programmable processor to use the diagnostic data to identify a driver of the combustion engine vehicle.
US14/861,483 2010-01-29 2015-09-22 Remote, bidirectional communication with an engine control unit Abandoned US20160010583A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/861,483 US20160010583A1 (en) 2010-01-29 2015-09-22 Remote, bidirectional communication with an engine control unit
US15/591,485 US9796320B2 (en) 2010-01-29 2017-05-10 Remote, bidirectional communication with an engine control unit

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29978010P 2010-01-29 2010-01-29
US13/018,154 US20110197855A1 (en) 2010-01-29 2011-01-31 Apparatus and Method For Recovering Fuel
US13/252,070 US8165781B2 (en) 2010-01-29 2011-10-03 Fuel recovery
US13/453,955 US9175649B2 (en) 2010-01-29 2012-04-23 Remote, bidirectional communication with an engine control unit
US14/861,483 US20160010583A1 (en) 2010-01-29 2015-09-22 Remote, bidirectional communication with an engine control unit

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/453,955 Division US9175649B2 (en) 2010-01-29 2012-04-23 Remote, bidirectional communication with an engine control unit

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/591,485 Continuation US9796320B2 (en) 2010-01-29 2017-05-10 Remote, bidirectional communication with an engine control unit

Publications (1)

Publication Number Publication Date
US20160010583A1 true US20160010583A1 (en) 2016-01-14

Family

ID=47993359

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/453,955 Expired - Fee Related US9175649B2 (en) 2010-01-29 2012-04-23 Remote, bidirectional communication with an engine control unit
US14/861,483 Abandoned US20160010583A1 (en) 2010-01-29 2015-09-22 Remote, bidirectional communication with an engine control unit
US15/591,485 Active US9796320B2 (en) 2010-01-29 2017-05-10 Remote, bidirectional communication with an engine control unit

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/453,955 Expired - Fee Related US9175649B2 (en) 2010-01-29 2012-04-23 Remote, bidirectional communication with an engine control unit

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/591,485 Active US9796320B2 (en) 2010-01-29 2017-05-10 Remote, bidirectional communication with an engine control unit

Country Status (2)

Country Link
US (3) US9175649B2 (en)
WO (1) WO2013052156A1 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9221428B2 (en) * 2011-03-02 2015-12-29 Automatic Labs Inc. Driver identification system and methods
US8634822B2 (en) * 2012-06-24 2014-01-21 Tango Networks, Inc. Automatic identification of a vehicle driver based on driving behavior
WO2014112659A1 (en) * 2013-01-16 2014-07-24 Lg Electronics Inc. Electronic device and control method for the electronic device
US9439543B1 (en) * 2013-03-03 2016-09-13 Gerard James Klingman, Jr. Portable aviation lavatory service apparatus
US9499087B2 (en) * 2013-04-24 2016-11-22 Kamac Inc. Self-containment for machinery
USD751466S1 (en) 2014-04-24 2016-03-15 Kamac, Inc. Self-containment device for a diesel machine
US10656280B2 (en) 2014-05-13 2020-05-19 Key Control Holding, Inc. Vehicle monitoring systems and methods
US10711788B2 (en) 2015-12-17 2020-07-14 Wayne/Scott Fetzer Company Integrated sump pump controller with status notifications
FR3045720B1 (en) * 2015-12-18 2021-11-05 Valeo Systemes De Controle Moteur PROCESS FOR DIAGNOSING AN OXYGEN PROBE
US9764742B1 (en) * 2016-01-29 2017-09-19 State Farm Mutual Automobile Insurance Company Driver identification among a limited pool of potential drivers
US10018303B1 (en) * 2017-02-13 2018-07-10 Compass Natural Gas Partners, LP Method and system for transfer of natural gas
US10633243B2 (en) * 2017-02-24 2020-04-28 Fuel Automation Station, Llc. Mobile distribution station
USD893552S1 (en) 2017-06-21 2020-08-18 Wayne/Scott Fetzer Company Pump components
CN107313858B (en) * 2017-07-31 2023-05-23 无锡双翼汽车环保科技有限公司 Overrun gas protection device for mining explosion-proof diesel engine
USD890211S1 (en) 2018-01-11 2020-07-14 Wayne/Scott Fetzer Company Pump components
WO2019152294A1 (en) * 2018-01-30 2019-08-08 Cummins Emission Solutions Inc. Connectivity system for internal combustion engine with aftertreatment system
JP7314813B2 (en) * 2020-01-29 2023-07-26 トヨタ自動車株式会社 VEHICLE CONTROL METHOD, VEHICLE CONTROL DEVICE, AND SERVER
US11615658B2 (en) * 2020-09-30 2023-03-28 Ford Global Technologies, Llc Vehicle fuel tank modeling systems and methods
US11549840B2 (en) 2020-09-30 2023-01-10 Ford Global Technologies, Llc Vehicle fuel volume estimation systems and methods
US11939207B1 (en) * 2021-12-14 2024-03-26 II Ronald Ackerson Fuel recovery system

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040268A1 (en) * 2006-08-10 2008-02-14 Jonathan Charles Corn Product tracking and alert system
US20080082221A1 (en) * 2006-07-14 2008-04-03 David Nagy System for monitoring, controlling, and reporting vehicle operation through onboard diagnostic port
US20090184812A1 (en) * 2007-08-09 2009-07-23 Michael Drew User Configured Display System For Motor Vehicle
US7620484B1 (en) * 2008-06-02 2009-11-17 Chen Ieon C Automotive mobile diagnostics
US20100017236A1 (en) * 2008-06-18 2010-01-21 Airmax Group Plc Method and System for Configuring a Vehicle
US20100075655A1 (en) * 2008-09-24 2010-03-25 Embarq Holdings Company,Llc System and method for controlling vehicle systems from a cell phone
US20110093159A1 (en) * 2009-10-20 2011-04-21 Procon, Inc. System for processing data acquired from vehicle diagnostic interface for vehicle inventory monitoring
US20110227709A1 (en) * 2007-03-20 2011-09-22 Brian Story Wireless asset management and demand floor plan audit system
US20120119747A1 (en) * 2010-11-15 2012-05-17 Honda Motor Co., Ltd. Battery confirmation system and method for confirming state of charge in vehicle battery
US20120213205A1 (en) * 2011-02-17 2012-08-23 Clear Wireless, Llc System and method for providing multi network connectivity
US20130066720A1 (en) * 2011-09-09 2013-03-14 Gordon * Howard Associates, Inc. Method and System of Providing Information to an Occupant of a Vehicle
US20140073276A1 (en) * 2012-09-07 2014-03-13 Adori Labs, Inc. Entertainment system
US8977426B2 (en) * 2012-06-04 2015-03-10 Geotab Inc. VIN based accelerometer threshold
US8989914B1 (en) * 2011-12-19 2015-03-24 Lytx, Inc. Driver identification based on driving maneuver signature

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4165727A (en) * 1977-08-04 1979-08-28 Brunswick Corporation Automatic fuel pump switch unit for fuel-injected internal combustion engines
JPS57108427A (en) * 1980-12-26 1982-07-06 Nissan Motor Co Ltd Controller of delivery fuel from motor-driven fuel pump
US5257651A (en) 1992-02-13 1993-11-02 Bennett Pump Company Fuel recovery pump and register
US5616837A (en) 1994-06-06 1997-04-01 Ford Motor Company Fuel line pressure test
US5624137A (en) * 1995-09-15 1997-04-29 Lesesne; Edward R. Towable auxiliary fuel tank
JP4080115B2 (en) 1999-10-26 2008-04-23 ヤマハマリン株式会社 Engine fault diagnosis system
US6961655B2 (en) 2000-01-07 2005-11-01 Tci Automotive, Llc Method and apparatus for communicating with an electronic engine control
US8458689B2 (en) 2001-03-30 2013-06-04 Roderick A. Barman Method and apparatus for reprogramming engine controllers
US7171995B2 (en) 2005-01-25 2007-02-06 Eshenour Richard E Fuel-recovery system and method
JP4733548B2 (en) 2006-03-30 2011-07-27 本田技研工業株式会社 Evaporative fuel processing equipment
US20090283174A1 (en) 2008-05-16 2009-11-19 Mitchell Steven C Fuel reclamation device
US7966996B1 (en) 2010-03-03 2011-06-28 Ford Global Technologies, Llc Vacuum supply system
US10352316B2 (en) * 2013-04-17 2019-07-16 Ncr Corporation Systems and methods for evaluating fuel pump data

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082221A1 (en) * 2006-07-14 2008-04-03 David Nagy System for monitoring, controlling, and reporting vehicle operation through onboard diagnostic port
US20080040268A1 (en) * 2006-08-10 2008-02-14 Jonathan Charles Corn Product tracking and alert system
US20110227709A1 (en) * 2007-03-20 2011-09-22 Brian Story Wireless asset management and demand floor plan audit system
US20090184812A1 (en) * 2007-08-09 2009-07-23 Michael Drew User Configured Display System For Motor Vehicle
US7620484B1 (en) * 2008-06-02 2009-11-17 Chen Ieon C Automotive mobile diagnostics
US20100017236A1 (en) * 2008-06-18 2010-01-21 Airmax Group Plc Method and System for Configuring a Vehicle
US20100075655A1 (en) * 2008-09-24 2010-03-25 Embarq Holdings Company,Llc System and method for controlling vehicle systems from a cell phone
US20110093159A1 (en) * 2009-10-20 2011-04-21 Procon, Inc. System for processing data acquired from vehicle diagnostic interface for vehicle inventory monitoring
US20120119747A1 (en) * 2010-11-15 2012-05-17 Honda Motor Co., Ltd. Battery confirmation system and method for confirming state of charge in vehicle battery
US20120213205A1 (en) * 2011-02-17 2012-08-23 Clear Wireless, Llc System and method for providing multi network connectivity
US20130066720A1 (en) * 2011-09-09 2013-03-14 Gordon * Howard Associates, Inc. Method and System of Providing Information to an Occupant of a Vehicle
US8989914B1 (en) * 2011-12-19 2015-03-24 Lytx, Inc. Driver identification based on driving maneuver signature
US8977426B2 (en) * 2012-06-04 2015-03-10 Geotab Inc. VIN based accelerometer threshold
US20140073276A1 (en) * 2012-09-07 2014-03-13 Adori Labs, Inc. Entertainment system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Actron Elite AutoScanner Pro CP9190 manual 2006-2007 SPX Corporation P/N 0002-001-2933 *

Also Published As

Publication number Publication date
WO2013052156A1 (en) 2013-04-11
US9175649B2 (en) 2015-11-03
US9796320B2 (en) 2017-10-24
US20170246977A1 (en) 2017-08-31
US20130085652A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
US9796320B2 (en) Remote, bidirectional communication with an engine control unit
US8165781B2 (en) Fuel recovery
CN103216331B (en) Vapor purge system integrity diagnosis for a hybrid vehicle
US20110071721A1 (en) Systems and methods for obtaining emissions offset credits
CN207198655U (en) A kind of in-use automotive emissions data collection on-line normalization terminal device based on OBD
US20190085791A1 (en) Fuel module system
DE102018124802A1 (en) SYSTEMS AND METHOD FOR FUEL TANK DIAGNOSIS
CN104976504A (en) Real-time hydrogen and natural gas mixed filling method and equipment
CN112445183A (en) Remote monitoring platform and system based on diesel oil obd detects
CN105674062A (en) Gas pipeline inspection system based on Beidou communication technique
Black Control of motor vehicle emissions‐the US experience
US11091364B2 (en) Methods and apparatus to ensure grounding between vehicles during vehicle-to-vehicle refueling operations
Chandler et al. Alternative fuel transit bus evaluation program results
DE102021125729A1 (en) METHOD AND SYSTEM FOR A VEHICLE EVAPORATIVE EMISSION CONTROL SYSTEM
Francfort et al. Hydrogen ice vehicle testing activities
CN220020307U (en) ORVR oil gas recovery monitoring device
US11097940B2 (en) Methods and apparatus to ensure grounding between vehicles during vehicle-to-vehicle refueling operations
US20220222986A1 (en) On-board diagnostics monitor
Blake et al. Vehicle codes and standards: overview and gap analysis
Wipke et al. Learning Demonstration Interim Progress Report--Summer 2007
Wipke et al. Learning Demonstration Progress Report--September 2007
Odeta Reduction of CO [2] emission in Malaysia transport industry using compressed natural gas as alternative fuel/Odeta Prosper
Vojtisek-Lom et al. Measurement of exhaust emissions of small gasoline engines under real-world driving conditions
DE102022102576A1 (en) SYSTEMS AND METHODS FOR ACTIVATING AN EVAPORATIVE EMISSION CONTROL SYSTEM DIAGNOSIS
Kaskavaltzis et al. A demonstration of methanol-powered buses in Windsor Ontario

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION