I would like to measure the volume of fuel in my bike and display it on LCD. I'm thinking of something like Flow Rate Sensor, but is there any better sensor or that's the best I can get to measure volume using Arduino?
Do you want to measure how much fuel you use at any given moment, or how much you have left in the tank?
The latter. I did a quick research again and found out Flow Rate Sensor is not really suited...
cyberjupiter:
Flow Rate Sensor is not really suited...
Really? If you can get it to work reliably, I would imagine a flow rate sensor would be about the best bet for a bike. All you need do is make sure you are rigorous about filling it up and resetting the monitor.
If you could measure the flow rate, you would need to have a way to key in the volume added at each fill-up so that the flow rate over time could subtract from the starting volume to give you the current volume. (edit: or as mentioned above, always fill it to the brim.)
Presumably the bike doesn't have a sensor in the tank already, just a valve to go to reserve?
The problem's likely to be the irregular shape of the tank, which will make calibrating any float-based solution very tricky. That's if there's space for a float mechanism in the first place: I've always assumed motor bikes don't have gauges due to the frame effectively cutting the tank in half and making the fitting of a float very difficult.
Maybe ultrasound or IR could work, to sense the surface? But of course anything you do in a fuel tank will need to be intrinsically safe.
Even when sensing the surface (if possible with the odd shape of the tank) you'd need some kind of lookup table to check the level, as the shape of a typical motorbike tank is indeed very irregular. Also the fuel will be sloshing around due to the movement of the bike, making the surface a moving target. You'd need some averaging of your measurements to compensate for that.
Maybe a combination of a float switch at a near-full level, and flow sensor? Then when you fill the tank (I assume you always top it up when refueling) the float switch senses the tank is full, resetting the measurement. Then as it empties a bit - to say 90% or so - the float switch triggers, and the fuel consumption measurement takes over. The float switch basically tells the Arduino something like "at this moment you have 13 litres of fuel in the tank".
Instead of the float switch you could also manually reset the fuel counter upon filling it up. It doesn't matter how much you've added exactly, you just need to know the total that's in the tank, i.e. full.
Having a flow sensor can also give you a fuel economy gauge, when combined with the speed of the bike.