单片机在小型开水锅炉控制系统中的应用_第1页
单片机在小型开水锅炉控制系统中的应用_第2页
单片机在小型开水锅炉控制系统中的应用_第3页
单片机在小型开水锅炉控制系统中的应用_第4页
单片机在小型开水锅炉控制系统中的应用_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业论文(设计)本科毕业论文(设计) 论文题目:单片机在小型开水锅炉控制系统中的应用论文题目:单片机在小型开水锅炉控制系统中的应用 学生姓名:学生姓名: 所在院系:所在院系: 机电学院机电学院 所学专业:所学专业: 电气工程及其自动化电气工程及其自动化 导师姓名:导师姓名: 完成时间:完成时间: 摘摘 要要 本系统是基于单片机的水暖锅炉控制,在设计中主要有水位检测、温度检 测、压力检测、按键控制、水温控制、水位控制、循环控制、压力控制、显示 部分、故障报警等几部分组成来实现供暖控制。主要用水位传感器检测水位, 用数字温度传感器 ds18b20 来检测水温,用五个控制按键来实现按健控制,用

2、三位 led 显示器来完成显示部分,用变频器来控制循环泵的转速,用压力传感 器检测锅炉内部压力。并且通过模数转换把这些信号送入单片机中。把这些信 号与单片机中内部设定的值相比,以判断单片机是否需要进行相应的操作,即 是否需要打开鼓风机,是否需要开启补水泵,是否需要加快循环泵的转速等操 作,从而实现单片机自动控制的目的。本设计用单片机控制易于实现锅炉供暖、 而且有造价低、程序易于调试、一部分出现故障不会影响其他部分的工作、维 修方便等优点。 关键词关键词: : 单片机,传感器,水位,温度,自动控制 based scm design of heating boiler controlled sye

3、tem abstract the systemic design bases controller of cms water heating of a boiler , it mostly makes up of measuring water level ,measuring a water temperature ,controlling a keys-press ,controlling a water temperature ,controlling water level ,controlling circulate ,controlling pressure ,showing a

4、part ,giving an alarm order to realize heating controller ,the design adopts single-chip microcomputer to control boiler heating .it mostly uses a temperature sensor ds18b20 to measure water temperature ,uses water level sensor to measure water level , uses a transducer to control cycle pumps rotate

5、 speed ,uses five keys-press to control key-press ,uses three light-emitting diodes display to finish a display parts ,uses a transducer to control rotate speed of cycle pump ,uses a press transducer to measure press in the boiler .it sends those signals to scm through modulus ,and hold those signal

6、s to compare with enactment in the scm to judge whether scm need to carry through relevant operation namely ,whether it needs to open a fan ,whether it needs to turn on a water pump ,whether it needs to quicken rotate speed of a cycle pump and so on .consequently ,it finishes an aim of scm auto-cont

7、roller .the design makes use of the scm to control boiler which is easy to realize boiler heating ,it is cheap to manufacture ,it is easy to debug its procedure .when a part is in trouble ,it does not infect others and it is convenience to mend ,it is widely to use many of areas. keywords: single-ch

8、ip microcomputer, transducer ,water level , temperature , auto-control 目目 录录 1 绪论 .5 2 系统总体方案.5 2.1 系统框图.5 2.2 系统具体实现方案.5 3 系统硬件设计.6 3.1 单片机的配置 .6 3.2 温度传感器.7 3.3 显示部分.8 3.4 变频器.8 3.5 水位传感器.9 3.6 a/d 转换器 .9 3.7 压力传感器.9 4 系统的具体设计与实现 .10 4.1 系统的总体原理图.10 4.2 单片机控制系统的流程图 .10 4.3 电源电路.12 4.4 温度控制系统 .12 4

9、.5 循环泵控制部分.13 4.6 水位控制系统 .13 4.7 压力控制系统 .15 4.8 键盘部分.15 4.9 驱动部分电路 .15 4.10 显示部分电路.16 4.11 自动报警电路.16 5 结束语.17 致 谢 17 参考文献.18 附页.19 1 绪论绪论 传统的控制方式不能进行远距离的集中控制,自动化程度低,调节精度差, 单靠人工操作已不能适应。由于被控对象和过程的非线性、时变性,多参数间的 强耦合、随机干扰等因素,使得建立被控对象的精确数学模型变得很困难。在这 些复杂的系统面前,传统的控制方法无法满足控制精度,而且系统稳定性差。 使用单片机实现供暖锅炉温度控制,具有较高的

