一款基于FPGA的智能热水器设计
间模块功能就是一个数字计器,它由FPGA通过记录基准频率的次数决定,主要包括间设置和间运行计两个功能。
2.3 用户信息模块
用户信息模块主要完成用户信息得设置、储存和读取并联合时间模块实现时间计算与控制,包括用户信息设置和RAM写操作模块、RAM模块、信息读操作和数据转换模块和时间计算模块。本模块的实现方法为,信息设置模块把用户信息储存在RAM内,信息读取模块在适当的时间读取相应数据,根据数据计算出加热所需要的时间,并在加热时间到来时,输出有有效信号和当前的有用信息给与控制模块。
2.4 水温水位控制模块
水位控制包括]种水位状态,根据不同输出电平信号判断水箱水位,然后根据比较语句判断结果,执行水位状态程序,输出相应的操作控制信号,启动或者暂停执行元件实现水位的自动控制。水位控制流程图如图5所示。
在常规PID的应用中,P、I、D 3个参数往往根据现场设备情况或调试经验人工设定的,通过调试参数以改变控制性能。PID控制是最早发展起来的控制策略之一,由于其算法结构清晰,参数可调,算法简单高效,可在现场根据实际来调节比例、积分、微分3个参数来达到较好的控制效果,在温度控制系统中被广泛采用。PID控制系统原理如图6所示。
完整的模拟PID算法表达式为:
(1)式中,u(t)为控制量,e(t)为偏差,即设定值与反馈值之差,Kp为比例常数,Ti为积分时间常数,Td为微分时间常数。PID算法的原理即调节Kp,Ti,Td3个参数使系统达到稳定。
FPGA对信号处理前,必须将(1)式数字化,当采样周期足够短时,用累加求和替代积分、用向后差分代替微分,于是就得到差分方程:
式(5)即为数字PID算法公式。
Ziegler-Nichols(齐格勒-尼柯尔斯)参数整定它是在实验阶跃响应的基础上,或者是在仅采用比例控制作用的条件下,根据临界稳定性中的Kp值建立起来的。当被控对象的传递函数可以近似为带延迟的一阶系统:
齐格勒-尼柯尔斯给出了用表1中的公式确定kp、Ti、Td的值的方法。
用Ziegler-Nichols法则调整PID控制器,给出下列公式:
由电热水器温度控制系统的传递函数得:K=1.25,T=120秒,τ=122秒。
得Ti=2’=244秒,Td=61秒
根据齐格勒-尼柯尔斯参数调整法则得PID 3个参数为:
Kp=1.2T/τ=1.2 x 120/122=1.180 3
Ki=Kp/Ti=1.180 3/244=0.004 84
Kd=Kpx Td=1.180 3x61=71.998
由于FPGA不好处理浮点数,对离散信号作近似处理后得:
仿真时序如图7:
3 结束语
基于Actel Fuions FPGA的智能热水器控制系统,实现了水温、水位的检测和智能控制,能够适时加热从而达到保温效果,还可以根据水位自动上水,实现热水器的智能控制。该系统也可用在太阳能热水器上用来实现水温显示和液位控制,具有体积小,成本低的特点。本系统不但自身具有很好的稳定性,由于其使用PID算法实现加热保温控制,也使得整个家庭电力系统受其冲击很小。本文的最大创新点在于可以预设时间、可以远程控制烧水、可以自动调节水温和水位,这样可以为家庭甚至国家节约很多能源和水资源。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)