一种基于Fuzzy-PID的参数自整定恒温控制系统
发布时间:2008/6/2 0:00:00 访问次数:586
0 引言
随着技术的发展,半导体激光器在各个领域的应用日益扩展。在军事方面可用作激光引信、深海光通信等,半导体激光器是惟一能够用于弹上引信的激光器;在产业和技术方面半导体激光器是光纤通信系统的惟一实用化光源;在医疗和生命科学研究方面进行的激光手术治疗、生命科学研究也都与半导体激光器密不可分。但是,半导体激光器的输出功率随温度有很大的变化,显然这不是人们所希望的。因此如何精确控制其工作温度相当重要。
该文介绍具有代表性的基于fuzzy-pid参数自整定[2]的半导体激光器恒温控制系统的设计实现。温控系统本身为一个大滞后系统,纯滞后可引起系统不稳定,且半导体激光器的阈值电流对温度变化相当灵敏,因此对其温度控制系统的精度要求较高。设计中采用的fuzzy-pid复合控制方式极大的弥补了单纯采用pid算法的不足,既具有模糊控制鲁棒性强、动态响应好、上升时间快、超调小的特点,又具有pid控制器的动态跟踪品质和稳态精度。对pid参数的模糊自适应整定进一步完善了pid控制的自适应性能,在实际应用中取得了很好的效果。
1 温控系统简述
笔者所设计的小型半导体激光器的实用恒温控制系统由传感器、at89c51单片机、执行机构(可控恒流源[3]、半导体制冷器)及其他一些外围电路如键盘、显示及保护电路等构成闭环控制回路。
控制部分采用自整定fuzzy-pid的复合控制使单片机输出pwm脉冲,进而控制执行机构输出到半导体激光器的电流量,实现小型半导体激光器的实用恒温控制系统。上述提及的“参数自整定”是指系统中由于采用了模糊自适应pid控制算法,系统就可以在没有操作者干预的情况下根据控制系统的实际响应情况,运用模糊推理,自动实现对pid参数的最佳调整,从而以优化方式改变pwm输出波形的占空比,合理的控制恒流源的输出,使小型激光器工作温度保持恒定,从根本上实现自动控制,这也是设计该恒温控制系统的关键所在。
2 硬件设计
系统各部分电路均采用常规器件,成本低,维修方便。
2.1 温度传感器
采用dallas最新单线数字温度传感器ds18b20。ds18b20支持“一线总线”接口,测量温度范围为-55~+125℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
ds18b20为3引脚芯片,如图2所示。dq为数字信号输入/输出端;gnd为电源地;vdd为外接供电电源输入端(在寄生电源接线方式时接地)。ds18b20内部结构主要由4部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。
ds18b20的3脚接+5v,1脚接地,2脚接系统中单片机89c51的一个i/o口,用于将采集到的温度送入单片机中进行处理,2脚和3脚之间接一个4.7k的上拉电阻,即可完成温度采集部分硬件电路。
ds18b20规定了自己的通讯协议,能够将采集 到的温度以数字量的形式存储在内部存储器中。根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过3个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500μs,然后释放,ds18b20收到信号后等待16~60μs左右后发出60~240μs的存在低脉冲,主cpu收到此信号表示复位成功。
ds18b20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在对ds18b20进行读写编程时,必须严格保证上述的读写时序,防止当程序读该ds18b20时,由于某个ds18b20接触不好或断线没有返回信号,而使程序进入死循环。
采用此种温度传感器在一般的精度要求下完全能够达到要求,且因其硬件实现简单,应用将愈加广泛。
2.2 恒流源
采用“4nic朝阳电源”。该电源具有输入极性保护、过流保护、过压保护、过热保护、输出电压大范围可调等优点。通过pwm输出的脉冲对其进行控制完全能满足半导体制冷器所要实现的恒温控制要求。
2.3 半导体制冷器
这是一种热电制冷器。根据热电效应技术的特点,当制冷器有电流流过时,在它的两个面上将分别产生吸热和放热现象。并且电流流向相反时,吸热面和放热面也相反。因此只要控制流过制冷器电流的大小和方向,就能对激光器进行制冷或加热,从而控制激光器的工作温度。特别适用于有限空间的制冷或加热。
系统采用tec1系列。该产品冷却或加热速度快,其冷却或加热速度可通过调节工作电流来控制,便于系统中通过fuzzy-pid参数自整定实现的自动恒温控制。
2.4 键盘及显示的设计
键盘用作控制信息的输入。系统采用4个按键,分别实现系统复位、功能转换、设定温度逐次加1、设定温度逐次减1。系统中初始设定温度为25℃,用户可根据需要自行加减。
系统采用3位共阳极led静态显示当前温度值。显示数据只用一个i/o口,从而节省了单片机端口
0 引言
随着技术的发展,半导体激光器在各个领域的应用日益扩展。在军事方面可用作激光引信、深海光通信等,半导体激光器是惟一能够用于弹上引信的激光器;在产业和技术方面半导体激光器是光纤通信系统的惟一实用化光源;在医疗和生命科学研究方面进行的激光手术治疗、生命科学研究也都与半导体激光器密不可分。但是,半导体激光器的输出功率随温度有很大的变化,显然这不是人们所希望的。因此如何精确控制其工作温度相当重要。
该文介绍具有代表性的基于fuzzy-pid参数自整定[2]的半导体激光器恒温控制系统的设计实现。温控系统本身为一个大滞后系统,纯滞后可引起系统不稳定,且半导体激光器的阈值电流对温度变化相当灵敏,因此对其温度控制系统的精度要求较高。设计中采用的fuzzy-pid复合控制方式极大的弥补了单纯采用pid算法的不足,既具有模糊控制鲁棒性强、动态响应好、上升时间快、超调小的特点,又具有pid控制器的动态跟踪品质和稳态精度。对pid参数的模糊自适应整定进一步完善了pid控制的自适应性能,在实际应用中取得了很好的效果。
1 温控系统简述
笔者所设计的小型半导体激光器的实用恒温控制系统由传感器、at89c51单片机、执行机构(可控恒流源[3]、半导体制冷器)及其他一些外围电路如键盘、显示及保护电路等构成闭环控制回路。
控制部分采用自整定fuzzy-pid的复合控制使单片机输出pwm脉冲,进而控制执行机构输出到半导体激光器的电流量,实现小型半导体激光器的实用恒温控制系统。上述提及的“参数自整定”是指系统中由于采用了模糊自适应pid控制算法,系统就可以在没有操作者干预的情况下根据控制系统的实际响应情况,运用模糊推理,自动实现对pid参数的最佳调整,从而以优化方式改变pwm输出波形的占空比,合理的控制恒流源的输出,使小型激光器工作温度保持恒定,从根本上实现自动控制,这也是设计该恒温控制系统的关键所在。
2 硬件设计
系统各部分电路均采用常规器件,成本低,维修方便。
2.1 温度传感器
采用dallas最新单线数字温度传感器ds18b20。ds18b20支持“一线总线”接口,测量温度范围为-55~+125℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
ds18b20为3引脚芯片,如图2所示。dq为数字信号输入/输出端;gnd为电源地;vdd为外接供电电源输入端(在寄生电源接线方式时接地)。ds18b20内部结构主要由4部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。
ds18b20的3脚接+5v,1脚接地,2脚接系统中单片机89c51的一个i/o口,用于将采集到的温度送入单片机中进行处理,2脚和3脚之间接一个4.7k的上拉电阻,即可完成温度采集部分硬件电路。
ds18b20规定了自己的通讯协议,能够将采集 到的温度以数字量的形式存储在内部存储器中。根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过3个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500μs,然后释放,ds18b20收到信号后等待16~60μs左右后发出60~240μs的存在低脉冲,主cpu收到此信号表示复位成功。
ds18b20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在对ds18b20进行读写编程时,必须严格保证上述的读写时序,防止当程序读该ds18b20时,由于某个ds18b20接触不好或断线没有返回信号,而使程序进入死循环。
采用此种温度传感器在一般的精度要求下完全能够达到要求,且因其硬件实现简单,应用将愈加广泛。
2.2 恒流源
采用“4nic朝阳电源”。该电源具有输入极性保护、过流保护、过压保护、过热保护、输出电压大范围可调等优点。通过pwm输出的脉冲对其进行控制完全能满足半导体制冷器所要实现的恒温控制要求。
2.3 半导体制冷器
这是一种热电制冷器。根据热电效应技术的特点,当制冷器有电流流过时,在它的两个面上将分别产生吸热和放热现象。并且电流流向相反时,吸热面和放热面也相反。因此只要控制流过制冷器电流的大小和方向,就能对激光器进行制冷或加热,从而控制激光器的工作温度。特别适用于有限空间的制冷或加热。
系统采用tec1系列。该产品冷却或加热速度快,其冷却或加热速度可通过调节工作电流来控制,便于系统中通过fuzzy-pid参数自整定实现的自动恒温控制。
2.4 键盘及显示的设计
键盘用作控制信息的输入。系统采用4个按键,分别实现系统复位、功能转换、设定温度逐次加1、设定温度逐次减1。系统中初始设定温度为25℃,用户可根据需要自行加减。
系统采用3位共阳极led静态显示当前温度值。显示数据只用一个i/o口,从而节省了单片机端口