10、实用价值和优越性等特点。 采用低功耗数字温度传感器进行温度测控,可大大简化设计方案,系统性能也 更稳定;采用光电管测控水位,可有效保证水位的自动控制,保证水质无污染, 能更好地对锅炉进行自动化控制;单片机不仅有体积小,安装方便,功能较齐 全等优点,不仅使控制系统大大的简化而且其强大的功能稳定的输出都将保证 锅炉正常供气供暖,保证安全经济运行。 2 系统总体方案系统总体方案 2.1 系统框图系统框图 本系统主要有水位检测、温度检测、按键控制、水温控制、水位控制、循 环控制、显示部分、故障报警等几部分组成来实现自动化控制,系统框图如图 1 所示。 2.2 系统具体实现方案系统具体实现方案 本系统采

11、用 51 系列单片机 at89s51 控制锅炉供暖,系统采用手动和自动 两种。主要是单片机自动控制,设置有手动/自动切换。包括利用温度控制,补 水泵控制、循环泵控制、故障报警。 在温度控制部分,用数字温度传感器的值送入单片机与单片机内部设定值 单 片 机 按键控制部分 温度检测部分 水位检测部分 故障报警部分 温度控制部分 补水控制部分 循环控制部分led 显示部分 图 1 系统框图 进行比较。设定温度 1 为低水位控制位,温度 2 为高水位控制位,在当温度低 于给定温度 1 时,蒸汽阀打开给水加热;当温度高于给定温度 2 时,系统报警。 在补水部分,用水位传感器来检测水位,当锅炉汽包水位低于

12、规定的最低 水位时系统发出报警,指示灯亮,继电器线圈得电,电磁阀打开,水泵开始注 水;炉内的水位到达或超过规定的最高水位时系统发出报警,指示灯亮,线圈 失电,电磁阀闭合,停止注水。故障报警部分,当发生故障时指示灯亮,报警 零响。 在循环控制部分当水温值在设定值内,则开启循环泵。当循环泵 1 出现故 障时,报警系统报警,单片机接收到信号,备用的循环泵 2 开始代替循环泵 1 工作。 在故障报警部分,当温度控制部分、补水泵部分、循环泵部分出现故障时, 报警系统报警。 3 系统硬件设计系统硬件设计 本系统从经济性,电路结构,系统性能等多方面考虑。选用如下元器件, 数字温度传感器 ds18b20,压力

13、传感器 pt125,单片机 at89s51,led 数码 管,变频器,光敏三极管,若干继电器用来控制风机,水泵循环泵等。 3.1 单片机的配置单片机的配置 at89s51 是一个低功耗,高性能 cmos 8 位单片机,片内含 4k bytes isp(in-system programmable)的可反复擦写 1000 次的 flash 只读程序存储器,器 件采用 atmel 公司的高密度、非易失性存储技术制造,兼容标准 mcs-51 指 令系统及 80c51 引脚结构,芯片内集成了通用 8 位中央处理器和 isp flash 存储 单元,功能强大的微型计算机的 at89s51 可为许多嵌入式

14、控制应用系统提供高 性价比的解决方案。 at89s51 具有如下特点:40 个引脚,4k bytes flash 片内程序存储器,128 bytes 的随机存取数据存储器(ram) ,32 个外部双向输入/输出(i/o)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行 通信口,看门狗(wdt)电路,片内时钟振荡器。 此外,at89s51 设计和配 置了振荡频率可为 0hz 并可通过软件设置省电模式。空闲模式下,cpu 暂停工 作,而 ram 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振 荡器而保存 ram 的数据,停止芯片其它功能直至外中

15、断激活或硬件复位。同 时该芯片还具有 pdip、tqfp 和 plcc 等三种封装形式,以适应不同产品的需 求。at89s51 具有以下特点: *与 mcs-51 微控制器产品系列兼容。 *片内有 4kb 可在线重复编程的快闪擦写存储器。 *32 条可编程 i/o 线。 *程序存储器具有三级加密保护。 *可编程全全双工串行通道。 *空闲状态维持低功耗和掉电状态保存存储内容。 *而且与 87c51 系列的引脚也完全兼容。 3.2 温度传感器温度传感器 本系统采用的是美国 dallas 半导体公司最新推出的一种改进型智能温度 传感器 ds18b20,与传统的热敏电阻等测温元件相比,它能直接读出被测

