Friday, June 04, 2010

I did some more work on pressure sensor testing, this time with a MP3V5004 sensor which has higher accuracy than the MPX5010. This sensor definitely did work better than the MPX5010, but it still was not accurate enough for my purposes. I also leanred that my test rig was very sensitive to two things: 1) The position of the tubes (even if one of them moved 1/64th of an inch it would affect the readings significantly), and 2) if there was liquid already in the tube from a previous reading. To correct this I secured the rig's test tubes so they couldn't move at all and I made sure to clear any liquid out of the tubes between readings. With these changes I got much higher accuracy, but the sensors I tested were still not accurate enough.

I found another pressure sensor made by Honeywell (HSCSAAN001PDAA5) that has significantly higher accuracy, but it is also MUCH more expensive ($40-50 per sensor). So I'm going to try some other specific gravity measurement ideas before I invest money in the pricey new pressure sensor.

Lately I've been experimenting with counting CO2 bubbles produced by a fermentation as an indirect way of measuring specific gravity. Currently I'm using a method which shines an infrared beam through an air lock. When a certain amount of CO2 has been produced in the reaction chamber a CO2 bubble goes through the liquid contained in the air lock (which really just acts as a one-way valve). When this bubble escapes it breaks the infrared beam momentarily which I can then detect electronically.

So far I've proven that I can detect bubbles with this apparatus; now I need to make sure that I can detect close to 100% of the escaping bubbles. Here are some pictures of my current test setup:




















Tuesday, April 13, 2010

I was able to find some sufficiently small hose clamps that fixed my air leakage problems, but now I'm having trouble with the accuracy of the pressure sensor. Here is some of the data I got during my last test session:

SG test solution -> ADC counts (0-1023)
1.000 -> 220
1.100 -> 240
1.062 -> 237
1.028 -> 233
1.000 -> 227
1.100 -> 244
1.062 -> 237
1.100 -> 242
1.000 -> 223
1.000 -> 226

So as you can see the trend is generally correct but there is too much hysteresis in the values. After perusing the datasheet for the sensor it seems that the overall accuracy is +/- 5% worst-case, so the sensor is performing much better than its spec. But it's still not very useful for my purposes.

Tuesday, April 06, 2010

I've been working with the pressure sensor again. I finally got a very ugly prototype of a hand-held meter built. The basic idea is that I have the pressure sensor wired to one of the analog inputs of an arduino, and then the arduino sends sample data out via serial to my PC.

I got some pretty good readings that look like I'll have a resolution of around 0.005 SG (which is usable, I think). The only major problem I ran into was that air was slowly leaking out the tubes that were in the water, which means the seal I have between the tubes and the pressure sensor ports isn't good enough. So the next thing on my list is to come up with a way to seal the tubes better.

Here are some pictures of the prototype:
















Tuesday, January 05, 2010

I've been continuing to experiment with the pressure sensor from the previous post. I had a problem for a while where the pressure sensor results were varying by +/- 50mV which basically made the pressure sensor unusable for my purposes as I was looking for better than 5mV accuracy. I did some more troubleshooting and discovered that my power supply was causing the variance. I put an additional voltage regulator before the circuit and that brought the accuracy down to 1-2mV, which is much more usable.

I've also found another Freescale pressure sensor (MP3V5004G) that has about double the accuracy of the sensor I'm currently using (MPX5010). I'm going to try out that sensor in the near future to see if it improves my results.

Now that I'm getting decent results I'm going to build a prototype meter using an arduino and start experimenting with a bit of software filtering and averaging to see if I can get a more accurate result. Eventually I'll also attach an LCD display to the arduino and make a hand-held meter for measuring specific gravity.

Here are some of my latest experimental results with the MPX5010 and solutions of varying density:

hydrometer reading of solution -> sensor reading
(with h = 6 inches)
1.000 -> 882mV
1.028 -> 896 mV
1.062 -> 933mV
1.100 -> 961 mV

(with h = 8 inches)
1.000 -> 1.105V
1.028 -> 1.130V
1.062 -> 1.148V
1.100 -> 1.177V