毕业设计论文正文.docx
- 文档编号:25077656
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:18
- 大小:167.49KB
毕业设计论文正文.docx
《毕业设计论文正文.docx》由会员分享,可在线阅读,更多相关《毕业设计论文正文.docx(18页珍藏版)》请在冰豆网上搜索。
毕业设计论文正文
前言
在日常生活,工业生产和实验室中电热恒温箱的使用随处可见。
在生活中我们保存食物用到恒温箱,工业生产中一些生产原料的保存用到恒温箱,实验室中,特别是生物的培育实验室,恒温箱的使用更是普遍。
在本设计中,通过对恒温箱温度的检测与变送到单片机,与给定值进行比较,单片机对数据进行处理,根据偏差信号的大小输出驱动PWM输出通过改变PWM的周期和幅值,控制发热丝的功率,从而达到恒温箱内温度的控制目的。
本设计的单片机为51系列,对数据进行采集,比较,处理和输出,PWM通过单片机的脉冲输出,通过光电隔离输入放电电路对发热丝进行加热,直接对箱子的温度进行提升,最终达到对温度进行控制的目的。
关键词:
单片机,PWM,数字PID控制
第1章绪论
恒定温度的设备,被广泛的应用于生产,生活,实验等领域。
在医用,水产、特种工业、工业探伤、照相等行业,都需要精确而稳定的温度。
在本设计中,我们针对培养箱而设计的一个恒温控制系统,在系统里,通过对恒温箱温度的检测与变送传到单片机,与给定值进行比较,单片机对数据进行处理,根据偏差信号的大小输出驱动PWM输出,通过改变PWM的周期和幅值,控制发热丝的功率,从而达到恒温箱内温度控制的目的。
本设计是对恒温箱的温度的控制。
从箱内温度的检测、变换到信号的转换和传送这一系列的过程都牵扯到很多的知识,在设计中我们也遇到很多困难,比如说温度测量器件的选用,变换成电压信号还是电流信号,相应的怎么传送等,都经过了考虑才选择这个方案。
单片机的设计中,单片机外部电路的设计,端口的分配和使用,复位和内部时钟的配合和电路的驱动等方面也遇到了许多问题,经过讨论我们基本上都解决了。
加热电路我们选择了IGBT作为开关元件,IGBT可控而且开关频率很高,适合用在控制频繁通断的场合。
这里用芯片DS18B20作为恒温箱的温度检测元件。
DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。
单片机从外部设置两位拨码开关进行预置数,读入的数据与预置数进行比较,根据偏差的大小,单片机执行程序对PWM的输出脉冲进行放大,也就是对恒温箱内电阻丝的驱动,对恒温箱进行加热,使箱内温度升高,热电偶连续对恒温箱进行温度检测,当偏差存在时单片机就继续驱动后继电路进行加热,直到偏差为零。
第二章总体方案设计
2、1方案一
利用热电偶作为恒温箱的温度检测元件,应用桥式电路对热电偶作为补偿。
热电偶出来的电流信号通过转换变成电压信号,再进行A/D转换变换成单片机可以接受的电压信号,在从单片机读入进行数据处理。
单片机从外部设置两位拨码开关进行预置数,读入的数据与预置数进行比较,根据偏差的大小,单片机执行程序对PWM进行控制,经过对PWM的输出脉冲进行放大,也就是对恒温箱内电阻丝的驱动,对恒温箱进行加热,使箱内温度升高,热电偶连续对恒温箱进行温度检测,当偏差存在时单片机就继续驱动后继电路进行加热,直到偏差为零。
在控制过程中,存在着检测信号与控制信号之间的滞后关系,因此,在单片机的设计包括外部时钟和上电复位电路计。
单片机对温度的检测可以通过两个LED进行显示。
2、2方案二
方案一用的是热电偶进行温度的测量,热电偶的测量范围和精度要求都符合本设计的要求,在不同的环境下所需要的补偿是不一样的,而且输入单片机要进行模数转换,增加了转换电路即增加了成本,转换还需要时间,那往往就给控制带来了很多麻烦,而且给恒温箱的使用带来一定的局限性,使恒温箱不能得到推广,给厂家大批量的生产也带来了很多不便。
线性化的处理往往是应用热电偶的约束。
而在方案二中,应用的是测量温度的专用芯片,避免了上述的一些问题,而且应用方案二的芯片使测量的灵敏度增加不少。
在方案一中,热电偶测量出来的信号是电流信号,电流信号适合远距离传输,而到单片机的距离不大,电流信号容易受外界的干扰而影响了测量信号,导致测量的误差增加,就算可以用其他方法消除干扰信号,也麻烦。
而在方案二中,测量出来的是电压信号,能直接输入单片机,方便而且准确,不容易受外界干扰。
在方案一中,需要进行电流——电压的转换,在进行A|D转换,在经过标准化处理才能使得到的标准数字信号输入单片机,而方案二中却可以直接输入。
综上所述:
方案二比方案一有更大的优越性,而其方案二只用一个芯片就可以达到目的,而方案一却要经过多个步骤,从经济角度看,方案二更加经济实惠,且实用性强。
因此这个设计决定使用方案二来进行综合设计。
第三章单元模块设计
3、1数字温控芯片DS18B20介绍
从电源的框图中可以看出,电路从DQ和VDD
为高电平时“偷取”能量,当特定的时间和电压适合时,DQ可以给电路提供充足的能量。
寄生电源的优势有二:
无需提供遥远的电源;在缺少正常供电时,可以读取ROM.为了使芯片能够精确的对温度进行转换,当转换温度时确保供电充足。
值得重视的是,如果运行电流到达1.5mA,由于5K的上拉电阻,DQ不能得到足够的能量,这对单总线上连接多个芯片同时进行转换是很不利的。
这里有两种方法确保温度转换时有足够的能量,第一种方法是无论什么时候转换温度或者从EEPROM拷贝数据给DQ提供一个强上拉电阻,这种方法可以通过使用一个场效应管上拉DQ线直接提供能量,如下图所示:
在这里值得注意的是DQ线必须在发出命令10us内完成上拉操作,当使用这种模式的时候,确保VDD接地。
另外一种提供电流的方式是通过使用VDD引脚连接一个外部电源,如下图所示,这样连接的优势是DQ上不需要连接一个强上拉,并且总线控制主机不需要在温度转换的时候总保持高电平,这样使得在转换的时间内单线上可以有其他的数据通过。
此外,任何DS18B20的序列都可以挂在单线上,如果都需要使用外部电源,可以同时通过执行“跳过ROM”和执行温度转换命令来进行温度转换,注意当外部电源激活时,GND必须接地。
在温度达到100度时,寄生电源的方式不推荐使用,因为提供过高的漏电电流使得正常通信不能维持。
应用这种高温时强烈推荐VDD连接DS18B20。
环境有时候不知道控制主机知道哪里DS18B20芯片使用了寄生电源或者使用外部的VDD,这里可以通过电源信号来实现,也是就总线控制主机通过发送“跳过ROM”命令,然后发送读取的命令,然后读取时间点,此时如果芯片发送“0”回总线表示使用的是寄生电源方式,发送“1”表示通过VDD提供能量,如果主机收到“0”就知道必须在转换温度时给DQ提供强上拉,其他的存储器控制命令可以参看命令协议中详情。
操作:
温度测量
DS18B20的核心功能是指示数字的温度传感器,其方案可以由用户设置(9,10,11,12位),默认情况使用12位。
这相当于现实不同的精度。
通过温度转换命令执行操作后温度数据被保存在16位高速缓存中,信号分为两种不同的格式保存,通过执行读缓存的命令返回
采集到的温度。
传送时最低有效位LSB优先,最高加权位包含了标识温度正负的“s”位。
右边的图描述了输出数据的格式,在这里使用12bit,如果想设置为更低位解决方案,可以在空位处补零。
如果采用华氏温度显示,则需要查找表或者是查找路径。
操作:
警示信号
温度转换完成后,温度将和TH与TL进行比较,如果不在这个范围之内则会返回一个警示标志。
允许多芯片同时并行惊醒温度测量,如果某处芯片超出了此范围,此芯片可以被辨别出并立即读取没有别警示的芯片。
64位激光ROM:
每一片芯片提供了一个特定的系列号,前8位为DS18B20的家族系列,后面48位表征不同的芯片系列。
在通过单线对芯片进行配置后,放可以执行下面的操作。
3、1、1DS18B20的内部结构
DS18820的内部结构:
主要有64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器等组成。
1.64位光刻ROM是生产厂家给每一个出厂的DS18820命名的产品序列号,可以看作为该器件的地址序列号。
其作用是使每一个出厂的DS18820地址序列号都各不相同,这样,就可以实现一根总线上挂接多个DS18820的目的。
2.DS18820中的温度传感器完成对温度的测量,输出格式为:
16位符号扩展的二进制补码。
当测温精度设置为12位时,分辨率为O.0625℃,即O.0625℃/LSB。
其中,S为符号位,S=1,表示温度为负值;S=0,表示温度为正值。
例如+125℃的数字输出为07D0H,-55℃的数字输出为FC90H。
一些温度值对应的数字输出如图4所示。
3.DS18820中的低温触发器TL、高温触发器TH,用于设置低温、高温的报警数值。
DS18820完成一个周期的温度测量后,将测得的温度值和TL、TH相比较,如果小于TL,或大于TH,则表示温度越限,将该器件内的告警标志位置位,并对主机发出的告警搜索命令作出响应。
需要修改上、下限温度值时,只需使用一个功能命令即可对TL、TH写入,十分方便。
4.DS18820中的高速暂存器是一个9字节的存储器,其含意如图5所示。
开始两个字节为被测温度的数字量,其含义如图2所示。
第3、4、5字节分别为TH、TL、配置寄存器的复制,每一次上电复位时被重写。
配置寄存器有R0、R1组成,其值决定温度转换的精度位数、转换时间等,含义如图6所示。
第7字节为测温计数的剩余值。
第8字节为测温时每度的计数值。
第9字节读出的是前8个字节的CRC校验码,通过此码,可判断通讯是否正确。
DS18B20内部结构图
3、1、2DS18B20的外形及引脚说明
外形如图1所示。
其体积只有DS1820的一半,引脚定义相同。
DQ:
数字信号输入/输出端。
GND:
电源地端。
VDD:
外接供电电源输入端(在寄生电源接线时此脚应接地)。
3、1、3DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
数据先写入RAM,经校验后再传给E2RAM。
暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位TL,第二个字节是温度的高八位TH。
第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。
第六、七、八个字节用于内部计算。
第九个字节是冗余检验字节,可用来保证通信正确。
DS18B20的分布如下:
寄存器内容
地址
温度的低八位数据
0
温度的高八位数据
1
高温阀值
2
低温阀值
3
保留
4
保留
5
计数剩余值
6
每度计数值
7
CRC校验
8
DS18B20的暂存寄存器分布
在64bROM的最高有效字节中存储有循环冗余校验码(CRC)。
主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。
设置寄存器
设置寄存器位于高速闪存的低5个字节,这个寄存器中的内容被用来确定温度的转换精度。
寄存器各位的内容如下:
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
TM
R1
R0
1
1
1
1
1
DS18B20的设置寄存器各位内容
该寄存器的低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位)
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
0
0
12位
750ms
分辨率设置
由表可知,设定的分辨率越高,所需要的温度数据转换时间就越长。
因此,在实际应用中要在分辨率和转换时间权衡考虑。
3、1、5DS18B20的工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20的读写时序如下。
PROC WRITE
WRITE:
MOV R2,#8
CLR C
WR1:
CLR DQ
MOV R7,#6
DJNZ R7,$
RRC A
MOV DQ,C
MOV R7,#23
DJNZ R7,$
SETB DQ
NOP
DJNZ R2,WR1
SETB DQ
RET
;读一个字节,出口:
A=读入的字节
PROC DREAD
DREAD:
MOV R2,#8
READL:
CLR C
SETB DQ
NOP
NOP
CLR DQ
NOP
NOP
NOP
SETB DQ ;产生时间片
MOV R7,#7
DJNZ R7,$
MOV C,DQ
MOV R7,#23
DJNZ R7,$
RRC A
DJNZ R2,READL
RET
3、1、6DS18B20使用中注意事项
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
(1)每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
(所有的读写时序至少需要60us,且每个独立的时序之间至少需要1us的恢复时间。
在写时序时,主机将在下拉低总线15us之内释放总线,并向单总线器件写1;若主机拉低总线后能保持至少60us的低电平,则向单总线器件写0。
单总线仅在主机发出读写时序时才向主机传送数据,所以,当主机向单总线器件发出读数据指令后,必须马上产生读时序,以便单总线器件能传输数据。
)
(2)在写数据时,写0时单总线至少被拉低60US,写1时,15US内就得释放总线。
(3)转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
(4)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。
(5)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。
当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
(6)连接DS1820的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
(7)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
3、2预置数
输入预置数由两个十进制拨码开关来完成。
每一个拨码开关有四位,由0000到1111,取其中的0000到1010就可以实现十进制中0到10的设定,两个就可以构成两位的输入,就可以实现0到100的置数。
3、2、1拨码盘介绍
由于BCD拨码盘方便、直观、实用、易于操作等优点,被广泛用于参数设定的检测仪表,机械机床等设备上,具有很大的应用空间。
其中的1、2、4、8四个端子为数据端,com为公共端,当拨码盘窗口显示的数值不为零时,其数据线有一位或几位与com端接通。
例如:
当拨码盘输出为5时,1、4与com接通。
3、3时钟
时钟电路用于产生单片机工作是所需的时钟信号。
单片机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现,单片机应该在唯一的时钟信号控制下工作,严格按照时序执行指令进行工作,而时序所研究的是指令执行中各个信号的关系。
时钟是单片机的心脏,单片机的各功能部件的运行都是以时钟频率为基础,有条不紊地一拍一拍地工作。
因此,常用的时序电路有两种方式,一种是内部时钟方式,一种是外部时钟方式。
单片机内部有一个用于构成振荡器的高增益反向放大器,该增益反向放大器的输入端为X1,输出引脚为X2.这两个引脚跨接晶振和微调电阻,就构成一个稳定的自激振荡器。
电路中电容的典型选择通常是30pF左右。
对外接电容的值虽然没有严格的要求,但电容值的大小会影响振荡频率的高低、振荡器的稳定性和起振的快速性。
晶体的振荡频率通常为1.2MHz—12MHz之间。
晶体的频率越高,则系统的时钟频率也越高,单片机的运行速度也越快。
但运行越快对存储器的速度要求就越高,对电路板的工艺要求也就更高,即要求线间的寄生电容要小,晶体和电容应该尽量安装在单片机附近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作。
为了提高温度稳定性,应该采用温度稳定性好的NPO高频电容。
3、4复位电路
本设计用的是手动复位电路中的按键电平复位电路。
通过RST端经电阻与电源Vcc接通而实现。
3、5LED显示
单片机对数据进行处理后通过LED进行显示。
LED接成共阴,因为显示的温度只有两位,因此只用两个LED就可以满足要求,同时考虑到LED的扩流电路。
LED各管脚如图所示,接单片机的P0口和P1口。
3、6加热电路
交流220V电压通过芯片整流、滤波后得到一个标准的直流电压,此时,二极管无法导通。
当单片机把温度信号读进去后,与给定值进行比较,当偏差存在的时候,单片机通过串口T XD输出一个脉冲,出来后进行光电管进行信号隔离,在输入驱动芯片ULN2003,驱动IGBT,使加热回路导通,这样,箱内温度就得到增加。
此时单片机继续从温度检测芯片那里读数据,加热到当偏差为零时,脉冲变低,加热回路停止工作。
3、6、1ULN2003介绍
ULN2000、ULN2800是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
ULN2003A电路是美国TexasInstruments公司和Sprague公司开发的高压大电流达林顿晶体管阵列电路,文中介绍了它的电路构成、特征参数及典型应用。
功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。
功率驱动电路是功率电子设备输出电路的一个重要组成部分。
在大型仪器仪表系统中,经
常要用到伺服电机、步进电机、各种电磁阀、泵等驱动电压高且功率较大的器件。
ULN2000、ULN2800高压大电流达林顿晶体管阵列系列产品就属于这类可控大功率器件,由于这类器件功能强、应用范围语广。
因此,许多公司都生产高压大电流达林顿晶体管阵列产品,从而形成了各种系列产品,ULN2000、ULN2800系列就是美国TexasInstruments公司、美国Sprague公司开发的高压大电流达林顿晶体管阵列产品。
它们的系列型号分类如表1所列,生产2000、2800高压大电流达林顿晶体管阵列系列产品的公司与型号对照表如表2所列。
在上述系列产品中,ULN2000系列能够同时驱动7组高压大电流负载,ULN2800系列则能够同时驱动8组高压大电流负载。
美国TexasInstruments公司、美国Sprague公司生产的ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。
以下介绍该电路的构成、性能特征、电参数以及典型应用。
2000、2800高压大电流达林顿晶体管阵列系列中的其它产品的性能特性与应用可参考ULN2003A
3、6、2IGBT管介绍
IGBT(绝缘栅双极晶体管)作为新型电力半导体场控自关断器件,集功率MOSFET的高速性能与双极性器件的低电阻于一体,具有输入阻抗高,电压控制功耗低,控制电路简单,耐高压,承受电流大等特性,在各种电力变换中获得极广泛的应用。
主要参数:
耐压600V 开关频率 1KHZ极限电流1KA
第四章 PID控制
4、1PID控制原理
通过输入通道将温度传感器DS18B20采集到的被控对象当前温度转变为数字量并输入到单片机中,单片机求出输入的当前温度与设定值的偏差,并根据该偏差进行PID运算,最后,根据PID运算的结果由单片机输出控制数字信号经过光电隔离,经驱动芯片ULN2003驱动控制晶闸管整流电路,控制恒温箱加热。
本设计分两个阶段:
(1)自由升温阶段控制。
在这个阶段,希望升温越快越好。
所以,控制上只要让电热丝以最大的功率加热也就是单片机输出脉冲的最大值。
在这个过程中,不断测温,当预设温度与实际温度的温度之差小于等于10度时进入控温阶段。
(2)控温阶段。
恒温箱这个控制对象属于带纯滞后的惯性环节,所以采用PID控制。
根据给定的参数设置,编写增量式PID算法子程序等。
4、2PID控制系统框图
4、3PID算法
增量式算法中,输出量与执行的变化量相对应,即使前后两次采样所计算的位置偏差,其算式位:
Du(n)=u(n)—u(n—1)
中断子程序如下图所示,它的作用是判断是否进入控温阶段,若已进入控温阶段,则调用PID算法子程序,否则输出最大脉冲,使晶闸管整流器以全功率加热。
增量式PID算法的流程图如下图所示,计算Du(n)时只需要现时刻以及以前的两个偏差值e(n)、e(n—1)、e(n—2),初始化程序置初始值e(n—1)=e(n—2)=0,由中断服务对过程变量进行采样,并根据参数计算出Du(n)。
第五章单片机软件设计
5、1总体软件设计流程图
总结
在这次的课程设计中我学到了许多东西。
整个做设计的过程是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 正文