随着技术的发展,半导体激光器在各个领域的应用日益扩展。在军事方面可用作激光引信、深海光通信等,半导体激光器是惟一能够用于弹上引信的激光器;在产业和技术方面半导体激光器是光纤通信系统的惟一实用化光源;在医疗和生命科学研究方面进行的激光手术治疗、生命科学研究也都与半导体激光器密不可分。但是,半导体激光器的输出功率随温度有很大的变化,显然这不是人们所希望的。因此如何精确控制其工作温度相当重要。
该文介绍具有代表性的基于Fuzzy-PID参数自整定的半导体激光器恒温控制系统的设计实现。温控系统本身为一个大滞后系统,纯滞后可引起系统不稳定,且半导体激光器的阈值电流对温度变化相当灵敏,因此对其温度控制系统的精度要求较高。设计中采用的Fuzzy-PID复合控制方式极大的弥补了单纯采用PID算法的不足,既具有模糊控制鲁棒性强、动态响应好、上升时间快、超调小的特点,又具有PID控制器的动态跟踪品质和稳态精度。对PID参数的模糊自适应整定进一步完善了PID控制的自适应性能,在实际应用中取得了很好的效果。
笔者所设计的小型半导体激光器的实用恒温控制系统由传感器、AT89C51单片机、执行机构(可控恒流源、半导体制冷器)及其他一些外围电路如键盘、显示及保护电路等构成闭环控制回路。
控制部分采用自整定Fuzzy-PID的复合控制使单片机输出PWM脉冲,进而控制执行机构输出到半导体激光器的电流量,实现小型半导体激光器的实用恒温控制系统。上述提及的“参数自整定”是指系统中由于采用了模糊自适应PID控制算法,系统就可以在没有操作者干预的情况下根据控制系统的实际响应情况,运用模糊推理,自动实现对PID参数的最佳调整,从而以优化方式改变PWM输出波形的占空比,合理的控制恒流源的输出,使小型激光器工作温度保持恒定,从根本上实现自动控制,这也是设计该恒温控制系统的关键所在。
系统各部分电路均采用常规器件,成本低,维修方便。
采用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接触不好或断线没有返回信号,而使程序进入死循环。采用此种温度传感器在一般的精度要求下完全能够达到要求,且因其硬件实现简单,应用将愈加广泛。
采用“4NIC朝阳电源”。该电源具有输入极性保护、过流保护、过压保护、过热保护、输出电压大范围可调等优点。通过PWM输出的脉冲对其进行控制完全能满足半导体制冷器所要实现的恒温控制要求。
图3恒流源电路
这是一种热电制冷器。根据热电效应技术的特点,当制冷器有电流流过时,在它的两个面上将分别产生吸热和放热现象。并且电流流向相反时,吸热面和放热面也相反。因此只要控制流过制冷器电流的大小和方向,就能对激光器进行制冷或加热,从而控制激光器的工作温度。特别适用于有限空间的制冷或加热。
系统采用TEC1系列。该产品冷却或加热速度快,其冷却或加热速度可通过调节工作电流来控制,便于系统中通过Fuzzy-PID参数自整定实现的自动恒温控制。
图4半导体制冷器
键盘用作控制信息的输入。系统采用4个按键,分别实现系统复位、功能转换、设定温度逐次加1、设定温度逐次减1。系统中初始设定温度为25℃,用户可根据需要自行加减。
系统采用3位共阳极LED静态显示当前温度值。显示数据只用一个I/O口,从而节省了单片机端口资源。
掉电保护电路是为防止系统因为意外掉电导致丢失数据而设计的。集成电路7805为一个单一的+5V稳压块,和备用电源分别通过二极管接到单片机的电源端;当稳压电源略高于+5V时,备用电源不工作,同时555定时器接成单稳形式;为防止干扰产生误动作,应用了光电耦合器TIL113。
整个系统的硬件组成相对简单,但较小的硬件开销需要相对复杂的软件进行补偿,下面较为详细地分析软件的设计。
单片机控制是一种采样控制,系统采用的增量式PID控制算法为:
由于该控制算法不需要累加,控制增量Δu(k)仅与最近的k次采样有关,所以误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。这也是系统采用此增量式PID控制算法作为模糊PID控制器中PID调节器部分算法的主要理由。
自适应模糊PID控制器以误差e和误差变化ec作为输入,可以满足不同时刻的e和ec对PID参数自整定的要求。利用模糊控制规则在线对PID参数进行修改,便构成了自适应模糊PID控制器。
模糊自整定PID是在PID算法的基础上,通过计算当前系统误差e和误差变化率ec,利用模糊规则进行模糊推理,查询模糊矩阵表进行参数调整。
模糊控制设计的核心是总结工程设计人员的技术知识和实际操作经验,建立合适的模糊规则表,得到针对kp、ki、kd 3个参数分别整定的模糊控制。
kp、ki、kd的模糊规则表建立以后根据如下方法进行3参数的自适应校正,将系统误差e和误差变化率ec变化范围定义为模糊集上的论域。
其模糊子集为e,ec={NB,NM,NS,O,PS,PM,PB},子集中元素分别代表负大,负中,负小,零,正小,正中,正大。设e、ec和kp、ki、kd均服从正态分布,因此可得出各模糊子集的隶属度赋值表和各参数模糊控制模型,应用模糊合成推理使在线运行过程中完成对PID参数的在线自校正。
由于C语言编制的函数便于进行模块化的处理,且对于数据的运算相对简单,更加有利于程序的移植及系统的扩展,所以在系统Fuzzy-PID控制算法部分采用C语言实现。系统将整个控制算法作为一个函数以备汇编语言调用。这里就涉及到一个汇编与C51混合编程的问题。系统中采用的是基于ASM51无参数化调用C51函数的原理来实现汇编与C51的混合编程。
所谓无参数化调用是指让C51子函数不带任何参数,就可以从根本上避开调用参数的传递和返回值的安排等繁琐易出错的问题,只需要简单地在汇编语言开头说明一下外部C51子函数(“EXTRNcode(〈C51模块名称〉)”)。至于C51函数中需要使用的外部参数值及其返回值,完全可以通过加入C51的〈absacc.h〉头文件来解决。
引进该头文件后,程序员就可对8051系列单片机的存储器进行绝对地址的访问。把对参数值和返回值的操作转化为对存储器绝对地址的操作,象纯汇编操作一样,不用定义C51函数与汇编接口的参数和返回值的配置,从而提高了调用效率。
对于〈absacc.h〉头文件中的函数原型,可查找C51编译器中的help文件,选择合适的数据类型来定义需要用到的绝对地址空间。系统中Fuzzy-PID控制算法涉及到的数据均以DWORD类型定义。
图5模拟自适应PID控制
整个程序主体部分采用汇编语言编写,在控制算法部分调用了C语言编写的函数。
软件设定定时器T0为5s定时,在无键盘响应时每隔5 s响应一次,以用来获得DS18B20温度传感器采集的数据;设定定时器T1为嵌套在T0中的定时中断,初值由PID算法子程序提供,以用来输出PWM波形控制执行机构的动作。
温度为25℃时,采用Fuzzy-PID控制所得到的经数据处理后的温度控制曲线;给出了Fuzzy-PID控制误差曲线。该温度控制系统具有很好的动态品质,上升时间快,超调较小,且在工作1 h内,即可将控温精度控制在±0.1℃,经测定,半导体激光器的输出光功率波动小于1.5‰,其可信度高。
笔者在半导体激光器的温度控制系统中,设计并使用了这套精密恒温控制系统。需要指出的是,系统可控制的温度范围仅受所采用的温度传感器及相应的执行机构功能的限制,而与控制部分算法无关。由此可知,系统的温度控制范围较大,用户可根据需要自行改变预定的控制温度值。到目前为止,系统已经作为一个经济实用的产品投入生产。
全部0条评论
快来发表一下你的评论吧 !