




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章绪论 1.1研究的目的和意义 温度是工业生产中主要被控参数之一,温度控制自然是生产的重要控制过程。工业生 产中温度很难控制,对于要求严格的的场合,温度过高或过低将严重影响工业生产的产质 量及生产效率,降低生产效益。这就需要设计一个良好温度控制器,随时向用户显示温度, 而且能够较好控制。单片机具有和普通计算机类似的强大数据处理能力,结合PID,程序控 制可大大提高控制效力,提高生产效益。 本文采用单片机STC89C52设计了温度实时测量及控制系统。单片机STC89C52能够根 据温度传感器DS18B20所釆集的温度在LCD 1602液晶屏上实时显示,通过PID控制从而把 温度控制在设定的围
2、之。通过本次课程实践,我们更加的明确了单片机的广泛用途和使用 方法,以及其工作的原理。 1.2国外发展状况 温度控制采用单片机设计的全数字仪表,是常规仪表的升级产品。温度控制的发展引 入单片机之后,有可能降低对某些硬件电路的要求,但这绝不是说可以忽略测试电路本身 的重要性,尤其是直接获取被测信号的传感器部分,仍应给予充分的重视,有时提髙整台 仪器的性能的关键仍然在于测试电路,尤其是传感器的改进。现在传感器也正在受着微电 子技术的影响,不断发展变化。 恒温系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足系统 对控制品质的要求。但从对控制方法的分析来看,PID控制方法最适合本例采
3、用。另一方 面,由于可以采用单片机实现控制过程,无论采用上述哪一种控制方法都不会增加系统硬 件成本,而只需对软件作相应改变即可实现不同的控制方案。因此本系统可以采用PID的 控制方式,以最大限度地满足系统对诸如控制精度、调节时间和超调量等控制品质的要求。 现在国外一般采用经典的温度控制系统。采用模拟温度传感器对加热杯的温度进行采样, 通过放大电路变换为05V的电压信号,经过A/D转换,保存在采样值单元;利用键盘输 入设定温度,经温度标度转换转化成二进制数,保存在片设定值单元;然后调显示子程序, 多次显示设定温度和采样温度,再把采样值与设定值进行PID运算得出控制量,用其去调 节可控硅触发端的通
4、断,实现对电阻丝加热时间的控制,以此来调节温度使其基本保持恒 定。 1.3温度控制系统的设计容 本系统从硬件和软件两方面来讲述恒温箱温度自动控制过程,在控制过程中主要应用 STC89C52. LCD 1602液晶显示器,而主要是通过DS18B20数字温度传感器采集环境温度, 以单片机为核心控制部件,并通过LCD1602显示实时温度的一种数字温度计。软件方面采 用C语言来进行程序设计,使指令的执行速度快,节省存储空间。而系统的过程则是:首 先,通过设置按键,设定恒温运行时的温度值,并且用LCD 1602显示这个温度值然后在运 行过程中将DS18B20釆样的温度经过处理后的数字量用LCD1602进
5、行显示,结合PID控制 得出的信号传给单片机,用单片机的相应引脚来控制加热器,进行加热或停止加热,直到 能在规定的温度下恒温加热,如果温度超过了恒温设定值,用单片机控制制冷片对恒温箱 进行降温,最后保证恒温箱在设定的温度下运行。 谢龙兵:基于贰片机的温度控制系统设汁 第2章总体方案设计 2. 1方案一 测温电路的设计,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变 化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电 路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 2.2方案二 考虑使用温度传感器,结合单片机电路设计,
6、温度传感器的选择,采用温度芯片 DS18B20测量温度,该芯片的物理化学性能很稳定,它能用做工业测温元件,且此元件线 性较好。在0-100摄氏度时,最大线性偏差小于1摄氏度。该芯片直接向单片机传输数字 信号,便于单片机处理及控制。本制作的最大特点之一是直接采用温度芯片对为温度进行 测量,使数据传输和处理简单化,直接读取被测温度值,之后进行转换,依次完成设计要 求。 0比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现, 故实际设计中拟采用方案二。电路设计方框图如图2-1所示,它主要由五部分组成:控制 部分主芯片采用单片机STC89C52;显示部分采用LCD 1602液晶显
7、示;温度设定部分采用按 键设定;温度温度采集部分采用DS18B20温度传感器;加温部分采用光电可控硅MOC3061 控制制大功率加热器;降温部分采用继电器控制TEC1-12706半导体制冷片。 44 第3章温度控制系统的器件和模块选用 3.1单片机的选择 3. 1. 1 STC89C52 简介 STC89C52单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代 码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: (1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令 代码完全兼容传统8051。 (2)工
8、作电压:5.5V3.3V (5V单片机)/3. 8V2. 0V (3V单片机)。 (3)X作频率围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz。 (4)用户应用程序空间为8K字节,片上集成512字节RAMo (5)通用I/O 口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0 口是漏 极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。 (6)具有EEPR0M功能,具有看门狗功能。 (7)共3个16位定时器/计数器,即定时器TO、Tl、T2o (8)外部中断4路,下降沿中断或低电平触发电路,Power Down模式
9、可由外部中断 低电平触发中断方式唤醒。 (9)通用异步串行口(UART),还可用定时器软件实现多个UARTo (10)工作温度围:-40-+85C (工业级)/0751 (商业级)。 3. 1. 2 STC89C52单片机的工作模式 (1)掉电模式:典型功耗0. luA,可由外部中断唤醒,中断返回后,继续执行原程 序。 (2)空闲模式:典型功耗2nd;正常工作模式:典型功耗4Ma7mA。 (3)掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。 3.1.3单片机最小系统结构 本系统以STC89C52单片机为核心,本系统选用11.05926MHZ的晶振,使得单片机有 合理的运行
10、速度,复位电路为按键高电平复位oSTC89C52单片机最小系统电路设计如图3-1 所示。 谢龙兵:基于贰片机的温度控制系统设汁 VOC 03 VCC XT.IL1 P0-0.O3 Ml AD】 XTAL1 P0 2.AD2 嗣 EAXTP 3.0 P0.4.UX KJ AK po.n POj-.W- P1.0T2 P2.1 TH ALE PROG P12ECI P30KaD P33-CIX0 P3.4-CIX1 P15CEX2 PllTxD F16OEX5 P3J:D?fb P2*CIX4 P3-5ST1 P3.4T0 PC.OAS P3.T1 P11A9 P工6仮 K12A10 P35XD
11、K3.U1 VSS T14A1: Pt 6 A14 P15 Al: nCS9C:2 VCC 14 13 DO1 5:DI2 r JX3 SJ34 5 JX3 i 卜JX6 b J67 t jy$ 11 10 图3-1单片机最小系统框 3. 1.4 STC89C52的引脚说明 STC89C52的引脚图如图3-2: T2/P1. 0 VCC 1 40 T2EX/P1 L 2 39 P0 0/AD0 Pl. 2 3 38 P0. 1/AD1 Pl. 3 4 37 P0 2/AD2 Pl. 4 5 36 P0. 3/AD3 Pl. 5 6 35 P0 4/ADI Pl. 6 7 34 P0 5/AD5
12、 Pl. 7 8 33 P0 6/AD6 RST 9 32 P0 7/AD7 RXD/P3.0 10 31 EA TXD/P3 1 11 30 ALB/PROG INT0/P3 2 12 29 PSEN INT1/P3.3 13 28 P2. 7/A15 T0/P3.4 14 27 P2 6/A14 T1/P3.5 15 26 PZ 5/A13 WR/P3.6 16 25 P2. 4/A12 RD/P3.7 17 21 P2 3/A11 XTAI.2 18 23 P2 2/A10 XTAL1 19 22 P2. 1/A9 VSS 20 21 P2 0/A8 图3-2 STC89C52引脚图 V
13、CC (40引脚):电源电压。 VSS (20引脚):接地。 P0端口(P0.0P0.7, 3932引脚):P0 口是一个漏极开路的8位双向I/O 口。作为 44 输出端口,每个引脚能驱动8个TTL负载,对端口 P0写入“1”时,可以作为高阻抗输入。 在访问外部程序和数据存储器时,P0 口也可以提供低8位地址和8位数据的复用总线。此 时,P0 口部上拉电阻有效。在Flash ROH编程时,P0端口接收指令字节;而在校验程序 时,则输出指令字节。验证时,要求外接上拉电阻。 P1端口 (P1.0P1.7, 18引脚):P1 口是一个带部上拉电阻的8位双向I/O 口。P1 的输出缓冲器可驱动(吸收或
14、者输出电流方式)4个TTL输入。对端口写入1时,通过部 的上拉电阻把端口拉到高电位,这是可用作输入口。P1 口作输入口使用时,因为有部上拉 电阻,那些被外部拉低的引脚会输出一个电流。 此外,P1.0和Pl. 1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时 器/计数器2的触发输入(Pl. 1/T2EX),具体参见表3-1。在对Flash ROM编程和程序校验 时,P1接收低8位地址。 表3-1 P1.0和Pl. 1引脚复用功能 引脚号 功能特性 PL0 T2 (定时器/计数器2外部计数输入),时钟输出 Pl. 1 T2EX (定时器/计数器2捕获/重装触发和方向控制) P2端
15、口 (P2. 0P2. 7, 2128引脚人P2 口是一个带部上拉电阻的8位双向1/()端口。 P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过 部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有部的 上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 P3端口 (P3. 0P3.7, 1017引脚):P3是一个带部上拉电阻的8位双向I/O端口。 P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过部 的上拉电阻把端口拉到高电位,这时可用作输入口 P3做输入口使用时,因为有部的上拉 电阻,那些被外部信号拉低
16、的引脚会输入一个电流。 在对Flash ROH编程或程序校验时,P3还接收一些控制信号。 P3 口除作为一般I/O 口外,还有其他一些复用功能,如表3-2所示。 表3-2 P3 口引脚复用功能 引脚号 复用功能 P3.0 RXD (串行输入口) P3. 1 TXD (串行输出口) P3.2 INTO (外部中断0) P3. 3 INT1 (外部中断1) P3.4 T0 (定时器0的外部输入) P3. 5 T1 (定时器1的外部输入) P3.6 WR (外部数据存储器写选通) P3. 7 RD (外部数据存储器读选通) RST (9引脚):复位输入。当输入连续两个机器周期以上髙电平时为有效,用来
17、完成 单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的髙电 平。特殊寄存器AUXR (地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下, 复位高电平有效。 ALE/PROG (30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在Flash编程时,此引脚(PROG)也用作编程输入脉冲。 在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或 时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需 要,通过将地址位8EH的SFR的第0位置“IS ALE操作将无
18、效。这一位置“1”,ALE仅 谢龙兵:基于贰片机的温度控制系统设汁 在执行WWX或MOV指令时有效。否则,ALE将被微弱拉髙。这个ALE使能标志位(地址位 8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 PSEN (29引脚人外部程序存储器选通信号PSEN是外部程序存储器选通信号。当 STC89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而访问 外部数据存储器时,PSEN将不被激活。 EA/VPP (31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部 程序存储器读取指令,EA必须接GND。注意加密方式1时,将部锁定位RES
19、ETo为了执行部 程序指令,EA应该接VCC。在Flash编程期间,EA也接收12伏VPP电压。 XTAL1 (19引脚):振荡器反相放大器和部时钟发生电路的输入端。 XTAL2 (18引脚):振荡器反相放大器的输入端。 3.2温度传感器的选择 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感 器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主要完成对温度 信号的釆集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。数字 温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的P3.7 口,单片机接受温 度并存储。此
20、部分只用到DS18B20和单片机,硬件很简单,DS18B20引脚图如3-3所示。 引脚图俯视團 % GND 引脚图说明 DQ为数宇信号辅入/箍i出端 GKD为电源地 VDD为外夷供电电源输入端 图3-3 DS18B20引脚图如 3.2. 1 DS18B20主要性能特点 (1)用户可自设定报警上下限温度值。 (2)不需要外部组件,能测量一55+1251围的温度。 (3)-10C+851围的测温准确度为土0. 5C o通过编程可实现912位的数 字读数方式,可在至多750 ms将温度转换成12位的数字,测温分辨率可达0. 06251。 (4)独特的单总线接口方式,与微处理器连接时仅需要一条线即可实
21、现与微处理器 双向通讯。 (5)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力。 (6)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 44 3. 2.2 DS18B20的工作原理 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤: (1)每一次读写之前都必须要对DS18B20进行复位。 (2)复位成功后发送一条ROM指令。 (3)最后发送RAM指令,这样才能对DS18B20进行预定的操作。 复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待15 60
22、微秒左右后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。其工作 时序包括初始化时序、写时序和读时序,具体工作方法如图3-4, 3-5,3-6所示。 初始化时序 DS18fV 15-60 士 剝I a 一例 /|4 主机坦位脉冲T / DSUQTx响应脉 冲60P40 丿、 / / / 图3-4初始化时序图 总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉冲使主机知 道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少480us,以 产生复位脉冲。接着主机释放总线,4.7KQ上拉电阻将总线拉髙,延时1560us,并进入 接受模式,以产生低电平应答
23、脉冲,若为低电平,再延时480uso 写时序 15-45us TO 60us lus T1 图3-5 (b)写1时序 写时序包括写0时序和写1时序。所有写时序至少需要60us,且在2次独立的写时序 之间至少需要lus的恢复时间,都是以总线拉低开始。写1时序,主机输出低电平,延时 谢龙兵:基于贰片机的温度控制系统设汁 2us,然后释放总线,延时60uso写0时序,主机输出低电平,延时60us,然后释放总线, 延时2us0 主机写9时序 读时序 主机写时序 主机采样 45L S 图3-6读时序 总线器件仅在主机发出读时序是,才向主机传输数据,在主机发岀读数据命令后,必 须马上产生读时序,以便从机能
24、够传输数据。所有读时序至少需要60us,且在2次独立的 读时序之间至少需要1US的恢复时间。每个读时序都由主机发起,至少拉低总线1US。主 机在读时序期间必须释放总线,并且在时序起始后的15US之采样总线状态。主机输岀低 电平延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50uso DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不 同DS18B20为9位12位A/D转换精度,而DS1820为9位A/D转换虽然我们采用了髙 精度的芯片,但在实际情况上由于技术问题比较难实现,而实际精度此时温度寄存器中的 数值即为所测温度。斜率累加
25、器用于补偿和修正测温过程中的非线性,其输出用于修正计 数器1的预置值。如下3-7的测温原理图不同,且温度转换时的延时时间由2s减为750mso DS18B20测温原理如图3-7所示。 图3-7 DS18B20的测温原理框图 3.3液晶显示屏输出 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有 显示,这样即可以显示出图形。液晶显示器具有厚度薄.适用于大规模集成电路直接驱动、 易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动 通信工具等众多领域。 3. 3. 1 LCD 1602的基本参数及引脚功能 LCD1602分为带背光和不带背光两种
26、,基控制器大部分为HD44780,带背光的比不带 背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图3-8所示。 44 R/W二H, E=H 输出 DO07=数摇 写数据 输入 RS二H, R/W=L, DOD7=数据,E二高脉冲 输出 无 读写操作时序如图3-9和3-10所示: 44 Rs !Si tSPl A U1 R/W/ 1PH 11 toi 匚 / / tff to 1 A HD2 DBO-DB7 Va 1 id Oot K tc 图3-9读操作时序 RS R/W D8O-D8 7 图3-10写操作时序 谢龙兵:基于贰片机的温度控制系统设汁 第4章系统的硬件设计 4. 1复位电
27、路 计算机在启动运行的时候都需要复位,使中央处理器CPU和系统中的其他部件都处于 一个确定的初始状态,并且从这个初始状态开始工作。单片机的复位是靠外部电路实现的, STC89C52单片机有一个复位引脚RST,髙电平有效。STC89C52单片机通常采用上电自动复 位和按钮复位两种。复位电路的基本功能是系统上电时,RC电路充电,RST引脚出现正脉 冲,提供复位信号直至系统电源稳定后,撤销复位信号,为可靠起见,电源稳定后还要经 一定的延时,才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复 位。RC复位电路可以实现上述基本功能。调整RC常数会令对驱动能力产生影响。复位 电路如下图4-
28、1所示。 RST PSE3 ALE no a 4. 2晶振电路 晶振电路提供单片机的时钟控制信号,单片机时钟产生方式有部时钟方式和外部时钟 方式。最常用的部时钟方式是采用外接晶振和电容组成,时钟振荡电路如图4-2所示。 单片机部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和引脚XTAL2分别 是反相放大器的输入端和输出端,由这个放大器与作为反馈元件的片外晶体或瓷谐振器一 起构成一个自己振荡器,这种方式形成的时钟信号称为部时钟方式。系统的时钟电路设计 是釆用的部方式,即利用芯片部的振荡电路。部方式时,时钟发生器对振荡脉冲二分频, 如晶振为12MHz,时钟频率就为6MHzo晶振的频率可以
29、在1MHz-24MHz选择。电容取3OPF 左右。因此,此系统电路的晶体振荡器的值为11.05926MHz,电容应尽可能的选择瓷电容, 电容值为30uFo在焊搂刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠 近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。XTAL1是片振荡器的反相放 大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1, 44 而XTAL2悬空o 4.3供电系统与下载通信 供电部分采用220V转12V的变压器,将输入的交流电降成12V,在利用桥式全波整流 电路把交流电转变成脉动的直流电,利用滤波电路岀去脉动的直流电的交流成分,接
30、着通 过设计二个三段稳压电路,选用7812把电压转化为12V,选用7805将12V转变成5V给单 片机供电。 串行通信的主要功能是实现单片机与PC机的数据交换,当需要进行数据记录、数据 统计、数据分析的时候,可以把数据发送给上位机,使用上位机进行数据处理,并且将数 据处理的结果又发送给单片机。这样可以大大提髙系统数据处理速度,还可以方便的对单 片机进行控制。计算机与外界的数据传送大部分都是串行的,其传送距离可以从几米到几 千米。 程序的烧录通过CH430芯片与单片机相连进行通信。其供电电路如4-3图所示,USB 供电和下载通信电路如图4-4。 -12VVCC TV 6L12 T7ILO5 GQ
31、 图4-4 USB供电和下载通信 4.4温度采集单元 在本系统要采用一条总线上挂单个DS18B20器件。在P3. 7 口接DS18B20温度传感器。 由于只采用单个传感器,故无需读出DS18B20温度传感器的序列号,在程序中直接跳过ROM。 其温度釆集电路如图4-5所示。 谢龙兵:基于贰片机的温度控制系统设汁 P3O P3.1 P32 P33 P34 P3.5 P36 P3.7 丿 45显示电路的设计 LCD1602液晶显示部分,采用与单片机相连接,将温度传感器采集到的信息迅速转化 为可视温度,硬件设计简单,增加了可读性,其示电路如图4-6所示。 图4-6 LCD 1602液晶温度显示电路 4
32、.6按键电路 按键是现阶段电子设计中最常用、最实用的输入设备。按键能够成为最普遍的输入设 备,主要是其具备了以下几个优点:工作原理、硬件电路连接简单、操作实用性强、价格 便宜,程序编写简单。缺点:机械抖动比较严重、外型不够美观。 按键部分实现的主要原理是单片机读取与按键相连接的I/O 口状态,来判定按键是否 按下,达到系统参数设置的目的。键盘在单片机应用系统中的作用是实现数据输入、命令 输入,是人工干预的主要手段。各按键开关均需要采用了上拉电阻,是为了保证在按键断 开时,各I/O有确定的高电平。当输入口线部已有上拉电阻,外电路的上拉电阻可省去。 因此,通过检测输入线的电平状态就可以很容易判断是
33、哪个按键被按下了。优点:电路配 置灵活,软件结构简单。缺点:每个按键需占用一根I/O 口线,在按键数量较多时,I/O 口浪费大,电路结构显得复杂。因此,此键盘适用于按键较少或操作速度较髙的场合。在 本设计当中,由于只需要三个按键,所以采用独立式键盘结构,电路连接图如图4-7所示。 1 PC.3 AD3 PC.4 AD4 PC.5 AD5 PC.6 AD6 PO.7.AD7 P1.0.T2 P1.1/T2EX P1.2ECI P1.3CEXO 图4-7按键电路 44 当用手按下一个键时,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态 的情况;在释放一个键时,也回会出现类似的情况。这就是抖
34、动。抖动的持续时间随键盘 材料和操作员而异,不过通常总是不大于lOmso很容易想到,抖动问题不解决就会引起对 闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟lOms来等待抖 动消失,再读入键盘码。按键控制电路分别接在单片机Pl.OP1.2 口。它由3个按键构 成,直接与单片机I/O 口相连。 当用于温度调节时,按键S2用于控制设定温度的使能,当按下S2,显示岀了设定温 度,然后按S3键可增加设定温度,按S3键可减少设定温度,当再次按下S2键时,不显 示设定温度,则S2, S3键处于屏蔽状态,无法设定温度。 4. 7降温电路 本设计中,采用NPN三极管驱动继电器,并且带有一发光
35、二极管作为指示灯,系统中 采用了电阻代替半导体制冷片。降温系统接到单片机P2.0 口上,当髙电平时,三极管饱 和导通,+5V电源分压加到继电器线圈两端,继电器吸合,同时状态指示的发光二极管也 点亮,继电器的常开触点闭合,相当于开关闭合。当单片机的P2.0脚为低电平时,三极 管截止,继电器线圈两端没有电位差,继电器衔铁释放,同时状态指示的发光二极管也熄 灭,继电器的常开触点释放,相当于开关断开。在三极管截止的瞬间,由于线圈中的电流 不能突变为零,继电器线圈两端会产生一个较髙电压的感应电动势,线圈产生的感应电动 势则可以通过二极管释放,从而保护了三极管免被击穿,也消除了感应电动势对其他电路 的干扰
36、,这就是二极管的保护作用,降温控制模块的电路图如图4-8。 2 0 22( % D6 心C J * y A R14 220 O2RL1AK CF DC24 xTGXT 0 K1 图4-8降温控制模块 4.8升温电路 MOC3061系列光电双向可控硅驱动器是一种新型的光电耦合器件,它可用直流低电压、 小电流来控制交流高电压、大电流。单片机引脚P3.4接与非门到红外发光二极管阴极, 当P3.4为高电平时红外发光二极管导通发射红外光,光控双向可控硅触发导通,进而控制 电阻丝加热。图中R16为限流电阻,使LEDX作在所需电流,R17是双向可控硅的门极电阻, 当可控硅灵敏度较高时,门极阻抗也很高,并上R
37、17可提高抗干扰能力,R19是触发功率双 向可控硅的限流电阻,另外R18和C12电容组成浪涌吸收电路防止浪涌电压损坏双向可 控硅。升温控制模块如图4-9所示。 谢龙兵:基于贰片机的温度控制系统设汁 4.9部分PCB设计及布线规则 2005年年底,Protel软件的原厂商Altium公司推出了 Protel系列的最新髙端版本 Altium Designer 6.0。Altium Designer 6. 0,它是完全一体化电子产品开发系统的一 个新版本,也是业界第一款也是唯一一种完整的板级设计解决方案。Altium Designer是 业界首例将设计流程、集成化PCB设计、可编程器件(如FPGA)
38、设计和基于处理器设计 的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设 计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。 本设计采用PCB双层板对温控系统的电路设计,其布线规则如下: (1)按电路模块进行布局,实现同一功能的相关电路称为一个模块,电路模块中的 元件应采用就近集中原则,同时数字电路和模拟电路分开。 (2)螺钉等安装孔周围3.5mm (对于M2. 5). 4mm (对于M3)不得贴装元器件。卧装 电阻、电感(插件)、电解电容等元件的下方避免布过孔,以免波峰焊后过孔与元件壳体 短路。元器件的外侧距板边的距离为5mm.贴装元件焊盘的外侧
39、与相邻插装元件的外侧距 离大于2mm,贴片焊盘上不能有通孔,以免焊膏流失造成元件虚焊。重要信号线不准从插座 脚间穿过,贴片单边对齐,字符方向一致,封裝方向一致。 (3)画定布线区域距PCB板边Wlmm的区域,以及安装孔周围1mm,禁止布线。电源 线尽可能的宽,不应低于18mil,本设计采用20milo信号线宽不应低于12mil,本设计采 用15mil,信号线之间应尽可能的平行走线,顶层与底层信号线应垂直走线,以便减少信 号干扰。CPU入出线不应低于10mil(或8ndl);线间距不低于lOmil,正常过孔不低于30mil (4)注意电源线与地线应尽可能呈放射状,以及信号线不能出现回环走线。 整
40、体PCB设计图如图4-8所示: 图4-8整体温控系统PCB设计 44 4. 10数字PID算法 PID调节的一般步骤: (1) 确定比例增益P:确定比例增益P时,首先去掉PID的积分项和微分项,一般是 令Ti二0、Td二0 (具体见PID的参数设定说明),使PID为纯比例调节输入设定为系统允 许的最大值的60%70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此 时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例 增益P为当前值的60旷70%。比例增益P调试完成。 (2) 确定积分时间常数Ti 比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然
41、后逐渐减小Ti,直 至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设 定PID的积分时间常数Ti为当前值的150%180%o积分时间常数Ti调试完成。 (3) 确定积分时间常数Td 积分时间常数Td 般不用设定,为0即可。若要设定,与确定P和Ti的方法相同, 取不振荡时的30%o (4) 系统空载、带载联调,再对PID参数进行微调,直至满足要求。 温控系统采用数字PID算法,并由软件实现,所谓PID控制就是按设定值与测量值之 间偏差的比例、偏差的积累和偏差变化的趋势进行控制。它根据采样时刻的偏差值计算控 制量。因此PID控制律的实现,必须用数值逼近法。当采样周期
42、相当短时,可以用求和代 替积分,用差商代替微分,即做如下近似变换: t = kT e df = T 吕(jTTe(j)(4-1) y-0jU) de(t) _ e(kT)-ek -)T _ e(k)-e(k dtTT 式中,k为采样序号,k=l, 2, 3,;T为采样周期。显然,上述离散化过程中,采样 时间T必须足够短,才能保证有足够的精度。为了书写方便,将e(kT)简化表示成e(k)等, 即省去T。可以得到离散的PID表达式为: “伙)=K/伙)+ K 乞 e(j) + K/Je 伙)-e伙 一 1)( 4-2) J-o 式中,k为采样序号,k=l, 2, 3,;u(k)为第k次采样时刻的计
43、算机输出值;e(k) 为第k次采样时刻输入的偏差值;e(k-l)为第(k-1)次采样时刻输入的偏差值;n-1 T.你匕 d t J li lili (5-5) (5-6) T T =u t +k xle c J+xe + x(e 2e . +e J) n-1 p n n-1 厂 n .n n-1 n2 li Ti 改写成: u(n) = u(n-l) + kpXE(n)-E(n-l)+Kj xE(n) + K)xE(n)-2E(n-l) + E(n-2) = u(n-l) + pp + pI + pD 谢龙兵:基于贰片机的温度控制系统设汁 PID控制流程图如图5-7所示: 图5-7 PID控制
44、流程图 44 第6章电路仿真与分析 6.1仿真软件及结果分析 MCS-51系列单片机在很多产品中得到了广泛的应用。在具体的工程实践中,单片机应 用技术所涉及的实践环节较多,且硬件投入较大,如果因为控制方案有误而进行相应的开 发设计,会浪费较多的时间和经费。Proteus仿真软件很好地解决了这些问题,它可以像 Protel 一样绘制硬件原理图并实现硬件调试,再与Keil编程软件进行联调,实现对控制 方案的验证。 Keil是德国Ke订公司开发的单片机编译器,是目前最好的51单片机开发工具之一, 可以用来编译C源代码和汇编源程序、连接和重定位目标文件和库文件、创建HEX文件、 调试目标程序等,是一种
45、集成化的文件管理编译环境。 本设计通过Proteus仿真软件对系统温度控制过程的部分仿真,经过PID运算系统仿 真结果如下: (1)当设定温度高于测量温度5度时,占空比k二100乩 此时由由单片机P3.4引脚持 续高电平,进而使加热器对箱体加热,其仿真结果如图6-1所示。 图6-1设定值高于测疑值5度时P3. 4波形 (2)当设定温度与测量温度之差少于5度时,则掺入PID控制,单片机P3.4引脚成 高低点平跳转,加热器根据该情况下的高电平时间对箱体进行加热,其仿真结果如图6-2 所示。 谢龙兵:基于贰片机的温度控制系统设汁 图6-2设定值与测量值之差少于5度时P3. 4波形 (3)当设定温度低
46、于测量温度时,占空比k二0,此时单片机引脚P3.4持续低电平,利 用单片机P2.0引脚外接继电器控制制冷片对箱体进行降温,其仿真结果如图6-3所示。 图6-3设定值低于测量值时P3. 4波形 44 总结 通过广泛查阅各类文献资料与实际调研走访,深入了解温度控制和数据采集系统在现 实生活、生产中的广泛应用与研究意义。本文以温度信号多路采集为例,介绍了用DS18B20 温度传感器温度的采集,用单片机STC89C52控制DS18B20温度传感器进行温度的采集再 将温度值传回单片机进行处理在送到LCD1602显示屏显示。对所选取的系统分析各单元电 路的设计,以及各电路与单片机的接口技术。着重分析系统软
47、件的设计过程,使用单片机 C语言进行程序没计。本文是采用模块化的方式进行叙述,对各模块的设计进行了比较详 细地阐述。本次设计的基于DS18B20的温度测量系统是一个分布式的温度测量系统,它可 以远程对温度实现测量和监控,广泛应用于医疗卫生、电力工业、农业等场合。 经过这一次毕业设计,我学了不少的知识,学会了怎样查阅资料和利用工具,学会了 用C语言来进行单片机的程序编写以及熟练地使用PROTEUS仿真软件和KEIL开发工具及 Altium Designer画图软件对系统进行PCB设计。通过这次毕业设计,我也深刻地认识到 只有将书本与具体的实践相结合,才会有真正的收获,才能巩固自己的所学,认识到自
48、己 的不足,同时我们也要有一种积极学习的态度,时代在进步我们也要跟着时代前进,要不 断学习,不断创新,用自己的知识与行动来证明自己的价值。 谢龙兵:基于贰片机的温度控制系统设汁 致 经过两个月的努力,我的毕业设计顺利完成了。在这里,我向所有指导过我的老师和 帮助过我的同学,对他们表示深深的意。在本文的撰写过程中,老师作为我的指导老师, 她治学严谨,视野广阔,为我营造了一种良好的学术氛围。通过辅导讲解,使我接受了全 新的思想观念,树立了明确的学术目标,领会了基本的思考方式,了解通用的研究方法。 其严以律己、宽以待人的崇高风,朴实无华、平易近人的人格魅力,与无微不至、感人至 深的人文关怀,令人如沐
49、春风,倍感温馨。正是由于她在百忙之中多次审阅全文,对细节 进行修改,并为本文的撰写提供了许多中肯而且宝贵的意见,本文才得以成型。最后,我 还要认真地我身边所有的朋友和同学,你们,你们对我的关心.帮助和支持是我不断前进 的动力之一,我的大学生活因为有你们而更加精彩。 44 参考文献 1 妙芳,胡晓东.基于AT89C51单片机的温度控制系统设计J.机械工程师,2009, (01): 151-152. 2 鸿图基于单片机的温度控制系统的设计与实现J.微计机信息,200 .g K .04 0 ; 4 M:tn 7. . I2SX AltJTTT 1: J CEC 3! 4CE4! 旳23 ! :CE3
50、 : :* :C HQ 11ZSEC4 WATO 於小 哄T Ke as n : “ L1jU5 a心 X i MS n e am vss ! xxr 匚 :* y 8n | ptciuxc 附录图2-1温度控制系统整体原理图 谢龙兵:基于贰片机的温度控制系统设汁 附录C: C语言源程序代码 *DS 18b20 温度传 感器函 */ Init DS18B20(void)/传感器初始化 uchar x=0; DATA = 1; /DQ复位 delay (10); 稍做延时 DATA = 0; /单片机将DQ拉低 delay (80); 精确延时大于480us/450 DATA = 1; 拉高总线
51、 delay (20); x=DATA; 稍做延时后如果x=0则初始化成功x=l则初始化失败 delay (30); /读一个字节 ReadOneChar(void) uchar i=0; uchar dat = 0; for (i=8;i0;i) DATA = 0; /给脉冲信号 dat=l; DATA = 1; /给脉冲信号 if(DATA) dat1=0 x80; delay ; return( dat); 写一个字节 Wri teOneChar(uchar dat) uchar i=0; for (i二 delay (8); 44 /读取温度 int ReadTemperature(v
52、oid) uchar 3二0; uchar b二0; int t=0; float tt=0; Init DS18B20O; WriteOneChar (OxCC): /跳过读序号列号的操作 Wri teOneChar (0 x44): / 启动温度转换 Init_DS18B20(); WriteOneChar (OxCC) ; /跳过读序号列号的操作 WriteOneChar(OxBE); 读取温度寄存黠等(共可读9个寄存器)前两个就是温度 a=ReadOneChar () ; /低位 b=ReadOneChar () ; /高位 t=b; t=8; t=t|a; if(b flag Neg
53、ative number = 1: ) else flag Negative number = 0; tt=t*O. 0625;/DS18B20温度传感器的分辨率 t= tt*10+0. 5; tt=tt+O. 05; return(t); /*LCD 1602 液晶显示L*/ void De 1 ayms_ 1602(unsigned int x) /延时函数 unsigned int i: while (x) for (i二0;i200;i+); uchar Busy Check602()/忙检测 谢龙兵:基于贰片机的温度控制系统设汁 uchar LCD Status; RS = 0; R
54、W = 1; EN = 1; Delayms 1602(1): LCD Status = P0; EN = 0; return LCD Status; void Write LCD Command_ 1602(uchar cmd) /1602 写命令 while (BusyCheck 1602()/显示百位 shi l=set temper%100/10;/显示十位 gel=set temper%10;/显示个位 tablel 4 = T; tablel 5=,=,; tablel 6=qianl +0; tablel 7=bail +0; tablel 8=shil +,0l; tablel
55、 9=gel +0; if (nF二0) tablel 4=, tablel 5=; h=high time; hl=h/1000; table 10=hl+,0,; h2=h/100%10; table ll=h2+r0,; h3=h/10%10; table 12=h3+r0*; h4=h%10; table 13=h4+r0,; temp=ReadTemperature();/读温度 q ian=temp%10000/1000 ; ba i =temp% 1000/100;/ 显示百位 shi=temp% 100/10; /显示十位 ge=temp%10; /显示个位 table 0=q
56、ian +0; table l=bai +0; table 2=shi +,0,; table 4=ge +*0*; int redtemper(void) 谢龙兵:基于贰片机的温度控制系统设汁 int h二0; int w=0: h=ReadTemperature(); qian2=h%10000/1000; ba i 2=h% 1000/100;/ 显示百位 shi2=h%100/10;/显示十位 ge2=h%10;/显示个位 w=qian2*1000+bai2*100+shi2*10+ge2; return (w); void warm() uint t,a; unsigned char
57、 i: t=set_temper; t=t*10; a=bai*100+shi*10+ge; if (ta) if (t-a50)如果设定温度高于测定值5度 high_time=100; low time=0; else for (i=0;i10;i+) rin=redtemper(); rout = PIDCalc ( low time=100; else for(i=0:i10;i+) rin=redtemper(); rout = PIDCalc ( Sspid,rin ); if (high_time100) high time=(unsigned char) (rout/10000)
58、: else high time二0; low time= (100-high time); / else / void main () TM0D=TM0D 0 x01; TMOD=TMOD ShowString_1602(0.0.table); ShowString_1602(0,1,tablel); /* TO中断服务子程序,用于控制电平的翻转,40us*100=4ms周期 */ void Time0() interrupt 1 if(+count=(high_time) output=l; nop_ () ; _nop_ (): _nop (); _nop_ (): else if(co
59、unt=100) output=0; nop_ 0 ; _nop_ (): _nop () ; _nop_ () ; nop_ (); _nop_ () ; nop_ () ; nop一 (): else count=0; THO二57536/256; TLO-57536%256; void int0() interrupt 0 / 外部的中断函数 / static uint 1; / TRO二0; 44 /P2 0=0; /l=0 x10000-Time 5ms; TH0=57536/256; TLO-57536%256; TR0=l; 谢龙兵:基于贰片机的温度控制系统设汁 附录D:外文文献
60、 DS18B20 Single 一 wire temperature sensor 1. FEATURES Unique 1-Wireinterface requires only one port pin for communication Each device has a unique 64-bit serial code Multidrop capabi1ity simplifies distributed Requires no external components Can be powered from data line Power supply Measures temper
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级银行从业资格之中级公司信贷真题练习试卷B卷附答案
- 2025年初级银行从业资格之初级风险管理每日一练试卷A卷含答案
- 森林生态旅游服务质量控制考核试卷
- 矿物加工自动化控制与放射性矿选效率提升考核试卷
- 电子测量仪器的光纤传感器技术考核试卷
- 自动售货机行业市场风险分析考核试卷
- 焊接技术在大型雕塑制作中的应用考核试卷
- 系统集成中的数据整合策略考核试卷
- 2025鸥黎(上海)信息科技有限公司招聘3人笔试参考题库附带答案详解
- 绘图计算及测量仪器制造续考核试卷
- DB3301∕T 0451-2024 医学美容机构电子病历系统技术规范
- 《大国浮沉500年:经济和地理背后的世界史》记录
- 水工维护初级工技能鉴定理论考试题库(含答案)
- 运维项目进度计划
- 商场中央空调租赁协议模板
- 十八项核心制度
- 浙江省杭州市2023-2024学年六年级下学期期中模拟测试数学试卷(人教版)
- 国家开放大学《Python语言基础》实验4:条件分支结构基本应用参考答案
- OTA代运营协议文档
- 内分泌科常见急危重症抢救流程
- 污染源权重分析报告
评论
0/150
提交评论