ATmega128和组态王实现陶瓷检测系统

发布者:Xiaoxue666最新更新时间:2011-09-27 关键字:ATmega128  陶瓷检测 手机看文章 扫描二维码
随时随地手机看文章

  针对国内的陶瓷性能检测仪自动化程度不高、检测精度低、检测范围比较窄,可视化差等情况,设计开发了一种基于AVR ATmega128单片机和北京亚控公司的组态软件的陶瓷检测实时控制系统。该系统运用虚拟仪器组态王作为上位机,辅以ATmega128单片机为核心的变参数的模糊神经网络PID控制器,对陶瓷性能进行检测。经现场使用表明,该系统检测精度高、范围广、可视化程度高,使用方便。

  引言

  研制高性能生态陶瓷性能检测仪具有重要的现实意义。本文以陶瓷材料的综合性能为研究对象,进行陶瓷透气度性能检测仪的研制。为了实现智能化和可视化,采用数据吞吐率高的ATmega128单片机作为系统的主控制芯片,用北京亚控公司的可视化高的组态王软件作整个陶瓷性能检测流程的监控系统。结合二者的优势,设计一个便于操作,检测精度高的陶瓷检测系统。

  检测原理如下:室温下,检测在压力差为1 mm水柱时1 h内以层流状态通过厚度为1 cm、面积为1 m2的多孔陶瓷制品的气体立方数。

  1 系统结构及组成

  

 

  基于AVR ATmega128单片机和北京亚控公司的组态软件的陶瓷检测系统,主要由上层控制系统和下层节点控制单元构成,结构图如图1所示。上层控制系统由上位机控制软件、通信总线接口组成。下层控制单元由压力采集变送板、控制CPU、总线接口、压力传感器、压力反馈通信接口、液位传感器等部分组成的。系统采用了总线结构、模块化的设计方法,各部分组建方式灵活,并具有良好的可扩展性。控制系统还可外接通信模块,与上位机通信,将数据信息上传。AVR嵌入式控制器对执行机构发出控制指令,对电机的转速进行控制,从而实现对压力的检测与控制。

  上位机控制部分:主要由总线接口和上位机两部分构成。其中总线接口一端和总线相连完成和总线的通信;另一端和上位机连接完成和上位机的通信。它的主要功能是将上位机的操作信号和控制参数传送给指定的下位机节点。同时,将节点的数据传输给上位机做进一步处理。它和上位机之间的通信是通过RS 232串行口和上位机交换数据。

  现场控制部分:现场控制层为系统的底层,它首先由信号采集调理模块通过RS 232总线和上位机通信。然后由带有总线接口的变送器和执行器来实现具体操作,它们之间通过RS 485总线进行通信,完成全部的控制工作。

  2 系统硬件设计

  从功能上来划分,整个系统分为液位检测模块、PWM控制电机模块、恒压控制模块、信号采集调理模块、人机界面五部分。

  主控模块采用Atmel公司的高性能、低功耗的8位AVR微处理器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega128的数据吞吐率高达128 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。JTAG接口通过JTAG接口实现对Flash、E2PROM、熔丝位和锁定位的编程。片内集成了数据采集和控制系统中常用的模拟、数字外设及其他功能部件:内置FLASH程序存储器、内部RAM,大部分器件内部还有位于外部数据存储器空间的RAM。高速、流水线结构的内核,真正10位、100KSPS的8通道ADC,512 KB的E2PROM,擦写寿命为100 000次。可工作于主机/从机模式的SPI串行接口具有独立片内振荡器的可编程看门狗定时器。

   [page]

2.1 压力传感器调理电路设计

  信号采集调理模块中压力传感器部分采用DG通用系列标准型全不锈钢焊接结构压力变送器,精确度最高可达0.1%FS,具有小体积、高性能、高性价比、高稳定性、高灵敏度等特点。差压传感器电压信号经滤波及正向跟随后接分压电阻。ATmega128内部A/D直接从分压电阻上采样得到10位A/D值。设计的压力传感器信号处理电路如图2所示。

  

