基于PID的STM32恒温控制系统设计109.pdf

上传人:小*** 文档编号:83414298 上传时间:2023-03-30 格式:PDF 页数:8 大小:291.02KB
返回 下载 相关 举报
基于PID的STM32恒温控制系统设计109.pdf_第1页
第1页 / 共8页
基于PID的STM32恒温控制系统设计109.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《基于PID的STM32恒温控制系统设计109.pdf》由会员分享,可在线阅读,更多相关《基于PID的STM32恒温控制系统设计109.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、成绩评定 序号 成绩评审项目 指 标 评分 1 学习态度 遵守纪律,学习认真:作风严渔,踏实肯 干:善于与他人合作。20 2 设计作品 所设计作品能够运行,功能完整,设 计指标符合要求,作品能体现学生对 所学单片机知识的综合运用,有一定 的创新。40 3 设计报告 系统设计方案科学、合理;数据采集、计算、处理方法正确。10 系统硬件、软件设计正确,分析合理,且与描述相一致,程序可靠运行,结 论正确。20 设计报告文本质量符合要求,格式规 范,文理通顺。10 成绩 基于 PID 的 STM32 恒温控制系统设计 摘要 研究基于 STM32 单片机和温湿度传感器的恒温智能控制系统。温度具有时变性、

2、非线性和多变量耦合的特点。在温度控制过程中,温度的检测往往滞后于温度的调控,从而会引起温度控制系统的温度出现超调、温度振荡的现象。在设计中提出了基于增量 式 PID 算法控制温度的模型,系统采用低功耗的 STM32 作为主控芯片、DHT11 数字式 温度传感器和半导体温度调节器。实验结果表明,该系统能够有效地维持系统地恒温状 态。通过将数字 PID 算法和 STM32 单片机结合使用,整个控制系统的温度控制精度也 提高了,不仅仅满足了对温度控制的要求,而且还可以应用到对其他变量的控制过程中。所以,在该温度控制系统的设计中,运用单片机 STM32 进行数字 PID 运算能充分发挥 软件系统的灵活

3、性,具有控制方便、简单和灵活性大等优点。关键词:STM32,PID 算法,恒温控制,DHT111 绪论 温度控制系统具有滞后性,时变性和非线性的特点。无法建立精准的数学模型,因 此使用常规的线性控制理论无法达到满意的控制效果。在嵌入式温度控制系统中的关键 是温度的测量、温度的控制和温度的保持,温度是工业控制对象中主要的被控参数之一。因此,嵌入式要对温度的测量则是对温度进行有效及准确的测量,并且能够在工业生产 中得广泛的应用,尤其在机械制造、电力工程化工生产、冶金工业等重要工业领域中,担负着重要的测量任务。在日常工作和生活中,也被广泛应用于空调器、电加热器等各 种室温测量及工业设备的温度测量。但

4、温度是一个模拟量,需要采用适当的技术和元件,将模拟的温度量转化为数字量,才生使用计算机进行相应的处理。2 设计方案 为了对于交流负载做到温度精确,升温采用控制双向可控硅导通角度进行升温控制。降温采用 PWM 电压控制,因为当前降温采用制冷片,风扇等降温手段,采用直流电压 供电方式,选用 PWM控制使降温更加精确。温度采集选用温度传感器 DHT11,好处为 可做到高精度,整体框图如图 1 所示。图 1 系统框图 3 硬件设计 3.1 DHT11 温度传感器 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它 应用专用的数字模块采集技术和温湿度传感技术,确保产品具有余高

5、的可靠性与卓越的 长期稳定性。传感器包括一个电阻式感湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。DHT11 电路图如图 2 所示。怪 I2HTU 电路图 DHT11 是通过单总线与微处理器通讯,只需要一根线,一次传送 40 位数据,高位 先出。数据格式:8bit 湿度整数数据+8bit 湿度小数数据+8bint 温度整数数据+8bit 温度小数数据+8bit 校验位 校验算法:将湿度、温度的整数小数累加,只保留低 8 位。微处理器(M0)与 DHT11 通信约定:主从结构,DHT11 为从机,M。作为主机,只有主机呼叫从机,从机才能应答。详细流程:M0 发送起始信号-D