16、度数, 并且可根据实际要求通过简单的编程实现 9-12 位的数字值读数方式。 ds18b20 的性能特点: *独特的单线接口仅需一个端口引脚进行通信; *多个 ds18b20 可以并联在唯一的三线上,实现多点组网功能; *无须外部器件; *可通过数据线供电,电压范围为 3.0-5.5v; *零待机功耗; *温度以 9 或 12 位数字量读出; *用户还可定义的非易失性温度报警设置; *报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; *负电压特性,电源极性接反时,温度计不会因为发热而烧毁,但不能正常 工作。 dsl8b20 的引脚如图 3 所示。此外 dsl8b20 数字温度计提

17、供 9 位(二进制) 温度读数,指示器件的温度。信息经过单线接口送入 dsl8b20 或从 dsl8b20 送 出,因此从主机 cpu 到 dsl8b20 仅需一条线(和地线)。 dsl8b20 的电源可以由数据线本身提供而不需要外部 电源。因为每一个 dsl8b20 在出厂时已经给定了唯一 的序号,因此任意多个 dsl8b20 可以存放在同一条单 线总线上。这允许在许多不同的地方放置温度敏感器 件。dsl8b20 的测量范围从-55 摄氏度到+125 摄氏度, 增量值为 0.5 摄氏度,可在 ls(典型值)内把温度变换成 数字。每一个 dsl8b20 包括一个唯一的 64 位长的序号, 该序

18、号值存放在 dsl8b20 内部的 rom(只读存贮器)中。开始 8 位是产品类型编 (dsl8b20 编码均为 10h)。接着的 48 位是每个器件唯一的序号。最后 8 位是前 图 2 ds18b20 引角图 面 56 位的 crc(循环冗余校验)码。dsl8b20 中还有用于存储测得的温度值的两 个 8 位存贮器 ram,编号为 0 号和 1 号。1 号存贮器存放温度值的符号,如果 温度为负(摄氏度),则 1 号存贮器 8 位全为 1,否则全为 0。0 号存贮器用于存 放温度值的补码,lsb(最低位)的 1 表示 0.5 摄氏度。将存贮器中的二进制数求 补再转换成十进制数并除以 2 就得到

19、被测温度值(-55 摄氏度-125 摄氏度) )。每只 d518b20 都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。 采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长,采取 外部供电方式则多用一根导线,但测量速度较快,输出数据见下表。 表 1 ds18b20 温度数据关系表 温度数据输出(二进制)数据输出(十六进制) +1250000 0111 1101 000007d0 +850000 0101 0101 00000550 +25.06250000 0001 1001 00010191 +10.1250000 0000 1010 001000a2 +0.5000

20、0 0000 0000 10000008 00000 0000 0000 00000000 -0.51111 1111 1111 1000fff8 -10.1251111 1111 0101 1110ff5e -25.06251111 1110 0110 1111fe6f -551111 1100 1001 0000fc90 3.3 显示部分显示部分 在单片机系统中,通常用 led 数码显示模块来显示各种数字或符号。由于 它具有显示清晰、亮度高、使用电压低、光电转换效能高、寿命长的特点,因 此使用非常广泛。 3.4 变频器变频器 在本系统中我们选用 abb 公司的 acs600 变频器。acs

21、600 变频器具有很 宽的功率范围(2.23000kw)可以满足本设计的要求 75kw 和 3kw,优良的速 度控制和转矩控制,并具有完整的保护功能以及灵活的编程能力。 其重要特性如下: * 无与伦比的电机速度及转矩控制,电机辨识运行及速度自我微调功能。 * 内置 pid 控制器,降低了您的投资成本。 * 工具软件对传动的全方位支持,acs 600 singledrive 能在几毫秒内测出 电机的实际转速和状态,所以在任何状态下都能立即起动,无起动延时。 * 零转速下,不需速度反馈就能提供电机满转矩。 * acs 600 singledrive 能够提供可控且平稳的最大起动转矩,可达到 200

22、% 的额定转矩。 * 不需特殊硬件的磁通制动模式可以提供最大的制动力矩。 * 在磁通优化模式下,电机磁通自动适应于不同的负载以提高效率同时降 低电机的噪音,变频器和电机的总效率可提高 1%-10%。 * dtc 直接转矩控制,从零速开始不使用电机轴上的脉冲码盘反馈就可以 实现电机速度和转矩的精确控制。 * 开环转矩阶跃上升时间小于 5 毫秒,而不带速度传感器的磁通矢量控制 变频器的开环转矩阶跃上升时间却多于 100 毫秒。 3.5 水位传感器水位传感器 用发光二极管和光敏三极管 3du 组合来检测水位。 3.6 a/da/d 转换器转换器 采用常见的 adc0808。adc0808 是带有 8

23、 位 a/d 转换器、8 路多路开关 以及与微型计算机兼容的控制逻辑的 cmos 组件,其转换方法为逐次逼近型。 在 a/d 转换器内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关树组的 256 电阻分压器,以及一个逐次逼近型寄存器。8 路的模拟开关由地址锁存器和 译码器控制,可以在 8 个通道中任意访问一个通道的模拟信号。由于多路开关 的地址输入部分能够进行锁存和译码,而且三态 ttl 输出也可以锁存,所以它 易于与微型计算机接口直接相连。 3.7 压力传感器压力传感器 设计采用高温高压压力变送器 pt125 来采集蒸汽室气压,pt125 常应用于 橡胶、塑料、涤纶锦纶、聚脂、蒸汽等高温的

24、精确测量和控制。其常用参数如 下: *量 程:01-450mpa *综合精度:0.1%fs 0.2%fs 0.5%fs 1.0%fs *输 出 :05v *工作温度:-10200-450; *供电电压: 936 v(24vdc) *长期稳定性:0.1%fs/年 *负载阻抗:电流型最大 800 电压型 50k 以上 *绝缘电阻:大于 2000m 100vdc *振动影响:对于 20hz-1khz 的机械振动,输出变化小于 0.1%fs *密封等级:ip65 *信号引出:六芯镀金进口接插件 *螺纹连接:1/2-20unf 4 系统的具体设计与实现系统的具体设计与实现 4.1 系统的总体原理图系统的

25、总体原理图 系统的总体原理图如图 3 所示。 4.2 单片机控制系统的流程图单片机控制系统的流程图 单片机控制系统模拟量处理子程序、温度控制部分子程序、循环系统控制 子程序、补水泵选择子程序、故障诊断与报警处理。它的流程图如图 4 所示。 状态及 pid 初始化 模拟量处理子程序 温度控制部分子程序 循环系统控制子程序 补水泵选择子程序 故障诊断与报警处理 图4 控制流程图 开始 c 1 d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8 c 1 d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8 c 1 d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8

26、c 1 d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8 a 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 a 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 a 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 a 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7

27、 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 vcc 1 2 3 1 2 3 sp q4 9015 10u c1 d1d2d3 r1 1k r2 1k r3 1k ds18b20ds18b20 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5/mosi 6 p1.6/miso 7 p1.7/sck 8 rest 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 x

28、tal 1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale /prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89s51 km1km2km3 1k s1 s2 s3 s4 q1 q2 q3 c3 s5 r5r6 r7 r8 r9r10 r14 r15r18 in-0 26 msb2-1 21 2-2 20 2-3 19 2-4 18 2-5

29、 8 2-6 15 2-7 14 lsb2-8 17 eoc 7 add-a 25 add-b 24 add-c 23 ale 22 ref(-) 16 enable 9 start 6 ref(+) 12 clock 10 adc0808 gnd pt125 dc24v 5v c4 12mh z km4 r11 r12 r13 d5 d6 d7 d8 d9 d10 5.1k 1k4.7k 4.7k 4.7k 1k 1k 30p30p gnd km5km6 5.1k km8km7 q12 9015 q11 9015 q10 9015 q9 9015 q8 9015 q7 9015 q6 901

30、5 q5 9015 图 3 系统原理图 4.3 电源电路电源电路 系统工作电压为 5v,电流 1.5a。采用原边交流 220v,副边 10v 的变压器, 经桥式整流,1000uf 电容滤波,7805 稳压,可使电源满足求。其原理图如图 5 所示。 b c19 1000u/25v c20 1000u/25v 1 2 3 4 in4007 c21 0.01 7805 max496 220v 5v 图 5 电源原理图 4.4 温度控制系统温度控制系统 传感器是“能感受规定的被测量 并按照一定的规律转换成可用输出 信号的器件或装置”,它通常由敏感 元件和转换元件组成。温度传感器 ds18b20 将检测

31、到的温度数据由单 片机的 p2.7 口送入。由单片机 at89s51 进行运算,换算出测量温 度,即水温。它与设定温度相比较, 从而控制继电器的通断即(控制蒸 汽电磁阀的通断)及报警系统的开 闭。当水温高于设定温度时蒸汽阀 关,水温刚低于设定温度时,蒸汽 阀并不会立即导通,只有当水温底 于设定温度 1 时,蒸汽阀才会导通, 给水加热。若水温继续下降,低于 设定温度 2 时,报警系统报警。温 度控制部分。 检测温度在设 定值 1? 开蒸汽阀 检测温度在设 定值 2? 故障报警 n y y 图 6 温度控制流图 图程图 ) 开始 返回 将检测到室外温度、出水温度、回水温度与设定温度相比较,从而控制

32、 继电器的通断及报警系统的开闭。系统框图如 6 所示。 4.5 循环泵控制部分循环泵控制部分 本系统用两台循环,一台工作一台备用。循环泵部分的子程序部分当出水 温度和回水温度在规定范围之内,开启循环泵 1,有变频器控制。使锅炉内水 循环达到供暖。当循环泵 1 出现故障时,用备用的循环泵 2。循环泵 1 出现故 障即是出水温度与回水温度的差值非常大即设定的最大温差时,循环泵故障报 警,改用循环泵 2 来替代循环泵 1 工作。被替代的泵在循环顺序中可以自动跳 过,顺沿循环. 在循环泵投入或切除的转换过程中需要单片机对变频器的运行参 数进行控制,同时为了增加系统的稳定性,避免频繁投切循环泵,在转换过

33、程中要 有一段时间间隙。温差为给定停止循环泵。循环框图如图 7 所示。 4.6 水位控制系统水位控制系统 水位检测是通过 3 对高亮二极管和光敏三极管分别安装在 3 个不同的位置, 由上至下四个输出端口分别接单片机的 p0.0、p0.1、p0.2 口,实时对锅炉里的 水位进行检测。当水位到达某一光敏三极管的位置时,其输出端口就向单片机 输出高电平;当水位低于此光敏三极管的位置时,其输出端口就向单片机输出 低电平。由上至下的第一个位置为水位上限报警线,即当水位高于此位置时, 开水房控制系统就会自动报警,提醒工作人员注意,加水电磁阀有可能出故障; 第二个位置是自动停止加水线,即当水位高于此位置时,

34、控制系统会自动关闭 加水电磁阀,停止加水;第三个位置是自动加水线,即当水位低于此位置时, 图 7 循环控制流程图 循环泵有故 障吗? 温差为设定 值吗? 开启循环泵 1 温度检测 y n n 循环泵 2 工 作 y 开始 返回 控制系统会自动接通加水电磁阀,开水加水;单片机输出控制端 p2.3 和 p0.4 分 别接继电器 km3 和 km4 线圈,继电器触点的动作受单片机控制,从而对变频 器和补水泵形成自动控制。提醒工作 人员注意,加水电磁阀可能出故障。 当一台补水泵出现故障时,系统报警, 另一台备用的补水泵开始工作,3du 实用电路图如图 8 所示。 水位控制流程框图如图 9 所示。 图图

35、 图 8 水位监测电路图 补水泵 1 有故 障吗? 水位下限水位吗? 开启补水泵 1 进行补水 水位检测 y n n 补水泵 2 工作 y 开始 返回 检测水位为上 限水位吗? 补水泵 1 停止补 水 y n 检测水位为上 限水位吗? 补水泵 2 停止补 水 y n 图 9 水位控制流程 图 故障报警 4.7 压力控制系统压力控制系统 当压力传感器检测到的压力值比单片机内部设定的压力值大时,停止补水 系统和关闭鼓风机。设计中将 adc0808 作为一个外部扩展的并行 i/o 口,直接 由单片机的 p2.0 脉冲启动其 a/d 转换,pt125 输出的模拟信号送入 in.0 端。 而其他输入口端

36、均无效,所以将 adda-b-c 端均置零。收发数据则由中断处理 程序来完成,所以除将 eoc 状态端的状态信号送至外部中断口 1 端以共向 cpu 提出中断请求。如果压力值超出预设值时,单片机 p2.2 输出信号控制继电 器 km8 从而控制泄压阀动作,保证锅炉正常安全运行,控制电路如图。 图 10 压力控制系统电路图 4.8 键盘部分键盘部分 按键控制电路由 4 个开关组成,分别接在单片机 p1.0p1.3 口。它由 4 个 常开按键构成,直接与单片机 i/o 口相连,另一端与地相接。当按键闭合时, 单片机与之相连的端口变为低电平。s1 作为多功能键由软件设置可用于多种功 能的转换。 当用

37、于温度调节时,4 个开关分别用于调整温度的上下限值,以及控制温 度的输出。其中 s1 为多功能键,有软件设置,长按 s1 后可对两个温度设置的 设定。选定设置目标后,第一次按下用于显示采集的温度,第二次按下则进行 温度的上限调整,第三次按下进行温度的下限调整,第四次按下则进行采集温 度的显示构成循环。s2 可以进行移位调整,第一次显示个位,第二次显示十位。 s3 用于增加一个数,按下一次在原基础之上加 1,这个值在 0-9-0 之间变化。 s4 用于减少一个数,按下一次在原基础之上减 1,这个值在 9-0-9 之间变化8。 对压力的调节也是如此。 4.9 驱动部分电路驱动部分电路 in-0 2

38、6 msb2-1 21 2-2 20 2-3 19 2-4 18 2-5 8 2-6 15 2-7 14 lsb2-8 17 eoc 7 add-a 25 add-b 24 add-c 23 ale 22 ref(-) 16 enable 9 st art 6 ref(+) 12 clock 10 adc0808 gnd pt 125 dc24v 5v p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5/mosi 6 p1.6/miso 7 p1.7/sck 8 rest 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int

39、1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal 2 18 xtal 1 19 gnd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale /prog 30 ea/vpp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 at89s51 gnd q9 9015 继电器的驱动用 8550pnp 型三极管。因 at89s51 上电复位时,

40、p0,p1,p2,p3 口为高电平,此时 pnp 型三极管基极接高电平,三极管截止, 继电器处于断开状态,可使单片机正常复位。在 pnp 型三极管发射极接二级管 4007,可防止三极管断开瞬间,继电器电流不能突变,使三极管造成损坏。 4.10 显示部分电路显示部分电路 由单片机 at89s51 控制,移位寄存器 74ls164 和共阳 7 段 led 组成。 89s51 的串行口 rxd 和 txd 为一个全双工串行通信口,但工作在方式 0 下可 作同步移位寄存器,其数据由 rxd(p3.0)串行输出或输入;而同步移位时钟 由 txd(p3.1)端串行输出,在同步时钟作用下,实现同串行到并行的

41、数据通 信。在不需要使用串行通信的场合,利用串行口加芯片 74hc164 就可构成一个 并行输入输出口。数据显示采用共阳数码管,其共阳端接高电平,三个二极管 起到限流作用。可通过软件按键等设置显示温度、压力等数值,显示原理图如 图 12 所示。 图 12 显示原理图 4.114.11 自动报警电路自动报警电路 锅炉上限极限水位报警,炉内的水位到达上限极限水位时系统发出报警, 指示灯亮。锅炉下限极限水位报警,炉内的水位到达下限极限水位时系统发出 c 1 d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8 c 1 d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8 c 1

42、d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8 c 1 d 2 g 10 e 4 dp 5 b 6 a 7 f 9 8 a 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 a 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 a 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 a

43、 1 b 2 qa 3 qb 4 qc 5 qd 6 gnd 7 clk 8 clr 9 qe 10 qf 11 qg 12 qh 13 vcc 14 p3.1p3.0vcc gnd 报警,指示灯亮。锅炉内压力过高报警,压力传感器检测到锅炉内压力高于设 定值时发出报警后。循环泵故障报警,当循环泵开启后,出水与回水温度的差 值很大,认为循环泵故障,报警系统报警。 5 结束语结束语 本系统介绍了单片机在水暖锅炉中的应用,采用数字温度传感器、光敏三 极管、压力传感器使硬件系统大为简化。系统精度高,具有良好的人机交互功 能。并设有超温、超水位、循环泵失灵等故障报警,有问题立即就能发现。通 过自动调节控

44、制温度并实现锅炉内温度和水位的自动控制。保护温度控制在设 定值上正常运行不需要人工干预,操作人员劳动强度小。 致谢致谢 本文是在指导老师的悉心指导下完成的。指导老师具有严谨的治学态度, 丰富的实践经验,在治学及做人方面使我受益匪浅。衷心感谢老师对我的关心 指导和帮助。 参考文献参考文献 1 谢自美,电子线路设计实验测试j.华中科技大学出版社,2003,2 2 杨国志,王立峰,杨东光,王辉林等. 实用电子制作实例m.福建科学技术 出版社,2000 3 金伟正.单线数字温度传感器的原理及用m.电子工业出版社,2000 4 王永平,陈建华.基于 s7200plc 的高性能电热锅炉控制系统j.仪表技术

