我们将制作一个 pH 计量系统。它能够将样品保持在规定的 pH 值范围内,在本例中为 8-8.5。如果读数超出范围,则会自动将少量pH UP或pH DOWN溶液添加到样品中,直到读数恢复到限制范围内。pH 值将由pH 传感器监测,而 UP/DOWN 溶液将使用蠕动泵分配。通过 I2C 协议进行操作,读数显示在 Arduino 串行监视器上。
警告:
a)校准 pH 传感器和泵。有关校准过程,请参阅以下内容:Ezo pH 数据表、Ezo 泵数据表。
b)将 pH 电路和泵协议设置为 I2C,其中为每个设备分配一个唯一的 I2C 地址。根据本项目的示例代码,使用以下地址:pH 传感器地址为 99,pH UP 溶液泵为 103,pH DOWN 溶液泵为 104。有关如何在模式之间切换和设置地址的信息,请参阅此链接。
必须在将传感器实施到此项目之前完成校准和切换到 I2C。
如图所示连接硬件。
蠕动泵有两条电源线。连接到 Arduino 的 5V 引脚的线路用于连接到泵的电路,而外部 12V 电源用于电机。五针接头用于将泵的数据电缆安装到面包板上,然后跨接线与 Arduino 进行适当的连接。
两个 4.7kΩ 电阻用作 SDA(串行数据)和 SCL(串行时钟)线的上拉电阻。
该项目的代码在 I2C 模式下使用了用于 EZO 电路的自定义库和头文件。您必须将它们添加到您的 Arduino IDE 才能使用代码。以下步骤包括将此添加到 IDE 的过程。
a)从 GitHub下载Ezo_I2c_lib,一个 zip 文件夹到您的计算机上。
b)在您的计算机上,打开 Arduino IDE(如果您没有IDE,您可以从这里下载 IDE)。
c)在 IDE 中,转到Sketch -> Include Library -> Add.ZIP Library -> 选择刚刚下载的 Ezo_I2c_lib 文件夹。现在包括适当的文件。
d)将pH_dosing_pump中的代码复制到您的 Arduino 工作面板上。您还可以从上面下载的 Ezo_I2c_lib 文件夹中访问此代码。
e)编译并上传 pH_dosing_pump 代码到您的Arduino UNO 。
f)读数显示在串行监视器上。要打开串行监视器,请转到工具 -> 串行监视器或按键盘上的Ctrl+Shift+M 。将波特率设置为 9600 并选择“回车”。应显示 pH 读数并且相应地触发泵以分配 pH UP 和 pH DOWN 溶液。请记住,此示例代码考虑了 8-8.5 之间的 pH 值,因此泵仅在超出此范围时才会打开。
演示的目的是展示样品的 pH 值保持在 8-8.5 之间。在设置中,样品位于中心的最大烧杯中。pH UP 溶液位于左侧烧杯中,而 pH DOWN 位于右侧烧杯中。由于样品量小,UP 和 DOWN 溶液被稀释,这样样品的 pH 值变化不会在添加时剧烈变化。在整个过程中,会反复添加 pH UP 和 DOWN 溶液,直到读数稳定在所需范围内的 pH = 8.33。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !