基于Keil C51的电磁无损检测仪软件设计
近10年发展起来的电磁无损检测方法,尤其是用初始磁导率法检测钢铁材质,以其非破坏、简便快速及可实现100%逐件检测的优点,使研制生产的电磁无损检测设备得到广泛的应用[1]。多年来,这种电磁无损检测仪的硬件和软件的研发工作一直在深入,尤其在应用软件的开发过程中,逐步引入了较为成熟的专为MCS51系列单片机开发的高级语言程序开发工具———C51。
文中采用了C51语言,以Keil C51软件为开发工具,实现了神经网络等高级算法,开辟了无损检测仪应用软件开发的新途径。
1 电磁无损检测仪的硬件结构和应用软件的设计
电磁无损检测仪的系统采用MCS-51为主控芯片,外围有传感器、信号采集、A/D转换、键盘和显示等芯片组成。由单片机构成的智能仪表是最典型的单片机应用系统。其软件结构如图1所示,可分为三部分:准备程序、键功能程序和系统控制程序。可以把系统的软件设计分为主程序模块、显示程序模块、键盘处理程序模块、实时时钟处理程序模块、声音报警程序模块、打印程序模块、脉冲控制程序模块、脉冲检测程序模块等。
2 算法设计
系统中,单片机系统采集的数据与所需要测量的缺陷的大小,以及传感器与被测工件之间的距离具有非线性对应关系,而这种关系是事先不知道的,因此必须通过实验对数据进行拟合,以找出这种非线性对应关系的数学模型。数据拟合通常有最小二乘法和神经网络两种方法。鉴于当前的微处理器发展日趋成熟,而神经网络相对最小二乘法来说,其能拟合的非线性度更好,因此被广泛使用。
BP神经网络,即误差反向传播神经网络,是神经网络模型中应用最广泛的一种[2]。它由输入层、隐含层和输出层构成。其连接方式如图2所示。BP学习算法步骤:
(1)将网络各权值wij赋予小的非零随机实数值,设定学习率η和惯性系数α。
(2)输入p个(输入、输出)样本对中的第一个样本对。
(5)转第2步,输入第二组样本对,……,循环利用p个样本对,直至wij趋于稳定不变为止。Oki为第k层第i个元素的输出;Iik为第k层第i个元素的输入和;wijk-1k为k-1层i元素向第k层j元素的连接权值。
3 用C51语言的实现
Keil C51是德国Keil公司推出的将单片机开发与仿真环境相结合的新一代软件。它具有标准C编译器为8051微控制器及其衍生产品的开发提供了C语言环境,还保留了汇编代码高效、快速的特点。用户可调用dScope模拟调试器对源程序进行各种观测、调试或是使用仿真器进行在线仿真调试。当源程序满足设计要求后可生成HEX文件烧录至EEPROM或EPROM中进行现场调试。支持C语言与汇编语言的混合编程,支持实时嵌入式系统设计[3]。
相关文章
- 2024-03-18基于无线网络的12导联便携心电仪系统研究
- 2024-02-27冲板流量计在重质碱生产中的应用
- 2023-11-16波纹管位移计算的等效梁法
- 2024-07-11环境送风式冷藏陈列柜的开发研究
- 2022-05-18模拟电路印制板的布线设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。