Remote monitoring of fuel level and quality for vehicles and method for automatically calibrating capacitive level sensors for vehicle tanks
Patent Information
- Application Number
- PCT/IB2026/052719
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-24
- Filing Date
- 2026-03-20
- Publication Date
- 2026-10-01
Smart Images

Figure IB2026052719_01102026_PF_FP_ABST
Abstract
Description
REMOTE MONITORING OF FUEL LEVEL AND QUALITY FOR VEHICLES AND AUTOMATIC CALIBRATION METHOD FOR CAPACITIVE LEVEL SENSORS FOR VEHICLE TANKS OBJECT OF THE INVENTION
[0001] This document refers to systems and devices for measuring and monitoring fuel levels within vehicle tanks. The system allows for the detection of fuel level anomalies within the tanks and enables the communication of collected data to a mobile electronic device. BACKGROUND
[0002] A related document to the present invention is US patent 8928473 B2, which describes a fuel control device for a vehicle having one or more fuel tank sensors. The control device comprises a control module communicating with each fuel tank sensor. The control module can receive data from each fuel tank sensor and send fuel level-related data to a mobile communications system transmitter for transmission to an end user. The fuel control device can be covertly installed within a vehicle and communicate with the vehicle's fuel tank sensor and, optionally, with other sensors.The fuel monitoring device facilitates the transmission of information to an end user, enabling them to identify instances of fuel theft remotely. The device can also trigger an alarm in or near the vehicle. Furthermore, the data can be audited to identify opportunities for improving the operational efficiency of a vehicle or fleet, provide early warning of potential vehicle malfunctions, and detect fuel theft. Data from each sensor is digitized and / or calibrated by one or more data processing devices.The fuel monitoring system may comprise a central data logging module that records vehicle-specific data received from the fuel monitoring device or from each device at regular time intervals, whereby the central processing module may operate to calculate cumulative changes in vehicle-specific fuel levels and / or to perform a vehicle-specific fuel audit. US8928473B does not mention the use of a mobile electronic device that implements customized prompts. US8928473B also does not mention a data retrieval protocol.
[0003] Another document related to the present invention is WO2008146307A2, which describes a method for detecting fuel theft using a float switch in a vehicle tracking and monitoring system. This method involves sending the fuel level value from the float switch to the microcontroller after appropriate signal conditioning; verifying the value using the fuel switch at each predefined time delay; comparing the later value with the earlier value to determine the deviation; and storing the deviation in memory. A GPS module is then used to identify the exact location and time of the fuel theft and / or filling, if the deviation exceeds a predefined limit, and to identify the corresponding system. WO2008146307A2 does not use capacitive sensors nor does it mention fuel quality detection.
[0004] Another reference related to the present invention is US9528872B2, which describes a redundant data communication system for confirming a fuel event and a method for doing so. Fuel inventory is managed by placing a sensor inside a storage tank containing the fuel and determining the fuel volume in the tank. A processor located in the vehicle receives data regarding the fuel volume in the storage tank, the vehicle's mileage, and the vehicle's location, date, and time, and transmits this data to a remote inventory management system (RIMS). The RIMS also receives data from the point of sale (POS), including the location, date / time, purchase amount, and price of purchases related to a fuel admission event in the vehicle's storage tank.The RIMS then reconciles the data received from the vehicle's processor with the POS data to determine if there are discrepancies between the fuel purchased and the measured fuel volume. US9528872B2 does not use capacitive sensors to measure the fuel level. US9528872B2 does not mention automatic calibration or a data retrieval protocol. US9528872B2 also does not mention adulterated fuel detection.
[0005] Another document related to the present invention is WO2018058250A1, which relates to a device and method for monitoring fuel consumption. The method comprises the steps of: a) inserting a first section of the fuel level sensor with a first coupling into a fuel tank vent; b) inserting a second section of the fuel level sensor with a second coupling into the vent and securing the second section to the first section at the first coupling; and c) inserting a third section of the fuel level sensor into the vent and securing the third section to the second section at the second coupling. The third section includes a vent cap so that the fuel tank is vented. Readings are taken even when the engine is off.This allows for the detection of situations where high-quality fuel is being removed and replaced with lower-quality fuel while the engine is off. WO2018058250A1 does not mention the use of a signal filter for the sensors. WO2018058250A1 also does not mention an automatic calibration system for different tank shapes.
[0006] Another reference related to the present invention is US patent 10611236B2, which describes a fuel control device for a vehicle having one or more fuel tank sensors. None of the aforementioned references mention a system for measuring and monitoring fuel levels within vehicle tanks that includes capacitive sensors for detecting fuel level, detecting adulterated fuel, filtering sensor signals, including data retrieval protocols, and transmitting data to a mobile electronic device with customized instructions. BRIEF DESCRIPTION OF THE INVENTION
[0007] The fuel level measurement system for vehicle tanks includes capacitive level sensors, a communications unit, and a mobile electronic device with memory for storing data to perform a fuel level measurement method. The level sensors consist of concentric tubes that can be inserted into tanks of varying volumes and shapes to measure fuel level using capacitance. The sensors have electronic filters to reduce interference from vehicle movement. The communications unit processes the sensor signals, applies digital filters, and wirelessly transmits the data to the mobile device. The mobile electronic device receives, processes, and transmits the data to a remote database.The system also includes an automatic calibration method that implements a fuel pumping system to fill the tank in a controlled manner to determine the height-to-volume ratio. The system includes data management capabilities that allow for fleet management and the detection of fuel level anomalies such as fuel theft or adulteration.
[0008] The description provides illustrative examples of various aspects and embodiments of the present invention and is intended to provide a general overview or framework for understanding the nature and character of the claimed aspects and embodiments. The present invention is amenable to various modifications and alternative constructions, some of which are detailed in the drawings below. However, it should be clear that the intention is not to limit the invention to a particular embodiment or form, but rather that the present invention should cover changes, additions, and modifications as part of its scope. Independent aspects and advantages of the present invention will become apparent to those skilled in the art after reviewing the detailed description and figures.
[0009] The accompanying figures are included to provide further illustration and understanding of the different aspects and modalities, and are incorporated into and form a part of this specification. The figures, together with the specification, serve to explain the aspects and modalities described and claimed. BRIEF DESCRIPTION OF THE FIGURES
[0010] The illustrative modality can be described in reference to the accompanying figures, which refer to:
[0011] Figure 1 shows a connection diagram of the fuel metering system in one of the preferred embodiments of the present invention.
[0012] Figure 1a shows a detailed view of one of the level sensors 100 including the quality sensor.
[0013] Figure 2 illustrates a diagram of wireless communication between the mobile electronic device 300 and a database 400.
[0014] Figure 3 is a diagram representing the calibration system for the 100 level sensors.
[0015] Figures 4 and 4a show a diagram of the fuel level measurement system method according to one of the preferred embodiments of the present invention.
[0016] Figure 5 represents a diagram illustrating the general operation of the firmware or microcontroller when processing electrical signals within the capacitive level sensor.
[0017] Figure 6 represents the system's indication processing method.
[0018] Figure 7 represents the process of decoding indications.
[0019] Figure 8 represents a diagram of the indication implementation process.
[0020] Figure 9 represents a diagram of MCP digital-to-analog conversion handling.
[0021] Figures 10, 10a, and 10b illustrate the sensor calibration process.
[0022] Figures 11 and 11a show the alert generation process diagram.
[0023] Figure 12 is a diagram that represents the method of installing sensors in fuel tanks.
[0024] Figures 13 and 13a are a diagram representing the sensor mounting method.
[0025] Figure 14 is a diagram showing the BluetoothTM configuration on ESP32.
[0026] Figure 15 illustrates the Bluetooth™ indication process.
[0027] Figure 16 shows the internal clock calibration process diagram.
[0028] Figure 17 illustrates the ESP32 indication diagram.
[0029] Figure 18 is a diagram showing the serial communication process of the communications unit.
[0030] Figure 19 is a diagram showing the processes implemented in the communications box
[0031] Figure 20 shows a diagram for updating the directory.
[0032] Figure 21 shows a diagram illustrating the process of sending data from the mobile electronic device to the database.
[0033] Figure 22 shows a method for recording fuel loading events on the mobile electronic device.
[0034] Figure 23 shows a diagram of the modules implemented by the server and how to access them.
[0035] Figure 24 is a diagram that represents the implementation of the alerts, graphics, valid route, and vehicle location modules. Detailed Description of the Invention
[0036] The following detailed description is exemplary only and is not intended to limit the described embodiments or the application and uses of the described embodiments. As used herein, the word “exemplary” or “illustrative” means “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” or “illustrative” should not necessarily be construed as preferred or advantageous over other implementations. All implementations described below are exemplary implementations provided to enable persons skilled in the art to make or use the embodiments of the disclosure and are not intended to limit the scope of the disclosure. Furthermore, for purposes of the description herein, the terms “end,” “top,” “bottom,” “right,” “left,” “vertical,” “horizontal,” “lateral,” “longitudinal,” and derivatives thereof relate to the invention as shown in the Figures.Furthermore, there is no intention to be bound by any explicit or implicit theory presented in the preceding technical field, background, brief summary, or the following detailed description. It should also be understood that the specific devices and processes illustrated in the accompanying drawings and described in the following description are merely exemplary embodiments of the inventive concepts defined in the appended claims.
[0037] The illustrations generally show non-limiting aspects of the systems and methods described herein. Although the various aspects of the device descriptions presented herein should not be interpreted in any way as limiting the description, modifications, concepts, and applications of the aspects described herein are to be interpreted by those skilled in the art as being encompassed by, but not limited to, the illustrations and descriptions herein. Various modifications, equivalents, variants, and alternatives, however, will remain readily apparent to those skilled in the art. Any and all such modifications, variants, equivalents, and alternatives are intended to fall within the spirit and scope of this description.
[0038] As used herein, the singular articles “a,” “an,” “the,” and “a” include plural referents unless expressly and unambiguously limited to one referent. The term “proximal” refers to a direction toward the center or a central region of a device. The term “distal” refers to an outward direction extending away from a central region of a device. However, it should be understood that the description may assume several alternatives, variations, and sequences of steps, except where expressly specified otherwise. It should also be understood that the specific devices and processes illustrated in the accompanying drawings and described herein are non-limiting representations of various aspects of the description. Therefore, the specific dimensions and other physical characteristics related to the aspects described herein are not intended to be, and should not be considered as, limiting.
[0039] Unless otherwise stated, all intervals or ratios described herein are understood to encompass any and all subintervals or subratios incorporated herein. For example, a stated interval or ratio of “1 to 10” should be considered to include any and all subintervals between (and including) the minimum value of 1 and the maximum value of 10; that is, all subintervals or subratios beginning with a minimum value of 10 or less, such as, but not limited to, 1 to 6.1, 3.5 to 7.8, and 5.5 to 10. Unless otherwise stated, all numbers expressing dimensions, ingredient quantities, flow rates, pressures, etc., used in the description and claims, should be interpreted as modified in all cases by the term “approximately.”For the purposes of this description, the term “approximately” determines a range of ± 10%, so if a value of “approximately 30%” is specified, the value is within a range of 27% to 33%.
[0040] The term “a plurality” used throughout this description refers to a defined number of elements ranging from 2 to 20.
[0041] The term “at least” used throughout this description indicates a minimum value or lower limit for the element to which it refers.
[0042] All documents, such as but not limited to issued patents and patent applications, referred to herein, unless otherwise indicated, shall be deemed to be “incorporated by reference” in their entirety.
[0043] Referring now to Figure 1, the high-level architecture of the fuel measurement system can be observed. In one embodiment of the present invention, the fuel measurement system includes one or more level sensors 100, a communications unit 200, and a mobile electronic device 300 with wireless communication access. Preferably, the level sensors 100 are capacitive sensors that measure the level of fuels, including diesel. The fuel level sensor may include an elongated tube connected to a bracket that can be secured to fuel tanks 120. The elongated tube of the level sensor 100 can be inserted into the fuel tanks 120. The level sensor bracket 100 can secure the level sensor to a tank by means of fasteners such as, but not limited to, screws and nuts.
[0044] In one embodiment, the 100 level sensors operate using the concentric capacitive principle of two tubes. In the current embodiment, the tubes can be made of 316 stainless steel. In other embodiments, the tubes of the 100 level sensors can be made of another suitable material. Between the concentric tubes, the fuel inside the 120 fuel tanks, for example, diesel, acts as the dielectric. The concentric tubes can be connected to an electrical circuit that measures the capacitance generated as a function of the fuel level within one of the 120 fuel tanks. The electrical circuit of each 100 level sensor can also include a temperature sensor to measure the fuel temperature within the 120 fuel tanks to improve the accuracy of the fuel level measurement.In addition to the two concentric tubes, each of the 100 level sensors includes another capacitor. This capacitor calculates the fuel's permittivity, allowing for the determination of its dielectric constant, which is used to further improve the level reading and generate certain sensor functions and / or alerts. The electrical circuit of each 100 level sensor may also include at least one fuel quality sensor. The fuel quality sensor provides more accurate fuel level readings and also allows for fuel quality testing. The quality sensor is a fixed capacitor based on the capacitive level sensor, but with smaller dimensions and controlled values.The quality sensor is positioned within the tank to ensure a consistent volume and fuel level, with the same dimensions, resulting in a fixed value that only changes if the fuel properties within the tank change. For example, in one configuration, the quality sensor can be placed at the distal end of the level sensor.
[0045] The quality sensor is preferably made up of two 316 stainless steel tubes with different diameters and specific thicknesses, joined by two nylon fittings manufactured using computer numerical control. In other embodiments, the quality sensor may be manufactured from other materials. The stainless steel tubes of the quality sensor are arranged concentrically. The quality sensor tubes, with the fuel between them, define an electrical capacitor with a capacitance F defined by where a and b are the radii of the inner and outer cylinders, ε is the permittivity of the dielectric material between the cylinders, and h is the length of the cylinder. The equation above allows us to obtain a value that is considered constant. , which simplifies the capacitance equation to For the fuel quality sensor capacitor, the fuel level inside the sensor is a constant value since the sensor is preferably placed completely submerged in the fuel. The sensor's height is determined by its dimensions, which are based on the tank's characteristics, thus providing a measurable capacitance value. Therefore, the equation reduces to a constant value multiplied by the dielectric constant of the fuel in the sensor, resulting in a capacitance value such that , where . Solving for electrical permeability in the equation, we get: The equation above allows us to obtain the fuel permeability value associated with its quality. Fuel permeability is essentially constant, so any changes in the permeability value indicate a change in fuel quality, for example, as a result of fuel adulteration. It's worth noting that the permeability value is not exactly constant, as it can be slightly affected by the electric fields present in the tank and by the fuel temperature. Some permeability values for certain fuels include: diesel between 2 and 2.5, gasoline between 2.3 and 2.7, oil between 2.7 and 2.9, alcohol above 24%, and vegetable diesel between 2.8 and 3.2. The quality sensor allows us to obtain the electrical permittivity, or dielectric constant, for homogeneous dielectrics, defined as a physical parameter of materials that describes how much they are affected by an electric field.
[0046] In one of the preferred configurations, the fuel quality sensors can be capacitive sensors that measure the electrical permittivity or dielectric constant of the fuel. The measured fuel dielectric constant is compared by the microcontroller of the communication unit 200 with the dielectric constant of a vacuum to obtain a dimensionless value that falls within a specific predetermined range associated with the fuel's properties and composition. Thus, if the value measured by the fuel quality sensor falls outside this predetermined range, the microcontroller of the communication unit 200 determines that the liquid in the fuel tank associated with the fuel quality sensor is either not diesel or is adulterated diesel.
[0047] Level 100 sensors preferably include a signal filter that allows for accurate and consistent fuel level readings, even when sloshing and fuel movement occur during the movement of a heavy vehicle. In one preferred configuration, the signal filtering includes passive electronic filters constructed from passive electronic components such as capacitors, inductors, and resistors. These passive electronic filters filter the electrical signals provided by the level 100 sensors to reduce variations and inaccurate fuel level readings due to sudden voltage changes caused by fuel sloshing within the tanks of moving vehicles. Active electronic filters can also be implemented to filter the signals from the level 100 sensors.Level 100 sensors can provide fuel level data in either analog or digital form.
[0048] The fuel level sensor is connected to the communication unit 200, preferably via connectors 180. These connectors may be 4-pin automotive connectors that enable electrical communication between the level sensors 100 and the communication unit 200. Preferably, the communication unit 200 includes a printed circuit board embedded within a housing, preferably, but not limited to, plastic. The printed circuit board includes electronic components that enable wireless data communication. For example, the printed circuit board may include components such as antennas, microcontrollers, microprocessors, or any other type of electronic component that allows for wireless data transmission and / or reception.
[0049] The communications unit 200 has a microcontroller or microprocessor to process the signal generated by the level sensors 100. Signal processing may include mathematical digital filtering of the data to prevent incorrect readings due to waves. In one mode, mathematical digital filtering can be performed using averaging methods, where incorrect values are those that deviate from a predetermined average. In other modes, mathematical digital filtering may use artificial intelligence algorithms to detect incorrect readings due to waves. The microcontroller or microprocessor of the communications unit 200 may include computer-readable memory that stores instructions which, when implemented by the microcontroller or microprocessor, digitally filter the information coming from the level sensors 100.The digital filter can discard spikes, average values, and analyze the history of values to determine if a measurement was generated by some movement inherent to the vehicle's trajectory or by malicious use of fuel.
[0050] The communications unit 200 also has inertial navigation sensors, such as gyroscopes and accelerometers, to detect when a tank is tilted because the vehicle is on a slope or on a curve. This tilting can cause the data provided by the level sensors 100 to be incorrect for extended periods. The memory associated with the communications unit 200 stores instructions to be implemented by the microcontroller or processor to calculate the fuel level based on the vehicle's orientation and speed, according to the information provided by the inertial navigation sensors.Inertial navigation sensors can be used by the microprocessor to calculate the actual fuel level using mathematical calculations. This calculation is performed by knowing the vehicle's tilt, position, and other variables, including acceleration and speed, relative to its original state. This generates a data filter when a change in position occurs. The mathematical calculations for determining the actual fuel level are specific to each tank and depend on the geometry of the objects inside. The calculations are based on fluid displacement in a solid body. To compensate for variations or differences between tanks in a vehicle, the sensor is calibrated specifically for each tank. This calibration is based on the linear relationship between the fuel level reading obtained by the sensor and the amount of fuel supplied to the tank, establishing a linear correlation between the values.
[0051] The Mobile Electronic Device 300 can be a device that includes at least one processing unit, memory, at least one antenna, and at least one user interface, including a display. In one implementation, the Mobile Electronic Device 300 can have at least an Android operating system with a version higher than 8.0, at least one camera, wireless connectivity such as Bluetooth Low Energy and Wi-Fi 5 or higher, and at least 2 GB of free storage. The memory of the Mobile Electronic Device 300 can hold a plurality of instructions implementable by the processing unit of the Mobile Electronic Device 300. The antenna of the Mobile Electronic Device 300 enables wireless communication between the Mobile Electronic Device 300 and other devices with wireless communication capabilities, such as the Communications Unit 200.For example, the mobile electronic device 300 can communicate with the communications unit 200 using Bluetooth™ or other wireless communication protocols. The mobile electronic device 300 can also communicate wirelessly with a database 400 for further analysis. Communication between the mobile electronic device 300 and the database 400 can be via an API. In one preferred embodiment, the mobile electronic device 300 can be a mobile phone with internet connectivity, Bluetooth™, and a memory adapted to hold instructions implementable by the microprocessor of the mobile electronic device 300. In other embodiments, the mobile electronic device 300 can be a tablet, a laptop computer, or any other electronic device that has memory, a microprocessor, wireless communication, and an interface including a display.
[0052] The data processed by the communications unit 200 is received wirelessly by the mobile electronic device 300. The mobile electronic device 300 can receive data from the sensors in the background and send it to the database 400 for further analysis. The database 400 can be a server database, and more preferably a structured query language server. The data in the database 400 can be displayed on a web platform 410 within an internet infrastructure that allows for the remote storage, processing, and access to data and services through the global system of interconnected computer networks. The data is displayed on the web platform 410 in the form of graphs and reports.The 410 web platform can receive data collected by one or more Level 100 sensors installed in one or more vehicles in such a way that the 410 web platform manages the data of an entire fleet of vehicles.
[0053] Referring now to the diagram in Figure 4, a method 210 for implementing a capacitive level measurement system can be observed. The capacitive level measurement method can implement the components of the fuel level measurement system defined, for example, in Figure 1. The capacitive level measurement method can include a plurality of steps. Step 211 includes the activation of accessories, including the sensors and other electronic circuits that are part of the diesel fuel measurement system. The activation of accessories can be carried out by connecting the level sensors 100 and the communications unit 200 to a battery or any other suitable power source capable of providing the appropriate power levels. Step 212 consists of issuing an activation alert indicating that at least the level sensors 100 within the tanks and at least the communications unit 200 have been activated and are ready to operate.
[0054] The next step in the capacitive level measurement method includes at least one iterative operation composed of conditional operations. This iterative operation includes step 213, which involves measuring the volume in liters of sensor n, measuring the fuel quality of sensor n, and measuring the temperature of sensor n. Sensor n belongs to a set of level sensors 100 installed in fuel tanks 120 of a vehicle. A heavy-duty vehicle may have more than one fuel tank. The fuel tanks 120 of the heavy-duty vehicle may have different shapes and locations. Furthermore, the fuel tanks 120 may or may not be interconnected. For example, a vehicle may have four fuel tanks 120, in which case the fuel measurement system may include four of the level sensors 100 installed in each of the four fuel tanks 120.The microcontroller of communication unit 200 can manage the measurement of each of the fuel tanks 120. Step 214 includes issuing internal alerts from the level sensors 100. In step 215, the microcontroller of communication unit 200 verifies that the measurement has been performed on each of the level sensors 100 installed in each of the n fuel tanks 120. The measurement is performed iteratively, such that in each iteration, the liters, quality, and temperature are measured on each of the sensors in the installed sensor set. The microcontroller of communication unit 200 checks if the sensor number for the current measurement of sensor n is equal to the total number of sensors. If sensor n is not equal to the total number of sensors, then the microcontroller of communication unit 200 proceeds to step 216 to perform the measurement on tank n = n + 1.The iterative cycle of measurement in the tanks is repeated to perform the measurement on n of the 100 level sensors within the 120 fuel tanks. When the n sensor is equal to the total number of sensors installed, which in the present example is equal to 4, then the microcontroller proceeds to step 217 which consists of performing the data transmission.
[0055] The data can be transmitted using a serial communication protocol, preferably RS485. The measured data from the level sensors 100 can be transmitted to the communication unit 200 for storage in a memory 218, for example, an SD card. In step 219, the communication unit 200 checks for a wireless connection, for example, Bluetooth™. If there is no wireless connection, the measurement cycle is repeated from step 213 to retake the sensor measurements. If a wireless connection is verified in step 219, three parallel processes occur. The first process involves using a network clock 231 to update the date and time 233. The second process involves mobile device variables 233, including general sensor alerts 234 and the encryption of sensor alerts 235 for transmission to the mobile electronic device 300.The third process involves encrypting the sensor parameters (236) for transmission to the mobile electronic device (300). The three parallel processes converge in step 240, which involves transmitting the level sensor information (100) collected by the communications unit (200) wirelessly to the mobile electronic device (300). Subsequently, the information received by the mobile electronic device (300) is processed (241) using the set of instructions implementable by its processing unit. Step 242 is to verify if the mobile electronic device (300) has an internet connection. If the mobile electronic device (300) does not have an internet connection, the cycle restarts at step 213 to perform the measurements again and transmit the data.If the mobile electronic device 300 has an internet connection, it transmits data 243 over the network to the database server 400. The database server 400 then processes and analyzes 244 the data provided by the communications unit 200 and transmitted by the mobile electronic device 300 to generate a detailed report on vehicle usage and the associated fuel consumption. Step 245 is performed by the communications unit 200 to verify the vehicle's status. If the vehicle is running, the cycle restarts at step 213 to perform sensor measurements and data transmission again. If the vehicle is not running, the information 246 collected from the time the vehicle is turned on until it is turned off is sent to the client via the database 400.
[0056] Referring now to the diagram in Figure 5, the general operation of the firmware or microcontroller in processing the electrical signals within the capacitive level sensor can be seen. The operation of the embedded control system includes the steps of initializing the fuel level measurement system; activating interrupts of the fuel measurement system, including system interrupts; assigning default values to variables; loading the memory configuration, for example, an EEPROM (Electrically Erasable Programmable Read-Only Memory); processing indications; and handling MCP conversions, which includes describing the transformation from electrical units to the technical units of the capacitive level sensor. Processing and handling are performed iteratively.
[0057] The diagram in Figure 6 represents the flow of system instruction processing 260. This process includes step 261, which is a cyclic conditional process of waiting for data on a UART port. If there is no data, the process remains waiting. If there is data on the UART port, the process proceeds to read the data 262. Subsequently, it is checked 263 whether the data read is different from / nya / r, and if so, the data is stored 264 in a command array. If the command data number is greater 265 than a predetermined maximum command number, then the command is deleted 266. If the data read in step 262 is not different from / nya / r, and if the data is equal 267 to / n, a terminator is added 268 to the command array, and the command is decoded 269.
[0058] The instruction decoding process 270 is shown in Figure 7. The process includes splitting 271 the instruction to obtain tokens. If the number of tokens 272 is not greater than zero, the process terminates. Conversely, if the number of tokens 272 is greater than zero, then one of three processes 273 can occur: if the token number is zero, the module number in the format “%X” is obtained 274; if the obtained module number 275 is equal to the module assigned to the machine OR the obtained module number is equal to =XF, then the token number is incremented 276 by 1. If the token number is 1, then the instruction number in the format “C%d” is obtained 276; and if the command number is less than or equal to 99 and greater than or equal to zero 277, then the token number is incremented 278 by 1. If the token number is 2, the instruction is implemented 279.
[0059] Referring now to the 280 indication implementation diagram shown in Figure 8, if the indication number 280a is equal to zero, then 281 is answered with the result of the conversions of the two diesel channels plus the temperature channel. If the indication number 280a is equal to 1, then 282 is obtained, the parameter value is assigned to a variable frec0 and the period of a timer Timer2, then 282a is assigned the duty cycle from: (frec0 * 2)+2, then 282b is stored in a memory which can be an EEPROM memory the value of frec0 as FRE_0 and 295 is answered with the same indication replacing the letter “C” with “S”.If the indication number 280a is 2, then the parameter value 283 is obtained and 283a is assigned to a variable frec1 and the period of a timer Timer4, then the duty cycle is assigned from: (frec1 * 2)+2, then 283b is stored in a memory which can be an EEPROM type memory the value of frec1 as FRE_1 and the response is with the same indication replacing the letter “C” with “S”.
[0060] If the indication number 280a is 3, then the parameter value is obtained as a float and offset0 is assigned. If the variable offset0 is within the range 284a from 0 to 4.98, then a value equal to (offset0 / (4.98 / 255)) is assigned to a variable variableAux, and the variable variableAux is converted to an 8-bit integer and assigned to a digital-to-analog converter DAC 1. Subsequently, the value of offset0 is stored as OFFS0 in the EEPROM memory, and the response 295 is given with the same indication, replacing the letter “C” with “S”. If the variable offset0 is not within the range 284a from 0 to 4.98, then the step of responding 295 is followed, replacing the letter “C” with “S”.
[0061] If the indication number 280a is 4, then the parameter value is obtained as a float and assigned to offset1. If the variable offset1 is within the range 285a of 0 to 4.98, then a value equal to (offset1 / (4.98 / 255)) is assigned to a variable variableAux, and the variable variableAux is converted to an 8-bit integer and assigned to a digital-to-analog converter DAC 1. Subsequently, the value of offset1 is stored as OFFS0 in the EEPROM memory, and the response 295 is given with the same indication, replacing the letter "C" with "S". If the variable offset1 is not within the range of 0 to 4.98, then the response is changed to 295, replacing the letter "C" with "S".
[0062] If the indication number 280a is 5, the parameter value is obtained as a float and assigned to a variable slope0, then the value of slope0 is stored as M0 in the EEPROM memory and the same indication is answered by replacing the letter “C” with “S”.
[0063] If the indication number 280a is 6, the parameter value is obtained as a float and assigned to a variable pending1, then the value of pending1 is stored as M1 in the EEPROM memory and the same indication is answered by replacing the letter “C” with “S”.
[0064] If the indication number is 7, the parameter value is obtained as a float and assigned to a variable pending2, then the value of pending2 is stored as M2 in the EEPROM memory and the same indication is answered by replacing the letter “C” with “S”.
[0065] If the indication number 280a is 8, the parameter value is obtained as a float and assigned to a variable ordered0, then the value of ordered0 is stored as B0 in the EEPROM memory and the same indication is answered by replacing the letter “C” with “S”.
[0066] If the indication number 280a is 9, the parameter value is obtained as a float and assigned to a variable ordered1, then the value of ordered1 is stored as B1 in the EEPROM memory and the same indication is answered by replacing the letter “C” with “S”.
[0067] If the indication number 280a is 10, the parameter value is obtained as a float and assigned to a variable ordered2, then the value of ordered2 is stored as B2 in the EEPROM memory and the same indication is answered by replacing the letter “C” with “S”.
[0068] If the indication number 280a is 15, then answer 293 with all the current meter configuration parameters, and answer 295 with the same indication replacing the letter “C” with “S”.
[0069] If the indication number 280a is 99, the parameter value of the indication is obtained as hexadecimal and assigned to the device ID. Subsequently, the device ID value is stored in the EEPROM as ID_DISP and the same indication is responded with 295, replacing the letter “C” with “S”.
[0070] Referring now to the diagram in Figure 9, we can observe the handling of digital-to-analog conversions (MCP) 610. If the conversion state 611 is 0, and the conversion number 612 is zero, the variable Offset0 is assigned to the digital-to-analog converter 612a, and the conversion state 612c is assigned 1. If the conversion state 611 is 0 and the conversion number 612 is not 0, the variable Offset1 is assigned to the digital-to-analog converter 612b, and the conversion state 612c is assigned 1.
[0071] If the conversion state 611 is equal to 1, and the timer value 613 is greater than 500, then the timer 613a is reset to Timer0; if the conversion number 613b is equal to 0, then a value of 2 is assigned to the conversion state 613c; if the conversion number 613b is not equal to 0, then a value of 4 is assigned to the conversion state and a value of 0 to the conversion number 613d; if the timer value 613 is not greater than 500, the conversion is terminated.
[0072] If the conversion state 611 is equal to 2, and the timer value 614 is greater than 10, then 614a Timer0 is reset, then 614b the digital-to-analog converter is reconfigured to read channel 0, then 614c a timestamp is read from Timer0 and 614d the value of 3 is assigned to the conversion state; if the timer value 614 is not greater than 10, the conversion is terminated.
[0073] If the conversion state 611 is equal to 3, and the difference 615 of (ValueReadFromTimer0-TimeState) is greater than 5000, then proceed to obtain 615a the conversion result of channel channel1, then assign 615b to the variable DieselConversion1 the conversion result multiplied by the value of Slope1 plus the value of ordinate1, then obtain 615c the result of the temperature conversion and then assign 615d to the variable FinalTemp the temperature result multiplied by the value of Slope3 plus the value of ordinate3, then reset 615e the timer Timer0 and the conversion number becomes the conversion number plus 1, and the conversion state is assigned 615f a value of 0.
[0074] If the timer value 616 is greater than 10, then 616a Timer0 is reset, then 616b the digital-to-analog converter is reconfigured to read channel 1, then 616c a timestamp is read from Timer0 and 616c the value of 5 is assigned to the conversion state; if the timer value 616 is not greater than 500, the conversion is terminated.
[0075] If the difference 617 from (ValueReadFromTimer0-TimeState) is greater than 500, then proceed to store 617a the conversion result of channel channel0, then 617b assigns to the variable DieselConversion0 the conversion result multiplied by the value of Slope0 plus the value of ordered0, then 617c resets the timer0 and the conversion number becomes conversion number plus 1, and the conversion status is assigned 617d the value of 0.
[0076] The automatic sensor calibration system is illustrated in Figure 3. This system allows the installation of Level 100 sensors in tanks with varying characteristics, such as shapes and volumes, enabling automatic sensor calibration. Level 100 sensor calibration allows the sensors to be associated with the fuel tank using a mathematical model that establishes a relationship between tank level height and fuel volume with an error of less than 5%. For example, one of the mathematical models used for automatic calibration is linear regression, which generates a regression for each geometric or dimensional change detected by the system in the fuel tank. More specifically, the linear regression can be obtained using the equation where the value "x" is the height in cm measured by the sensor and "y" is the fuel level in liters, both obtained from the specific tank being calibrated. This mathematical procedure seeks to determine the slope and ordinate values that apply to the analyzed system (tank). All points and calculations, such as sums, differences, and averages, are obtained from the sensors and automatically calculated by the calibration computer program, functioning like a calculator. The program then provides the desired values and graphs them for visual interpretation of the results. The process includes several stages, including emptying, cleaning, and preparing the tank for the installation of the level sensor 100. Once the tank is ready, the sensor is installed and connected via wiring to the automatic calibration system 500.The automatic calibration system 500 basically includes a control computer 501, a junction box 502, and a fuel pumping system 510 with a first hose 511 and a second hose 512. The control computer includes a controller and / or processor and memory that stores a set of instructions for performing the aforementioned calculations, processing them to manage the calibration system and transmitting them to the junction box for implementation and automatic management of the calibration system and data processing. The junction box 502 enables wireless communication between the level sensor 100, the control computer 501, and the fuel pumping system 510. The control computer 501 and junction box 502 can be connected using serial connection protocols. The junction box 502 can be connected to the fuel pumping system 510 via RS-485.The fuel pumping system 510 can be connected via RS-485 to one of the level sensors 100 installed inside one of the fuel tanks 120 for calibration. The first hose 511 can hydraulically connect a fuel supply tank 515 to the fuel pumping system 510 to supply fuel to the fuel tank 120, which is calibrated by means of the second hose 512 that connects the fuel pumping system 510 to the fuel tank 120.
[0077] The fuel pumping system 510 is a mobile unit that, through hoses, connectors, connecting valves, an electric extraction pump, sensors, and a control board with buttons, pumps fuel in a controlled manner from a container to fuel tank 120, which is already equipped with level sensor 100. This establishes a relationship between height and fuel level. The fuel pumping system 510 allows for the controlled delivery of fuel into fuel tank 120 and is calibrated to determine the relationship between the tank height, as measured by the level sensor, and the volume of fuel dispensed. The resulting calculations are sent to communications unit 200, which, once it receives the sensor data, effectively converts it into the number of liters of fuel in each tank of the monitored vehicle.
[0078] Referring now to the diagram in Figure 10, the sensor calibration process 620, which is commonly carried out during manufacturing, is shown. This ensures the previously mentioned automatic calibration process functions optimally, beginning with the computer detecting 621 the connector. If the connection is not detected 621, the electrical connections are checked 621a and the connection controllers are installed 621b. If the connector is detected 621 by the computer, a COM port is selected 622. If the detected temperature 623 is inconsistent, the computer sends an alert signal requesting 623a a technical inspection of the fuel tanks 120. If the detected temperature 623 is consistent, the calibration voltage mode is activated 624.If the level and dimensionless value 625, which relates the voltage to the amount of fuel, are not positive and are less than 2, the operating frequencies are modified (625a) until the level and dimensionless value are positive and less than 2. Once this condition is met, the calibration counts mode (625b) is activated. It should be noted that, in addition to modifying the operating frequencies, there may be cases where it is also necessary to subtract and / or divide the obtained value by constant values defined by the fixed or quality capacitor model. The value of the subtraction is frequency-dependent. In one embodiment of the present invention, the value of the constant for the division is 3500. The counts mode refers to the voltage value generated on the electronic board of the level sensor (100) associated with the voltage level detected by the sensor. This voltage value is a positive, whole number, and dimensionless value.In other words, the term “counts” is a value generated by the analog-to-digital converter (ADC) with respect to voltage. It is a positive, dimensionless, whole-number value dependent on the voltage level, allowing for more precise measurement acquisition and calibration. In one mode, the count value of an ADC is based on dividing 5 volts by 10 bits. In another mode, an 18-bit ADC can be used. The calibration mode uses the empty sensor 626 [counts] to perform the measurement 627 using the level sensor 100 in cm to determine 628 the sensor's capacity in liters and the measurement points. In one mode, the measurement points 629 of the level sensor 100 are equal to the sensor's capacity divided by 5 L.The above is one of the most common methods when the tank capacity is less than 400L. This division of points is chosen to ensure good measurement accuracy and processing speed. The calibration process includes filling the fuel tank to the measurement point's capacity (631), then creating a level measurement value that relates the height and counts obtained (632). If at least four measurement values are not obtained (633), the process is repeated from filling the tank to the measurement point's capacity. If more than four measurement values are obtained (633), a characteristic equation for the sensor is generated (634) by the communication unit (200). Preferably, the equation is a linear equation resulting from assigning calculated slope and ordinate values to the sensor (635). Subsequently, the fuel tank is emptied (636), and the level values are verified (637) at two or more measurement points.
[0079] If the values 638 read by the sensor are incorrect, a slope of 1 and an ordinate of 0 are assigned to the level sensor 100, and the process is restarted from the tank filling step at the measurement point capacity. If the level sensor values 638 are correct, a negative ordinate value is assigned to the fixed capacitor in empty conditions 641 [counts] and a value is assigned to the fixed capacitor in fuel conditions 642 [counts]. Subsequently, a fixed calibrator is analyzed. If the dimensionless value 644 is not between 2 and 2.5, the fuel pumping system 510 removes fuel from the sensor. If the same value 646a is obtained in empty conditions, the calibration system requests a technical review of the sensor. If the same value 646a is not obtained in empty [counts] return to the step of assigning 639 the negative ordinate value to the fixed capacitor.
[0080] If the dimensionless value is between 2 and 2.5, then an installation form (645) is generated, and the form is stored and calibrated (645a). If no more sensors will be calibrated, the sensor calibration system implementation (645c) is completed. If additional level sensors need to be calibrated, the process is repeated from step 623.
[0081] Referring now to the internal alert generation diagram 650 of the level sensors 100, it can be observed that different alerts are issued depending on the current condition of a tank n. The alert generation of the level sensors 100 is active and on standby while the sensors measure 651 the level, quality, and temperature of the fuel in a sensor n. If the liters 652 in the sensor n are greater than or equal to 95% of the tank's capacity, an alert or message is issued 652 indicating that the tank n is full. If the liters 653 measured by the level sensor in the tank n are less than or equal to 5% of the tank's capacity, then an alert is generated 653 indicating that the tank is empty.
[0082] If the dimensionless number 654 of the tank is outside the range of 2 to 2.5, a fuel quality alert is generated (654a) due to possible adulteration or tampering. The data is then stored (655) in the sensor's internal memory. If the current temperature (656) varies by 3 degrees or more from a previously detected temperature, a temperature alert (656a) is generated. If the current fuel level (657) varies by 5% or more from the previous fuel level measurement, a level alert (657a) is generated regarding possible fuel theft. Finally, the generated alerts (658) are stored and transmitted.
[0083] The sensor installation 660 is detailed in the sensor installation diagram. The sensor installation begins by using installation information 661 to install the level sensors 100. After verifying the installation information for the level sensors 100, it is verified that the sensors are factory calibrated 662. If the sensors are not factory calibrated, basic calibration is performed, followed by calibration of the sensor using the automatic calibration system 500. After calibrating the sensor, if there are more sensors 663 to be calibrated, the calibration of one sensor n=n+1 is performed 663. If there are no more sensors to be calibrated, the sensors are mounted 664 in the tanks, followed by characterization 665 of the fuel tanks. Subsequently, the calibration 666 of the communications unit 200 is performed, and the electrical connections 667 are made.If there is no reading 668 from the level sensors 100, the process restarts at sensor calibration step 662. If there is a reading 668 from the level sensors, and if there is a reading 669 at the communications unit 200, a connection is established with the mobile electronic device 300. If there is no reading at the communications unit 200, the communications box calibration step is repeated.
[0084] For process 670 of mounting sensors in the tanks, the fuel tank 671 must first be emptied. If the fuel tank 672 where the sensor will be installed does not have an opening to receive the sensor, the highest point of the tank 686 is determined, and the center of that point 687 is identified. If the center of the highest point 687a of the tank is perpendicular to any valve, another high point of the fuel tank is sought. If the center of the point is not perpendicular to any valve, but is located 687b less than 8 cm from the fuel tank cap, then another high point 687c is sought. If the center of the point is not perpendicular to any valve and is not less than 8 cm from the cap, then a 35mm circular saw hole 688 is drilled, followed by sanding 689 of the cut and cleaning 689a of the tank. Once the fuel tank has the opening to receive the sensor, the tank geometry assignment 673 is performed.The dimensions of the tank (preferably in cm) are then measured (674), including the tank's height (675). The height assigned to the sensor (676) is determined by subtracting 1 cm from the tank's height as a safety measure to prevent the sensor from short-circuiting (677) with the metal of the fuel tank. Caps (678), preferably made of Nylamid, are then attached to the cut in the tank to receive the sensor. If the sensor is not calibrated (679), calibration (679a) is performed. If the sensor is calibrated (679), holes (681) are drilled around the opening in the tank for the screws that will secure (682) a flange for installing the level sensor (100) in the tank opening. The flange is preferably made of neoprene. It is also possible to manufacture the flange from another flexible material suitable for hermetically sealing the tank.Next, the neoprene flange is cut, glued, and secured to fix the level sensor in the fuel tank (682a). If another sensor is to be installed (683) in another tank of the vehicle, the process begins with verifying the tank opening for installation and mounting the sensor. Once all the tank sensors have been installed, the electrical wiring (684) is run inside the vehicle, and the communications unit (685) is calibrated (200).
[0085] The configuration 690 of wireless communication between the communications unit 200 and the mobile electronic device 300 can be observed in the Bluetooth Configuration diagram. MOn the ESP32, configuration begins with registering Universally Unique Identifiers (UUIDs) for services and features (691, 692, 693, 694). Next, services (691a, 692a, 693a, 694a) are created to register features for each sensor, for example, sensors 1 through 4 installed in the fuel tanks of a vehicle. After creating services and registering features, the reading service (695) and the notification and client device connection service (696) are registered. Bluetooth commands (710) are then used. TM They include a 711 command or indication, 712 a 713 Network Time Protocol (NTP), 713a separating the body of the indications with commas, and 713b updating the clock. Bluetooth indications TMThey use the transmitted information 714, separating the body of the indication with a comma (714a) and assigning parameter 1 to a battery and parameter 2 to a signal (714b). Bluetooth indication or command 715 TM This includes obtaining 715a command body and updating 715b Bluetooth notification time TM Low energy. The mobile device's battery levels and Bluetooth signal strength are used to activate or deactivate sensor operation alerts.
[0086] The ESP32 instruction includes checking command 730, command 731 variables or inputs by dividing 732 the input by spaces “ “ and obtaining substrings. If a space “ “ is found 733, a substring is obtained 734 between the start and the space “ “ and the substring is pushed 735 onto the stack, then the value of the substrings variable is incremented 736 by 1 to repeat the step of finding spaces “ “. If no spaces “ “ are found, the substrings and the substring stack are delivered 738, ending 739 the instruction.
[0087] Regarding the internal clock calibration process, the following steps are included: check clock (720), and consult clock (721) for day, month, and year (722). If day (723) is equal to the system's Clock.day, return to step 721 to consult clock. If day (723) is not equal to Clock.day, update the time change status (726) to changeTime equal to true. If month (724) is equal to the system's Clock.month, return to step 721 to consult clock. If month (724) is not equal to Clock.month, update the time change status (726) to changeTime equal to true. If year (725) is equal to the system's Clock.year, return to step 721 to consult clock. If year (725) is not equal to Clock.month, update the time change status (726) to changeTime equal to true. When the time change is true, directory 727 is updated and the clock checking process is repeated cyclically.
[0088] The serial communication process with the communication box includes indication 740, Serial2 control, which allows verification of the information transmitted by the level sensors 100. If the information is not received correctly, and if there is a request 741 to obtain data, a counter 742 is started. If the number of attempts equals the maximum allowed 743, and if the sensor status variable sensorOK is false 743a, the process restarts to verify the existence of a data retrieval request 741. If the number of attempts is not the maximum allowed, an RS-485 bus is activated 744 for data transmission, and a command to obtain data, along with the station number, is sent 745. Subsequently, the RS-485 bus is disabled 746. If the maximum time 747 has expired, the attempt counter is incremented 747a by 1, and the process moves to the maximum attempts verification step 743. If the maximum time 747 has not expired, the reading process proceeds to 748. the data buffer.If a / n is not found (749), the indication string (749a) is concatenated to the indication string. If the / n is found (749), the indication is checked (751), and the string list (752) and the number of strings (753) are updated. If the number of strings (754) is 1, the string contains fuel level information (754a), and the sensor status (755b) of sensorOK is true. If there are 2 strings (755), the fuel level is constant (755a), and the sensor status (755b) of sensorOK is true. If there are 3 strings (756), the fuel level is constant, and temperature information (756a) is transmitted. If there are 4 strings (757), the indication (757a) is invalid, and the sensor status (757b) of sensorOK is false.
[0089] Referring now to process diagram 760 of the Communications Box, two subprocesses are performed, one on each processor core. Core 0 performs the steps of checking the time (761, 761a), updating file names (762, 762a), and processing Bluetooth instructions. TM(763, 763a). The process of core 1 of the communications unit 200 processor begins with verification 764 that there is data on the serial port. If there is no data, the process waits. If there is data on the serial port, the data is fetched from the serial port buffer 764a. The data is then concatenated to an indication 764b. If the data is not a / n sequence 765, the step of fetching data from the serial port buffer is repeated. If the data is a / n sequence 765, the indication is processed 766. If the read timeout 767 has not been exceeded, the process of core 1 is repeated from the serial port data check. If the read timeout 767 is exceeded, and if the tank is configured 768, RS-485 transmission is enabled 769. If the tank is not configured, the process skips to tank 768, and if there are more tanks, it is checked that they are configured. If there are no more tanks configured, the process is repeated from the read time exceeded check.
[0090] After enabling RS-485 transmission, core 0 handles serial control 2 (771, 771a), and core 1 waits 772 for core 0. If the sensor status is correct 773, the fluid level is continuously measured 774 by the level sensor, and the fluid temperature is also measured. If the geometry 775 of the fuel tank 120 is rectangular, the rectangular volume 776 is calculated. If the geometry of the fuel tank 120 is cylindrical, the cylindrical volume 776a is calculated. If the tank geometry is D-shaped, the volume of the D-shaped tank 776b is calculated. If the tank geometry does not fit any of the mentioned geometries, values are assigned manually. Subsequently, the constant volume and temperature data are saved in the database 777, and the reading time is reset 778 to restart the process from the read time exceeded check.If the sensor status 773 is incorrect, the constant volume and temperature are set to -1017.07 or any other data that is substantially out of range so that it can be easily found and archived as erroneous data, for later technical correction of the sensors.
[0091] To update 790 the directory checks if there is a clock change 791, if there is a clock change the directory is updated 792 in year / month / day.
[0092] The mobile electronic device 300 has at least one processor and memory. The memory of the mobile electronic device 300 contains prompts implementable by the processor of the mobile electronic device 300. The prompts 794 implementable by the mobile electronic device 300 include a login prompt 795 that allows a user of the mobile electronic device 300 to access a menu of prompts stored in the mobile electronic device 300. The login prompt allows the user to enter a username and password. If the entered username and password are incorrect, the prompt returns to the login prompt to prompt the user to enter the username and password. If the username and password are correct 796, the data and alerts sent by one or more sensors via a wireless connection such as Bluetooth are stored 797. TMData is sent from mobile electronic device 300 to database 400 at predetermined intervals, for example, every 3 hours. If the data cannot be sent, it remains stored in the memory of mobile electronic device 300, allowing for data retrieval, thus defining the data retrieval protocol. If the data can be sent, the database is erased from mobile electronic device 300 to continue storing the data in the database.
[0093] The instructions stored in the memory of the mobile electronic device 300 for refueling 810 include the user and password entry step 811, using, for example, an interface 812. The user entry step includes verification 813 of the correct user and password. If the user and password are correct, the receipt capture 814 proceeds, selecting 815 the vehicle and card on the mobile electronic device 300. Subsequently, 816 the odometer, license plate, and receipts are captured in the communications unit 200.
[0094] The database server 400 includes instructions that can be implemented by the server 820. The server includes a plurality of modules 930 of instructions that can be implemented by the server. The modules allow objects to be added to, edited, and deleted from the database 400. To access the modules, the user enters the username and password of the mobile device or the server. The system checks whether the username and password are correct; if they are incorrect, an error message is displayed, and the implementation of the instructions is terminated. If the username and password are correct, proceed to selection 932b of one of the server modules, including a user module 933, card module 934, vehicle module 935, communication box module 936, station module 937, Power BI module 938, reconciliation module 939, and other modules 940. The user module 933 allows you to register 933a, edit 933b, and delete users 933c.The cards module (934) allows you to add cards (934a), edit cards (934b), and delete cards (934c). The vehicles module (935) allows you to add vehicles (935a), edit vehicles (935b), and delete vehicles (935c). The communications box module (936) allows you to add communications units (936a), edit communications units (936b), and delete communications units (936c). The stations module (937) allows you to query fuel stations (937a), add fuel stations (937b), edit fuel stations (937c), and delete fuel stations (937d). The Power BI module (938) allows you to download data templates (938a), edit data templates (938b), synchronize data templates (938c), and view data templates (938d). The reconciliation module 939 allows you to download 939a, edit 939b and save 939c ticket templates to process data 939d, generating reports 939e. Other modules 940 are included, such as reports, alerts, special authentication, and any other indication modules that allow the management of fuel tank information.
[0095] Another module included in the server is the alerts module (941), which notifies the user of inconsistencies in tickets and other types of alerts. If inconsistencies (942) are detected, alerts (943) are generated and the user is notified. If there is a database failure (944), an error alert (945) is generated. If there are no inconsistencies (942), the module terminates.
[0096] Another module included in the server is the graphics module 947, which allows the user to display the graph 959, as well as filter by year, month, department, vehicle, sensor data, vehicle consumption, and performance. If the graphics module 948 does not generate the graph when requested, error message 951 is generated.
[0097] Another module included in the server is the routing module (952), which allows the user to choose the best route for their vehicles by entering a starting point and a destination point. The routing module includes a verification step (953) to check if the route between points is valid. If there are invalid points (954), an error message (954a) is generated, and the module terminates. If the route is valid, the module displays an optimal route (955) between the starting and destination points.
[0098] Another module included in the server is the vehicle location module 956, which allows the user to track their vehicles' routes on a map. If the vehicle is on route 957 and there is no location data 959 or the global positioning system fails, an error alert 959a is generated. If there are no errors, the vehicle's route is displayed on a map 958.
[0099] It is important to mention that each of the modules described above is customizable and can be adapted according to each of the system users.
[0100] Alterations to the structure described herein may be foreseen by those skilled in the art. However, it should be understood that this description relates to preferred embodiments of the invention, is for illustrative purposes only, and should not be construed as a limitation of the invention. All obvious modifications to the spirit of the invention, such as changes in the shape, material, and dimensions of the elements comprising the invention, shall be considered within the scope of the appended claims.
[0101] The invention has been described in an illustrative manner and it should be understood that the terminology used herein is intended to correspond to the nature of the words in the description rather than to any limitation.
[0102] Obviously, many modifications and variations of the present invention are possible in light of the foregoing teachings. Therefore, it should be understood that, within the scope of the described invention, the invention may be practiced in ways other than those specifically described.
Claims
A fuel measurement system comprising: at least one capacitive level sensor installed in at least one fuel tank of at least one vehicle, wherein said at least one capacitive level sensor measures the capacitance of the fuel to determine the fuel level within the at least one fuel tank; wherein said at least one capacitive level sensor further includes an electrical circuit, a temperature sensor, and a fuel quality sensor, said fuel quality sensor enabling the detection of fuel adulteration; a communications unit that processes the signals from the at least one capacitive level sensor, applying digital filters to said signals;A mobile electronic device with wireless connectivity that receives and processes data from signals sent wirelessly by the communications unit, wherein said mobile electronic device sends the data to a remote database via an internet connection at predetermined intervals; wherein the mobile electronic device includes a data recovery protocol that includes storing the data in the memory of the electronic device if the data could not be sent to the remote database. The fuel measuring system according to claim 1, wherein said at least one capacitive level sensor comprises two elongated tubes and a support for securing the at least one sensor to a fuel tank, wherein the two elongated tubes of said at least one capacitive level sensor are inserted into the fuel tank. The fuel measuring system according to claim 1, wherein said at least one capacitive level sensor includes an electrical circuit that measures the capacitance generated as a function of the fuel level within the fuel tanks. The fuel measuring system according to claim 3, wherein the electrical circuit includes a temperature sensor for measuring the temperature of the fuel inside the fuel tanks. The fuel measuring system according to claim 3, wherein the electrical circuit of said at least one capacitive level sensor includes an additional capacitor to calculate the dielectric constant of the fuel and improve the accuracy of the fuel level measurement. The fuel measuring system according to claim 1, wherein the fuel quality sensor measures the electrical permittivity or dielectric constant of the fuel to detect adulteration. The fuel measuring system according to claim 3, wherein the electrical circuit further includes electronic filters to filter the electrical signals provided by said at least one capacitive level sensor to reduce variations and incorrect fuel level readings caused by sudden voltage changes due to fuel sloshing within the tanks of moving vehicles. The fuel measurement system according to claim 1, wherein said communications unit includes a printed circuit board, a microcontroller, a memory, and inertial navigation sensors including gyroscopes and / or accelerometers. The fuel measurement system according to claim 8, wherein the memory of the communications unit stores indications implementable by the microcontroller to digitally filter the information coming from one or more capacitive level sensors. The fuel measurement system according to claim 8, wherein the memory of the communications unit stores indications implementable by the microcontroller to calculate the fuel level taking into account the orientation and speed of the vehicle, using the inertial navigation sensors to determine the orientation and speed of the vehicle. The fuel measurement system according to claim 1, further comprising a web platform configured to: display data in the form of graphs and reports; manage data from a fleet of vehicles; and allow remote access via the internet. A method for calibrating at least one capacitive level sensor according to any of the preceding claims, the method comprising: verifying the electrical connections of the at least one capacitive level sensor; verifying the temperature of the at least one capacitive level sensor; selecting a COM port on a control computer for the calibration of the at least one capacitive level sensor; activating a voltage calibration mode; and / or activating a “counts” (digital values) calibration mode; pumping fuel in a controlled manner into the vehicle's fuel tank by means of a fuel pumping system; creating level measurement values relating the height and the counts obtained; generating one or more characteristic equations of the sensor, assigning calculated slope and ordinate values to the sensor; emptying the fuel tank by means of the fuel pumping system;and verify the calibration of at least one capacitive level sensor by measuring the level values. A method for generating alerts from at least one capacitive level sensor of any of claims 1 to 12, which issues alerts when: the fuel level measured by said at least one capacitive level sensor is equal to or greater than 95% of the corresponding tank capacity; the fuel level measured by said at least one capacitive level sensor is less than or equal to 5% of the corresponding tank capacity; the fuel quality sensor detects possible fuel adulteration; the current temperature measured by said at least one capacitive level sensor has a variation equal to or greater than 3 degrees with respect to the previous temperature; or the current fuel level measured by said at least one capacitive level sensor has a variation equal to or greater than 5% with respect to the previous level measurement indicating possible fuel theft. A server that includes a database for managing data collected by the fuel measurement system according to any of the preceding claims, comprising: a plurality of modules including: a vehicle management module for adding, editing, and deleting vehicles from the server's database; a user management module for adding, editing, and deleting users from the database; a vehicle operator management module for adding, editing, and deleting operators from the database; a communication box module for adding, editing, and deleting communication units; a station module for querying, adding, editing, and deleting fuel stations; a Power BI module for downloading, editing, synchronizing, and displaying relevant data in specialized templates; and a reconciliation module for downloading, editing, and saving ticket templates that are processed to generate reports.A reporting module for selecting reports from the database; a vehicle and operator import module from the database; a fuel receipt management module from the database; an alerts module configured to notify the user about inconsistencies; a graphs module configured to allow the user to filter information by year, month, department, vehicle, sensors, fuel consumption, and performance; a routes module configured to provide routes from an origin point to a destination point; a vehicle location module configured to display the vehicle's route on a map; wherein the plurality of modules are accessed by means of user and password verification prompts programmed on the server or on the mobile device. The server according to claim 14, wherein each of the modules requires authentication by means of a username and password to access it.A method for measuring the capacitive level of a fuel comprising: activating accessories including at least one capacitive level sensor and a communications unit; issuing an activation alert indicating the activation of the at least one capacitive level sensor and the communications unit when the engine is off; measuring a fuel level using said at least one capacitive level sensor installed in a fuel tank; measuring the fuel quality using a quality sensor; measuring the fuel temperature using a temperature sensor; verifying by means of a microcontroller in the communications unit whether the measurement has been performed on all installed capacitive level sensors; transmitting the data measured by said at least one capacitive level sensor, the temperature sensor, and the quality sensor to the communications unit using a serial communication protocol;Store the measured data in the communications unit's memory; verify if a wireless connection exists between the communications unit and a mobile electronic device; transmit encrypted information from the communications unit to the mobile electronic device via wireless communication; process the received information on the mobile electronic device; verify if the electronic device has an internet connection; transmit, when an internet connection exists, the processed data from the mobile electronic device to a server database; process and analyze the data on the server to generate a fuel usage report; send the processed information to the client via the server database.