6、HT 响应信号-DHT 通知 M0 准备接受信号-DHT 发送 准备好的数据-DHT 结束信号-DHT 内部重测环境温湿度数据并记录数据等待下一 次 M0 的起始信号。由流程可知,每一次 M0 获取的数据总是 DHT 上一次采集的数据,要想得到实时 的数据,连续两次获取即可,官方不建议连续多次读取 DHT,每次读取的间隔时间大 于 5 秒就足够获取到准确的数据,上电时 DHT 需要 1S 的时间稳定。3.2 LCD 屏幕显示 TFT-LCD 乂叫做薄膜晶体管液晶显示器,其管脚图如图 3 所示,其管脚在 STM32F103 中有相应的管脚对应。常用的液晶屏接口很多种,8 位、9 位、16 位、1

7、8 位都有。而常用的通信模式呢,主要有 6800 模式和 8080 模式两种,今天呢,我们来 讲的是 8080 模式。如果大家接触过 LCD1602或者 LCD12864 等,那么就会发现 8080 模式的时序呢,其实跟 LCD 1602 或者 LCD 12864的读写时序是差不多的。8080 接口有 5 条基本的控制线和多条数据线,数据线的数量主要看液晶屏使用的是几位模 式,有 8 根、9 根、16 根、18 根四种类型。图 3 LCD 引脚图 3.3 STM32 单片机 在 STM32F105 和 STM32F107 互连型系列微控制器之前,意法半导体已经推出 STM32 基本型系列、增强

8、型系列、USB 基本型系列、互补型系列;新系列产品沿用增强 型系列的 72MHz 处理频率。内存包括 64KB到256KB 闪存和 20KB 到 64KB嵌入式 SRAMo 新系列采用 LQFP64、LQFP100 和LFBGA100三种封装,不同的封装保持引脚 排列一致性,结合 STM32 平台的设计理念,开发人员通过选择产品可重新优化功能、I 文档来源为:从网络收集整理.word 版本可编辑.存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。内核:ARM32 位 Cortex-M3CPU,最高工作频率 72MHz,1.25DMIPS/MHz。单周期 乘法和硬件除法。存储器:片

9、上集成 32-512KB 的 Flash 存储器。6-64KB 的 SRAM 存储器。时钟、复位和电源管理 20-3.6V 的电源供电和 I/O 接口的驱动电压。上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。4-16MHz 的晶振。内嵌出厂前调校的 8MHz RC 振荡电路。内部 40 kHz 的 RC 振荡电路。用于 CPU 时钟的 PLL。带校准用于 RTC 的 32kHz 的晶振。低功耗:3 种低功耗模式:休眠,停止,待机模式。为 RTC 和备份寄存器供电的 VBATo 调试模式:串行调试(SWD)和 JTAG 接口。DMA:12 通道 DMA 控制器。支持的外设

10、:定时器,ADC,DAC,SPI,IIC 和 UART。3 个 12 位的 us 级的 A/D 转换器(16 通道):A/D 测量范围 O3.6V。双采样和保持能力。片上集成一个温度传感器。2 通道 12 位 D/A 转换器:STM32F103xC,STM32F103xD,STM32F103xE 独有。最多高达 112 个的快速 I/O 端口:根据型号的不同,有 26,37,51,80,和 112 的 I/O 端口,所有的端口都可以映射到 16 个外部中断向量。除了模拟输入,所有的都可以 接受 5V 以内的输入。最多多达 11 个定时器:4 个 16 位定时器,每个定时器有 4 个 IC/OC

11、/PWM 或者脉冲 计数器。2个 16 位的 6 通道高级控制定时器:最多 6 个通道可用于 PWM 输出。2 个看门 狗定时器(独立看门狗和窗口看门狗)。Systick 定时器:24 位倒计数器。2 个 16 位基本定 时器用于驱动 DAC。最多多达 13 个通信接口:2 个 IIC 接口(SMBus/PMBus)。5 个 USART 接口(ISO7816 接口,LIN,IrDA 兼容,调试控制)。3 个 SPI 接口(18 Mbit/s),两个和 IIS 复用。CAN 接口(2.0B)。USB 2.0 全速接口。SDIO 接口。ECOPACK 封装:STM32F103xx 系列微控制器采用

12、 ECOPACK 封装形式。4 软件设计 4.1 软件流程图 写出软件流程图,并附加文字说明。本次软件的编写是在 keil5 上进行,界面如图 X,并在编写后生成.Hex 文件,然后 用烧写软件 FlyMcu(界面如图 X)将.Hex 文件烧写在开发版上,流程如图 X。图 X keil5 软件界而 图 X 烧写流程图 图 X 烧写软件 本程序软件功能是使用 DHT11 温湿度检测模块检测温湿度,将检测到的温湿度送 到 STM32 单片机,和单片机的摄入设定值进行比较,当检测温度高于设定值时,风扇 开启,同时可以用按键去查看 LCD 屏幕上的温湿度值及风扇转速,程序结构如图 X。图 X 程序功能

13、框架图 4.2 软件程序 主程序如下:#include Hmain.hM include Icd.h#include key.h#include delay,h”include zi.h extern const unsigned char glmage_l 11(153600);int main(void)(static u8key;u8 yd;Delaynit();嘀嗒时钟延时初始化 Led_Init();LED 灯初始化 Beepnit();蜂鸣器初始化 Key_Init();/按键初始化 Uart_Init(115200);串 口 初始化 定时器 3 PWM 模式 1 初始化-周期 1

14、ms,占空比 50%TIM3_PWMConfig(1000,72,500);LCD_Init();/LCD 初始化 定时器 4 初始化-定时时间为1秒 TIM4_Config(10000,72);/LCD显示 Draw_Text_8_16_Str(50,50,WHITE,BLACK,”姓名 学号)Draw_Text_86_Str(50,70,WHnKBLACK,”李燕辉 09”);Draw_Text_8_16_Str(50,90,WHITE.BLACKJ 孟舒展 47);Draw_Text_8_16_Str(50,l 1O.WHITE,BLACKJ 王义涛 46);while(l)(key=G

15、et_Key_Val();if(key)yd=key;)switch(yd)case 1:Paint_Bmp(0,0,240,320,gImage_l 11);break;case2:PID_Ctrl(DHTl l_ShowTAndH();break;case3:drawpidline(Ox 1111);Draw_Text_8_16_Str(50,50,RED,BLACK,温湿度机转速);break;/drawpidline(Ox 1111);case 4:LCD_Clear(WHITE);break;default:;I)5 实物调试与结果 在调试时我们也是遇到了很多问题,在刚开始没有缓存按

16、键导致数据无法传递,在 显示温度时发现温度稳定在某一数值保持不变,经程序检查发现将按键的值缓存到寄存 器中进行连续发送,此问题解决。在显示图片和文字时发现显示效果不理想,图片模糊、字体乱码,排除问题时发现是字体取模方式以及图片格式不对,将文字横向取模调整成 纵向取模和图片格式改成.jpg 后再次显示,效果良好。最终调试结果如图 X,图 X,图 X,图 X,图 X,图 X 上电初始图 图 X 清屏图 温湿度显示及转速波形 温度低于设定值时风扇停止转动总结 本次实训持续两周左右,在这期间我们对更高一级的单片机 STM32 的认知从无到 有,学习了这种单片机的编程思路,不同于我们以前学的 51 单片机,这种单片机功能 更强大,编程也更繁琐,应用也更广泛,每使用一个模块,都要对其进行时钟和寄存器 的配置,这样的设计更符合低功耗的要求,更适合社会的发展趋势,这次实训也让我们 学到很多关于项目的东西,在此次实训期间,我们学会了如何把所学的知识应用在实践 中,让实践与理论相结合,真正做到学以致用。这次实训对于我们以后的工作、学习真 是受益匪浅。离我们步入社会也没多少时间了,不管面临的是继续深造,还是就业的压 力,我想我们都应该充分利用好这一段时间,充实、完善自我。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