压力传感器信号处理电路

 

  2.2 红外液位检测电路设计

  为了自动检测单位体积的检测液的流动速度,在玻璃容器的输入、输出口分别安装了红外检测系统。这里设计的红外光源驱动电路如图3所示。其中+12 V电压通过两个100 kΩ电阻加在放大器的两端形成同相比例,放大电路放大倍数为Vi0=(1+Rf/R1)V来驱动三极管的导通与截止,驱动发光二极管。

  3 系统软件设计

  3.1 控制算法的设计

  为了实现陶瓷检测设备高精度、反应速度快、宽测量范围的性能指标要求。设计的陶瓷检测控制软件采用PID控制算法和模糊神经网络控制的隶属度函数相结合的方法,来完成对各个模块的控制。实现参数标定、设置、透气度测量、恒压信号(PWM信号)输出等功能。软件完成初始化设置后,进行压力信号的数据采集与处理、恒压控制输出等。根据实际工况,压力信号变化范围太大时,系统将处于等待状态,直到压力被调节到9 500~10 050 Pa的范围要求。同时,当误差范围比较大时会根据模糊神经网络算法来粗调PWM信号,当距10 000 Pa范围较小时再采用PID精确调节,保证输出的PWM信号在设计范围内。

  普通的PID控制是反馈控制系统中取偏差的比例、积分、微分的组合控制。固定参数PID控制属于线性控制。而液位上升的过程具有非线性、时变性及不确定性等特点,对于这类系统采用固定参数PID控制很难实现理想的控制效果,因此采用了变参数控制的方法。

  这里将模糊控制知识表达容易的特点和神经网络自学习能力强的优势相结合,取长补短,以提高整个系统的学习能力和表达能力,实现电机的在线智能调速。通过该智能控制系统,将模糊控制规律和隶属函数隐含地分布在整个网络中,用神经网络实现模糊推理,用神经网络的在线自学习能力来调整隶属函数和改变模糊控制规律,使控制系统工作状态可根据设定速度和环境状态变化而自动调整,实现速度的智能控制。

  实验结果表明,该算法可以有效控制PWM输出的稳定性,近而可以很好的稳定压力,保证其在设计值范围内,并且进一步提高了系统检测精度。

[page]

3.2 数据通信设计

  本系统的通信主要采用了信号采集调理模块来完成数据采集。该模块是以ATmega128单片机为核心的陶瓷检测智能控制仪重要组成部分。ATmega128片内含128 KB ISP的可反复擦写10 000次的FLASH只读程序存储器。对压力传感器的数据进行监测和设定并记录到数据库。主控界面中的参数是通过数据采集现场总线RS 485传输过来的智能仪表的参数。

  由于组态王和单片机进行通信的数据格式是ASCII码,所以提前定义控制系统和上位机间的通信协议,其中如波特率、数据位、停止位和奇偶检验等必须在协议中进行定义。首先要在组态王中把地址分配给要通信的数据变量,按照设计要求把数据类型分为字节和无符号整型两类,分别占1 B和2 B的空间。因此分配时不能有重叠现象,为提高通信速度这里使用连续的数据区。

  3.3 监控系统的设计开发

  

 

  设计时充分利用了北京亚控公司开发的组态王元件的可视化及其集成的可视化数据库工具,开发了此监控软件如图4所示。人机界面分为以下几个页面:登陆画面、主画面、测试方形试样参数画面、测试圆形试样画面、报警画面、数据查询画面、报表打印画面等。

  下面具体介绍主要的几个模块:

  3.3.1 参数模块功能

  本系统中包括试样的形状、试样的尺寸、测量数据(输入两个压力值),在测试时系统会自动计时,同时不断地采集压力数据信息,然后根据系统设计的模糊神经网络PID控制器来快速稳定的调节PWM输出,进而调节电机的转速,最终确保压力恒定在设计的要求范围内。

  3.3.2 报警模块功能

  本系统中主要的报警项有两种:一是当储水箱中的指针高出水液面一定时间后就要发出报警信号;二是压力传感器超过设定值时也要发出报警信号。

  3.3.3 报表打印模块功能

  报表打印模块是对每天生产过程中的一些重要参数进行报表打印,以便对生产情况进行备案,一张报表可选定16个参数,此为固定的报表格式。如图5所示。

  

 

  组态软件开发的人机界面有两个显著的优点:一是实际操作时,先登陆界面设定好初始参数,然后按照系统提示下一步操作。操作人员可根据系统的提示来完成操作,自动化程度高。如进入主界面后系统会提示安装样品,接着会提示系统气密性检查等。二是主界面生动形象。如:当每一步操作进行时,图中相应的器件也会运行起来,可以模拟实际现场的工作状态。

  4 结语

  本系统已于2009年经过完善后应用在陶瓷检测科研项目中,得到了用户的好评,不仅提高了自动化检测程度,同时也提高了测试精度,节省了工作人员。在长时间使用期间,满足了用户的需求。

 

关键字:ATmega128  陶瓷检测 引用地址:ATmega128和组态王实现陶瓷检测系统

上一篇:基于AVR单片机并采用分立元件构成的125 kHz RFID
下一篇:基于AVR单片机捕获中断实现红外线解码的方法介绍

推荐阅读最新更新时间:2024-03-16 12:42

ATmega128 简介
ATmega128为基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集以 及单周期指令执行时间, ATmega128 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系 统在功耗和处理速度之间的矛盾。 ATmega128 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元 (ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结 构大大提高了代码效率,并且具有比普通的复杂指令集微处理器高10 倍的数据吞吐率。 ATmega128 具有如下特点:128K 字节的系统内可编程Flash( 具有在写的过程中还可以读 的能力,即RWW)、4K 字节
[单片机]
基于ZigBee的家庭智能系统设计
  随着Internet的普及与发展,家庭网络化已经成为家庭现代化的潮流。家庭网络,主要包括有线和无线两种实现方式。由于有线网络固有的缺点,布线麻烦,可扩展性差等,将无线网络技术应用于家庭网络已成为势不可挡的趋势。无线网络的市场发展在逻辑上可分为面向语音的市场和面向数据的市场两类。在许多以数据传输为主的无线网络中,小型、低成本、低复杂度的无线网络的应用场合十分广泛。ZigBee是其中一种具有代表性的短距离无线通信技术,其网络标准由IEEE 802.15.4规定。ZigBee协议比蓝牙、高速率PAN(个人局域网)或者IEEE 802.11x无线局域网更加简单实用。    1 ZigBee简介   2002年8月ZigBee联
[嵌入式]
ATmega128 ADC噪声抑制模式
当SM2..0 为001 时, SLEEP 指令将使MCU 进入噪声抑制模式。在此模式下,CPU 停 止运行,而ADC、外部中断、两线接口地址配置、定时器/ 计数器0 和看门狗继续工作。 这个睡眠模式只停止了clkI/O、clkCPU 和clkFLASH,其他时钟则继续工作。此模式提高了ADC 的噪声环境,使得转换精度更高。ADC 使能的时候,进入此模式将 自动启动一次AD 转换。ADC 转换结束中断、外部复位、看门狗复位、BOD 复位、两线 接口地址匹配中断、定时器/ 计数器0 中断、SPM/EEPROM 准备好中断、外部中断 INT7:4,或外部中断INT3:0 可以将MCU 从ADC 噪声抑制模式唤醒。
[单片机]
ATmega128 通用寄存器
寄存器文件针对AVR 增强型 RISC 指令集做了优化。为了获得需要的性能和灵活性,寄存器文件支持以下的输入/ 输出方案: • 一个 8 位输出操作数和一个 8 位结果输入。 • 两个 8 位位输出操作数和一个 8 位结果输入。 • 两个 8 位位输出操作数和一个16 位结果输入。 • 一个 16 位位输出操作数和一个 16 位结果输入。 Figure 4 为CPU 32 个通用工作寄存器的结构。 大多数操作寄存器文件的指令都可以直接访问所有的寄存器,而且多数的执行时间为单 时钟周期。 如Figure 4 所示,每个寄存器都有一个数据内存地址,将他们直接映射到用户数据空间的 头32 个地址。虽然寄存器文件的物理实现不是SR
[单片机]
<font color='red'>ATmega128</font> 通用寄存器
ATmega128 IO 学习
#include avr/io.h void Delay(unsigned int T) { unsigned int i,j; for (i=0;i T;i++) for (j=0;j 100;j++) asmvolatile ( nop ); //汇编指令,让单片机运行空指令 } void main() { DDRA=0XFF; //DDRA=0B11111111; //定义PA端口全为输出 DDRE = 0x04; PORTE= 0X04;//开发板控制LED时需要PE2使能端置1 while (1) { PORTA=0X00; Delay(1000); PORTA=0XFF; Delay(1000); }
[单片机]
ATmega128 A/D 学习
#include avr/io.h #include util/delay.h #include avr/interrupt.h //中断函数头文件 //函数声明 void Port_Init(void); //端口初始化配置 void Compare_Init(void); //模拟比较器初始化设置 int main(void) { Port_Init(); Compare_Init(); DDRA=0XFF; PORTA=0X00;//设置低电平,让所有灯亮 sei(); //使能全局中断 while(1)
[单片机]
ATmega128 低频晶体振荡器
为了使用32.768 kHz 钟表晶体作为器件的时钟源,必须将熔丝位CKSEL 设置为“1001” 以选择低频晶体振荡器。晶体的连接方式如Figure 19 所示。通过对熔丝位CKOPT 的编 程,用户可以使能XTAL1 和XTAL2 的内部电容,从而去除外部电容。内部电容的标称数 值为36 pF。 选择了这个振荡器之后,启动时间由熔丝位SUT 确定,如Table 10 所示。 Note: 1. 这些选项只能用于启动时的频率稳定性对应用而言不重要的情况。
[单片机]
<font color='red'>ATmega128</font> 低频晶体振荡器
AVR单片机的全功能工业控制器设计
引言   在自动控制产品的设计过程中,实现方案的选择常常是很矛盾的。使用可编程逻辑控制器(PLC)和人机界面(HMI)来实现,开发速度较快,但成本太高,所开发的产品没有市场竞争力;使用单片机开发,成本低但开发周期长、开发量大且通用性不好。用户需要的是一种成本低、开发周期较短、通用性较好的控制器,因此全功能工业控制器有很大的应用市场。   全功能工业控制器的整个电路分为信号隔离输入部分、控制器输出部分、实时时钟与历史数据存储部分、彩色液晶显示和触摸屏控制部分、通信接口等。 1 信号隔离输入电路   信号隔离输入电路分为开关量隔离输入、模拟量隔离输入、高速电脉冲隔离输入,电路如图1所示,开关量的隔离输入较为简单,输入信号采用
[单片机]
AVR单片机的全功能工业控制器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved