基于FPGA的温控系统在制冷工况中的应用研究
2010-09-25高明亮杜士鹏
包 妍 ,袁 宏,高明亮 ,杜士鹏
(1.沈阳工业大学 电气工程学院,辽宁 沈阳 110136;2.沈阳工程学院 自控系,辽宁 沈阳 110136)
0 引言
目前,相关行业领域一直在不断探索研究节能、智能、过程简化的温度控制方法。本文研究以FPGA芯片为核心的温度控制系统,将其应用在制冷工况中。
此系统采用自顶向下的设计方法,使用模块化设计,配以硬件语言编程,只修改源程序,不必更改硬件电路,就可实现在线编程,时时控制,从而有效地减少系统的体积,不但增加了系统可靠性,降低研制成本,并且能够对控制逻辑进行修改升级,十分灵活。基于FPGA芯片开发的设计方法和控制方式,正得到越来越多的应用[1]。图1为采用FPGA技术构建的系统结构图。
图1 系统结构图
1 温度采集电路单元
传统模拟信号温度检测通常使用热敏电阻等器件作为感温元件,这类器件需A/D转换等后续处理电路,且可靠性相对较差,使用中需要解决引线误差补偿、多点测量误差和放大电路零点漂移误差等技术问题。另外,温度采集现场各种电磁干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。
为了克服上述一系列问题,本研究采用美国Dallas半导体公司1-Wire系列的高精度数字式温度传感器DS18B20。它具有超小体积,超低硬件资源占用率,抗干扰能力强,精度高,附加功能强等诸多优点。
1.1 DS18B20的内部结构
DS18B20的内部结构如图2[2]所示 。主要由四部分组成:光刻ROM、温度传感器、非易失性的温度报警触发器TH和TL配置寄存器。
图2 DS18B20 内部结构图
1.2 DS18B20 测温原理
DS18B20测温原理:低温度系数晶振振荡固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化振荡率明显改变,产生信号作为计数器2脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1预置值减到0时,温度寄存器值将加1,计数器1的预置重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此直到计数器2计数到0时,停止温度寄存器值累加,此时温度寄存器中的数值即为所测温度。
1.3 DS18B20的工作过程
参照图2,访问DS18B20的流程:初始化,发送ROM命令,发送功能命令,使主设备知道从设备存在并可以工作。通过发送ROM命令可以知道某特定的DS18B20是否存在或者是否超过温度设定闸门值。
发送功能命令,即可读写DS18B20的存储区,启动温度转化,设定电源供电方式。每个命令均对应不同代码,在总线上传送时,由器件根据接收代码完成相应操作。DS18B20的单线通信功能为分时完成。主要操作时序分为:初始化、主机写0、主机写1、主机读0、主机读1。
2 FPGA监测控制单元
2.1 FPGA芯片
本研究采用支持SOPC的芯片EP2C8Q208作为系统控制器。它是Cyclone II系列的FPGA芯片,支持Nios II嵌入式处理器。采用这个系统解决方案可以缩短开发周期、减少器件数目、提高了系统可靠性,使系统易实现、易升级、易移植,具有较强的适应性和可扩展性。
2.2 FPGA通信、控制过程
在FPGA芯片中设计接口,用该接口对温度传感器DS18B20进行检测采集,测得温度值存入FPGA内部寄存器中作数据处理,计算比较当前热量值是否足够达到平衡,使整个系统做出反应进行相应控制,如控制制冷系统闸门开启个数及报警指示等。
EP2C8Q208通过使用Quartus II软件、Nios II集成开发环境(IDE),可以很好地完成对系统的控制。本研究根据系统的偏差变化率来控制,温度控制系统的结构如图3所示。
图3 控制器构成的控制系统结构
(1)
由于采样过程中采样周期固定不变,为简化运算过程,本设计中用偏差变化量来代替偏差变化率,如式(2)所示。
(2)
1)偏差e的计算。由于时刻k时偏差为e(k)=r-c(k),对于FPGA来说只要一个减法器便可实现运算。设在FPGA设计中当前时刻为n,则偏差E(n):E(n)=R-C(n)=R+NOT{C(n)}+Cin。一般设定值和实际值都是正数,此时偏差为:
E(n)=R-C(n)={0,R}+NOT{0,C(n)}+Cin
(3)
(4)
式(4)中,X1(n)、X2(n)用来判断偏差的范围,X3(n)、X4(n)用来判断偏差变化率的范围。
X1(n)=E(n)+E0=E(n)-(-E0)
(5)
根据公式(5)可以推断偏差的工况,即:
IF Xl(n)符号位为‘1’
THEN Xl(n)<0 //即E(n)< (-E0)
IF Xl(n)符号位为‘0’,
THEN Xl(n)1≥0 //即E(n)≥(-E0)
3 结语
通过对DS18B20数字传感器结构性能、温度采集方式、通信过程进行分析,同时对FPGA芯片EP2C8Q208的使用特点进行分析,研究出合理的将二者有机结合,应用于制冷工况的温度控制方法。该系统时时接收温度参数,计算比较热量值是否达到要求,并做出相应的温度控制,以其非常简洁的硬件电路、稳定的方式控制系统制冷量。本研究亦可扩展报警指示等功能,具有广泛应用前景。
[参考文献]
[1] Robert Francis, Jonathan Rose, Zvonko Vranesic. Fast technology mapping for lookup table-based FPGAs [C]. Proc of the 28th conference on ACM/IEEE design automation, 1991, 27-233.
[2] DS18B20 Datasheet [ EB/ OL ]. Dallas : Dallas Semiconductor Corporation ,2005.
[3] Narashiman Chakravarthy, Ji-zhong Xiao. FPGA-based control system for miniature robots.The IEEE International Conference on Intelligent Robots and Systems[C].Beijing.2006:3399-3404.
[4] 谭思云,徐武雄.九点控制器的动态性能研究[J].武汉理工大学学报,2002,24(11):78-79.
[5] Sun Xiao-ming,Zhang Nan-lun.Nine-Point controller[C].Proceedings of the 4th World Congress on Intelligent Control and Automation,Shanghai,China,2002, 644-648.