传统的直接水分测量法周期长,难以满足现代生产对速度和连续化的要求,而非电量的电测方法是比直接法更高效的水分测量方法,当前应用十分广泛。粮食水分检测方法在原理上主要有电阻法、电容法、中子法、微波法、红外法、核磁共振法等。考虑物料对象特性:红外法主要用于表面水分测量,多见于纸张水分检测中;中子法和核磁共振法基于水分中氢原子效应,系统复杂、造价高,不能体现检测对象的专用性;微波法是利用水对微波能量的吸收或作用于粮食的微波参量随水分变化的原理进行水分测量,其测量值与物料成分有关,测量电路及信号处理较复杂、价格偏高。电阻方法因其快速、准确、成本低的特点,一直是最常用的水分测量方法。
但由于电阻方法存在信号强度小、取样要求高、抗干扰性较差等缺陷,近年来出现了许多新的基于电阻测量原理的创新方法,如两量程直流电阻法、脉冲电阻法、复阻抗分离法、交流阻抗法等。本设计在上述研究的基础上提出基于脉宽测量的电阻比值法和测量信号的数据处理方法,能够快速准确地对水分进行测定。
一、测试原理
粮食水分测定仪是具有区域特色的产品,它对不同地区的粮食作物具有不同的测量基准值,因此在测试之前需要根据不同粮食种类、在不同状态下进行标定工作,建立起标准的测量数据关系。这些数据可以由生产厂家写入测定仪的 E²PROM 数据区中,也可以由用户根据标准现场标定。
该系统利用 ATmega128 自身 4 KB 的 E²PROM 来存储不同种类粮食的水分标定值、温度补偿系数和系统密码等参数。使用之前需要进行水分标定工作:把同一样本分别在标准测定仪和本测定仪同时进行比对测量,确定水分和电阻的关系,然后通过键盘把对应关系写入 E²PROM 的相应单元中保存起来,形成标准的测量曲线或数据表格;同时考虑到温度的影响,必须加上温度补偿系数进行修正。实际测量时,把当前的测量值与这些标准值进行比较,就可以实现水分的测量。
二、系统硬件设计
系统的硬件结构如图 1 所示。MCU 采用 Atmel 公司的高速嵌入式单片机 ATmega128,它采用先进的 RISC 精简指令集结构,具有 128 KB 的在线可重复编程 FLASH、4 KB 的 SRAM 和 4 KB 的 E²PROM,同时具有 8/16 位定时器/计数器、PWM 输出模块、UART、SPI 等多种串行通信接口、可编程的看门狗定时器等功能模块,以及丰富的外部和内部中断源、多种工作模式;这些特性使 ATmega128 成为功能更强大的微控制器,更好地支持应用于脉宽调制、高速 I/O、递增/递减计数能力等工业控制场合。

图 1 系统硬件结构
在程序中主要完成水分的采样和高速处理、LCD 显示、键盘输入、驱动输出、与 PC 机通信等工作。该测定仪的测量范围在 5%~30% 之间、精度在 ±0.2%;水分用 2 个字节表示,因此共需要 1 KB 保存在某一温度条件下的水分值,再加上温度补偿系数和密码设定,4 KB 空间已经足够。它的可编程看门狗定时器模块能保证系统可靠稳定地工作。
LCD 采用 T6963C 控制器的 128×64 点阵模块,可同时显示测量品种水稻、玉米、大豆、小麦,然后通过键盘确定具体测试对象;在每个测试子菜单下显示测量值、测量次数、平均值、标定值设定密码等选项,只有当操作者输入的密码与系统给定密码相同时才能进行标定值的设定,一般情况下这些值是不能随意修改的。
温度传感器采用 Dallas 公司的单总线器件 DS18B20,用于补偿环境温度对粮食内部水分的影响:环境温度直接以“一线总线”的数字方式传输,省去了温度传感器的放大处理等环节,大大提高了系统的抗干扰性,适合恶劣环境的现场温度测量;同时它只占用单片机的一个端口,节约了系统的硬件资源,因此具有较高的性价比。
键盘电路由模式键、加键、减键、确认键、退出键、测试键、平均键、清除键、停止键、修正键等组成,用于实现测量品种的选择、参数的设定与修改、测试与数据处理等工作。
电机驱动电路由继电器驱动芯片 ULN2003 和 +5 V DC 继电器组成:测试开始时,单片机发出控制信号,由电机带动取样器使样品压结实、保持压力恒定,以获取比较一致的电阻取样值;一个样品测试完成后,使取样器复位,准备下次测量。
单片机通过 RS-232 串行通信接口实现与 PC 机的通信,把测量数据上传至计算机以进行进一步的数据处理,同时也可进行远程操作、实现在线测量。信号调理电路采用 555 芯片构成的非重复触发单稳态触发电路,为提高响应速度,555 芯片采用 CMOS 工艺的 7555 型号,具体的信号调理电路如图 2 所示。

图 2 信号调理电路
为消除电容因长期工作所产生的变化误差,测量采用电阻比值法,即测量时首先对标准的精密参考电阻和电容构成的电路进行测量,测出它的脉冲宽度:
Tp1 = Rref×C×ln3 (1)
再通过导通电阻为 1 Ω 的电子开关 MAX4624 切换到测量输入电阻的状态,测出它的脉冲宽度:
Tp2 = Rin×C×ln3 (2)
式(1)和(2)相除,就得到输入电阻和脉宽的关系:
Rin = Tp2×Rref/Tp1 (3)
一般情况下测量电阻和参考电阻都是兆欧级的,因此由电子开关引入的测量误差可以忽略。
电子开关和触发信号都由单片机控制。脉宽的测量由单片机的外中断和定时中断来完成:由于单片机的外部中断 INT0 和 INT1 均为负跳沿触发中断,因此在 555 的输出端加一级反相器;INT0 中断采样输出信号的上跳沿,然后再经过一级反相器,INT1 采样输出信号的下跳沿,两者采样的时间差就是脉冲宽度。时间差的计算可由单片机的定时中断来实现:在 INT0 的中断程序里开启定时中断,在 INT1 的中断程序里关闭定时中断,信号的采样波形如图 3 所示。

图 3 信号采样波形
三、系统软件设计
软件部分包括主程序、人机界面和数据的测量与处理部分:主程序负责整个系统的协调与控制,通过调用不同模块完成相应工作。本测定仪以每个品种 10 次随机采样的算术平均值作为测量结果,有效提高了测量的准确性和重复性,主程序的流程如图 4 所示。

图 4 主程序流程
人机界面包括 LCD 显示程序、键盘扫描程序等。LCD 显示分为三个页面:第一个页面是测量品种选择页,可通过加键、减键选择相应品种,然后按确认键进入第二个页面进行测量,该页面中有当前测量值、测量次数、平均测量值、该品种标定值设定页的入口密码等参数,按相关功能键就可完成测量、保存和退出等功能;当确实需要现场重新标定时,可以输入标定密码,当输入的密码与系统内部的密码相同时就可以进入第三个页面重新进行标定,在该页面中也可以重新设定系统密码。为系统安全,也可以设定密码的输入次数:当输入的错误密码超过一定次数时对系统进行锁定,以防止恶意修改数据。
数据的测量与处理完成水分采样中断处理、温度采样、测量数据线性化和温度漂移的补偿等数据处理工作;水分测量程序采用两个外部中断 0 和 1、一个定时器 2 来实现对脉宽的测量。
四、结语
实际样机经过非线性补偿和误差修正,测量误差 ≤ ±0.5%,测定的水分范围为 5%~30%(取决于谷物的标准),重复误差 ≤ 0.1%,使用的温度范围为 0~40 ℃,达到国内外同类先进产品的技术指标,可适用于不同种类的粮食水分测量,具有比较广阔的市场前景。