外腔稳频半导体激光器数字温控电路的设计
毕业设计(论文)
外腔稳频半导体激光器数字温控电路的
设计
学院(系):
专业班级:
学生姓名:
指导教师:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。
作者签名:
年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密囗,在 年解密后适用本授权书
2、不保密囗 。
(请在以上相应方框内打“√”)
作者签名: 年 月 日
导师签名: 年 月 日
本科生毕业设计(论文)任务书
学生姓名: 专业班级: 1
指导教师: 工作单位:
设计(论文)题目: 外腔稳频半导体激光器数字温控电路的设计 设计(论文)主要内容:
设计与制作用于外腔稳频半导体激光器的数字温控电路。要求:温度稳定度达到相应要求;以键盘输入、LCD或LED显示预设与实际输出的电压值,或者在上位机建立友好的用户界面。
要求完成的主要任务:
1、 广泛调研数字温控相关原理及技术,形成方案,完成开题报告;
2、 学习和掌握相关理论知识,完成包括用户界面在内的软、硬件设计、与仿真;
3、 完成软、硬件调测;
4、 绘制电路等相关图、表,折合不少于3张1~2#图纸;
5、 完成15项以上中外文资料的检索,阅读和翻译,其中英文文献不少于2篇、英文资料的阅读和翻译不少于2万英文字符;
6、 完成不少于12000字的毕业设计论文的撰写和修订。
必读参考资料:
1. 李群芳.单片微型计算机与接口技术(第2版).电子工业出版社.2007
2. 常敏. 51单片机应用程序开发与应用实践[M].电子工业出版社,2009
3. Digital temperature regulator . Measurement Techniques . November 1996. Volume 39. Issue 11. pp 1126-1130
指导教师签名: 系主任签名:
院长签名(章)
武汉理工大学
本科学生毕业设计(论文)开题报告
目录
摘 要 ...................................................................... I Abstract ................................................................... II
1.绪论 ...................................................................... 1
1.1课题研究的目的和意义 ..................................................... 1
1.2半导体激光器概述 ......................................................... 1
1.3本课题的设计内容与目的 ................................................... 2
1.3.1 设计要求 2
1.3.2重点研究内容 ........................................................... 3
1.3.3实现途径及方法 ......................................................... 3
1.3.4 系统总体方案设计 ....................................................... 3
2.系统硬件各功能模块的设计 ................................................... 5
2.1主控模块的设计 ........................................................... 5
2.1.1 AT89C52单片机简介 ..................................................... 5
2.1.2复位和时钟电路的设计 ................................................... 7
2.1.3温度传感器的选择 ....................................................... 8
2.1.4 半导体制冷器(TEC) ................................................... 11
2.2人机接口设计 ............................................................ 12
2.2.1键盘的设计 12
2.2.2显示电路的设计 ........................................................ 12
3.软件设计.................................................................. 14
3.1主程序模块 .............................................................. 14
3.2数据采集和显示模块 ...................................................... 15
3.3输入模块 ................................................................ 16
4.PID控制和参数整定 ........................................................ 17
4.1 PID调节器控制原理 ...................................................... 17
4.2 PID控制的分类 .......................................................... 18
4.3 数字PID参数的整定 ...................................................... 20
4.3.1 采样周期选择的原则 .................................................... 20
4.3.2 PID参数对系统性能的影响 .............................................. 21
4.4 PID计算程序 ........................................................... 22
5. 仿真.................................................................... 25
5.1 PROTEUS软件简介 ........................................................ 25
5.2仿真 .................................................................... 26
致 谢 ..................................................................... 28
参考文献.................................................................... 29
附录 ....................................................................... 30
附录1:源程序 .............................................................. 30
附录2:原理图 .............................................................. 35
摘 要
温度对半导体激光器(LD)的工作特性有着极其重要的影响,半导体激光器的输出功率和输出光的中心波长会随着温度的变化而发生变化,激光器的工作寿命也与温度有关,因此要严格控制半导体激光器的温度,保证激光器良好的工作特性。
本文设计了一种用于外腔稳频半导体激光器阵列的数字温度控制系统,该温控系统具有硬件电路简单、集成度高,响应速度快,控制精度高,控制温度范围大等特点。
该数字温控系统使用AT89C52单片机为核心,选用数字温度传感器 DS18B20 测量温度,利用半导体制冷器(TEC)对半导体激光器实现温度控制为了提高温控系统的准确性和稳定性,本文进行了数字 PID 控制器的设计,从而实现对半导体激光器温度的全自动控制,进一步提高了激光器工作特性的稳定。
对数字温度控制系统进行的温度控制实验数据表明,其闭环控制特性符合预期的控制效果。
关键词:半导体激光器;温度控制系统;单片机;半导体致冷;PID控制算法
Abstract
The temperature has a very important influence on the working characteristic of semiconductor laser unit, the output power of semiconductor laser unit and central wavelength of output optical will change as the temperature change, the working life of laser also relates to the temperature, therefore, the temperature of semiconductor laser unit should be controlled strictly, in order to the favourable working characteristic of the laser.
This text designed a digital temperature control system which used for the external cavity stabilized semiconductor laser array, this temperature control system has the characteristic such as simple circuit, high integration level, fast response speed, high control accuracy, control the wide temperature range, and so on.
The digital temperature system of the design used the semiconductor refrigerant in order to temperature controlled to the semiconductor laser, used the AT89C52 single chip for the nuclear temperature control system, choose the digital temperature sensor DS18B20 to measure the temperature, the main component : AT89C52 single chip, temperature sensor, display circuit, temperature control circuit. In order to improve the accuracy and stability of the temperature control system, has designed the digital PID controller, realized the full automatic control to the temperature of the conductor laser, guaranteed the stability of the laser working characteristic .
Processing the temperature control experimental study on the developed digital temperature control system, its closed-loop control characteristic fit the expected control effect. The design and research of semiconductor laser unit temperature control system to realize the temperature control of the solid-state lasers laid the engineering foundation, has the highly practical value.
Key words: semiconductor; temperature control; single chip; semiconductor cooler; PID
武汉理工大学毕业设计(论文)
1.绪论
1.1课题研究的目的和意义
半导体激光器(Laser Diode,简称 LD)是以半导体材料为工作物质的激光器,具有体积小、结构简单、输入能量低、寿命较长、易于调制及价格低廉等优点。在近几十年的发展中,半导体激光器的应用覆盖了整个电子学领域,已成为当今光电子科学的核心技术,其优点使之非常适用于基础研究和军事领域,如雷达、测距、致盲、对潜通信、制导跟踪、引信、瞄准和告警、精密测量等,是光电子对抗中的有生力量,也是研究物质激发态特性试验物理装置中不可或缺的关键部件。除此之外,半导体激光器还被广泛应用于材料加工等方面。
半导体激光器虽然是高效率的电——光转换器件,但由于其不可避免地存在一些损耗机制,使得部分注入的电功率转化为热量,引起激光器温升。半导体激光器的工作物质是 PN 结,对温度极其敏感,温度变化会直接影响到半导体激光器的阈值电流、发射波长、输出功率的稳定性,严重破坏半导体激光器的工作特性。当半导体激光器被用作泵浦固体激光器时,结温升高会导致发射光谱与激光介质的吸收带失配,使器件功率输出下降,严重时,甚至令激光器不能正常工作。此外,保持半导体激光器的结温对于提高其运行寿命也有非常重要的意义。因此在许多半导体激光器的应用场合都需要严格控制其工作温度,从而保证半导体激光器输出功率稳定、输出光波长恒定、转换效率更高、工作寿命更长。实验室目前正在使用的半导体激光器温度控制系统采用模拟控制方式,电路较为复杂,驱动功率较小,只适用于小功率半导体激光器,对于大功率半导体激光器阵列制冷效果尤其不佳,因此需要以全新的思路对大功率半导体激光器的温控系统重新设计。全数字温控的设计思想更易于实现泵浦用大功率半导体激光器阵列的温度控制,进而实现全固化激光器的温控需求。该设计工作也为实现激光器温度的计算机远程监控和诊断进行了铺垫性预研究。课题的主要任务就是通过研究与实施数字温度控制方法,设计可用于外腔稳频半导体激光器的数字温度控制系统。此设计对半导体激光器在其它很多方面的应用也都具有重要意义。
1.2半导体激光器概述
自 1962 年世界上第一台半导体激光器发明问世以来,半导体激光器发生了巨大的变化,近几十年来其发展更为迅速,它从最初的同质结发展成单异质结、双异质结、量子阱等上百种形式,从最初的低温下(77K)发展到室温下连续工作,
从小功率型转变到大功率型,输出功率由几毫瓦提高到千瓦级(阵列器件)。
半导体激光器的一个重要应用就是泵浦固体激光器。早在 1963 年,美国人
纽曼就首次提出了用半导体激光器作为固体激光器泵浦源的构想。但当时二极管
的各项性能还很差,而且只能在低温下运转。进入八十年代以后,随着大功率半
导体激光器及其列阵的发展,特别是量子阱的采用,使激光二极管阈值电流大大
降低,转换效率大幅提高,输出功率成倍增长,使用寿命大大延长,使半导体激
光器泵浦固体激光器的研究取得了突飞猛进的发展。
大功率半导体激光器具有体积小、重量轻、效率高、寿命长、功率大等诸多
优点,是用于工业、军事国防等行业的固体激光器必需的泵浦光源,在国民经济
的许多领域都发挥着重要作用。
我国的半导体激光器阵列的研究近几年来也取得了很大进展。2002年,河
北工业大学信息工程学院微电子所和中国电子科技集团公司电子第十三研究所
设计并研制的占空比为20%的808nm激光器阵列的输出功率达61.8W。同期,
又成功研制出峰值波长为941nm,输出峰值功率达到67.9W的单量子阱激光器。
与此同时,他们研制成903nm半导体激光器阵列,输出峰值功率达到730W,可稳
定工作8600小时以上。2003年,他们制作了20%占空比、941.8nm的大功率半
导体出功率高达90.6W,最高电光转换效率42.3%。长春光学精密机械学院于2001
年做出的应变量子阱列阵半导体激光器准连续输出功率达80W,峰值波长为
978~981nm。同期与吉林大学合作研制出810nm高功率半导体激光器阵列,输
出功率达40W。2002年,他们又研制成大功率808nm激光器阵列,室温连续输
出功率达58W。2004年,他们首次采用光源成像调节技术, 实现了五个高功率
激光器bar组成的激光器线阵光束共线, 研制出了连续输出217W、5bar共线性
好的激光列阵模块, 达到国际先进水平。
中科院半导体所在2004年实现了160个激光条叠层封装的准连续17kW、
808nm的GaAs/AlGaAs激光二极管列阵。
从大功率半导体激光器阵列的发展中不难看出,其发展趋势是进一步提高激
光器的输出功率,转换效率以及使用寿命。输出功率的不断提高势必导致半导体
激光器的热耗不断增大,从而限制其输出功率的进一步提高。因此温度控制在大
功率半导体激光器阵列的研究和应用中突显出更加重要的作用。
1.3本课题的设计内容与目的
1.3.1 设计要求
设计与制作用于外腔稳频半导体激光器系统的数字温控电路。要求:温度稳
定度达到相应要求;以键盘输入、LCD或LED显示预设与实际输出的电压值,
或者在上位机建立友好的用户界面。 该温度自动控制系统由温度信号采样电
路,键盘及显示电路,温度控制电路,报警电路,时钟信号电路等构成,并运用
PID算法进行温度控制和调整。
根据设计任务,详细分析温度自动控制系统的设计需求,并进行软硬件的总
体设计。由键盘电路输入设定温度信号给单片机,温度信号采集电路采集现场温
度信号给单片机,单片机根据输入与反馈信号的偏差进行PID计算,输出反馈
量给温度控制电路,实现恒温。显示电路实现现场温度的实时监控。设计人员需
完成全部硬件和软件的设计,并利Proteus仿真软件对设计结果进行验证。
1.3.2重点研究内容
本设计包括硬件设计和软件设计。
硬件设计主要包括温度信号采样电路,键盘及显示电路,温度控制电路,报
警电路,时钟信号电路等,其中硬件设计重点是键盘及显示电路和温度控制电路。
软件设计主要完成系统初始化、键盘处理子程序、DS18B20和LCD1602的
子程序设计、PID计算子程序设计等工作。
1.3.3实现途径及方法
本系统主要通过资料查找、系统需求分析、系统总体设计,软硬件总体设计、
详细的软件与硬件设计、系统仿真与调试、资料整理等步骤来完成。
本系统利用Protel软件完成硬件电路设计工作,利用Keil51软件完成系统
控制软件的编译调试工作,通过Proteus软件完成所有功能模块的电路仿真。
1.3.4 系统总体方案设计
在这个系统中我们从性能及设计成本考虑,我们选择AT89C52芯片。
AT89C52的广泛使用,使单片机的价格大大下降。目前,AT89C52的市场零售
价已经低于8255、8279、8253、8250等专用接口芯片中的任何一种;而AT89C52
的功能实际上远远超过以上芯片。因此,如把AT89C52作为接口芯片使用,在
经济上是合算的。在温度传感器的选择上我们采用温度芯片DS18B20测量温度。
该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0
—1000℃时,最大线形偏差小于10℃。该芯片直接向单片机传输数字信号,便
于单片机处理及控制。本制作的最大特点之一就是直接采用温度芯片对温度进行
测量,使数据传输和处理简单化。采用温度芯片DS18B20测量温度,体现了作
品芯片化的这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊
接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的
精确度。本方案应用这一温度芯片,也是顺应这一趋势。对于温度的调节系统,
我们采用的只是简单的升温方法,当温度低于我们设定的最低温度值时,则单片
机系统控制加热装置产生热量来提高温度。在这个过程中,我们通过单片机将传
感器所测量出来的温度通过LCD1602可以显示出来。这样就能实时显示温度情
况。
本设计采用了PID控制。在工程实际中,PID控制器以其结构简单、稳定性
好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和
参数不能完全掌握,或得不到精确的数学模型,控制理论的其他技术也难以采用,
系统控制器的结构和参数必须依靠经验和现场调试来确定时,应用PID控制技
术最为方便。
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的
特性确定PID控制器的比例系数、积分时问和微分时间的大小。PID控制器参数
整定的方法概括起来有两大类:一是理论计算整定法,它主要是依据系统的数学
模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接
用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程
经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被
广泛采用。温度自动控制系统原理框图如图1-1所示:
图1.1 温度自动控制系统原理框图
2.系统硬件各功能模块的设计
2.1主控模块的设计
2.1.1 AT89C52单片机简介
AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系可
编程Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程
器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89C52为
众多嵌入式控制应用系统提供高灵活、有效的解决方案。
AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O
口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2
级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52 可降至0Hz
静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,
允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89C52的广泛使用使得市面价格较8155、8255、8279要低,所以说用它是比较经济的。该芯片具有如下功能:①有1个专用的键盘/显示接口;②有1个全双工异步串行通信接口;③有2个16位定时/计数器。这样,1个AT89C52,承担了3个专用接口芯片的工作;不仅使成本大大下降,而且优化了硬件结构和软件设计,给用户带来许多方便。AT89C52有40个引脚,有32个输入端口(I/O),有2个读写口线,可以反复插除。所以可以降低成本[1]。
其主要工作特性为:
1. 内含8KB的Flash存储器,擦写次数达1000次;
2. 内含128字节的RAM;
3. 具有32根可编程I/O线;
4. 具有2个16位可编程定时器;
5. 具有6个中断源、5个中断矢量、2级优先权的中断结构;
6. 具有1个全双工的可编程串行通信接口;
7. 具有1个数据指针DPTR;
8. 两种低功耗工作模式,即空闲模式和掉电模式;
9. 具有可编程的3级程序锁定位;
10. 工作电源电压为5±1.2V,典型值为5V;
11. 最高工作频率为24MHz。
12. 引脚排列如图2-1所示。
图2.1 AT89C52引脚排列(PDIP)
2.1.2复位和时钟电路的设计
本系统中采用上电复位和手动复位键复位相结合的方式。系统时钟电路设计采用内部方式。AT89C52内部有一个用于构成振荡器的高增益反相放大器。这个放大器与作为反馈元件的片外晶体谐振器构成一个自激振荡器。外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。本系统电路采用的晶体振荡器频率为11.0592MHz。采用这种频率的晶体振荡器的原因是可以方便的获得标准的波特率。复位电路和时钟电路如图2-5所示。复位电路有上电自动复位和按钮手动复位两种。上电复位是利用电容充电来实现的,上电瞬间RST/VPD端的电位与VCC相同,随着充电电流的减少,RST/VPD的电位逐渐下降,图2.2中的10K的电阻是施密特触发器输入端的一个下拉电阻,时间常数为10*10-6*10*103s=100ms,只要Vcc的上升时间不超过1ms,振荡器建立时间不超过10ms,这个时间常数足以保证完成复位操作[6]。上电复位所需最短时间是震荡周期建立时间加上2个机器周期时间。按钮复位采用电平复位方式,按下复位电钮时,电源对外接电容充电,使RST/VPD端为高电平,复位按钮松开后,电容通过内部下拉电阻放电,逐渐使RST/VPD端恢复低电平。
[***********][***********]2728图2.2 复位电路和时钟电路 2.1.3温度传感器的选择
DS18B20原理与特性:本系统采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。首先来介绍一下DS18B20这块传感器的特性及其功能: DSl8B20的管脚及特点 DS18B20可编程温度传感器有3个管脚。内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及 管脚排列如图2.3所示
图2.3 DS18B20的外形及管脚图
GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~
5.5 V。本文使用外部电源供电。
主要特点有:
1. 用户可自设定报警上下限温度值。
2. 不需要外部组件,能测量-55~+125℃ 范围内的温度。
3. -10℃ ~+85℃ 范围内的测温准确度为±0.5℃ 。
4. 通过编程可实现9~l2位的数字读数方式,可在至多750 ms内将温度转
换成12 位的数字,测温分辨率可达0.0625℃ 。
5. 独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微
处理器双向通讯。
6. 测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可
传送CRC校验码,具有极强的抗干扰纠错能力。
7. 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
8. DS18B20支持多点组网的功能,多个DS18B20可以并联在唯一的三线上,
实现组网多点测温。
DS18B20内部功能模块如图2.4所示,
图2.4 DS18B20内部功能模块
DS18B20的工作原理:
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同DS18B20 为9位~12位A/D转换精度,而DS1820为9位A/D转换,虽然我们采用了高精度的芯片,但在实际情况上由于技术问题比较难实现,而实际精度此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。如下2.4的测温原理图不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图2.5
所
示。
图2.5 DS18B20的测温原理框图
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲 信号送给计数器1。则高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值时。计数器1对低温度系数晶振产生脉冲信号,进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值。
DS18B20使用中注意事项 :
DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用串口少等优点,但在实际应用中也应注意以下几方面的问题:
1) 较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。
2) 在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
3) 连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号
波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测温电缆线采用屏蔽4芯双绞线,其中有一对接地线与信号线,另一组接VCC和地线。
数据采集电路如图2.6所示,1脚接地,2脚即为单总线数据口,3脚接电源。温度传感器DS18B20采集被控对象的实时温度,提供给AT89C52的P3.5口作为数据输入。
20
图2.6 数据采集电路
2.1.4 半导体制冷器(TEC)
LD 温控系统中采用半导体制冷。半导体制冷又称温差制冷或热电制冷,这项技术自 20 世纪 50 年代末发展起来后,因其具有独特的有点而得到了较广泛的应用。我国在 20 世纪 60 年代开始对半导体制冷进行了研究,并生产出性能良好的半导体制冷材料。随着我国经济的高速发展,许多领域有待半导体制冷技术去进一步开拓。具有热电能量转换特性的材料,在通过直流电时有制冷功能,因此得名热电制冷。由于半导体材料具有最佳的热电能量转换特性,它的应用才真正使热电制冷实用化,半导体制冷也由此得名。总的热电效应由同时发生的五种不同效应组成。其中塞贝克、珀尔帖和汤姆逊三种效应表明电和热能相互转换是直接可逆的,另外两种效应是热的不可逆效应,即焦耳和富里叶效应。简单介绍一下 TEC 工作时起主导作用的珀尔帖效应。当直流电通过两种不同导电材料构成的回路时,结点上将产生吸热或放热现象,如图 2.7 所示。这是法国人珀尔帖最早发现的,因此这个现象称为珀尔帖现象。
实验表明,结点上的换热量(珀尔帖热)与电流成正比,珀尔帖系数只取决于一对材料,而不只取决于其中一种材料。对于半导体热电偶,珀尔帖效应特别显
著。当电流方向从空穴半导体流向电子半导体 (p→n)时,接头处温度升高并放出热量,反之,接头处温度降低并从外界吸收热量。
图2.7 珀尔帖效应示意图
2.2人机接口设计
2.2.1键盘的设计
在本设计中采用了矩阵式,键盘分布如图2.8所示。各键设在行列线的交差点上,有键合上时行列线接通,否则不连通。行线P10—P13(即A1—A4)通过上拉电阻接+5V,处于输入状态,列线P14—P17(即B1—B4)为输出状态。
图2.8 编码式键盘
2.2.2显示电路的设计
本设计的显示采用LCD1602。图2.9为LCD1602的引脚图。
图2.9 LCD1602引脚图
1602采用标准的16脚接口,其中:
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15~16脚:空脚
在本设计中LCD1602与单片机的连接如图2.10所示。单片机的P0口为数据输出口,接到LCD1602的DB0—DB7口,P2.0—P2.2为控制端,分别接寄存器选择RS、读写信号线R/W和使能端E,共同控制LCD1602读写操作。
图2.10 显示电路图
3.软件设计
由于整个系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构,故要求整个控制系统软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内数据关系紧凑,模块间数据关系松散的原则,将各功能模块组织成模块化的软件结构。
系统的软件主要由主程序模块、数据采集模块、数据处理模块、控制算法模块等组成。主模块的功能是为其余几个模块构建整体框架及初始化工作;数据采集模块的作用是将数字量采集并储存到存储器中;数据处理模块是将采集到的数据进行一系列的处理,其中最重要的是数字滤波程序:控制算法模块完成控制系统的PID运算并且输出控制量。
3.1主程序模块
主程序模块要做的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化、串口初始化等。然后等待温度设定,若温度已经设定好了,判断系统运行键是否按下,若系统运行,则依次调用各个相关模块,循环控制直到系统停止运行。主程序模块的程序流程图如图3-1所示。
N
3.2数据采集和显示模块
数据采集模块的任务是负责温度信号的采集以及将采集到的数字量提供给单片机。
AT89C52通过控制DS18B20读取实时温度,然后,通过P0口送到LCD1602进行显示。数据采集模块的程序流程图如图3.2所示,显示程序设计框图如图
3.2所示[8]。
图3.2 数据采集模块程序流程图
图3.2显示程序设计框图
3.3输入模块
键盘选择程序扫描方式工作,利用CPU在完成其它工作的空闲时间中,调用键盘扫描子程序,来处理键的输入要求。在执行键功能处理程序时,CPU不再响应其它键输入要求[9]。键盘处理子程序流程图如图3.3所示:
图3.3键盘程序设计框图 4.PID控制和参数整定
4.1 PID调节器控制原理
PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成的控制偏差error(t)对系统按照一定控制规律进行调节:
Error(t)=rin(t)-yout(t)
PID控制系统原理框图如图4.1所示
图4.1 PID控制系统原理框图
PID控制就是对偏差信号进行比例、积分、微分运算后,形成一种控制规律。即,控制器的输出为:
1u(t)kperror(t)T1TDderror(t) 0error(t)dtdt (4.1)t
或写成传递函数的形式:
G(s)U(s)1(4.2) kp1TsD E(s)T1s
式中, kp——比例系数;Ti——积分时间常数;Td——微分时间常数。简单说来,PID控制器各校正环节的作用如下:
比例环节:成比例地反映控制系统的偏差信号error(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差[10]。
比例控制: Gc(s)= Kp
积分环节:主要用于消除静差,提高系统的无差度。积分作用的强尽弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。
积分控制: Gc(s) = Kp/T is
微分环节:反偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
微分控制: Gc(s) =KpT ds
4.2 PID控制的分类
基本PID控制器的理想算式为
(4.3)
式中
u(t)——控制器(也称调节器)的输出;
e(t)——控制器的输入(常常是设定值与被控量之差,即e(t)=r(t)-c(t)); Kp——控制器的比例放大系数;
Ti ——控制器的积分时间;
Td——控制器的微分时间。
图4.2 增量式PID算法程序框图
设u(k)为第k次采样时刻控制器的输出值,可得离散的PID算式
(4.4)
,
由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执行机构的位置(如阀门开度)一一对应,所以称式(2)为位置式PID控制算法。
位置式PID控制算法的缺点:当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。
本设计采用增量式PID控制,算法程序框图如图4.2所示
增量式只需计算增量,算式中不需要累加,控制增量的确定仅与最近几次偏差采样值有关,当出现计算误差或精度不足时,对控制量计算的影响较小,且较容易通过加权处理获得比较好的控制效果。
4.3 数字PID参数的整定
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。本设计采用PID归一整定法把三个控制参数(Kc、Ti、Td,)转换为一个参数KP, 从而使问题明显简化。以达到控制器的特性与被控过程的特性相匹配,满足某种反映控制系统质量的性能指标。
此处要概括工程整定参数的方法和流程。下面突然来个采样周期选择,会让看的人有不合逻辑,摸不着头脑的感觉。
4.3.1 采样周期选择的原则
(1)根据香农采样定理,系统采样频率的下限为fs=2fmax,此时系统可真实地恢复到原来的连续信号。
(2)从执行机构的特性要求来看,有时需要输出信号保持一定的宽度。采样周期必须大于这一时间。
(3)从控制系统的随动和抗干扰的性能来看,要求采样周期短些。
(4)从微机的工作量和每个调节回路的计算来看,一般要求采样周期大些。
(5)从计算机的精度看,过短的采样周期是不合适的。
(6)滞后占主导地位时,应使滞后时间为采样周期的整数倍
下表4.1列出了几种常见的被测参数的采样周期T的经验选择数据。可供设计时参考。实际上生产过程千差万别,经验数据不一定就合适,可用试探法逐步调试确定。
表4.1 采样周期的经验数据表
4.3.2 PID参数对系统性能的影响
表4.2 PID参数对系统性能的影响
综上所述,(Kp、Ti、Td,)对系统的性能影响如表4.3所示:
表4.3 Kp、Ti和Td对系统的影响
4.4 PID计算程序
PID调节规律的基本输入输出关系可用微分方程表示为式??:
t
1de(t)
u(t)KPe(t)e(t)dtTD (4.5)
TdtI0
式中e(t)为调节器的输入误差信号,且
e(t)r(t)C(t) (4.6)
其中:r(t)为给定值,C(t)为被控变量; u(t)为调节器的输出控制信号; KP为比例系数;
TI为积分时间常数;
TD微分时间常数。
由于计算机只能处理数字信号,若ADC的采样周期为T,第n次采样的输入
enen1de
T误差为en,且enr(n)C(n),输出为u(n),PID算法用的微分dt由差分
t
e(t)dteKT
代替,积分由代替,于是得到
1
unKPen
TI写成递推形式为
TTD
i0
n
enen1
(4.7)
T
△ununun1
n1
TTn
=K(enen1)(eiei)D(en2en1en2)
TIi0Ti0P
TT
=KP(enen1)enD(en2en1en2)
TIT =KP(enen1)KP
TT
enKPD(en2en1en2) TIT
=KP(enen1)KIenKD(en2en1en2)
=PPPIPD (4.8) 其中:PPKP(enen1) (4.9) PIKP(4.10) PDKP
TD
(en2en1en2)KD(en2en1en2) (4.11) T
T
enKIen TI
显然,PID计算△un只需要保留现时刻en以及以前的两个偏差量en-1和en-2。初始化程序初值en-1= en-2 =0 通过采样并根据参数KP、KD、KI以及en、en-1和en-2计算△un。
根据输出控制增量△un,可求出本次控制输出为
unun1+△un=un1PPPIPD (4.12)
由于电阻炉一般是属于一阶对象和滞后的一阶对象,所以式中KP、KD、KI的选择取决于电阻炉的阶跃响应曲线和实际经验,工程上已经积累了不少行之有效的参数整定方法。本设计采用Ziegler-Nichols提出的 PID归一调整法,调整参数,主要是为了减少在线整定参数的数目,常常人为假定约束条件,以减少独立变量的个数,令:
T0.1TU (4.13) TI0.5TU (4.14) TD0.125 TU (4.15)
式中TU称为临界周期。在单纯比例作用下(比例增益由小到大),是系统产生等幅振荡的比例增益KU,这时的工作周期为临界周期TU,则可以得到
△un =KP(enen1)0.2en1.25(en2en1en2)
=KP(enen1)0.2KPen1.25KP(en2en1en2)
=KP(enen1)KIenKD(en2en1en2) (4.16)
KD=1.25KP[8] 式中KI=0.2KP,(4.17) 从而可以调节的参数只有一个。可设计一个调整子程序,通过键盘输入改变KP值,改变运行参数,使系统满足要求[11]。
下面对PID运算加以说明:
所有的数都变成定点纯小数进行处理。
算式中的各项有正有负,以最高位作为符号位,最高位为0表示为正数,为1表示负数。正负数都是补码表示,最后的计算以原码输出。
双精度运算,为了保证运算精度,把单字节8位输入采样值Cn和给定值rn
都变成双字节16位进行计算,最后将运算结果取成高8位有效值输出。输出控制量un的限幅处理。为了便于实现对晶闸管的通断处理,PID的输出在0~250之间。大于250或小于0的控制量un都是没有意义的,因在算法上对un进行限幅,即
umin
un=un
umax
unumin
uminunumax (4.18) unumax
PID的计算公式采用位置式算法,计算公式为
unun1+KP(enen1)KIenKD(en2en1en2)
=un1PPPIPD (4.19)
PID计算的程序流程图4.3所指示。
图4.3 PID计算程序的流程图
5. 仿真
5.1 PROTEUS软件简介
Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: (1)原理布图
(2)PCB自动或人工布线 (3)SPICE电路仿真 革命性的特点: (1)互动的电路仿真
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部
分SPI器件,部分IIC器件。
(2)仿真处理器及其外围电路
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境[12]。
5.2仿真
通过对电路的硬件设计和程序设计,我们使用了PROTEUS对设计的电路进行仿真设计。首先,我们将硬件电路在PROTEUS中连接好,按照设计总电路图连接各个硬件,通过单片机C语言来进行编程,程序如附录所示。通过KEIL软件将我们的源程序转换成目标程序来进行仿真,生成*.hex文件。最后从PROTEUS中,将我们的程序导入单片机中,便能进行实时仿真。仿真图如图5.1所示:
图5.1 PROTEUS仿真图
第六章 总结与展望
致 谢
本论文在老师的细心指导和严格要求下已完成,从课题选择到具体构思和内容,无不凝聚着老师的心血和汗水,特别是老师严格的教学要求和一丝不苟的工作精神,让我非常敬佩。在四年的大学学习和生活期间,我也始终感受着导师的精心培养和无私的关怀,我受益匪浅。在此向各位老师表示深深的感谢和崇高的敬意。
这次做论文的经历也会使我终身受益,我感受到做论文是要的的确确用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的经历能让我在以后学习中激励我继续进步。不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向系的全体老师表示由衷的感谢,感谢你们4年来的辛勤栽培。
在此,我还要特别感谢我的同学们,由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,你们对本课题做了不少工作,直至本文的顺利完成,给予我不少的帮助,谢谢你们!
参考文献
[1] 常敏. 51单片机应用程序开发与应用实践[M].电子工业出版社,2009 [2] 李群芳.单片微型计算机与接口技术(M),电子工业出版社,2007 [3] 刘娇璇.基于80C51单片机的干式变压器温度控制系统设计[J].变压器.2013.
第1期.30-32
[4] 雷声勇.基于PID 算法的智能水温控制器的设计[J].机床电器.2010 (02) .杨
万超.51单片机温度控制系统设计[J].黑龙江科技信息.2009(29)
[5] 顾晟昀.单片机技术的发展及其在电气传动系统中的应用[J].科技风.2011(17) [6] 吴岩.单片机在电子技术中的应用和开发技术研究[J].黑龙江科技信
息.2011(09)
[7] 彭秋红,沈占彬.基于单片机温度控制系统的硬件设计[J].机电产品开发与创
新.2010(05)
[8] 李柱涛.单片机的发展趋势及其在设备自动化系统改造中的应用[J].黑龙江科
技信息.2011(24)
[9] 闫毅.单片机的应用与开发[J].科技风.2008(17)
[10]许秀权,杨延麟.如何提升矿井安全监控系统抗干扰能力[J].科协论坛(下半
月).2009(05)
[11]齐志艺,吴曼荔.单片机教学改革的思考与探索[J].硅谷.2009(13)
[12]唐征兵,侯睿.单片机测控系统中的抗干扰措施[J].西安航空技术高等专科学校
学报.2008(03)
[13]孙继平,王福增,潘涛,马凤英.煤矿井下漏泄通信系统抗干扰技术[J].矿业研究
与开发.2008(02)
[14] 张帆.煤矿井下电机车电磁干扰问题探讨[J].煤炭科学技术.2009(04) [15] Kurita, T. , Miyamoto, M. , Sekine,T.. High power laser diode array module with
145 kW peak power for inertial fusion energy driver. Lasers and Electro-Optics,2004, 2: 489~491
[16] He X, Ovtchinnikov A. Efficient high power reliable InGaAs/AlGaAs(940nm)
monolithic laser diode arrays. Electron. Lett., 1999, 35: 1739
附录
附录1:源程序 #include #include #include #include
#defineucharunsignedchar #defineuintunsignedint
sbitDQ=P2^6;//ds18b20与单片机连接口 sbitRS=P2^0;//lcd1602控制口 sbitRW=P2^1; sbitEN=P2^2;
sbitPWM=P2^7;//pwm输出口 sbitPWM1=P2^5;//pwm输出口 ucharcodestr1[]={"set:"};// ucharcodestr2[]={"tem:"};// ucharcodestr3[]={"state"};// ucharcodestr4[]={"up"};// ucharcodestr5[]={"down"};//
uchardatadisdata[5];//ds18b20 uchardatadisdata1[5];//设定 uinttvalue;//温度值 uchartflag;//温度正负标志 inttvalue0;// inttvalue00;//
uinttvalue1;//设定温度值
uchartflag1;//设定温度正负标志 ucharsetflag;//设置按键标志 ucharkeynum; ucharEmax,E0; ucharE_0,E_1,E_2; floatKp,Kd,Ki;
uintcount,Pdata,period;
/************************************************* lcd1602程序
**************************************************/ voiddelay1ms(uintms)//延时1毫秒(不够精确的) { uinti,j;
for(i=0;i
voidwr_com(ucharcom)//写指令 { RS=0; RW=0; EN=0; P0=com; delay1ms(1); EN=1; delay1ms(1); EN=0; delay1ms(1); }
voidwr_dat(unsignedchardat)//写数据 { RS=0; RW=0; EN=0; P0=dat; delay1ms(1); RS=1; EN=1; delay1ms(1); EN=0; RS=1; delay1ms(1); }
voidlcd_init()//初始化设置// {
delay1ms(15); wr_com(0x38); delay1ms(5); wr_com(0x38); delay1ms(5); wr_com(0x38); delay1ms(5); wr_com(0x0c); delay1ms(5); wr_com(0x01); delay1ms(5); wr_com(0x06); delay1ms(5);
32
}
voiddisplay(uchar*p)//显示 {
while(*p!='\0') {
wr_dat(*p); p++;
delay1ms(1); } }
voidinit_play()//初始化显示 {
lcd_init(); wr_com(0x80); display(str1); wr_com(0x8b); display(str3); wr_com(0xc0); display(str2); }
/********************主程序***********************************/ voidmain() { P1=0xff; P3=0xff;
init_play(); //初始化显示 Emax=10;
33
E0=1; E_0=0; E_1=0; E_2=0; Kp=5; Kd=3; Ki=1.5; count=0; Pdata=5; period=10; setflag=0; tvalue1=0;
setdisp(); //设定温度显示
while(1) {
read_temp(); //读取温度 ds1820disp(); //显示温度 keyscan(); setdisp(); // P3=PIDprocess(); // P3=tvalue1-tvalue/10; P3=tvalue1*10-tvalue; } }
34
附录2:原理图
35