logo资料库

温度自动控制系统设计报告.doc

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
题目名称:温度自动控制系统 目录 摘要及关键词……………………………………………………2 1. 方案论证与比较 ………………………………………………2 1.1 芯片的比较与选择……………………………………2 1.2 D/A 转换器……………………………………………2 1.3 显示模块……………………………………………2 2. 系统设计……………………………………………………2 2.1 总体设计………………………………………………3 2.2 单元电路设计…………………………………………3 2.2.1 单片机最小系统电路设计…………………………3 2.2.2 液晶显示及蜂鸣器模块电路设计……………………4 2.2.3 指示灯及继电器电路设计………………………4 3. 软件设计………………………………………………………5 4. 系统测试………………………………………………………6 4.1 测试方法与仪器………………………………………6 4.2 测试数据及测试结果分析……………………………7 5. 结论……………………………………………………………7 参考文献:……………………………………………………8 附录:……………………………………………………………8 附 1:元器件明细表……………………………………………8 附 2:仪器设备清单……………………………………………8 - 1 -
附 3:程序清单…………………………………………………8 摘要:该系统主电路采用 AT89S52 单片机实现温度控制,对液体温度进行检 测,显示当前温度,测量范围 0 度~99 度,温度分辨率位 0.1 度;可设定温度控制 范围并可以显示(最低温度~最高温度),超出设定范围声光报警;系统包含加热、 降温装置(加热选用电热铁,降温选用风扇),若低于下限温度或高于上限温度, 用继电器通过弱电控制强电开通电热铁或风扇降温可自动加热或降温;还可同时 检测多路温度,温度分辨率位 0.1 度;当达到定时时间后自动开启加热或制冷设 备。 关键词:AT89S52 继电器 蜂鸣器 温度 ⒈ 方案论证与比较 1.1 芯片的比较与选择 方案一 采用 8031 作为控制核心,以使用最为普遍的器件 ADC0809 作模 数转换,控制上使用对电热铁加电使其升温和开动风扇使其降温。此方案简易可 行,器件的价格便宜,但 8031 内部没有程序存储器,需要扩展,增加了电路的 复杂性,且 ADC0809 是 8 位的模数转换,不能满足本题目的数度要求。 方案二 采用 AT89S52 作为电路的控制核心,使用 16 位的高精度模数转 换器进行数据转换。而且 AT89S52 单片机是一种低功耗、高性能 CMOS 8 位微 控制器,具有 8K 在系统可编程 Flash 存储器。另外,AT89S52 可降至 0Hz 静 态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允 许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容 被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止; 可实现液晶显示和键盘设定等多种功能。此方案电路简单并且可以满足题目的各 项要求的精度。所以选择 AT89S52 1.2 D/A 转换器 方案一:采用 ADC0809 为转换器,ADC0809 具有 8 个通道的模拟输入线 (IN0~IN7),可在程序控制下对任意通道进行 A/D 转换,获得 8 位二进 制数字量(D7~D0)。 方案二:采用 DS1820,DS1820 含有 A/D 转换功能,同时可以检测温度,系 统结构稳定、简洁,安装方便。故采用方案二。 1.3 显示模块 方案一:采用数码管显示位数太小,布线麻烦,针脚多; 方案二:采用液晶可以同时显示两路温度,显示位数多,2 行每行 16 个字 符。自带字符库、带背光,经典的液晶显示器件通过液晶屏显示你想要的信息, 比发光管、数码管显示更为漂亮,专业化。 所以选择液晶 ⒉ 系统设计 2.1 总体设计 - 2 -
主机行选用单片机 AT89S51 来实现,利用单片机软件编程灵活、自由度大 的特点,力求用软件完善各种控制算法和逻辑控制。本系统选用的 AT89S52 芯 片时钟可达 12MHz,运算速度快,控制功能完善。256 字节 RAM32 位 I/O 口线, 而且内部含有 8KM 的 EPROM 不需要外扩展存储器,可使用系统整体结构更来 简单、实用。 就本系统来说,可实时采集水温数据,然后经过 A/D 转换为数字信号,送入 单片机中的特定单元,然后 一部分去显示,另一部分与 设定值进行比较,通过 PID 算法得到控制量并经由单片 机输出去控制电热铁加热或 风扇降温。 我们选用温度传感器 2 DS18B20 对数据采集,它具 有线路简单,体积小的特点。 因此用它来组成一个测温系 统,具有线路简单,测量温 度范围在-55℃到+125℃之间,而且精度较高。 控制部分是由输出通过继电器来控制电热铁或风扇开关。 键盘采软件查询和外部中继相结合的方法来设计,低平有效。 3 2.2 单元电路设计 2.2.1 单片机最小系统电路设计 S0 RESET KEY VCC5V RST CE1 10uF C1 30pF C2 30pF S1 S2 S3 S4 S5 R2 10K X1 Y1 12M X2 P32 SW1 P33 SW2 P34 SW3 P35 SW4 P36 SW5 P10 P11 P12 P13 P14 P15 P16 P17 P32 P33 P34 P35 P36 P37 1 2 3 4 5 6 7 8 12 13 14 15 31 18 19 9 16 17 20 U1 P10 P11 P12 P13 P14 P15 P16 P17 INT0 INT1 T0 T1 EA/VPP XTAL.2 XTAL.1 RESET WR RD GND AT89S52 VCC5V X2 X1 RST GND ISP 7 6 5 4 3 2 1 SW5 SW4 SW3 SW2 SW1 P00 P01 P02 P03 P04 P05 P06 P07 P36 P35 P34 P33 P32 VCC5V GND GND VCC5V P15 P16 P17 RST TDI TDO TCK TMS Rs1 6 5 4 3 2 1 10K*8 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 VCC RXD TXD PSEN ALE/PROG 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 40 10 11 29 30 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 VCC5V P30 P31 PSEN ALE P0 1 2 3 4 5 6 7 8 P10 P11 P12 P13 P14 P15 P16 P17 P1 1 2 3 4 5 6 7 8 P20 P21 P22 P23 P24 P25 P26 P27 P2 1 2 3 4 5 6 7 8 P30 P31 P32 P33 P34 P35 P36 P37 P3 1 2 3 4 5 6 7 8 以 AT89S52 为主控芯片,控制多路开关,它内部含有一个高增益的反相 放大器,通过 XTAL1、XTAL2 外接作为反馈元件的晶体后便成为自激振荡器, - 3 - 2 3 Title Size A4 Date: File: Number 17-May-2008 F:\电子制做资料\5月图\con_temper15日.ddb Drawn By: 1 1
振荡器输出的振荡脉冲经 2 分频成为内部时钟信号,用作单片机内部各功能部件 按序协调工作的控制信号;达到时钟的控制。RST 出现持续两个机器周期的高电 平就可实现复位操作,使单片机回复到初始状态。当设定温度与当前温度相付合 时向外部申请中断,达到自动控制。P0~P3 向外部扩展 3 2 开关用来控制 键名 开 关 S0 复位键 S1 功能转换键 功能 使系统复位 ①时钟设置 ②1 路温度上或下限设置 ③2 温度路上 或下限设置 S2 加 1 键和功能转换键 ①设定温或时间十位加渐次加 1 ②进入设定状态 S3 加 1 键 S4 确定键 S5 扩展键 2.2.2 液晶显示及蜂鸣器模块电路设计 设定温或时间个位加渐次加 1 ①长按确定设置状态 ②短按取消设置状态 可以用来扩展倒计时 POWER 2 1 VCC5V GND D N G B1 BUZZER Q1 PNP GND R1 1 .5 K Rs2 9 8 7 6 5 4 3 2 1 1 0K* 8 R2 4 70 VCC5V R2 LCD_RS LCD_RW LCD_E LCD_DB0 LCD_DB1 LCD_DB2 LCD_DB3 LCD_DB4 LCD_DB5 LCD_DB6 LCD_DB7 P00 P01 P02 P03 P04 P05 P06 P07 VCC5V GND LCD_RS LCD_RW LCD_E BUZZER P00 P01 P02 P03 P04 P05 P06 P07 J 3 1 2 3 4 J 2 1 2 3 4 5 6 7 8 J 1 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 BUZZER LCD_1 6 02 VCC5V 信号(VCC5V)从 LCD-1602 的 2 脚输入,将数据信息显示在液晶器上。 蜂鸣器根据显示数据情况:若超过上限或底于下限则发出报警声。 2.2.3 加热和降温模块电路设计 2 - 4 - 3
继电器抗过载能力强,强弱端隔离能力强,用它做一个以弱控强的系统;以 弱控强器件——电热铁和风扇。通过控制是否 LED 发亮,即有弱电流过继电器 达到控制强电效果。 ⒊ 软件设计 由于对 C 语言比较熟悉,故采用 C 语言进行编程,其软件流程图如下所示: - 5 -
⒋ 系统测试 4.1 测试方法与仪器 对液体温度进行检测,显示当前温度,测量范围 0 度~99 度,温度分辨率位 1 度;可设定温度控制范围并可以显示(最低温度~最高温度),超出设定范围声光 报警;不在控制范围时可自动加温、降温;系统包含加热、降温装置(加热可选 用电热铁,降温可选用风扇)。 测试反映状态如下表所示: 当前温度与设定温度比较 蜂鸣器 LED1 红灯 亮 响 若当前温度低于 1 路设计 定的下限温度 若当前温度高于 1 路设计 定的上限温度 若当前温度低于 2 路设计 定的下限温度 若当前温度高于 2 路设计 定的上限温度 若当前温度等于设计定的 上、下限温度平均值 LED3 红灯 LED2 电 热 绿灯 铁 不亮 不亮 不亮 开 LED4 绿灯 响 响 响 不亮 亮 不亮 不亮 关 不亮 不亮 亮 不亮 开 不亮 不亮 不亮 亮 关 不响 不亮 不亮 不亮 不亮 关 - 6 - 风 扇 关 开 关 开 关
除上述功能外,还可以设定启动时间功能,如:可设定 2 分钟后自动启动电 热铁或风扇。 4.2 测试数据及测试结果分析 1 路下限 温度℃ 30 30 1 路的测试:测试范围 0℃到 99℃ 1 路 当 前 温 1 路上限 温度℃ 度℃ 40 27.6 升 40 3541.0 降 到 3038.8 降 到 31
温度控制范围并可以显示(最低温度~最高温度),超出设定范围声光报警;系统 包含加热、降温装置(加热可选用热得快,降温可选用小风扇),不在控制范围 时可自动加温、降温; 扩展部分:可同时检测多路温度;温度分辨率位 0.1 度; 自由发挥部分:当达到定时时间后自动开启加热或制冷设备; 能较好地达到了题目要求的各项指标。 参考文献: 《单片机原理及应用》 丁元杰 主编, 北京:机械工业出版社,2005 年; 《C 程序设计》 谭浩强 著,清华大学出版社,2005 年 附录: 附 1:元器件明细表 1. AT89S52 4. 继电器 7. 蜂鸣器 2. 5. 8. 1602 液晶 4 个 LED 灯 12.000M 晶振 3. 传感器 18B20 6. 5 个按键 附 2:仪器设备清单 1. 数字万用表 2. USB 稳压电源 3. 电热铁 4. 风扇 附 3:程序清单 #include #include unsigned char uchar #define #define SHORT 10000 #define LONG 60000 typedef bit BOOL; sbit DQ1 = P3^0; //18B20 数据线引脚 sbit DQ2 = P3^1; sbit speaker = P2^4; sbit S1 = P3^2; sbit S2 = P3^3; sbit S3 = P3^4; sbit S4 = P3^5; sbit S5 = P3^6; sbit COOL1 = P1^3; sbit HEAT1 = P1^1; sbit GREEN1 = P1^2; sbit RED1 = P1^0; sbit COOL2 = P1^7; sbit HEAT2 = P1^5; sbit GREEN2 = P1^6; sbit RED2 = P1^4; sbit rs = P2^7; sbit rw = P2^6; sbit ep = P2^5; uchar temper1[2]; //存放温度的数组 - 8 -
分享到:
收藏