恒温控制系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 4.2 主控制部分方案
• 对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部 RAM,系统又需要大量内存存储数据,因而不适用。因此我们选Atmel公司 STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能 COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储 器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 主要功能特性 兼容MCS51指令系统 8K可反复擦写Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源共6个中断源2个读写中断口线 3级加密位低 功耗空闲和掉电模式 软件设置睡眠和唤醒功能
• • • • • • • • • • • • •
单片机最小系统原理图
1.复位电路
2.时钟电路
•
• • • • • • • • • • • • • • • • •
STC89C52引脚如下:
① 主电源引脚(2根) VCC(Pin40):电源输入,接+5V电源 GND(Pin20):接地线 ②外接晶振引脚(2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 ③控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如 果接高电平则从内部程序存储器读指令。 ④可编程输入/输出引脚(32根) STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8 位(8根引脚),共32根。 PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7 P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7
main
6.2 程序框图
按键扫描
12864,DS18B20 ,T0定时器初始化
读温度temp
键值处理 调节上, 下限值 <下限值 LED12864 显示
判断 temp >上限值 电机转 散热
白炽灯亮
加热
蜂鸣器报警
6.3 总程序
LED12864显示函数
• • • • • • • • • • • • • • • • bit lcd_busy() { bit result; LCD_RS = 0; LCD_RW = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P1&0x80); LCD_EN = 0; return(result); } //读忙状态函数
• •
• • • • •
S1:对应的数+1; S2:对应的数 –1; S3:左移一位; S4:确认; S5:调节温度范围键;
5.2电源电路
通过USB线+5V供电;
5.3蜂鸣器 报警电路
5.4白炽灯加热控制电路
I/O :P2.0口输出低电平通过继电器吸合控制白炽灯的亮灭;
5.5 电机H桥控制电路
通过PW1,PW2输出电平的高低,控制电机的正反转,当PWM1为低电平,通 过对PWM2输出占空比不同的矩形波使三极管Q1、Q6同时导通Q5截止,从 而实现电机正向转动以及转速的控制;同理,当PWM2为高电平,通过对 PWM1输出占空比不同的矩形波使三极管Q1、Q6同时导通,Q6截止,从而 实现电机反向转动以及转速的控制。
• 3.1硬件框图:
• STC89C52 CPU芯片、键盘扫描、DS18B20 温度芯片测量、 LED12864显示、温度控制模块、电源;
输入电源
键盘扫描电路
LED1286 数 据 显示
DS18B20 温度芯 片数据传输
AT89S5 1 CPU
超温报警
直流电机风 扇
控制白炽灯
• 4 方案设计
• 4.1温度测量方案
• 5 各单元的设计 • 5.1按键单元
• • 单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键 都是以开关状态来设置控制功能或输入数据。 按键开关状态的可靠输入 :为了去抖动我采用软件方法,它是在检测到有键按下时, 执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合 状态电平则确认为真正键按下状态,从而消除了抖动影响。 在这里我们用到S1,S2,S3,S4,S5对我们的温度进行调节; 按键功能;
5.6
12864液晶显示电路
5.7总原理图
PCB板
6.程序设计
6.1:程序结构分析 总的思路:我们要采集温度并通过单片机处理显示在我们的 led12864液晶显示屏上;并要设置初始的上限温度和下限温度 范围;并能通过我们的按键可以调节温度的上限和下限值;同时 当我们的温度超过上限值;直流电机散热;低于下限值白炽灯加 热; 首先我们的对DS18B20初始化;采集温度函数;LED12864 液晶显示屏初始化;写地址函数,写数据函数,CPU处理;显 示在LED液晶显示屏上,按键扫描函数;主函数;
单片机任务报告设计
任务:基于单片机智能控制的恒温系统
专业:智能电子 姓名:欧阳志勇 2013年4月9日
• 任务分析: • 本设计以STC89C52单片机为核心的温度控制系统 的工作原理和设计方法。温度信号由温度芯片 DS18B20采集,并以数字信号的方式传送给单片机 处理。并显示在LED12864液晶显示屏上,报警温 度范围可调,文中介绍了该控制系统的硬件部分, 包括:温度检测电路、温度控制电路、单片机通 过对信号进行相应处理,从而实现温度控制的目 的。文中还着重介绍了软件设计部分,在这里采 用模块化结构,主要模块有:LCD12864显示程序、 键盘扫描及按键处理程序、温度信号处理程序、 继电器控制程序、超温报警程序、直流电机控制 程序。 • 关键词:STC89C52单片机;温度控制 ;DS18B20;LED12864液晶显示屏;
• 2 设计要求 பைடு நூலகம் 设计基于单片机的温度控制器,用于控制温度。 具体要求如下: • 1. 温度控制范围连续可调,测量范围为0℃85℃; • 2. LED12864显示; • 3. 温度误差≤±5℃; • 4. 具有稳定的温度控制及报警装置;
• 3 工作原理
• 温度传感器 DS18B20 在设备环境采集温度,单片机 STC89C512获取采集的温度值,经处理后得到当前环境中一个 比较稳定的温度值,再根据当前设定的温度上下限值,通过加 热和降温对当前温度进行调整。当采集的温度经处理后超过设 定温度的上限时,单片机通过三极管驱动直流电机风扇向外通 风降温,当采集的温度经处理后低于设定温度的下时 , 单片机通 过三极管驱动继电器开启升温设备 (白炽灯) ,同时蜂鸣器报警。
• 由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比 较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司 的数字温度传感器DS18B20作为测温元件。
• DS18B20特性;
• • • • • • • • • • • 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55~+125℃,以0.5℃递增。华氏器件-67~+2570F,以0.90F 递增 温度以9 位数字量读出 温度数字量转换时间200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统
• 1 引言 • 温度控制系统广泛应用于社会生活的各个领域 ,如家 电、汽车、材料、电力电子等 ,常用的控制电路根据 应用场合和所要求的性能指标有所不同 , 在工业企业 中,如何提高温度控制对象的运行性能一直以来都是控 制人员和现场技术人员努力解决的问题。这类控制对 象惯性大,滞后现象严重,存在很多不确定的因素,难以 建立精确的数学模型,从而导致控制系统性能不佳,甚 至出现控制不稳定、失控现象。传统的继电器调温电 路简单实用 ,但由于继电器动作频繁 ,可能会因触点 不良而影响正常工作。控制领域还大量采用传统的PID 控制方式,但PID控制对象的模型难以建立,并且当扰动 因素不明确时,参数调整不便仍是普遍存在的问题。而 采用数字温度传感器DS18B20,因其内部集成了A/D转 换器,使得电路结构更加简单,而且减少了温度测量 转换时的精度损失,使得测量温度更加精确。数字温 度传感器DS18B20只用一个引脚即可与单片机进行通信, 大大减少了接线的麻烦,使得单片机更加具有扩展性。 由于DS18B20芯片的小型化,更加可以通过单跳数据线 就可以和主电路连接,故可以把数字温度传感器 DS18B20做成探头,探入到狭小的地方,增加了实用性。 更能串接多个数字温度传感器DS18B20进行范围的温度 检测。
• void lcd_wcmd(UINT8 cmd) • { • while(lcd_busy()); • LCD_RS = 0; • LCD_RW = 0; • _nop_(); • _nop_(); _nop_(); • _nop_(); • LCD_EN = 0; • _nop_(); • _nop_(); • P1 = cmd; • Delayus(50); • LCD_EN = 1; • Delayus(50); • LCD_EN = 0; • }
目 录
• • • • • • • • • • • • • • • • • • • • • • 1 引言………………………………………………………………………………4 2 设计要求…………………………………………………………………………5 3 工作原理…………………………………………………………………………6 3.1工作原理………………………………………………………………………7 4 方案设计...........…………………………………………………………………8 4.1 温度方案测量 …………………………………………………………….…8 4.2 主控制方案... …………………………………………………………….…10 5 各单元的设计………………………………………………………………….… 13 5.1 键盘单元………………………………………………………………………13 5.2 电源.............................................…………………………………...…… 14 5.3蜂鸣器报警电路………………………………………………………………14 5.4白炽灯加热控制电路………………………………………………...……… 15 5.5电机控制电路………………………………………………………...……… 16 5.6LED12864液晶显示电路………………………………………….........……17 5.7总原理图…………………………………………………………….........……18 6 程序设计............………………………………………………………………..…20 6.1 程序结构分析…………………………………………………………...…… 21 6.2 程序框图…………………………………………………………………...… 22 6.3 总程序……………………………………………………………………...… 24 7. 测试.......…………………………………………………………………………. 35 附录A程序清单……………………………………………………………………… 37 心得体会..........……………………………………………………………………… 38