简介
土壤的pH值是一个重要的参数,影响着植物的生长。不同的植物,适宜生长的土壤pH值是不一样的。不同的食物,如水果、肉类等,它们的pH值也是不同的。食物的pH值也是一个重要的参数,如通过对肉类pH值的检测,来判断肉类的质量。
对于土壤、食物这类半固体物质,普通pH电极不可直接测量,不然容易导致电极异常甚至损坏。为此,我们推出了这款锥形pH计。该产品的pH电极带有不锈钢针刺护套,可直接刺入半固体物质,因此可方便的测量湿润土壤、食物(如肉类、水果)等物质的pH值,这是普通pH电极不能达到的。
本产品兼容Arduino,即插即用,简单方便,可快速DIY一个pH检测仪,直接测量土壤或食物的pH值。
- 严禁用于测量坚硬的固体样品、含有尖锐颗粒的半固体样品。
- 请始终保持电极插头、信号转接板(特别是BNC接口座)的清洁及干燥。
- 本电极为实验室电极,不适用于长时间的在线测试,因此请勿将电极长时间浸泡于被测物内。
- 电极使用完毕,请认真对电极进行清洗工作。
- 本产品接触被测物的部件有黑色ABS外壳、玻璃组件和硅橡胶材料,测试被测物之前需确认被测物对这些材料没有伤害。
- 不适合测量:油性样品、粘度较大的样品、含较多细微颗粒的样品。
- 不适用于非水滴定。
- 不锈钢护套的头部比较尖锐,使用时请注意安全。
技术规格
锥形pH电极
- 测量范围:0~10pH
- 测量精度:±0.1pH
- 温度范围:5~60℃
- 响应时间:标准溶液中≤2min
- 盐桥材料:聚四氟乙烯
- 外壳材料:聚甲醛
- 填充液:不可充
- 连线接口:BNC
- 线长:85cm(包含BNC接口的长度)
信号转接板
- 输入电压:+ 5.00V
- 输出信号:0~4V
- 测量精度:±0.2pH(25℃)
- 电极接口:BNC
- 信号接口:PH2.0-3P
- 产品尺寸:43mm×32mm
引脚说明
锥型pH计信号转接板管脚定义
标号 | 名称 | 功能描述 |
---|---|---|
1 | A | 模拟信号输出端(0~4.0V) |
2 | + | 电源输入正极 (5.0V) |
3 | - | 电源输入负极 |
4 | BNC | pH电极连线接口 |
pH电极特性
pH电极的输出信号为毫伏级的电压,与pH值有着对应关系。25℃时,理想输出电压与pH值的关系如下:
电位差计 (mV) | 标称pH | 电位差计 (mV) | 标称pH |
---|---|---|---|
414.12 | 0.00 | 59.16 | 6.00 |
354.96 | 1.00 | 0.00 | 7.00 |
295.80 | 2.00 | -59.16 | 8.00 |
236.64 | 3.00 | -118.32 | 9.00 |
177.48 | 4.00 | -117.48 | 10.00 |
118.32 | 5.00 |
使用教程
本教程将演示如何使用这款锥形pH计来测量半固体物质(如湿润土壤、食物)的pH值。
准备
- 硬件
- 1 x Arduino UNO控制板(或类似的控制板)
- 1 x 锥形pH电极
- 1 x 信号转接板
- 1 x 不锈钢针刺护套
- 1 x 3PIN模拟传感器连接线(或若干 杜邦线)
- 1 x pH标准液(4.0)
- 1 x pH标准液(7.0)
- 软件
- Arduino IDE V1.0.x 或 Arduino IDE V1.6.x 或 Arduino IDE V1.8.x, 点击下载Arduino IDE
组装锥形pH电极
在测量半固体物质前,pH电极必须安装好不锈钢针刺护套。如果是放在标准缓冲液中进行校准,则不锈钢针刺护套可先不安装。待校准完毕以后,再安装。
首先将pH电极的保护液瓶及瓶盖取下,然后拧开并取下固定环。接着小心翼翼的将不锈钢针刺护套装到电极头部,再装上并拧紧固定环。具体的安装操作,请参考下图。
接线图
锥形pH电极组装完毕以后,将电极接到信号转接板上。信号转接板接到Arduino主控器上。接着就可上传样例代码至Arduino主控器。连线请参考下图:
校准
如是第一次使用本产品,或者使用了一段时间,则需要进行校准,减小误差。校准时,如发现电极头部的玻璃球内有气泡,可将电极轻甩几次,使得气泡消失。
- 推荐使用外接精密开关电源,使电压尽量接近+5.00V,电压越准,精度越高!
- 电极在每次使用前均需要使用标准缓冲溶液进行校准,为取得更正确的结果,环境温度最好在25℃左右。
- pH电极测量另外不同pH值的溶液,必须使用纯净水清洗,防止溶液污染。建议使用蒸馏水清洗。
- 电极连续使用2小时后,为保证精度,也应再次进行校准。
- 请保持信号转接板的清洁与干燥,防止影响BNC接口座子的输入电阻。
- 将pH电极插入到pH值为7.00的标准溶液中,等待一分钟后,打开Arduino IDE的串口监视器,可以看到当前打印出的pH值,误差不会超过0.3。记录下此时打印的值,然后与7.00相比,把差值修改到程序中的OFFSET处(差值 = 标准值(7.0) - 打印值)。比如,打印出的pH值为6.88,则差值为0.12,则在样例程序中把#define OFFSET 0.00改成#define OFFSET 0.12。
- 清洗pH电极,然后用滤纸吸干残留水迹。将pH电极插入pH值为4.00的校准液中,等待一分钟后,打开Arduino IDE的串口监视器,调整增益电位器,使打印出的pH值尽量稳定在4.00左右。
- 清洗pH电极,然后用滤纸吸干残留水迹。这些步骤完成后,校准就完成了,之后pH电极就可用于实际的测量了。
测量半固体物质的pH值
电极校准完毕以后,就可测量食物、湿润土壤等半固体物质的pH值了。
测量时,如发现电极头部的玻璃球内有气泡,可将电极轻甩几次,使得气泡消失。将电极插入被测物后,推荐等待5分钟后读数。
测量半固体物质pH值的方法如下:
-
水果pH值测量
-
将装好不锈钢护套的锥形pH电极穿过果皮,刺入果肉中,刺入深度控制视电极的液洛部(玻璃头部)浸于果肉中10mm左右,测试完毕后,拔出电极,拧下不锈钢护套,将电极玻璃头部用纯净水(推荐蒸馏水)反复冲洗,最后用滤纸吸干残留水迹,套上保护套,以备下次再用。
-
肉类pH值测量
-
将装好不锈钢护套的锥形pH电极刺入新鲜的肉里,应刺入到一定的深度,以保证电极的液洛部也接触到肉,如果pH计显示的pH值不稳定,可将电极从鲜肉中退出,卸掉不锈钢保护套,直接将锥形pH电极从原插孔里插入,这样电极与鲜肉接触就比较密实,显示的pH值就比较真实可靠。测试完毕后,拔出电极,可用稀皂液或洗涤剂进行油脂处理,最后用纯净水(推荐蒸馏水)反复冲洗,用滤纸吸干残留水迹,套上保护套,以备下次再用。
-
土壤pH值测量
⚠被测量的土壤,必须为湿润土壤!且不得含有硬的或者尖锐的物质! -
由于电极无法直接测量干燥的土壤,在测量前需要用适量的水(蒸馏水)湿润被测土壤,将装好不锈钢护套的锥形pH电极刺入土壤,应刺入到一定的深度,以让土壤及其浸出液包裹住电极的液洛部。测试完毕后,拔出电极,用纯净水(推荐蒸馏水)反复冲洗掉粘粘在玻璃头部的土壤,最后用滤纸吸干残留水迹,套上保护套,以备下次再用。
样例代码
下载样例代码后,打开Arduino IDE的串口监视器,即可看到结果。
/***************************************************
DFRobot Gravity: Analog Spear Tip pH Sensor / Meter Kit (For Soil And Food Applications)
<https://www.dfrobot.com/wiki/index.php/Gravity:_Analog_Spear_Tip_pH_Sensor_/_Meter_Kit_(For_Soil_And_Food_Applications)_SKU:_SEN0249>
***************************************************
This product is used to measure the pH value of the semisolid,such as meat,fruit,moist soil and so on.
This sample code reads the pH value.
Created 2017-9-10
By Jason <jason.ling@dfrobot.com@dfrobot.com>
GNU Lesser General Public License.
See <https://www.gnu.org/licenses/> for details.
All above must be included in any redistribution
****************************************************/
/***********Notice and Trouble shooting***************
1. This code is tested on Arduino Uno and Leonardo with Arduino IDE 1.0.5 r2 and 1.8.2.
2. More details, please click this link: <https://www.dfrobot.com/wiki/index.php/Gravity:_Analog_Spear_Tip_pH_Sensor_/_Meter_Kit_(For_Soil_And_Food_Applications)_SKU:_SEN0249>
****************************************************/
#define PHSensorPin A2 //dissolved oxygen sensor analog output pin to arduino mainboard
#define VREF 5.0 //for arduino uno, the ADC reference is the AVCC, that is 5.0V(TYP)
#define OFFSET 0.00 //zero drift compensation
#define SCOUNT 30 // sum of sample point
int analogBuffer[SCOUNT]; //store the analog value in the array, readed from ADC
int analogBufferTemp[SCOUNT];
int analogBufferIndex = 0,copyIndex = 0;
float averageVoltage,phValue;
void setup()
{
Serial.begin(115200);
pinMode(PHSensorPin,INPUT);
}
void loop()
{
static unsigned long analogSampleTimepoint = millis();
if(millis()-analogSampleTimepoint > 30U) //every 30 milliseconds,read the analog value from the ADC
{
analogSampleTimepoint = millis();
analogBuffer[analogBufferIndex] = analogRead(PHSensorPin); //read the analog value and store into the buffer
analogBufferIndex++;
if(analogBufferIndex == SCOUNT)
analogBufferIndex = 0;
}
static unsigned long printTimepoint = millis();
if(millis()-printTimepoint > 1000U)
{
printTimepoint = millis();
for(copyIndex=0;copyIndex<SCOUNT;copyIndex++)
{
analogBufferTemp[copyIndex]= analogBuffer[copyIndex];
}
averageVoltage = getMedianNum(analogBufferTemp,SCOUNT) * (float)VREF / 1024.0; // read the value more stable by the median filtering algorithm
phValue = 3.5 * averageVoltage + OFFSET;
Serial.print("Voltage:");
Serial.print(averageVoltage,2);
Serial.print(" pH value:");
Serial.println(phValue,2);
}
}
int getMedianNum(int bArray[], int iFilterLen)
{
int bTab[iFilterLen];
for (byte i = 0; i<iFilterLen; i++)
{
bTab[i] = bArray[i];
}
int i, j, bTemp;
for (j = 0; j < iFilterLen - 1; j++)
{
for (i = 0; i < iFilterLen - j - 1; i++)
{
if (bTab[i] > bTab[i + 1])
{
bTemp = bTab[i];
bTab[i] = bTab[i + 1];
bTab[i + 1] = bTemp;
}
}
}
if ((iFilterLen & 1) > 0)
bTemp = bTab[(iFilterLen - 1) / 2];
else
bTemp = (bTab[iFilterLen / 2] + bTab[iFilterLen / 2 - 1]) / 2;
return bTemp;
}
常见问题
Q1. 如何正确保存pH电极?
- A. 请在电极的保护液瓶中添加约10mm高度的3.0mol/L氯化钾溶液,然后安装在电极测量前端。将电极放回盒体内,室温保存。
Q2. 电极多久需要进行校准?
- A. 电极每次使用前均需要使用标准缓冲溶液进行校准。另外,电极使用2小时后,也应再次进行校准。