Click here to Skip to main content
13,510,146 members
Rate this:
Please Sign up or sign in to vote.
See more:

I am working on Fuel Level Sensor module. We have a Fuel Level Sensor which is dipped into the fuel tank. The sensor sends the update in each 10 seconds. The volt varies from 0 to 5, wherein 0 means 'Fuel tank is Empty' and 5 means 'Fuel tank is Full'.
Currently I am working on to stabilize the voltage that I am receiving from the sensor. Since there is a lot of fluctuation happening while the vehicle is moving, I am not able to stabilize the graph.

Currently I am getting the graph in the following manner:
Current Graph

But I want the graph something like this:
Required Graph

I want to remove the fluctuation happening in the 1st graph.
Below is the data that I am receiving. Please download and open it in MS Excel 2007.(Trust me it is not a virus.)
Download Excel File

Please help.
Looking ahead for a helpful logic.

Thanks in Advance.
Posted 4-Feb-13 20:30pm
Updated 9-Nov-16 20:04pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Use a moving average: it sums the last "N" points and gives the average of those, rather than using the datapoints directly. You will still get some fluctuation, but it should be minimised, and you will probably need to play with the sample size to get the right "damping" factor.

BTW: If you want to show people "before" and "after" pictures, try to make sure that you use the same dataset, or at least similar - your two examples don't even use the same timescale!
linto_11 5-Feb-13 3:14am
Thanks for your reply.

The Graph 1 image is exactly drawn from the values of the dataset but Graph 2 is the imaginary one.
I have implemented the averaging logic, but still the i receive fluctuations.
Can you please help me in finding out the "damping" factor?
OriginalGriff 5-Feb-13 3:30am
You will get fluctuations - the fun is getting it to the point where they are acceptable. Try doubling your sample size then try at half the difference: So if your original was 100, look at what you get for 200, then 150. Try to keep it as small as possible - otherwise it will start to negatively impact the rise speed when you refuel.

Look at the fuel gauge in your car - it suffers from the same problems. It rises slowly when you fill it, because it is heavily damped to prevent sloshing on cornering, braking etc. showing up too immediately on teh guage.
linto_11 5-Feb-13 3:57am
Thanks, I'll try to implement the same and update you. Thanks Griff.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web01 | 2.8.180417.1 | Last Updated 10 Nov 2016
Copyright © CodeProject, 1999-2018
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100