基于STM32的多功能流量计控制仪表的设计

多功能流量控制仪是一种智能化二次仪表.该仪表采用DM12864M中文字库液晶屏,ARM内核的STM32f103做为主控芯片,AD694做为4~20 mA电流输出芯片,特殊的瞬时流量算法,克服了传统中数码管显示不直观、普通单片机机器周期太长,控制仪反应不快捷、电流输出不准确、瞬时流量不稳定的特点.该控制仪与脉冲式电信号的流量计配套,在配合电液阀实现液体介质的自动化定值体积或质量的灌装目的.实际使用过程中,在智能化、显示直观性、操作便利性、灌装精度等方面取得了良好的效果.

0.引言

在工业或实验室应用中,对流量计的控制仪表提出了越来越多的要求,准确度高、携带方便、集成度、高接口齐全、使用方便等都成了选购的主要考虑因素。该控制仪配置足够的系统内部通道和数据存储区(带掉电保护),方便结构和功能扩展,可灵活组成不同型号不同用途(例如屏装、隔爆、大屏幕、继电控制、电流环4~20 m A等)的二次计量/控制仪表。该仪表结构简单、可靠性高、功能齐全、型式多样,特别适用与流量计和电液阀配套,对流量进行质量或体积的自动化计量;并且可以通过面板置入参数,自动控制各种类型阀门的开启与闭合,实现自动控制发料作业。具有可视化中文界面显示,平稳的瞬时流量显示功能。该控制仪具有单次流量、累计流量、瞬时流量、温度、压力、时间、定值流量、提前流量等显示功能。其***大的特点是,能对泵、阀进行流量的定值,批次控制,并且有脉冲输入、模拟信号输入、4~20 m A电流输出,MAX485通讯等功能。

1.电液阀工作原理及控制系统组成

电液阀由1个提前量电磁阀、1个定值量电磁阀和1个主阀组成,主阀响应速度的控制是2个柱塞阀,安装于主阀的入口和出口。通过2个柱塞阀细微调节主阀的启闭速度。调整柱塞阀以控制流入和流出活塞上方介质的液体流量。达到主阀启闭速度能基于介质的黏度及压力调整的目的。

提前量电磁阀和定值量电磁阀分别安装在主阀的进油回路和出油回路中,便于控制主阀的启闭动作,当两电磁阀通电时,进油孔( 上游阀) 回路关闭,先导孔( 下游阀) 回路打开,活塞上腔泄压,主阀活塞上行,主阀打开。反之,主阀活塞下行,主阀关闭。在主阀开启和关闭过程中,可将流量( 流速) 信号传送给流量计控制仪表,经过控制仪处理后发出相应的指令,控制 2 个电磁阀的通、断电状态,使主阀活塞的上下腔的液压差产生变化,从而将主阀活塞控制在所需的开启度上,实现对管道液体介质流量的控制。

控制系统主要由若干球阀、过滤器、温度传感器、流量计、电液阀、流量定值控制仪系统及其用作控制电液阀的中间继电器等组成,其组成及工作示意图见图 1。

硬件1.jpg

2.流量控制仪的硬件设计

流量 定 值 控 制 仪 以  STM32f103RB 作 为 核 心 部 件,STM32f103 系列属于中低端的 32 位 ARM 微控制器,该芯片内核是 Cortex-M3 。控制仪在设置参数时 需要将 12864 屏反白一部分内容,以区别不需要修改的参数,如设置仪表系数时,将仪表系数反白,以区别其他参数。普通的 C51 系列单片机工作效率不高,周期长,当 C 程序反复地调用 12864 屏反白扫描子程序时,时间过长,使人产生一种停顿感觉。而 STM32 ***高工作频率为 72 MHz,在存储器的 0 等待周期访问时可达 1. 25 DMisp / MHz,完全可以克服 12864 屏反白扫描时人感觉到停顿。利用芯片内部的 DMA 来存储多个瞬时流量,并计算平均值,减轻 CPU 的负担。

流量控制仪的设计主要包括硬件设计和软件设计。硬件电路中主要包括 STM3 芯片的***小系统,12864 中文字库的液晶屏、4 × 4 的薄膜按压开关、开关电源模块电路、LM358M 运算放大器、24C16 数据掉电存储芯片电路、三路驱动中间继电器电路、MAX485、232 通讯芯片电路、用于检测管道中液体温度进行温度补偿的 DS18B20 温度传感器电路,5651DAC 数字量转化为模拟量芯片电路、AD694 芯片电路( 其功能是实现 4 ~ 20 mA 输出) 。将上述各子电路连接到 STM32 芯片对应的管脚上,硬件原理图如图 2 所示。

硬件2.jpg

其工作原理是,控制仪接收到流量计的脉冲信号后,将其送入 LM385 整形电路进行整形,再送入单片机中 PA8 管脚的中断端口对脉冲信号进行采样,计数脉冲数,计算的公式如下:

m=VF20 =Vλ[1 - f( t - 20) ]F20

式中: m 为质量,kg; V 为流量变送器发出的脉冲数; λ 为脉冲当量,min; F20 为 20 ℃ 时物料密度,kg / m3 ; t 为物料温度,t=20 ℃ ( 无需外温度传感器) ; f 为物料体积补偿系数,f = ( 1 ~ 999) ×10 - 6 。

当密度值设定为 1 时,公式即为 m = Vλ,此时 m 为体积数。计算后,所得出***终结果送入 12864 带中文字库的液晶显示器,显示实时数据。

控制仪初始上电时,主控芯片从 EEPROM 中取出流量计传感器标定系、定值量、提前量、密度、物料的体积补偿系数据,由单片机转换成浮点数,实时参与运算。单片机内部看门狗电路随时监测供电电压和单片机的程序。主控在运行时出现电压大幅波动或程序跑飞时,将及时复位单片机,重新进入正常工作状态。

在各部分电路的硬件设计中,脉冲输入的整形电路作为信号的前级,其稳定和可靠对保证整个仪表的准确度非常重要。整形电路采用 LM358 放大器通过对脉冲的电压调整和边缘修正,使原来幅值为 24 V 的脉冲信号调整为 3. 3 V,以适应后级CMOS 电路的需要,经边缘修正后的脉冲信号边缘更整齐,为后级的采样和周期计算打下了良好的信号基础。

液晶屏的显示、按键、3 路中间继电器驱动电路上,以单片机以串行传输数据方式进行扫描显示,显示器主要是 128 × 64点阵的汉字图形型液晶显示模块,可显示中文汉字及图形。可与 STM32 直接相接,该屏提供两种界面来连接微处理机: 8 位并行及串行两种连接方式。该控制仪采用串行通讯方式,其管脚链接到 PB4 ~ PB7。按键电路采用 4 × 4 矩阵式电路,共有 16个按键,链接在 PB8 ~ PB15 口。3 路中间继电器驱动电路采用的是三极管 BD237 驱动中间继电器,一路控制油泵电机,另外两路分别控制电液阀的定值阀和提前阀,以达到的定值控制。

看门狗电路上采用了单片机内部看门狗,其拥有电压实时监控和看门狗功能。电压监控在电压波动大电压过高或过低时都会产生一个复位信号 。其原理是在单片机程序上设定每隔一定时间间隔复位看门狗一次,若程序跑飞或陷入死循环,芯片得不到及时复位芯片将产生一个复位信号,使单片机复位到正常工作状态。

控制仪有 RS485 通信方式和 RS232 通信方式,具有 4 ~ 20 mA电流输出,以便于上位机控制。通讯方式是通过MAX485 芯片和 MAX232 芯片分别于 STM32f103rb 的 2 个通讯口相连实现通讯功能,在采用 modbus 开放式通讯协议,实时的与上位机通讯。单片机控制芯片 5651 进行数值量与模拟量的转换,实现模拟量电压的输出,在通过 5651 芯片的电压输出口于 AD694 的 3 脚链接现实 4 ~ 20 mA 输出,其模拟量电压和电流输出与瞬时流量实现的线性对应。控制仪的温度采集是使用 DS18B20,它是一线式数字式温度计芯片,它具有结构简单,不需外接元件,采用 1 根 I / O 数据线即可供电又可传输数据、并可由用户设置温度报警界限等特点,可广泛用于管道介质的温度补偿。外接压力传感器通过 LM358 运算放大器的电压跟随器特性,实行外接电路与主芯片的隔离作用。

3.软件部分设计

该设计的核心部件为具有 ARM 内核的 STM32f103 单片机,其除了控制整个系统的运算外,还参与了采样控制、显示控制、通讯、模拟量、电机,电磁阀等的控制过程,而软件的控制直接关系到整个控制仪表的各项性能。设计的软件运行流程图如图 3 所示。

硬件3.jpg

脉冲信号的采集采用中断方式,当单片机脉冲输入引脚检测到有下降沿发生时,随即启动中断子程序,累计脉冲数,同时定时器计算以 s 为单位的时间,在单位时间内,计算出脉冲数。在主程序里,单位时间的脉冲数乘以脉冲系数再乘以相应的补偿,就是瞬时流量。中断程序在整个系统的软件设计中较关键,在设计中应注意一个问题: 在计算瞬时流量时,一定要取多个瞬时流量的值进行累加,再求平均值,这才能真实的反应管道介质中的实际瞬时流量。取值的方法是丢掉前面一个瞬时值,加上后面一个瞬时值,再求平均。这样即保证了瞬时流量的连续性。

4.结束语

该控制仪在电路设计和软件设计上多方面采用了抗干扰技术,并采用主控芯片内部的看门狗实时监控,从而使整机系统稳定、工作可靠、抗干扰能力强。STM32f103 的采用及合理配置,使其功能齐全,操作使用方便,形成一个内涵丰富的智能化流量仪表,可广泛用于油库、加油站、化工等部门的液体灌装。

 

 

 

 

 

相关新闻

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