45、 与传感器,2002,7 5 潘新民,王艳芳。微型计算机控制技术m.高等教育出版社,2002 6 谈振藩.自动控制专业英语m.哈尔滨工程大学出版社,1999 7杨智,明丽萍.21 世纪燃气锅炉在中国的发展前景j.锅炉制造,2001,7 8袁希光等.传感器技术手册m.北京国防工业出版社,1986 9 张洪润,张亚凡。传感技术与应用教程m.清华大学出版社,2005 10 松井邦彦日著, 梁瑞林译。传感器实用电路设计一制作m科学出版社, 2005 11 李光飞,楼然苗.单片机课程设计实例指导m.北京航空航天大学出版社, 2004 12 李明,徐向东.用容错技术提高锅炉控制系统的可靠性j清华大学学报

46、1999,10 13 吴春旺,陈霞。锅炉汽包水位调节控制系统设计j.电工技术,2006.3 14 刘星平。基于 plc 及其网络的智能炉温控制系统j.电气应用,2006.3 附页附页 单片机源程序 org 0000h ajmp main org 0003h ajmp main org 000bh ajmp main org 0013h ajmp main org 001bh ajmp main org 0023h ajmp main org 0030h main: clr p3.6 mov p0,#0ffh acall ql; mov 3bh ,#95 main1: mov 3bh,#95 a

47、call wendu ;温度转换子程序 acall disp acall wencpm ;温度比较子程序 acall shuicpm ;水位检测子程序 acall baojing ;报警子程序 acall delay2 ajmp main1; wencpm: mov a,37h ;温度比较子程序 clr c subb a,3bh jc bbb1 setb p2.1 ;关蒸气阀 clr 20h.0 acall ok2 bbb1: mov a,37h add a,#10 clr c subb a,3bh jnc ok2; clr p2.1;低与设定温度 10 度开蒸汽阀 mov a,37h add

48、 a,#20 clr c subb a,3bh jnc ok2 clr p2.1;低与设定温度 20 度开蒸汽阀 setb 20h.0 ret ok2: clr 20h.0 ret ;水位检测子程序 shuicpm:mov a,p1 anl a,#0fh mov 30h,#0fh ;00001111 cjne a,30h,aaa1 setb p2.0 setb 20h.1 ;setb 水位状态标志位 ajmp out2 aaa1: mov 30h,#0eh ;00001110 cjne a,30h,aaa2 setb p2.0 clr 20h.1 ajmp out2 aaa2: mov 30h

49、,#0ch ;00001100 cjne a,30h,aaa3 clr 20h.1 clr p2.0 ajmp out2 aaa3: mov 30h,#08h ;00001000 cjne a,30h,aaa4 clr p2.0 clr 20h.1 ajmp out2;70 aaa4: mov 30h,#00h ;00000000 cjne a,30h,aaa5 setb p2.0 setb 20h.1 ajmp out2 aaa5: setb 20h.2 ret out2: clr 20h.2 ret baojing: jb 20h.3,out6 mov a,20h mov 30h,#00h

50、 cjne a,30h,out5 ajmp out6 out5: setb p3.6 jb 20h.4,out9 setb p0.1 out10: jb 20h.2,out11 setb p0.2 out12: jb 20h.1,out13 setb p0.3 out14: jb 20h.0,out15 setb p0.4 out16: ret out6: clr p3.6 ret out9: clr p0.1 ajmp out10 out11: clr p0.2 ajmp out12 out13: clr p0.3 ajmp out14 out15: clr p0.4 ajmp out16

51、;总温度子程序 wendu: acall init_1820 acall re_config acall get_temper acall temper_cov ret ; ds18b20 初始化程序 init_1820: setb p1.7 nop clr p1.7 mov r0,#06bh mov r1,#03h tsr1: djnz r0,tsr1 ; 延时 mov r0,#6bh djnz r1,tsr1 setb p1.7 nop nop nop mov r0,#25h tsr2: jnb p1.7,tsr3 djnz r0,tsr2 ljmp tsr4 ; 延时 tsr3: clr

52、 20h.4 ; 清标志,表示 dss18b20 存在 ljmp tsr5 tsr4: setb 20h.4 ; setb 标志位,表示 dss18b20 不存在 ljmp tsr7 tsr5: mov r0,#06bh mov r1,#03h tsr6: djnz r0,tsr6 ; 延时 mov r0,#6bh djnz r1,tsr6 tsr7: setb p1.7 ret ; 重新写 ds18b20 暂存存储器设定值 re_config: jnb 20h.4,re_config1 ; 若 ds18b20 存在,转 re_config1 ret re_config1: mov a,#0c

