一种基于FPGA的温度自动控制系统研究设计
时间:11-09
来源:互联网
点击:
温度控制系统应用广泛,温度是一个重要而普遍的热工参数。常规的温度控制方法是设定一个温度范围,超出设定允许范围即进行温度调控。这种方法实现简单、成本低,但控制效果不理想,控制温度精度不高、达到稳定点的时间长,因此,只能用在精度要求不高的场合。而采用PID算法进行温度控制,具有控制精度高、能够克服容量滞后的特点,适用于控制品质要求高的控制系统。
单片机作为控制系统的核心部分,广泛应用。利用单片机控制温度系统,对环境检测具有极高的灵敏度,能够实时实现温度调节,且效率极高。
1 系统总体方案设计
该温度控制系统的前级采用LM35型模拟集成温度传感器来采集温度信号并转化为电压信号,再经过前级放大后送入ADS7886采样输出数字信号,将得到的数字信号送入单片机,单片机通过对采样信号和用户输入信号的分析自动选取合适的PlD系数并计算出相应的加热(或制冷)波形的占空比系数,接着将占空比系数送入FPGA,由FPGA内部构建的DDS读取相应的占空比并转化为波形输出,驱动制冷片工作,从而实现木箱内部温度的自动控制,系统总体设计框图如图1所示。该系统设计采用大屏幕点阵式LCD和按键进行人机交互,使得系统操作简单快捷,同时LCD还可实时显示测量得到的温度值,并绘制出坐标图像,统计信息明确直观。
2 系统硬件设计
2.1 前级采样电路
LM35是电压输出型温度传感器,当温度在0 ℃时输出电压为零,当电压每上升1℃输出电压便增加10 mV。较小的电压对A/D采样的精度会造成比较高的影响。所以在LM35输出端连接一个同相放大器。考虑放大时的精度和对共模干扰信号抑制需要,这里选用精密高共模抑制比的运算放大器OPA277。由于实验要求测量精度为0.1℃,要求在5~35℃范围内至少取样300个点,因此,至少选用9位的A/D转换器进行采样才能满足实验要求,考虑到功能扩展的需要,这里选用12位高精度的串口ADS7886来实现。
2.2 加热致冷切换控制电路
系统必须实现加热和制冷2种功能,制冷片当电压极性相反时,其制冷面和散热面也会交换。则系统电路必须包含加热制冷切换模块,该模块采用2个直流继电器来实现,具体电路如图3所示。
2.3 FPGA设计
FPGA是该温度控制系统设计的核心,在FPGA中实现加热制冷切换控制模块以及A/D采样模块2个核心部分,在加热制冷控制切换模块中,采用2个继电器控制半导体控制制冷片两端电压极性,A/D采样模块采用状态机控制A/D转换器对放大器OPA277的采样过程。具体电路如图4所示。由以上实验数据可以看出,温度读数精度可以达到0.1℃,同时设定的温度读数和最终结果最大偏离为1.1℃,说明该温度自动控制系统精度较高。同时通过第2组数据可以看出,当温差大于15℃时达到指定温度所需的时间只要148 s,说明该系统设计平衡温度时间较短。
3 系统软件设计
该系统充分利用了FPGA的强大功能,将LCD接口电路,键盘接口电路,信号串并行转换电路,以及DDS信号发生器全部构建在内部,使得硬件连接简单明了,外部硬件只有2个模块:温度信号采集转换模块和制冷片驱动模块。由于外设相对简单,调试时候相当方便,同时可以方便修改FPGA内部结构对系统的功能进一步修改和扩展,使得系统功能更强大,应用范围更广泛。图5为该系统软件设计流程。
4 测试数据与分析
考虑到外部环境的变化会对系统调温造成一定干扰,因此将装置放在装有空调的实验室进行调试,同时为了精确测定木盒内部温度,以便选择相应的PID控制系数,选用高精度的数字温度计同时对盒内温度进行实时测量。表1给出了实际测试的比较结果。
5 结束语
本系统软件设计的关键在于控制算法。PID结合拟合分段算法必须尽量减少其他因素的影响,精确确立相应的PID参数。而硬件设计应选用高精度高速器件,以获得足够快的速度与足够高的精度,绝热和散热是设计成功的决定因素。木盒绝热性差,盒内温度受到外界影响大,只有绝热好,温度变化才能理想。此外,制冷片热端的散热对系统也有很大影响。系统测量的误差来源主要是温度传感器在测量温度时存在非线性误差,前级放大电路引入新的干扰,A/D采样时带来的量化误差等。另外,由于后级功率控制电路中的光电耦合开关具有一定的功率损耗,导致控制加热或升温时间内达不到设定的功率,以致温度调节存在误差。
单片机作为控制系统的核心部分,广泛应用。利用单片机控制温度系统,对环境检测具有极高的灵敏度,能够实时实现温度调节,且效率极高。
1 系统总体方案设计
该温度控制系统的前级采用LM35型模拟集成温度传感器来采集温度信号并转化为电压信号,再经过前级放大后送入ADS7886采样输出数字信号,将得到的数字信号送入单片机,单片机通过对采样信号和用户输入信号的分析自动选取合适的PlD系数并计算出相应的加热(或制冷)波形的占空比系数,接着将占空比系数送入FPGA,由FPGA内部构建的DDS读取相应的占空比并转化为波形输出,驱动制冷片工作,从而实现木箱内部温度的自动控制,系统总体设计框图如图1所示。该系统设计采用大屏幕点阵式LCD和按键进行人机交互,使得系统操作简单快捷,同时LCD还可实时显示测量得到的温度值,并绘制出坐标图像,统计信息明确直观。
2 系统硬件设计
2.1 前级采样电路
LM35是电压输出型温度传感器,当温度在0 ℃时输出电压为零,当电压每上升1℃输出电压便增加10 mV。较小的电压对A/D采样的精度会造成比较高的影响。所以在LM35输出端连接一个同相放大器。考虑放大时的精度和对共模干扰信号抑制需要,这里选用精密高共模抑制比的运算放大器OPA277。由于实验要求测量精度为0.1℃,要求在5~35℃范围内至少取样300个点,因此,至少选用9位的A/D转换器进行采样才能满足实验要求,考虑到功能扩展的需要,这里选用12位高精度的串口ADS7886来实现。
2.2 加热致冷切换控制电路
系统必须实现加热和制冷2种功能,制冷片当电压极性相反时,其制冷面和散热面也会交换。则系统电路必须包含加热制冷切换模块,该模块采用2个直流继电器来实现,具体电路如图3所示。
2.3 FPGA设计
FPGA是该温度控制系统设计的核心,在FPGA中实现加热制冷切换控制模块以及A/D采样模块2个核心部分,在加热制冷控制切换模块中,采用2个继电器控制半导体控制制冷片两端电压极性,A/D采样模块采用状态机控制A/D转换器对放大器OPA277的采样过程。具体电路如图4所示。由以上实验数据可以看出,温度读数精度可以达到0.1℃,同时设定的温度读数和最终结果最大偏离为1.1℃,说明该温度自动控制系统精度较高。同时通过第2组数据可以看出,当温差大于15℃时达到指定温度所需的时间只要148 s,说明该系统设计平衡温度时间较短。
3 系统软件设计
该系统充分利用了FPGA的强大功能,将LCD接口电路,键盘接口电路,信号串并行转换电路,以及DDS信号发生器全部构建在内部,使得硬件连接简单明了,外部硬件只有2个模块:温度信号采集转换模块和制冷片驱动模块。由于外设相对简单,调试时候相当方便,同时可以方便修改FPGA内部结构对系统的功能进一步修改和扩展,使得系统功能更强大,应用范围更广泛。图5为该系统软件设计流程。
4 测试数据与分析
考虑到外部环境的变化会对系统调温造成一定干扰,因此将装置放在装有空调的实验室进行调试,同时为了精确测定木盒内部温度,以便选择相应的PID控制系数,选用高精度的数字温度计同时对盒内温度进行实时测量。表1给出了实际测试的比较结果。
5 结束语
本系统软件设计的关键在于控制算法。PID结合拟合分段算法必须尽量减少其他因素的影响,精确确立相应的PID参数。而硬件设计应选用高精度高速器件,以获得足够快的速度与足够高的精度,绝热和散热是设计成功的决定因素。木盒绝热性差,盒内温度受到外界影响大,只有绝热好,温度变化才能理想。此外,制冷片热端的散热对系统也有很大影响。系统测量的误差来源主要是温度传感器在测量温度时存在非线性误差,前级放大电路引入新的干扰,A/D采样时带来的量化误差等。另外,由于后级功率控制电路中的光电耦合开关具有一定的功率损耗,导致控制加热或升温时间内达不到设定的功率,以致温度调节存在误差。
单片机 传感器 电压 FPGA LCD 电路 温度传感器 放大器 运算放大器 继电器 半导体 信号发生器 相关文章:
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- FPGA作为协处理器在实时系统中的应用(04-08)
- 我的FPGA学习历程(05-23)