摘 要:根据电热炉对温度数据检测精密性以及实时控制可靠性的要求,提出了一种基于嵌入式处理器的炉温采集与控制系统。分析了该系统的工作原理和结构,设计了系统的硬件,完成了数据采集、精确温度控制以及数据存储等功能。研制出一台基于ARM(S3C2440A)的温度采集与控制系统,试验验证了该系统数据采集的可靠性和温度控制的精确性。该系统具有良好的经济性和实用价值。
关键词:嵌入式;流驱动;模糊自适应控制;ADOCE
现代工业生产和人们的日常生活中热处理技术得到广泛应用。随着科学技术的不断发展,人们对热处理过程中精确度和可靠性方面的要求也不断提高,电热炉作为热处理中的一种重要工具,其温度检测和控制就显得格外重要。
当前的温度采集与控制系统多以单片机为核心,虽然能够满足数据采集与控制的基本要求,但其终端功能较少,采样精度和速度较低,系统的设计复杂,升级困难,兼容性和可读性较差,数据不易长期存储,对以后的发展带来了诸多不便。
本文以时下广泛应用的嵌入式微型处理器ARM为核心,搭载嵌入式WINCE操作系统,设计研发了一套高精度温度采集与控制系统,并对该系统的硬件设计、底层驱动以及系统中软件功能的实现进行了详细的阐述。
1 系统的总体架构及硬件构成
1.1 系统总体架构
本系统采取嵌入式处理器搭载嵌入式系统的模式对数据进行采集,并根据数据的反馈对温度进行控制。
系统采用三星公司的ARM9系列S3C2440A芯片,将外部传感器的数据经过滤波、放大等一系列处理后,利用内置的10位A/D转换器进行模拟量到数据量的转换,最高转换频率可达2.5 MHz;数据传递到ARM内,在LCD显示器上进行显示,显示结果经过系统处理后,可采用多种方式进行显示,如曲线显示、数字显示等。转换后的数据通过模糊算法处理后,与预先设定的数值进行比较,将结果反馈到控制器中进行控制;本系统采用自动控制和手动控制两种方式对温度进行控制操作。
系统搭载的WINCE操作系统功能强大,对采集到的数据进行实时直观显示的同时,并对数据进行存储,以便以后查询使用;其便于操作的界面和良好的人机交互性,使得操作和管理更加方便[1]。
1.2 系统硬件设计
本系统的处理核心为Samsung公司的S3C2440A芯片。其主频为400 MHz,最高可达533 MHz,32 bit总线,使得数据处理与传输都有较快的速度;内部有8路10 bit内置A/D转换器,最高转换频率为2.5 MHz,使得采样精度较高;外部传感器根据具体精度要求可以选用不同精度的传感器;外部校正电路是由运放和电阻电感组成的滤波和放大电路,对外部干扰进行硬件消除;控制执行电路由继电器进行操作;扩展有串口、RJ-45网络接口、USB接口和SD卡槽等多种接口,便于以后升级[2]。系统硬件结构图如图1所示。
2 系统软件设计
对于整个系统而言,软件的设计关系到数据采集和控制的精确性和稳定性,在高速数据采集与控制系统中更是对软件的设计提出了更高的要求。软件的设计主要包括ARM内部A/D转换驱动、温度的控制以及数据存储的实现。
2.1 内部A/D转换驱动的实现
ARM内部A/D转换是通过对S3C2440A内部的模数转换相关寄存器进行操作来实现的,其主要包括ADCCON(ADC控制寄存器)、ADCDAT(ADC转换数据寄存器)及ADCDLY(ADC开始延时寄存器)等。ADCCON控制寄存器主要用来设置A/D转换器的相关参数,在初始化过程中,要在ADCCON中设置预分频器值、模拟输入通道以及A/D转换使能等控制变量,在ADCDLY中设置开始延时值;在数据转换过程中,ADCDAT的0~9数据位储存A/D转换的数据值,通过底层驱动的映射,在WINCE中对ADCDAT中的数据进行读取即可获得传感器A/D转换后的数据[2],如图2所示。
WINCE系统中,应用程序通过文件系统,以访问文件的形式访问驱动程序,调用IOCTL向驱动程序传递各种指令,底层驱动通过DeviceManager与ARM的底层硬件进行交流。其示意图如图3所示。
在本系统中,采用流驱动形式完成底层硬件的访问,流驱动是WINCE下的一种常规驱动,其作为硬件功能的一种软件抽象,将硬件功能以函数的形式提供给外部应用程序和操作系统,应用程序通过流驱动接口函数与外部应用程序进行通信。常用的流驱动程序接口函数主要有XXX_Close、XXX_Init、XXX_Open、XXX_IO-
Control、XXX_Read、XXX_Write等(其中“XXX”为驱动名称)。当外部应用程序调用与流驱动相关函数时,自动调用相应的流驱动接口函数,完成与驱动的交流。例如,当外部应用程序调用DeviceIoControl时,驱动就会调用XXX_IOControl。根据IO_CTL_XXX的数值决定执行何种操作。
本系统中,在WINCE外部应用程序中调用CreateFile()函数,底层驱动便会响应XXX_Open函数,通过文件的形式打开底层驱动。驱动通过DeviceManager获得硬件中A/D转换的数据,在A/D转换数据寄存器0~9数据位存储A/D转换后的数据。外部应用程序通过调用ReadFile()函数,调用底层驱动程序中的XXX_Read函数,读取底层驱动中的内容,获得寄存器中的数据[3-4]。
2.2 温度控制的实现
系统在测量温度的同时,要对温度的高低进行控制,以期使温度满足一定的要求,因此,温度控制的实现也是本系统中的一个重要功能。
2.2.1 温度控制总体设计
温度由固态继电器控制电加热丝实现,继电器的控制信号由ARM的PWM输出控制,与A/D转换相似,PWM的信号由应用程序调用流驱动接口函数控制相应的寄存器来实现。
系统的温度控制分为自动模式和手动模式。自动模式情况下根据检测到的传感器数据,按照预先设定好的程序控制继电器,对电热炉进行加热;切换到手动模式时,会屏蔽自动模式的程序,根据用户的要求来执行继电器的相应操作。
在自动模式的程序设计中,当温度低于某一设定值(即临界温度)时,启动相应的继电器进行加热,加热炉采用不同功率的电热丝,温度越低启动电热丝的功率越大,以使温度能够快速回到目标温度;考虑到电热丝加热后会有余温,在距离目标温度尚有一定距离时,即停止加热(停热温度),余温会使温度继续上升,当温度下降之后再启动继电器,根据下降的温度不同,再次启动不同功率、不同数量的电热丝进行工作,如图4所示。
在手动调节模式下,会对自动模式中的程序进行屏蔽,而只是根据操作者的规定进行调节。手动模式可以根据需要在自动模式需要关闭的情况下进行短时间的控制。
2.2.2 温度精确控制的实现
电热炉应用场合一般比较复杂,受到较多的干扰,其具有严重的非线性以及时变性,确定模型的常规控制方法很难实现温度的精确控制。
传统的模糊控制方法是将不确定的控制对象模型变量用模糊条件语句进行描述,并根据经验确定模型的各个参数及控制规则;自适应控制方法是通过自适应学习、联想、类比等能力来调整控制参数的权值、减小误差的一种控制方法,具有很好的容错性和鲁棒性。本系统采用模糊控制与自适应控制相结合的方法,结合两种控制方法的优点,以达到对温度的精确控制[5]。
系统中加入性能测试部件、控制量校正部件和控制规则修正部件,以实现系统的自适应控制。
根据得到的最新的校正量与前一次的偏差、偏差变化率以及控制量,由控制规则修正部件建立新的控制规则以及相关的校正系数并储存,作为下一次的校正规则。
如此循环,达到自动调整控制规则以适应新变化的目的,以160 ℃控制为例,其仿真图如图8所示,其中曲线①为模糊自适应控制,曲线②为普通PID控制。
根据输出量,执行单元设置PWM波的占空比,调节固态继电器信号,控制电热丝的加热间隙,对电热炉进行加热,并根据温度的高低启用不同的电加热丝,令系统的温度控制执行单元更加精确。
2.3 数据存储的实现
系统另一个重要作用是将外部传感器采集到的数据进行存储,以备后续的查询使用。
系统扩展在板128 MB Nand Flash存储以及支持32 GB的外部SD扩展槽,为数据存储提供了足够的空间。系统搭载有WINCE操作系统,其支持嵌入式数据库的操作,为数据的存储提供了软件支持。
系统存储功能利用ADOCE实现,应用程序采用ADO技术通过OLE可以对数据库中的数据进行访问和处理。数据库访问原理如图9所示。ADOCE是微软公司为WINCE所有数据类型提供的战略性高级接口,为数据访问提供了一种高性能、统一的方式,为WINCE操作系统中增加了一种新的数据库功能[3,7]。
本系统利用ADOCE,在WINCE系统下调用ADO的一系列对象,如Connection、Recordset、Field、Error函数,在ARM内部存储空间中创建Access数据库,在Access中创建相应的表格,表格中除了存储数据之外,还可以根据要求存储时间、日期。存储的数据可为以后的工作提供查询、借鉴。
本套系统采用嵌入式处理器,实现了对加热炉温度精确、快速的采集与控制,嵌入式系统的搭载,克服了传统数据采集系统终端的缺点,使得炉内温度的显示更加形象直观,控制更加方便。模糊自适应控制使得温度控制更加精准。嵌入式处理器与系统的结合,实现了一系列如炉体温度存储、温度超限报警提示等功能,整个系统在软件和硬件方面的兼容性和可扩展性都很强,便于系统间的交流和日后升级。随着嵌入式处理器和嵌入式系统的不断完善与发展,此电热炉温度采集与控制系统的设计理念将会有很好的实用和参考价值。
参考文献
[1] 鲁力,张波.嵌入式TCP/IP协议高速电网络数据采集系统[J].仪器仪表学报,2009,30(2):405-409.
[2] Samsung.S3C2410X32-BIT RISC Microprocessor User’s Manual[S].2003.
[3] 孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.
[4] FLETCHER N H,ROSSING T D.The physics of musical instruments(2nded)[M].Berlin:Springer-Verlag,1998.
[5] 刘兴堂.应用自适应控制[M].西安:西北工业大学出版社,2003.
[6] FORSBERG C,KARR H.High performance PID regulator for EAF control[C].Steel Technology International,1997:151-157.
[7] 何宗键.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社,2006.