53、ch ; 发 skip rom 命令 lcall write_1820 mov a,#4eh ; 发写暂存存储器命令 lcall write_1820 mov a,#00h ; th(报警上限)中写入 00h lcall write_1820 mov a,#00h ; tl(报警下限)中写入 00h lcall write_1820 mov a,#1fh ; 选择 9 位温度分辨率 lcall write_1820 ret ; 读出转换后的温度值 get_temper: setb p1.7 ; 定时入口 lcall init_1820 jnb 20h.4,tss2 ret ; 若 ds18b2

54、0 不存在则返回 tss2: mov a,#0cch ; 跳过 rom 匹配 lcall write_1820 mov a,#44h ; 发出温度转换命令 lcall write_1820 lcall init_1820 mov a,#0cch ; 跳过 rom 匹配 lcall write_1820 mov a,#0beh ; 发出读温度命令 lcall write_1820 lcall read_18200 mov 37h,a ; 将读出的温度数据保存 mov a,#0ech call write_1820 ret ; 读 ds18b20 的程序,从 ds18b20 中读出一个字节的数据

55、read_1820: mov r2,#8 re1: clr c setb p1.7 nop nop clr p1.7 nop nop nop setb p1.7 nop mov c,p1.7 nop nop nop nop mov r3,#23 djnz r3,$ rrc a djnz r2,re1 ret ; 写 ds18b20 的程序 write_1820: mov r2,#8 clr c wr1: clr p1.7 nop nop nop nop rrc a mov p1.7,c mov r3,#35 djnz r3,$ setb p1.7 nop djnz r2,wr1 setb p1

56、.7 ret ; 读 ds18b20 的程序,从 ds18b20 中读出两个字节的温度数据 read_18200: mov r4,#2 ; 将温度高位和低位从 ds18b20 中读出 mov r1,#36h ; 低位存入 36h(temper_l),高位存入 35h(temper_h) re00: mov r2,#8 re01: clr c setb p1.7 nop nop clr p1.7 nop nop nop setb p1.7 nop nop mov c,p1.7 mov r3,#35 re20: djnz r3,re20 rrc a djnz r2,re01 mov r1,a de

57、c r1 djnz r4,re00 ret ; 将从 ds18b20 中读出的温度数据进行转换 temper_cov: mov a,#0f0h anl a,36h ; 舍去温度低位中小数点后的四位温度数值 swap a mov 37h,a mov a,36h jnb acc.3,temper_cov1 ; 四舍五入去温度值 inc 37h temper_cov1: mov a,35h anl a,#07h swap a add,37h mov 37h,a ; 保存变换后的温度数据 lcall bin_bcd ret ; 将 16 进制 37h 的温度数据转换成压缩 bcd 码放入 37h,38

58、h,39h 中 bin_bcd: mov a,37h mov b,#10 div ab mov 38h,b mov b,#10 div ab mov 39h,b mov 3ah,a ret disps: mov scon,#00h ;设定温度显示子程序 mov dptr,#tab mov a,3bh mov b,#10 div ab xch a,b acall ss mov a,b acall ss mov a,#0fh acall ss ret disp: mov scon,#00h ;正常温度显示子程序 mov dptr,#tab mov a,38h acall ss mov a,39h

59、acall ss mov a,3ah mov 40h,#00h cjne a,40h,qq mov dptr,#tab1 acall ss ret qq: acall ss ret delay2: mov r6,#0ffh dl4: mov r5,#0fah djnz r5,$ djnz r6,dl4 nop ret ql: mov a,#00h mov 20h,a ;20h 为状态标志单元 mov 30h,a ;30h 为数据缓存标 mov 35h,a ;35h-39h 单元为温度数据单元 mov 36h,a mov 37h,a mov 38h,a mov 39h,a mov 3ah,a r

60、et ss: movc a,a+dptr ;送数子程序 mov sbuf,a jnb ti,$ clr ti ret tab: db 88h,0ebh,4ch,49h,2bh,19h,18h,0cbh,08h,09h db 80h,13h,44h,41h,23h,11h,10h,0c3h,00h,01h ret tab1: db 0ffh ret end 09/20 11:46 102 机体齿飞面孔双卧多轴组合机床及 cad 设计 09/08 20:02 3kn 微型装载机设计 09/20 15:09 45t 旋挖钻机变幅机构液压缸设计 08/30 15:32 5 吨卷扬机设计 10/30 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论