基于涡街流量计的人机界面设计与研究

人机界面介于用户和产品系统之间,作为人与产品之间传递、交换信息的媒介,在整个工业仪表的设计里都起到了很大的作用。以涡街流量计为基础,设计出了一种低功耗、简便灵活的人机界面系统,主要涉及液晶数据显示和按键操作控制,并通过实验验证了该系统的实用性。 

对于涡街流量计,其振动频率与流体流速之间的关系为:

f=(St ×ν  d                                1

其中:St 为斯特劳哈尔数,为振动频率,为流体流速,为漩涡发生体宽度。 涡街流量信号的输出幅度由涡街流量计的管道直径、流体密度和流速所决定。 对于应力式测量方式,在一定的管径下,涡街正弦信号的幅值 A、密度 ρ 和平均流速 ν 存在下述关系:

A∝ρν2                                       2

因此,可以得出结论,当流体密度不变时,信号幅值则正比于流速的平方,即正比于频率的平方。 涡街流量计的信号处理也常运用此规律。

1.人机界面硬件设计

针对以上信号特点, 人机界面的设计需要考虑基于包括功耗问题、处理器接口是否丰富、所选用芯片的相关性能参数是否达到设计要求等等。

本文设计的涡街流量计人机界面的硬件系统结构如图 1所示,其中采用了以美国 TI 公司的 MSP430 系列为核心的信号控制处理单元。 考虑到涡街流量计的液晶显示功能并不十分复杂, 而且要实现该流量计整体的低功耗, 因此选用段码显示的低功耗液晶显示模块LCM141 该液晶显示模块集液晶显示屏,驱动电路和控制电路于一体,大大简化了应用电路的设计,节省硬件资源和空间。 此外,由于其微功耗特性,用于简单的流量、温度和压力等仪表的显示是十分方便和有效的。 LCM141 使用时只需连接个引脚。在硬件设计中,MSP430F2272  LCM141 模块的 CS 脚作片选信号,DATA 脚作为数据位,WR 脚作为写入控制信号。

界面1.jpg

根据流量计的功能要求, 设计了由个独立按键组成的键盘,分别为:功能键移位键增加键退出键 四个按键的电路设计相同,采用一键多用使其能完成显示内容选择、仪表参数设置、各界面相关切换等多种操作。 4 个按键分别与具有中断输入功能的 O 口相连,按键按下时,相应的 O 口触发中断,在中断服务程序中完成按键消抖、键码识别、置标志位等操作。 这种中断方式,提高了按键的响应速度,无需 CPU 查询,降低功耗。 人机界面的通讯采用异步串行通信接口模式 UART Pin 口接收前端传送的频率信号 RXDTXD 负责接收和发送传输数据。 如图所示,其他端口备用。

界面2.jpg

2.人机界面软件设计

考虑到涡街流量计的人机界面系统需实现测频、显示、按键捕捉和通信等功能。 为了充分利用单片机的性能,提高测频精度以及考虑系统实时性的要求,需要合理分配单片机的资源。 频率测量功能通过定时和捕捉中断实现,以满足其精度要求。 按键捕捉和通信功能也通过中断实现,避免反复查询消耗单片机资源

界面3.jpg

显示功能需反复更新,且实时性要求低,因此在主程序中实现。单片机各中断程序负责必要的数据接收、处理以及标志位的置、清位,而主程序则实现较为复杂的数值运算和显示的更新。 采用上述方法可以提高系统的实时性和运行效率。

主程序首先进行初始化,然后循环反复判断液晶显示模式变MODE,根据 MODE 的数值进行相应的液晶显示。  MODE1 时,液晶进行频率的计算 、数值转换和显示工作 ;当 MODE2 时,进入预留的 DEBUG 模式;当 MODE  3 时,显示当前口径值, 当相应的按键按下, 标志位置位后, 可修改口径值;当MODE  4 时,显示当前介质值,当相应的按键按下,标志位置位后,可修改介质值;当 MODE 时,进入小流量切除模式。

应力式涡街流量计在可测流量段内的输出频率大体分布在014000Hz,因此,设计方案应满足这一频率范围。 涡街流量计的一般精度为 05%,因此计量所要求的测频精度需达到 02%,这就对测频系统提出了很高的要求。 目前常用的数字测频方法有法、T 法、MT 法。 其中 M 法在测量高频信号时精度较高,T 法在测量低频信号时精度较高,而 M法综合了法和法两种测频方法的优点,在高频和低频时都有较高的精度,所以采用 M法测频。

 本文采用片内定时器的捕获模块和定时功能,  4000Hz以下,无论低频还是高频均可达到 02%的测量精度。 如图所示, T 法测频一方面检测 Tc 时间内定时器捕获的脉冲个数M1 另一方面也检测同一时间间隔的定时器产生的高频时钟脉冲个数 M2 测频公式如下,其中 f0 为高频时钟脉冲的频率。

界面4.jpg

采用 T 法测频时, 被测信号的周期数可以认为是准确的,而测量周期是通过高频时钟脉冲的个数计算得到,测量周期会存在个高频时钟脉冲周期的误差。 当高频脉冲多计次时,测频的理论误差计算如公式(4);当高频脉冲多计次时,测频的理论误差计算如公式(5)。

界面5.jpg

大于 200 时就能满足测频 02%的精度要求,而采用单片机 16 位定时器作为高频时钟脉冲信号时值约为 65536,因此 T 法的理论误差约为 65536 采用 MSP430  16 Timer_B 定时器作为高频时钟信号, 由于被测频率范围为 014000Hz,测量基准周期选取 2s 具体测量方法如图 5 所示。

启动测频后, 捕获模块会在时间阀值内捕捉每个脉冲的上升沿,并自动将 16 位计数器 TBR 赋值至 TBCCR0 寄存器供程序使用。 计算时间阀值内***后一个上升沿 TBR 与个上升沿 TBR 的差值 ,便可得到 N 个脉冲的周期 T 在程序中  采用Timer_B 的周期中断和 TBCCR0 的捕捉中断实现测频功能。

界面6.jpg

Timer_B 周期中断服务程序的流程图如 6 所示。 进入中断后,首先判断捕获脉冲个数。 如果脉冲个数小于 2 则判断溢出次数

TB_OVCOUNT 是否等于 10 若等于 10,则表示 20s 内无信号输入,清零脉冲计数 PULSE 否则溢出次数加 1,继续等待并判断;当捕获脉冲个数大于等于时,PULSE 首先减 1,并将***后一个上升沿 TBR 与个上升沿 TBR 的差值赋给周期值的低位 TIME_LTB_OVCOUNT 赋给 TIME_H,***后清周期中断标志并退出中断。

界面7.jpg

进入 TBCCR0 的捕捉中断服务程序中断后先判断捕获脉冲是否为零, 为零则清 TB_OVCOUNT 并将此次捕获值存入CAP_FIRST,捕获脉冲加 1;不为零则此次捕获值存入 CAP_LAST

然后捕捉脉冲加 1,***后清捕捉脉冲中断标志并退出中断。

频率值的计算和显示在主程序中运行。 在液晶显示模块的设计中,我们制定了一套多层次的调用函数,便于在使用时根据不同的要求灵活调用和扩展,做到了分层化、模块化,提高了代码重用性和扩展性。 为了尽可能提高频率的显示精度,根据涡街流量计的精度要求, 对于不同频率段, 频率显示的小数位数不同,采用 0125Hz 显示位小数,2525Hz 显示位小数,25 250Hz  2  2502500Hz 显示 1 位小数 2500Hz 以上不显示小数   此外, 对于***后一个有效数字进行了四舍五入修正, 进一步提高测频精度。

界面8.jpg

按键程序设计遵循以下原则:采用中断方式接入,尽量不要将 CPU 从低功耗休眠态中唤醒来扫描按键端口; ②按键消抖采用软件延时方法;由于按键数量很少, 利用状态组合法实现按键复用功能。 因此采用置标志位的方法, 使程序简化。 具体的按键中断程序流程图如下。 MODE 为界面标志,为运行状态,为调试状态,3为设置状态。

四个按键分别定义如表功能便于系统操作。

界面9.jpg

3.实验结果分析

在实验测试中, 主要针对涡街流量计进行了人机界面的软硬件联调,并对软、硬件设计进行了验证。 在频率精度测试过程中,选取了不同频率段的共计 18 个频率测试点。  18 个频率测试数据,并计算了显示频率与实际频率的误差。

界面10.jpg

测试结果表明,  频率测量模块完全达到原先设计设想和02%的精度要求,且测频方案的测频精度很高,达到了 005%。

4.结束语

通过实验验证了所设计人机界面的实用性, 后续也可以增加新的参数与功能,使得人机界面更为多样化

 

 

相关新闻

返回顶部
0517-8699 6066 欢迎来电咨询
Hello. Add your message here.