基于PID的恒温控制系统、智能家居控制系统课程设计.docx
《基于PID的恒温控制系统、智能家居控制系统课程设计.docx》由会员分享,可在线阅读,更多相关《基于PID的恒温控制系统、智能家居控制系统课程设计.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计 报 告课程名称物联网应用系统开发专业物 联 网 工 程课 程 设 计 任 务 书设计题目:基于 PID 的恒温控制系统、智能家居控制系统设计内容与要求:设计内容:1. 采用 STM32F103ZET6 开发板为硬件开发平台,设计实现 RTC 时间显示,温湿度检测, PID 参数调节, PWM 控制电机等功能。2. 采用 STM32 主控芯片, ZigBee 无线通信方式及 LD3320 语音识别芯片实现家居环境数据的采集、显示、智能调节、语音识别及控制。设计要求:1. 掌握硬件原理图,熟悉STM32 编程。2. 相关寄存器的配置;3. 常用传感器原理与数据采集;4. 提交符合要
2、求、内容完整的设计报告。指导教师:年 月 日课 程 设 计 评 语成绩:指导教师: 年月日课 程 设 计 报 告项目一 基于 PID 的恒温控制系统1 概述1.1 选题意义近年来随着电子信息技术的飞速发展,人类的生活发生了很大的变化,尤其是随着大规模集成电路的出现,微型计算机应运而生,让人类社会进入了一个崭新的时代。但是因为微型计算机成本较高,在很多工业控制中并不是最好的选择。所以单片机因为价格低廉、可靠性高,性能稳定以及独特的定时、计数功能而被广泛的应用在工业控制,工业生产,家用电器制造等方面,单片机的应用在不断的走向深处,在实时检测与自动控制的单片机应用系统中,单片机一般是用来做核心部件的
3、,由具体的硬件结构与控制对象的特点,和软件相结合来加以完善。温度是表示物体冷热程度的物理量,工农业生产过程中温度是一个非常重要的参数。温度测量在产品生产,工业设计,能源节约中发挥到了关键性的作用。随着科学技术的进步和生产的需要,温度传感器不断更新和丰富起来。温度作为一个模拟量,如果采用合适的技术和元件,把模拟的温度量转化为数字量虽然说不难,但电路比较复杂,成本也太高。温度测量中测量温度是重点,本设计中单片机温度测量同样如此。温度控制系统常用来保持温度恒定或者使温度按照某种规定的程序变化。由 于温度自身的一些特点,如惯性大、滞后现象严重、难以建立精确的数学模型等, 传统的控制方式由于其控制精度不
4、高、不能及时的跟踪对象特性变化等原因造成 控制系统性能不佳。本设计基于这一点,选用具有高性能而又经济的 STM32 单片机作为控制器,所用算法为位置型 PID 控制算法,完成了对系统的设计。设计方案具有可行性和一定的推广性,若能够应用于实际生产生活中,将会对提高企业 自动化水平、降低生产成本、减轻工人劳动强度、提高生活质量等方面起到积极 的促进作用。1.2 设计目标该设计主要由单片机最小系统模块,温湿度采集模块、显示模块和键盘模块, 电机模块,报警模块等构成,以 STM32 单片机作为核心处理器。主要完成的功能有以下几点:对室内温度进行实时检测、按键设定温度、将3检测的和设定温度显示出来、当温
5、度超限时报警并启动电机进行温度调控。2 总体设计2.1 总体方案电路总体可以分为温度采集模块、单片机 STM32 最小系统模块、电机驱动模块、按键模块、报警模块以及显示模块等。以 STM32 单片机最小系统作为核心控制电路,传感器采集温湿度作为 STM32 的输入,电机驱动模块、TFTLCD2.8 寸液晶屏,以及按键模块作为 STM32 的输出。采集温度方面由 DHT11 温度传感器来完成, 它是一个数字温度传感器、内置模数转换,可直接与单片机相连接。而 TFTLCD2.8 寸液晶显示屏是插针式,也可以直接与单片机相连接。通过 DHT11 传感器采集当前的温湿度值、经单片机将其处理后的数据送到
6、 TFTLCD 液晶显示屏来进行显示, 主要显示测得的实时温度与设定的温度上下限。利用键盘设置温度阈值,如果当前采集的实时温度不在设定的温度阈值范围之内,则由 STM32 单片机发出指令来控制电机驱动模块,使电机正常工作来实现室内温度控制。2.2 设计框图报警电路LCD 显示复位电路STM32F103ZET6 控制器电机驱动按键电路LED 指示DHT11图 21 功能模块框图3 详细设计与实现3.1 STM32 最小系统模块1. STM32F103ZET6 简介STM32F103ZET6 算术运算功能强,软件编程灵活、自由度大、可用软件编程实现各种算法和逻辑控制,F 表示通用类型,103 表示
7、增强型,E 表示 512K 字节的闪存存储器,Z 表示有 144 管脚,可用 IO(input /output)112 个,剩余的管脚:电源(电源不止一个,为了提高芯片的稳定驱动能力,一个或几个模块用一个电源,)启动设置,复位,程序下载等的配置。2. 模块功能该模块的主要任务是完成发出的降温操作。单片机 STM32F103ZET6 做 CPU, DHT11 采集温湿度直接输出数字信号,单片机进行处理与执行。当温度高于设定的温度时,单片机向温度控制执行电路发送降温命令,同时 LED1 灯闪烁蜂鸣器报警,提醒使用者温度过高正在进行降温,启动风机等操作。3.2 DHT11 温湿度采集模块1. DHT
8、11 简介DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合 传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极 高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个 NTC 测温元件, 并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超 快响应、抗干扰能力强、性价比极高等优点。每个 DHT11 传感器都在极为精确 的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器 内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统 集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达 20 米以上,
9、使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引 脚封装。连接方便,特殊封装形式可根据用户需求而提供2. DHT11 工作原理DATA 用于微处理器与 DHT11 之间的通讯和同步,采用单总线数据格式,一次通讯时间 4ms 左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下: 一次完整的数据传输为 40bit,高位先出。数据格式:8bit 湿度整数数据+8bit 湿度小数数据 +8bit 温度整数数据+8bit 温度小数数据 +8bit 校验和数据传送正确时校验和数据等于“ 8bit 湿度整数数据+8bit 湿度小数数据
10、+8bi 温度整数数据+8bit 温度小数数据”所得结果的末 8 位。课 程 设 计 报 告用户 MCU 发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11 发送响应信号,送出 40bit 的数据,并触发一次信号采集, 用户可选择读取部分数据.从模式下,DHT11 接收到开始信号触发一次温湿度采集, 如果没有接收到主机发送开始信号,DHT11 不会主动进行温湿度采集.采集数据后转换到低速模式。如图 31 所示图 31 通讯过程图图 32 数字 0 信号表示方法图图 33 数字 1 信号表示方法图总线空闲状态为高电平,主机把总线拉低等待 DHT11 响
11、应,主机把总线拉低必须大于 18 毫秒,保证 DHT11 能检测到起始信号。DHT11 接收到主机的开始信号后, 等待主机开始信号结束,然后发送 80us 低电平响应信号.主机发送开始信号结束后,延时等待20-40us 后, 读取DHT11 的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。总线为低电平,说明DHT11 发送响应信号,DHT11 发送响应信号后,再把总线拉15高 80us,准备发送数据,每一bit 数据都以 50us 低电平时隙开始,高电平的长短定了数据位是 0 还是 1.格式见下面图示.如果读取响应信号为高电平,则DHT11 没有响
12、应,请检查线路是否连接正常.当最后一 bit 数据传送完毕后,DHT11 拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。3. 模块功能该模块的主要任务是完成温湿度采集,并将其组装成可读数据发送给单片机的操作。3.3 按键模块该模块主要实现对设定温度的设置以及对电路的复位。单片机应用系统中除了复位按键有它专门的复位电路,和专一的复位功能以外,其它的按键都是用开关的状态来设置控制功能或者输入数据。本次设置了两个按键,来配合显示界面,可以对温度进行设定,实现电机不同运行方式之间的转换,开入开出测试等操作。按键 UP DOWN 分别是温度加、温度减。3.4 报警模块该模块主要由 LED1 与蜂
13、鸣器组成。实现当实际温度大于设定温度时 LED1 闪烁蜂鸣器响的报警操作3.5 显示模块1. LCD 屏简介(1) 大小:2.8 寸,像素:240*320(76800)采用 RGB 三色显示,采用 RGB565 格式,也就是说每一个像素点的颜色控制所需要的数据量为两个字节16 位, 在调色的时候,R(5 位) G(6 位) B(5 位),正常每一种颜色六位,甚至还有 8 位。(2) 硬件接口:采用 8080 并行接口,在屏的接口中,常用两种并行接口, 没有根本区别,现在市场上使用的屏有些是串行接口 SPI 或 I2C,小型设备常用a) 一 个 是 8080: WR: 写 使 能 RD: 读 使
14、 能 D/C:数据、命令选择RST:复位D07:数据位b) 一 个 是 6800: WR/RD:写使能或读使能选择D/C:数据、命令选择 RST:复位D07 :数据位(3) ILI9341屏的驱动芯片,屏幕内置,看不到(4) TFTLC 上电后整屏亮,靠不同颜色区分2. 模块功能采用 TFTLCD 液晶显示屏来进行显示,主要显示测得的实时温湿度与设定的温度以及温度变化曲线和电机转速曲线等。3.6 电机驱动模块当检测到的实时温度高于设定的温度值时,单片机要进行降温操作。采用 140 直流电机与单片机相连接,从而控制风扇扇叶的转动,以达到控制温度的目的。电机速度控制采用 PWM 波来实现,PWM
15、就是一个方波,通过调节占空比来增加或降低电机运行速度(占空比:在一个周期中高电平所占的时间)3.7 PID 控制算法由于该系统为闭环控制系统采用 PID 控制算法。该系统降温部分采取 PWM 作为控制量,故采取数字 PID 增量型控制算法。数字 PID 增量型控制算式如式( 1) 所示。u( k) = Kp e( k) e( k 1) + KIe( k) + KD e( k) 2e( k 1) + e( k 2) ( 1)4 系统调试4.1 系统设计方案电路的连接整个设计系统功能是由软件程序配合硬件电路来实现,如果硬件电路已经确定,软件的功能也就基本上确定了,因为软件程序的编译是基于 STM3
16、2 单片机编程。软件部分可分为主程序和子程序,主程序是整个控制系统的核心,用于调节和处理各模块之间的关系。子程序是各个模块实现实质性的功能,其主要子程序包括:温度采集、键盘扫描、LCD 显示、蜂鸣报警、LED、PID 等。整个系统采用 8080 硬件连接接口,通信方式为 USART。4.2 电路调试1. 调试方法通过 KEIL5 编写程序,采用 MCUISP 软件将程序下载到开发板上进行调试2. 问题及解决问题 1:因为在程序中没有使用中断,按键在调节温度时,加上程序中延时的影响,不太灵敏。解决:设置程序运行次数变量,当程序运行指定次数时取出数据,减少延时, 按键也因此灵敏。问题 2:整合程序
17、时,电机未初始化,上电就全速运转。解决:由于按键程序中 PA6 口已经初始化,电机也插在 PA6 口上,两者冲突, 导致电机上电就启动。问题 3:电机运行时,LCD 白屏闪动。解决:电脑 USB 供电不稳,无法提供足够电压,减小 PID 中对最大占空比及初始占空比,使电机初始运行速度减慢。问题 4:温度曲线变化太过平缓,无法明显显示只有少量波动。解决:参考 PID 中电机转速曲线,将 y 值放大 5 倍,可以明显看到变化。问题 5:DHT11 初始无法测出数据,一直失败解决:更换杜邦线之后有好转。4.3 测试结果上电后,屏幕上显示实时温度及初始设定温度,通过按键加减调整设定温度,当设定温度低于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PID 恒温 控制系统 智能家居 课程设计
限制150内