基于ARM嵌入式系统的电子皮带秤研究设计
2018-12-06苏超
苏 超
(西曲矿运输四队,山西古交 030200)
0 引言
电子皮带秤发展至今已经不是一个单纯的计量装置,通过将强大的网络功能与数据交换功能的结合已经成为了企业管理系统中的重要组成部分。我国在皮带秤方面的开发研究较国外晚,目前行业整体水平比较低,表现在皮带秤的精度、数据处理能力、通讯接口兼容性和功能齐全性等方面,同时在自动化处理方面也有所欠缺。基于此,本论文研究设计了一套基于ARM嵌入式系统的电子皮带秤控制器,其与传统产品相比较明显的优点是运行速度快、体积小、通信功能强大、精度高、可定制性强以及价格便宜等。通过增强皮带秤控制器的网络功能可以方便联网,与网络中的其他设备实现实时数据交换与资源共享。更能够对设备的工作过程进行实时监控,实现了上位机对下面设备的监控和管理。
图1 系统总体结构
1 系统总体结构
系统整体的设计目标是要实现仪表的小型化、功能的模块化,以及控制的智能化。同时还需要利用传感器对目标的信息进行采集、处理、存储以及显示等。这是皮带秤总体的发展趋势。
如图1所示为本系统的整体结构图。从图中可以看出在总体框架上本系统可以分为三层,最顶层的是应用软件层,这一层主要是实现整个系统的具体功能,其中包括参数设置、PWM控制、密码设定、脉冲测试以及零点、实物、链码等标定。处在第二层也就是中间层的是系统软件,主要包括各种硬件设备的驱动,例如:AD驱动、LCD驱动、网络驱动和串口通讯驱动等。还有系统底层软件以及文件系统等。这一层为应用软件层和外部设备的使用提供底层基础。最后一层也就是最底层是系统硬件支持。本系统需要用到的硬件包括:AD模块、LCD模块、温度模块、键盘模块、核心板以及电源模块等[1-4]。
2 系统硬件设计
2.1 系统硬件结构
本系统的硬件结构如图2所示,在硬件设计时也是遵循模块化的设计思维,中心部分是以ARM处理器为CPU组成的核心控制板,在核心板上集成了系统运行最基本的时钟、存储以及通讯和电源等模块。在核心板外围是外部扩展模块包括外扩存储器、各种通讯接口等。最外层是外接硬件,包括LCD显示屏、键盘、各种传感器和输入输出接口等。
2.2 CPU选型
由于本系统需要使用嵌入式Linux系统,所以选用ARM9系列微控制器,因为其内部集成了内存管理模块也就是MMU,能够支持较大的嵌入式系统。通过对比分析后选用了由三星公司设计生产的ARM9系列32位微控制器,型号为S3C2440A。该芯片采用的是哈佛结构,将数据总线和控制总线独立开来,极大增加了芯片的处理速度[3]。如表1所示为S3C2440A微控制器主要硬件资源。
表1 S3C2440A主要硬件资源
2.3 模拟量信号输出电路
为了更好地适应皮带称重的需求,本系统设计了两种工作模式,分别是通过流量控制和累计称重。为了在流量控制模式中更好地工作,同时在称重的过程中实时调节皮带运行的速度,以便能够实时调节皮带上物料的实时流量,系统专门设计了一套模拟量输出模块,通过输出的模拟量信号来控制变频器的输出频率,从而达到控制皮带驱动电机输出转速的目的,具体的模拟量输出电路如图3所示。
图3 模拟量信号输出电路
本系统的模拟量信号输出采用的是国际标准4~20 mA,通过精确度比较高的电压电流转换芯片来实现,本系统选用的转换芯片型号为XTR111。如图3中的电路所示,SET引脚连接的电阻主要功能是设置输出电流与输入电压回见的转化比率。为了提高系统的输出能力,也就是提高输出阻抗,在电路的输出端通过一个晶闸管来实现[5-6]。
其中PWM DA信号是通过CPU内部集成的PWM发生器产生的具有一定频率的PWM波,TLP521是光耦,通过其的隔离作用后将最高电平为3.3 V的PWM波转化为最高电平为5 V的PWM波。电路图中VOUT是PWM波形输出的平均值,XTR111的输入信号是通过电阻R31分压后输入到VIN管脚的。这样便可以通过控制PWM的频率来达到控制VIN输入大小的目的,从而达到控制输出电流大小的目的。下式为XTR111的输出电流计算公式:
式(1)中:IOUT为输出电流,VIN为输入电压。
将RSET的值固定为250Ω,当输入电压变化范围为1~5 V时,输出电流的大小为4~20 mA,完全符合设计要求。
2.4 RS-485接口电路设计
本设计利用RS-485通讯方式来实现皮带秤仪表与控制驱动电机的变频器以及用于控制皮带的PLC之间实现通讯。使用的通讯协议是工业上通用的RS-485协议。传统的RS-485通讯有两种通讯方式,分别是全双工和半双工,本系统使用的是半双工方式,由于其采用的差分通讯方式是两线制,系统不需要参考电压,所以RS-485总线的抗干扰能力比较强,高逻辑的电平范围一般为+12 V~+16 V。而逻辑低的电平范围是-6 V~-2 V。在较低波特率的情况下理论上最长的通讯距离能够达到1.2 km。最快数据传输速率为 10 Mbit∕s。
如图4所示为RS-485接口电路。使用的芯片型号为ADM2486,这是ADI公司设计生产的内部集成隔离模块的RS-485收发芯片。工作电压为2.7~5.5 V。具有很强的隔离能力,能够承受2.5 kV的压差。极限数据传输速率能够达到20 Mb∕s。由于其低成本、高性能的特性非常适合本系统的使用。为了确保通讯电源中没有高频干扰,本设计中使用了B0505S电源隔离芯片来过滤电源,将过滤后的+5 V电源输入到ADM2486芯片中。利用拨码开关来选通RS-485的通讯。RE接口用来控制芯片的使能操作。
图4 RS-485接口电路
3 系统软件设计
3.1 软件总体结构
如图5所示为本系统的软件结构图。从图中可以看出本系统的软件可以分为四部分,分别是底层驱动初始化程序、数据采集程序、显示程序和数据存储程序。
图5 软件结构示意图
3.2 Linux系统移植
本设计使用的Linux内核版本为2.6.32。根据所使用CPU的信号和结构特点,对Linux内核的源代码进行相应的裁剪,然后配置和编写驱动部分所需要的代码,最后通过编译器编译为内核的映像文件。但是Linux系统启动完成后还必须有根文件系统的支持,本设计使用了busyb⁃ox-1.18.0设计文件系统,然后通过U-boot将所有的文件烧写到CPU的存储器中[7-8]。
3.3 按键驱动程序设计
键盘在本设计中主要功能是用来输入参数以及界面的操作等。如图6所示为本系统设计的键盘处理软件流程图。从图中可以看出首先是CPU扫描I∕O口判断是否有键被按下,当有键触发时首先是延时20 ms消除抖动,延时完毕后再进行键盘输入数据的读取,并通过按下的键值来进行计算确定有效标志位。当识别出具体的功能后CPU便会跳转到相应的功能子程序执行,当子程序执行完毕后返回继续判断按键是否触发。
3.4 物料重量累计程序设计
重量累加功能是整个系统功能的核心,因此在选定合适的处理算法后通过如图7所示的物料重量累加程序流程来达到最终结果。由于环境温度会对皮带秤的准确度产生一定的影响,所以通过实时监控环境温度来达到动态校准皮带秤零点的目的。每次程序在执行前都要先进行温度的测量,然后再读取皮带的实时速度,通过科尔曼滤波算法对采集到的数据进行处理,将处理后的结果默认为此时的实时重量,然后将累加后的重量显示到LCD显示屏上。
图6 按键处理程序
图7 重量累计流程图
4 小结
本文设计了一套基于ARM嵌入式系统的皮带秤,通过现场试验验证了其功能的完整性和可靠性,在一定程度上能够满足工业现场需求,为矿井下同类型设备的设计提供了思路。