基于FPGA的温度控制系统设计与实现.docx
- 文档编号:7884561
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:8
- 大小:142.92KB
基于FPGA的温度控制系统设计与实现.docx
《基于FPGA的温度控制系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA的温度控制系统设计与实现.docx(8页珍藏版)》请在冰豆网上搜索。
基于FPGA的温度控制系统设计与实现
2011年6月陕西理工学院学报(自然科学版
第27卷第2期JournalofShaanxiUniversityofTechnology(NaturalScienceEditionJune.2011Vo.l27No.2
[文章编号]1673-2944(201102-0015-05
基于FPGA的温度控制系统设计与实现
王春侠,聂翔12
(1.陕西理工学院电气工程系,陕西汉中723003;2.陕西理工学院电信工程系,陕西汉中723003
[摘要]基于FPGA与温度传感器DS18B20设计实现了单回路水箱温度PID控制系统。
软件主要包括PID控制算法及PWM波产生模块、DS18B20驱动模块、数码管显示驱动模块等
3个模块。
仿真结果验证了设计的正确性。
实验结果表明,系统输出温度达到微小超调的稳
定控制要求,体现了该设计方法的有效性和实用性。
[关键词]FPGA;VerilogHDL;PID控制;DS18B20;测温
[中图分类号]TP273[文献标识码]A
基于微处理器的温度控制系统改变了传统模拟温度控制系统参数整定不灵活的问题。
但是常规微处理器无法避免在恶劣环境下程序跑飞的问题。
利用FPGA实现温度控制系统的设计,不仅可以提高系统的运算速度、减小系统的体积,还可以增强系统的可靠性,具有较强的应用前景。
本文首先针对Altera公司的CycloneII系列FPGA芯片,基于QUARTUSII软件,采用verilogHDL编程设计了主要包括PID控制算法及PWM波产生模块、DS18B20驱动模块、数码管显示驱动模块等功能模块程序。
然后用Modelsim软件仿真验证了各模块的正确性。
最后以水箱为被控对象,以目前市场上性价比较高的FPGA芯片EP2C8Q208C8为核心器件,结合温度传感器DS18B20、键盘、数码管以及固态继电器等器件设计实现了单回路水温PID控制系统。
在控制温度为30~90的实验条件下,误差小于1,系统输出温度达到微小超调的稳定控制要求。
1系统设计
单回路水箱温度控制系统的结构如图1所示,虚线框内部分是系统的核心,用一片FPGA实现。
其中,clock生成器用于将系统时钟分频及产生定时,用户接口接受用户键盘输入及驱动LED显示。
PID控制器用于实现PID控制算法,PWM波发生器用于脉宽调制,以控制固态继电器的通断来达到控制加热功率的目的。
传感器接口用于对温度传感器DS18B20进行数据采样控制。
1.1PID控制器的实现
常规PID控制器结构清晰、参数调节方便、鲁棒性强,并且算法简单高效,在工业现场是应用最广泛的控制器。
模拟PID控制表达式如
1tde(tu(tkp[e(t+e(TdT+T]dTi0dt(1
其中,kp为比例增益,Ti为积分时间常数,Td为微分时间常数,e(t=r(t-y(t为偏差,u(t为控制量。
位置型数字PID控制算法如式(2
u(k=kp[e(k+Ti
ke(i+Td]Ti=0k(2
=kpe(k+kie(i+kd[e(k-e(k-1]
i=0
收稿日期:
2010-11-30基金项目:
陕西省教育厅基金资助项目(09JK378。
作者简介:
王春侠(1969-,女,陕西省眉县人,陕西理工学院副教授,主要研究方向为自动控制理论、EDA技术等。
陕西理工学院学报(自然科学版第27卷
图1水温控制系统结构图
其中,T为采样周期,k为采样序号。
增量型数字PID控制算法如式(3
u(k=u(k-u(k-1
=kp[e(k-e(k-1]+kie(k+kd[e(k-2e(k-1+e(k-2]
所以
u(k=u(k-1+u(k=u(k-1+up+ui+ud
式中,up=kp[e(k-e(k-1],ui=kie(k,ud=kd[e(k-2e(k-1+e(k-2]。
(4(3
用FPGA实现式(4时,需要进行减法运算和乘法运算。
乘法器用Altera提供的可定制位宽的宏功能模块LPM_MULT实现。
LPM_MULT具有流水线输出功能,可以提高乘法运算的速度。
对减法运算,根据被减数-减数=被减数+(-减数,将减法运算变成符号数的加法运算。
符号数以补码形式表示,最高位为符号位,1表示负数,0表示正数;其他位为数值位,负数的数值位等于它的反码加1。
在用VerilogHDL语言表达符号数时,需要判断符号位来确定正负。
描述ud=kd[e(k-2e(k-1+e(k-2]的VerilogHDL语言代码如下:
if(ek_1[7]==1
beginresult_med=(~(ek_1-1*2;end
else
beginresult_med=~((ek_1*2-1;end
d_med=ek+result_med+ek_2;
if(d_med[7]==1
begind_med=~(d_med-1b1;ud=kd*d_med;ud=~ud+1b1;end
else
beginud=kd*d_med;end
up和ui的描述方法依此类推。
若采用PID控制器的其他结构形式,只需改变up,ui和ud的形式。
1.2PWM波发生器的实现
PWM波发生器根据PID控制器的输出量u(k确定PWM波在一个采样周期内高低电平的定时值。
为了节省整体设计时间和FPGA资源,以1/1000采样周期为计数时钟,先使高电平计数器减法计数直到0,在此期间,PWM端口输出高电平,再使低电平计数器减法计数直到0,在此期间,PWM端口输出低电平。
PWM发生器的部分VerilogHDL源代码如下:
//u=u+up+ui+ud;vs_h<=u;vs_l<=16b0000_0011_1110_1000-u;
if((vs_h==16b0&&(vs_l==16b0
beginflag<=0;end
else
begin
第2期王春侠,聂翔基于FPGA的温度控制系统设计与实现
if(vs_h!
=16b0
beginvs_r<=1;vs_h<=vs_h-1;end
elseif(vs_!
l=16b0
beginvs_r<=0;vs_l<=vs_l-1;end
elseflag<=0;end
1.3DS18B20接口的实现
DS18B20是单总线数字温度传感器,它将半导体温敏器件、A/D
转化器、存储器等做在一个很小的集成电路芯片上,传感器直接输出
温度信号数字值的补码。
具有微型化、低功耗、高性能、抗扰能力强、
易于接口等优点,适合于水温测控系统。
DS18B20接口通过单总线对温度传感器DS18B20进行的操作
主要包括初始化,发送ROM命令,发送功能命令。
而这些操作反复
进行,适合用状态机实现。
使用状态机不仅克服了纯硬件数字顺序
方式控制不灵活的缺点,而且在性能上优于CPU。
另外,状态机构成
性能良好的同步时序,可以有效克服竞争冒险现象。
DS18B20接口状态机由如图2所示的8个状态组成:
(1RE
SET1:
对DS18B20进行初始化,等待600s后进入JUDGE。
(2
JUDGE:
检测DS18B20是否存在。
若不存在,返回RESET1;否则延
时400s后进入SKIP1。
(3SKIP1:
向DS18B20发送跳过ROM匹
配命令,然后进入CONVERT。
(4CONVERT:
向DS18B20发送启动
温度转换命令,等待750s后进入RESET2。
(5RESET2:
对
DS18B20复位,等待600s后进入SKIP2。
(6SKIP2:
向DS18B20
发送跳过ROM匹配命令,然后进入GET。
(7GET:
从DS18B20中
读取温度测量值,然后进入STORE。
(8STORE:
把所读取的温度测
量值放入寄存器中,返回原始状态。
其中CONVERT和GET两个状
态嵌套使用了状态机,以完成DS18B20严格的写和读时序。
1.4顶层模块设计
采用自上向下的设计方法将FPGA实现的功能分成DS18B20驱动模块、PID控制算法及PWM波产生模块和显示驱动模块等3个功能模块。
DS18B20驱动模块实现1s信号的产生、延时和DS18B20接口状态机。
PID控制算法及PWM波产生模块实现采样时钟信号的产生、初始温度屏蔽、温度设定、PID算法以及PWM波的产生。
显示驱动模块实现动态扫描显示时钟信号的产生、段码和位码的译码,以驱动4个七段数码管动态扫描显示百位、十位、个位和小数位数据。
将这3个模块分别用VerilogHDL设计成功后,在顶层模块中进行例化的源代码为:
modulemydesign(
inputCLOCK_50,
inputQ_KEY,
inoutDS18B20,
output[7:
0]o_seg,
output[3:
0]o_se,l
outputvs
;
wire[15:
0]t_bu;f
wire[8:
0]vs_h;
//获取温度值//17图2DS18B20接口状态机//板载50MHz时钟//板载按键RST//七段数码管段脚//七段数码管位脚
陕西理工学院学报(自然科学版第27卷
ds18b20_driveds18b20_u0(
.clk(CLOCK_50,
.rst_n(Q_KEY,
.one_wire(DS18B20,
.temperature(t_buf
;
//显示温度值//
seg7x8_driveseg7_u0(
.i_clk(CLOCK_50,
.i_rst_n(Q_KEY,
.i_data(t_buf,
.o_seg(o_seg,
.o_sel(o_sel
;
//控制温度//
temp_pidu1(
.clk(CLOCK_50,
.rst_n(Q_KEY,
.temp_data(t_buf[15:
4],
.vs(vs
;
endmodule
2测试及实验结果
设给定值r=60,温度采样值tem_data=25,kp=100,ki=0,kd=1,clk=50MHz,rst_n=1。
PID控制算法及PWM波产生模块测试文件的时序图如图3所示。
可见,初始位置ek=35,初始温度屏蔽有效(屏蔽标志flag1=1;采样时钟信号flag的周期为1s;PWM波vs与其高低电平计数值vs_h、vs_l及占空比标志flag3
的关系是正确的。
图3测试文件时序图
以水箱为被控对象,以EP2C8Q208C8为核心,采用DS18B20采集温度数据,PWM调功方式控制过零型交流固态继电器ASRP-1,4个共阴极数码管作温度显示器,构建水温控制系统并进行了实验测试。
在控制温度为30~90的实验条件下,误差小于1,系统达到微小超调的稳定控制要求。
第2期王春侠,聂翔基于FPGA的温度控制系统设计与实现
[参考文献]
[1]王春侠.平面交叉路口多相位交通信号控制系统设计[J].陕西工学院学报,2004,20(2:
4-6.
[2]王春侠.基于面积等效法的SPWM发生器的设计[J].微计算机信息,2008,24(2:
216-217,104.
[3]张军利.单周控制DSTATCOM的建模及实现[J].陕西理工学院学报(自然科学版,2009,25(1:
22-26.
[4]薛弘晔,郑晓华.基于LabWindows/CVI的电液伺服控制系统的设计[J].陕西理工学院学报(自然科学版,2009,
25(3:
41-44.
[5]于宗光.SoC和FPGA技术未来的发展趋势[J].电子与封装,2006,6(3:
1-5.
[6]李林.FPGA在集成电路瞬态特性测试中的应用[J].陕西理工学院学报(自然科学版,2011,27(1:
21-26.
[7]王水鱼,王晓芬.基于FPGA和PC机的客流统计系统设计[J].陕西理工学院学报(自然科学版,2010,26(1:
11-15.
[8]姚琳.在嵌入式系统中用FPGA进行开发的几个发展方向[J].今日电子,2007(6:
125-127.
[9]付学志.基于FPGA的高速PID控制器设计与仿真[J].电子技术应用,2007(1:
87-89.
[责任编辑:
李少凌]
DesignandimplementationoftemperaturecontrolsystembasedonFPGA
WANGChunxia,NIEXiang12
(1.DepartmentofElectricalEngineering,ShaanxiUniversityofTechnology,Hanzhong723003,China;
2.DepartmentofElectronics&InformationEngineering,
ShaanxiUniversityofTechnology,Hanzhong723003,China
Abstract:
BasedonFPGA,thewatertanktemperaturecontrolsystemisdesignedandimplementedwithDS18B20asthetemperaturesensor.Thesoftwaresystemmainlyconsistsofthreemodules,includingPIDcontrolalgorithmandPWMwavegeneratingmodule,DS18B20drivingmoduleandLEDdisplaydrivingmodule.ThesimulationwithModelsimvalidatesthatthedesignresultiscorrec.tTheexperimentresultsindicatethatthesystemoutputobtainstheresultoflittleovershootandstabilization,whichshowsthattheapproachofdesigniseffectiveandpractica.l
Keywords:
FPGA;verilogHDL;PIDcontrolalgorithm;temperaturemeasuringwithDS18B20(上接第14页
Oncreativedesignoflandscapegarage
SUNZhixue
(SchoolofMechanicalEngineering,ShaanxiUniversityofTechnology,Hanzhong723003,China
Abstract:
Byresearchingandanalyzingpresentparkingproblemsincommunities,thispaperputsforwardthedesignideaofcombiningthecommunitylandscapewiththeparkingspace,thentheconceptoflandscapegarageisintroduced,andthenmultiplesolutionsarediscussedtotheprivatecarsparkingincommunitiesbythemethodofbrainstorming.TheshellprojectisdevelopedindetailaccordingtotheFuzzyAssessmentTheorythestructure,shape,effectpicturesarefinishedprecisely.Thisdesignofintegratinglandscapewithgaragebeautifiestheenvironmen,tgreatlyimprovesspaceutilization,andeasestheparkingproblems.
Keywords:
garage;landscape;landscapegarage;parking19
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 温度 控制系统 设计 实现