本帖最后由 小の学生 于 2023-7-6 21:51 编辑
一、作品功能介绍 基于Arduino Nano单片机,搭配MDC02芯片和迪文串口屏分别作为测量装置和显示装置,实现对乌氏粘度计的智能读数。MDC02芯片是电容型传感芯片,去测量乌氏粘度计管内液体下降时的产生的电容变化,然后传输信号给Arduino Nano单片机,在单片机内完成计时工作。串口屏则是作为显示端与输入端,输入乌氏粘度计常数——每个乌氏粘度计的粘度计常数不同,完成与单片机的数据交互,将测量结果显示在串口屏上。
二、 工作原理 1、乌氏粘度计原理 乌氏粘度计是一种毛细型粘度计,依靠液体因重力作用下降测量一定体积的液体流经毛细管需要的时间,再根据公式v=Ct(v:液体的运动粘度,C:粘度计常数,t:一定体积液体流经毛细管所需时间file:///C:/Users/29099/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png)可以计算出待测液体的粘度。 2、装置原理 利用MDC02这个电容传感芯片搭配Arduino单片机去测量乌氏粘度计内一定体积液体下降所需的时间。在乌氏粘度计计时标线处贴附金属片构造极板电容乌氏粘度计管内液体下降时,管内的介质发生变化,根据电容决定式得出管内电容发生变化,单片机可以获得MDC02芯片测量乌氏粘度计管内液体下降所传出的信号,最终完成计时。单片机搭配串口屏负责计算公式的运行和数据显示以及输入,在串口屏上输入测量所用乌氏粘度计的粘度计常数,单片机从串口屏中读出数据,在单片机中进行运算,然后将结果写入串口屏之中进行显示。
三、设计思路 1、硬件部分 硬件部分主要有MDC02芯片、Arduino Nano单片机、迪文串口屏和电源四个模块。首先将MDC02固定在实验板上,再将各个引脚用导线引出。其中电容输入端会接上铜片,再贴附在乌氏粘度计上的计时标线处构成极板电容。输出端遵循单总线数据的协议,所以会接上拉电阻再与Arduino Nano单片机相连,保证信号的传输。Arduino Nano单片机则承担一个主控作用,负责数据处理,以及与MDC02芯片、串口屏的通信。串口屏则是用导线将串口通信接收端发送端分别与单片机的发送端接收端相连,构成串口通信。最后的电源模块采用一个充放电一体模块,可以稳定输出5V的电压为以上模块供电。 2、软件部分 软件部分用的是Arduino IDE软件,是与Arduino单片机相配套的软件。编写单总线数据的初始化操作、读数据代码,使得Arduino单片机可以受到MDC02传出的信号,再编写计时代码获得乌氏粘度计内一定体积液体流经毛细管的时间。然后再编写数据计算的代码以及从串口屏之中读写指令的代码。 3、GUI的设计 采用迪文公司开发的DGUS软件设计,根据装置需求先用画图软件构造界面图形。再用DGUS添加文本显示、数据录入等功能。数据录入前需要进行键盘界面的设置,便于配置控件属性。由于在进行粘度计算时的数据为保证精度,数据大多使用的是小数,因此采取构造定点小数的方法。
四、工程代码和装置图片 见附件
|