CMF海水论坛
标题: 开源的高精度亚硝酸盐、磷酸盐检测仪 [打印本页]
作者: xukejing 时间: 2022-6-27 10:40
标题: 开源的高精度亚硝酸盐、磷酸盐检测仪
本帖最后由 xukejing 于 2022-6-27 10:54 编辑
ESP32/Arduino/Matlab兼容的开源亚硝酸盐、磷酸盐检测仪。本项目以GPL协议开源,提供传感器驱动库的源码、仪器固件源码、上位机源码、结构零件CAD图,以及详细开发文档。
详细中文版说明文档见:高精度亚硝酸盐、磷酸盐检测仪开发文档
需要3D打印的结构件见:Open-Source Photometer by xukejing
(, 下载次数: 556)
仪器使用光度计原理,按照海水化学要素调查的国标规范GB/T 12763.4-2007,亚硝酸盐检测使用磺胺和盐酸萘乙二胺的亚硝酸重氮偶合显色反应,磷酸盐检测使用酒石酸锑钾、钼酸铵和维生素C的磷酸盐磷钼蓝显色反应。本仪器对亚硝酸盐显色反应有较高的分辨率,可正常检测0.1umol/L以下的亚硝酸盐浓度。其中亚硝酸盐检测标准浓度曲线的线性回归系数R2高达0.9985,接近实验室专业仪器,下图是实际测量鱼缸亚硝酸含量时的截图,其中1.091为测量后换算得到鱼缸亚硝酸盐测量值,R2为线性回归系数。左右两图使用不同的方式拟合标准浓度曲线,使测算结果略有不同,但浓度检测的小数点后3位都是一致的。
(, 下载次数: 722)
仪器使用的比色皿光程1厘米,低于国标要求。但得益于所使用的光电传感器方案具有较高的放大倍数和灵敏度,且分辨率位数高达16位,使仪器可以识别非常微小的透光度变化。甚至对于肉眼看完全透明的溶液的吸光度差异也能正常识别,可以正常定量检测纯水、矿泉水、海水之间的吸光度差别。
物料清单(总采购成本小于55元)硬件方案对成本做了优化。单台检测仪造价的物料采购成本小于55元。如果工程批量采购,预计能低至50元以内。具体物料如下:
电子设备方面,GY-2561模块11元,微雪TSL25911模块19元,ESP32开发板15元,1颗绿光520nm 3mm LED和1颗红外850nm 3mmLED忽略不计,2个250欧电阻忽略不计,杜邦线若干忽略不计;
结构方面,外壳及传感器支架全部使用3D打印,材料用量约58克,按50元每公斤计,约3元;
标准件方面,两个10mm玻璃比色皿5元,M3x4x3 注塑预埋螺母4颗忽略不计,M3x8螺丝4颗忽略不计。
硬件原理图和接线实物图
(, 下载次数: 505)
(, 下载次数: 565)
固件和软件源码
仪器固件、上位机软件的开源地址见:Gitee上的开源地址
致谢
感谢林博士提供的方案参考,参考文章:
林北辰,环境水体营养盐的无泵无阀低成本原位分析仪器的研发及应用[D],厦门大学
作者: nickolas 时间: 2022-6-27 11:01
感谢分享
作者: 吴奇隆 时间: 2022-6-27 12:42
牛人
作者: 秦大毅 时间: 2022-6-27 13:06
牛逼 牛逼
作者: 有时寂寞 时间: 2022-6-27 15:01
真牛
作者: 礁岩极限 时间: 2022-6-27 15:52
真厉害
作者: 547506657 时间: 2022-6-27 20:20
这个牛逼,可以搞起来
作者: 彩虹小羊 时间: 2022-6-27 21:45
开源好啊。
作者: beggar 时间: 2022-6-28 00:13
来众筹100台
作者: xukejing 时间: 2022-6-28 09:52
这个项目不直接商业化,也没必要搞套件出售。本项目的硬件方案是完全为DIY爱好者量身定做的,自行采购不会有难度。
过去开源界发生过一些有趣的事情,比如稚晖君兴致勃勃地搞了个高大上的开源项目,分享后发现即使是自动化专业出身的玩家,拿到稚晖君的设计资料后也因为加工条件限制而复现不了,最后还得找专业厂家代工。
于是,本项目为了让高中生参加科创比赛也能正常使用,考虑了玩家们的实际条件,没有在电子设备和机械工艺上设置任何绊脚石。电子零件使用的都是非常容易购买到的现成的模块,比如广盈的GY2561,微雪的TSL25911,单片机开发板更是非常便宜的ESP32;CAD零件也已考虑配合间隙,对加工精度要求不高,普通桌面级3D打印机就能胜任。
作者: xukejing 时间: 2022-6-28 10:10
以前我们这些极客就探讨过用GNU开源的智能车方案造辆车,还是买一台现成的特斯拉。我们的开源方案不一定比商品闭源的性能好,但是我们任何时候都能改进它;比如我们可以换装任何车门,想装啥规格的车门就是啥,甚至车头可以左右安装两个不同型号的前灯;如果车坏了,通过详细的技术文档和可方便购买到的零件,玩家自己就可以动手修复它;最后,即使在某个版本里,它的某项功能还不完善,也可以通过GNU界的开发者们共同努力,在下个版本或下下个版本里被改进。
(, 下载次数: 420)
感谢支持,虽然现在这个项目的外观还很丑陋,我们也不一定能把它做得像那些闭源商品那样美观,但是相信能给国内水族电子设备厂家一些灵感,通过来自GNU开源界的新技术技术的驱动力注入,推动水族电子设备的技术演替。
如果森森或尼特利能推出200块钱一套的水质监测仪,工业设计做得跟苹果,我们都会购买的。
作者: beggar 时间: 2022-6-28 19:25
xukejing 发表于 2022-06-28 09:52
这个项目不直接商业化,也没必要搞套件出售。本项目的硬件方案是完全为DIY爱好者量身定做的,自行采购不会有难度。
过去开源界发生过一些有趣的事情,比如稚晖君兴致勃勃地搞了个高大上的开源项目,分享后发现即使是自动化专业出身的玩家,拿到稚晖君的设计资料后也因为加工条件限制而复现不了,最后还得找专业厂家代工。
于是,本项目为了让高中生参加科创比赛也能正常使用,考虑了玩家们的实际条件,没有在电子设备和机械工艺上设置任何绊脚石。电子零件使用的都是非常容易购买到的现成的模块,比如广盈的GY2561,微雪的TSL25911,单片机开发板更是非常便宜的ESP32;CAD零件也已考虑配合间隙,对加工精度要求不高,普通桌面级3D打印机就能胜任。
实在扛不住懒
作者: zoea 时间: 2022-6-28 21:13
太好了,民间的创造力越来越强大了!
作者: gggqqv 时间: 2022-6-29 21:25
强烈支持!
作者: 康康康康康康 时间: 2022-7-1 17:16
理科废柴的我,手工能力八级残废的我,默默的说一句,楼主成品化可以么,我买可以吗
作者: xukejing 时间: 2022-7-2 23:18
今天更新了磷酸盐检测代码。并调配了各个浓度标准溶液测试了曲线。磷酸盐检测标准浓度曲线的线性回归系数R2为0.9950,略低于实验室专业仪器。
因为没有移液枪精确控制微量液体,我在调标准溶液时按每3滴0.1mL稀释,稍微引入了一些实验误差。但总的来说,R2还是可以看的。磷酸盐标准浓度-吸光度校准曲线、磷酸盐检测代码都已更新到我的gitee项目中。
(, 下载次数: 566)
作者: 海新 时间: 2022-7-3 20:36
楼主可以私信一下led的购买链接么?
作者: 彩虹小羊 时间: 2022-7-5 11:00
 不明觉厉
作者: xukejing 时间: 2022-7-5 19:33
分别淘宝关键字
led 3mm 850nm
led 3mm 翠绿
作者: 海新 时间: 2022-7-9 17:05
测量磷要配置的溶液好多,楼主有什么简单的测量方法么?
作者: weicyboy 时间: 2022-7-10 15:04
大佬太牛逼了!!感谢!!正好我有打印机 元件也在淘宝搞定了 就是电路图不会看怎么办
作者: xukejing 时间: 2022-7-10 21:06
电路原理图的电路网络标签可以用来标识导线网络名, 或者标识两个导线间的连接关系。可以使原理图变得清晰简洁,没有过多的导线,只需给每个端口设置一个网络名称。
接线时需要把标记了相同的电路网络名称的点连在一起,比如原理图里的LOLON32 LITE、GY2561和TSL25911上各有一个SDA,这3个SDA需要并联在一起。
作者: xukejing 时间: 2022-7-10 21:36
显色剂可以用成品的水产快速测试液。每个厂家的配方略有不同,反应起点的原始黄色深度和反应终点的蓝色深度略有不一样,但原理都是磷钼蓝显色反应,只要850nm的吸光度会变,哪怕肉眼看水的颜色都是黄色,也不影响磷酸盐的标准浓度曲线校准,
作者: weicyboy 时间: 2022-7-10 23:42
xukejing 发表于 2022-07-10 21:06
电路原理图的电路网络标签可以用来标识导线网络名, 或者标识两个导线间的连接关系。可以使原理图变得清晰简洁,没有过多的导线,只需给每个端口设置一个网络名称。
接线时需要把标记了相同的电路网络名称的点连在一起,比如原理图里的LOLON32 LITE、GY2561和TSL25911上各有一个SDA,这3个SDA需要并联在一起。
原来如此啊!!那我就明白了!另外您没有说在测试的时候如何供电和查看数据的过程,还请教教小弟

作者: 早早海里游 时间: 2022-7-13 09:31
虽然我有两个蛋机了,但是很奇怪为啥国内没厂家跟进。
作者: xukejing 时间: 2022-7-13 12:33
上位机是matlab,matlab端的控制代码在gitee里也提供了。matlab需要点机缘和悟性,不妨试试,这个跟学历没有直接关系。
我遇到好几个重点大学的本科生,有靠谱老师教,最后挂科了。
名不见经传的高中生,自学了高等数学,结果玩得贼6。
作者: xukejing 时间: 2022-7-13 12:46
森森和yee肯定是想仿造的,你看他们最近把foc变频泵也做出来了。
这就像大国工匠会做鬼工球,但是还没自己琢磨出造飞机,一旦有个靠谱老师带他做一遍,两弹一星就有了
作者: 早早海里游 时间: 2022-7-13 16:08
大佬你不去开个公司卖技术可惜了。
作者: smileyuli 时间: 2022-7-13 22:52
真是不错
作者: gggqqv 时间: 2022-7-16 07:55
大佬有做廉价kh的计划吗
作者: s3ce738 时间: 2022-7-22 18:53
对于普通的用户,要做校准,看起来也不是那么容易啊
作者: xukejing 时间: 2022-7-22 21:22
确实是这样,各个标准浓度都必须现配,实验过程需要非常仔细。
大家都知道生、化、环、材,很苦逼,1是体现在工作技术性强,除了吃苦耐劳,还需要很高超的操作技术。2是体现在成果的“产出低”,你忙活了大半天,可能才刚完成仪器的校准,然后在你老婆看来就是干了半天啥也没干,还要连人带鱼都被骂一顿。
作者: 彩虹小羊 时间: 2022-7-23 01:15
xukejing 发表于 2022-07-22 21:22
确实是这样,各个标准浓度都必须现配,实验过程需要非常仔细。
大家都知道生、化、环、材,很苦逼,1是体现在工作技术性强,除了吃苦耐劳,还需要很高超的操作技术。2是体现在成果的“产出低”,你忙活了大半天,可能才刚完成仪器的校准,然后在你老婆看来就是干了半天啥也没干,还要连人带鱼都被骂一顿。
可以根据吸收率来制作比较稳定校准液体,可以校准设备本身误差。要校准测试药品的误差,那就麻烦了
作者: xukejing 时间: 2022-7-29 10:40
药品的浓度误差对结果影响不大,药品本身的吸收波长峰值是避开测试用的540nm和850nm的。
我设计这个项目的时候,考虑到准备以开源项目发布,还会有后人改进,于是只关注了原理,而没有太注重简单化操作和用户体验。仪器上甚至连屏幕和按键也没有,所有测量操作全部用matlab做接口。
工作量较大的地方,主要在标准工作曲线的绘制(或者叫现场采集)。需要现场调一堆标准浓度的溶液,按操作规范是至少做6点,过程确实非常麻烦,特别是低浓度的几组的稀释过程。这样的操作,优点是可以对实验误差进行定量分析,比如给出量程范围的线性回归系数。这很接近正常科学实验的套路,不止定量地给出结果的值,还把结果的可信度进行定量的分析。而且Matlab本身的入门门槛就非常高,毕竟是数学工具,需要天赋超过努力,即使是重点大学的学生,学matlab都有挂科的。
我猜想,实际做成水族产品,6点工作曲线校准需要改成两点,只对0浓度和1ppm做一下两点的直线。最后的测量结果只给出拟合后的值,但不再给出线性回归系数。并且工作曲线不再现场做了,而只是出厂做一下,后面漂移了就不管了。这样可以防止用户买去后可以用好几年,结果厂家倒闭。
或者,只对0浓度点做单点校准,这样就更是玩具了,用户体验一定棒棒的。
水族低成本测试的需求是一直存在的,市场可能不大,但现在工程技术有了。我创造性地使用了TSL25911传感器作为吸光度测量的核心方案,具有一定的引领性和示范性,可能会颠覆过去的一些技术。具体怎么以更低的使用成本和更优秀的用户体验来实现这个方案,请看国内厂家的后续改进吧。
我相信我们是制造大国,国内很快就会有性价比超过哈纳蛋机的产品出现,并且会带比哈纳或莎利法廉价的测试液。
作者: xukejing 时间: 2022-7-29 11:11
我们玩开源的,一般不对项目的使用进行收费,但必要的话,可以做技术培训,培训可以收费。
现实世界中很多伟大的项目,其实都是开源的。比如一个网站,它的服务器的Linux操作系统,它的网页服务软件Apache,它的数据库MySQL,都是可以免费获得的。如果你硬盘空间充足,源代码都可以给你。
作者: 礁岩极限 时间: 2022-7-29 16:47
楼上是我这十多年见过最牛逼的 ,关键是心态没有扭曲的技术大牛,没有之一。
作者: Leo.Peng 时间: 2022-8-20 13:30
厉害厉害
作者: app366362 时间: 2022-9-1 23:38
po4显色剂 能给个链接吗?
作者: 彩虹小羊 时间: 2022-9-11 18:18
不知道亮度,对吸光度有没有影响
作者: xukejing 时间: 2022-9-19 21:22
本帖最后由 xukejing 于 2022-9-19 21:25 编辑
没有影响,吸光度是液体本身的属性,是客观的。光源亮度只影响测到的光强值,不影响吸光后的光强值/基准光强值。
诚然,数值误差和模数电路的背景噪声是需要考虑的。这就像同样的一套电子元件做成音响放大器,不同的工程师调教,信噪比可以差很多,这并不是玄学。
我的程序里确实有通过DAC调节LED电压的代码,目的是让基准光强被放大并被模数转换后的数值尽量接近65535但又不超过截断误差。见程序代码photometer_esp32/myudp.ino的10和11行
(, 下载次数: 777)
这个设计是考虑了电路本身的背景噪声误差。举个例子,同样吸光度50%的情况,两个电路有相同的背景噪声(假设ADC数值±10),一个测到的是(500±10)/(1000±10),另一个是(3000±10)/(6000±10)。显然,后者的误差可以更小。
比如下面这个例子,基准光强的测量值L0=64379,非常接近65535,见程序代码matlab / calibration_R2.m的11和12行,其中L0和L1是来自实测的值
(, 下载次数: 637)
读取L0和L1的光强ADC值的代码见matlab / udp_callback.m,4个通道的数据会存进Cj1 Cj2 Cj3 Cj4,对于NO2-测试,会把Cj2数组画成曲线,看到曲线基本上转平并伴随小幅度震荡(主要是来自电源背景噪声),等20秒,取Cj2最后10个数做一下平均值就得到L0或L1了。
L0是对纯水或还没滴显色剂的海水测基准光强,L1是显色后的光强
(, 下载次数: 765)
一不小心就话痨症发作,写了那么长一篇。真是一个敢教,一个敢学
。
作者: chales 时间: 2022-12-3 20:31
牛人呀,学习了
作者: s3ce738 时间: 2022-12-4 10:24
没有看明白,测试液要怎么调制,用多少定量进行测量。能否请楼主再指教一下
作者: heyong163b 时间: 2022-12-4 18:11
本帖最后由 heyong163b 于 2022-12-4 18:15 编辑
这年纪的人大都这样纯洁可爱的,但社会是个熔炉也是大染缸,能禁得住诱惑的应该不多,包括楼主。
退休老头没事找事,我也在研究鱼缸电子产品,与你一样纯粹爱好以玩为主,新手,对水质的感官远不如你们深邃,很好的文章,所有资料都下载了,慢慢阅读,对我应该有极大的帮助。
作者: xukejing 时间: 2022-12-9 14:20
按GB/T 12763.4-2007的10.3.1到10.3.5
其中显色药剂买分析纯的原料调,或买已经初步兑好的符合国标的试剂溶液成品都可以。显色剂的用量取决于样品的营养盐浓度,对于1ppm内的情况,3滴显色剂就可以保证对6ml水样是足量的。水产的快速测试盒里的试剂也可以,价格适中,量也够大。
别买观赏鱼专用的,因为太贵了,做个标准曲线,几个点测完,已经一百元试剂消耗完了,然后鱼缸的营养盐还没测。
家里做实验,需要相对精确地调兑溶液,如果没有移液器,可以用带刻度的1ml注射器
作者: s3ce738 时间: 2022-12-10 21:52
谢谢回复。对于3滴显色剂,每1滴的容积,在不同的条件下,是否会有较差大的差异?从而导致测量结果误差太大?
作者: tanzhi 时间: 2022-12-12 20:42
这个已经大聪明在海鲜市场开卖了。
作者: xukejing 时间: 2022-12-16 22:21
如果你像我一样对0.01ppm后小数点四五位后面的数据感兴趣。滴管尽量认准一个用。然后实验尽量做快点,一轮标准曲线和待测液尽量在两小时内做完,这样气温变化不会太离谱。
作者: 有时寂寞 时间: 2022-12-22 13:35
这个不用测试剂吗,只用海水就可以吗
作者: 西瓜小丑吖 时间: 2023-2-3 08:11
帮顶
作者: 广州宝宝 时间: 2023-2-7 19:08
厉害
作者: 顽皮小鱼 时间: 2025-1-22 14:43
请问一下,目前楼主设备使用如何了?
作者: yao777 时间: 2025-1-22 15:16
估计已经上岸,最后一次登录是去年10月
作者: tparmor 时间: 2025-2-21 13:48
厉害
养鱼变成搞科研了是吧
作者: 彩虹小羊 时间: 2025-2-21 20:38
科技改变生活
作者: smileyuli 时间: 2025-2-24 08:15
现在在卖的那个小黑盒是不是就是这个
欢迎光临 CMF海水论坛 (https://www.cmfish.com/bbs/) |
Powered by Discuz! X3.4 |