Hello,
I created aquarium controller based on arduino where is used LMP91200 for pH measurement. I used default settings for LMP91200, so for VOCM it's 1/2 VREF. For VDD and VREF is used 3.3V directly from arduino 3.3V pin. For reading from VOCM and VOUT is used internal arduino 10-bit ADC, so digital result is from 0 to 1023 (max error is 3.2258mV = 0.05pH).
pH calculation is then 7 + (VOUT - VOCM) *(3300/1023)/ -59.16
My results:
Digital result from VOUT is from 494 to 501 (1594mV - 1616mV)
Digital result from VOCM is from 509 to 513 (1642mV - 1655mV)
Difference between VOUT and VOCM is from -17 to -9, so pH result is then from 7.49 to 7.93 which is not good for me of course.
120 result for VOUT - VOCM:
-9 3x
-10 8x
-11 18x
-12 9x
-13 16x
-14 36x
-15 18x
-16 9x
-17 3x
For better precission I use software calculation.
120 times is reading from VOUT and VOCM, then kick out 10 highest and lowest values, then divide it by 100.
Then pH result is from 7.69 to 7.77 (mostly from 7.71 to 7.74) which is already ok for me.
Questions:
- What can be the problem that some results are out? I understand that pH probe can be problem, but something else also?
- Why VOCM is from 509 to 513 if 1/2VREF is 511-512 for 10-bit ADC? I put same 3.3V to another analog pin on arduino for checking VREF and result is always 1023, so fully 3.3V.
- Is it a standard, that need use some software calculation for better precission or I'm totally wrong?
p.s. sorry for my english