智能水温控制系统
太阳能热水器智能控制系统设计

太阳能热水器智能控制系统设计智能控制系统主要分为硬件部分和软件部分。
硬件部分包括传感器、执行器和控制模块;软件部分包括数据采集、数据处理和控制算法。
1.传感器通过安装在太阳能热水器上的不同类型的传感器,可以实时获取一些必要的参数信息,如太阳辐射强度、水温、水位等。
传感器的选择需要考虑到其精度、可靠性和成本等因素。
传感器可以通过模拟信号或数字信号的形式将收集到的数据传输给控制模块。
2.执行器执行器用于控制太阳能热水器的工作状态,如水泵的开关控制、阀门的开关控制等。
执行器通常由电磁阀、电机或电热器等组成,通过开关控制电源的通断来实现相应的操作。
3.控制模块控制模块是整个智能控制系统的核心部分,它接收传感器传输过来的数据,并根据一定的控制算法进行处理,最后控制执行器的工作。
控制模块通常由单片机或微处理器组成,具有数据处理能力,并能通过通信接口与其他设备进行数据传输和控制。
4.数据采集数据采集是指将从传感器采集到的数据进行收集和记录的过程,可以将数据存储在数据库或者内存中,供后续的数据处理和分析使用。
数据采集可以通过定时采集、事件触发采集或实时采集等方式进行。
5.数据处理数据处理是指对采集到的数据进行计算、分析和处理的过程,以提取有用的信息。
例如,可以通过计算太阳能辐射强度和水温的关系来预测水温的变化趋势,以及控制相应的工作状态。
6.控制算法控制算法是根据实际应用需求设计的,用于根据传感器数据和其他信息来控制太阳能热水器的工作状态。
例如,根据太阳辐射强度和水温的关系,可以设计一个算法来控制水泵的开关,以实现更高效的加热水温。
总结起来,太阳能热水器智能控制系统的设计可以通过传感器实时获取相关参数信息,经过数据采集和处理,最终通过控制算法控制执行器的工作状态。
这样的设计可以提高太阳能热水器的效率和节能性,实现智能化的控制和管理。
智能水温控制系统设计

智能水温控制系统设计DS18B20 作为感温元件, 占用单片机引脚少, 因而可以利用空余引脚通过软件模拟本文从硬软件两个方面介绍了基于AT89S52单片机温度自动检测系统的设计。
系统硬件由控制电路、温度采集电路、键盘和LED显示电路组成。
软件设计从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。
最终通过DS18B20采集温度并显示出来,由此对周围环境的温度进行有效检测与报警。
基本上满足了温度检测与报警的要求,具有超调量小,采样值与设定值基本一致,操作简单等优点。
本设计创新点在于采用数字式温度传感器和温度显示。
目录摘要.................................................... 错误!未定义书签。
目录. (3)1 绪论 (5)1.1 系统背景 (5)1.2 温度控制系统设计的意义 (5)1.3 温度控制系统完成的功能 (6)2 系统方案设计 (6)2.1对于单片机的型号有如下两个方案: (6)2.2 温度采集模块 (7)2.3控制系统方案 (7)3 硬件电路设计 (8)3.1系统总体设计 (8)3.2 各部分硬件电路设计 (9)3.2.1、时钟电路设计 (9)3.2.2系统复位电路 (10)3.2.3报警与控制电路设计 (10)3.2.4 LCD显示电路设计 (11)3.2.5温度检测电路设计 (12)3.2.6按键电路设计 (13)3.27 继电器控制系统 (13)4 软件设计 (15)4.1 主程序方案 (15)4.2 各个模块子程序设计 (16)4.2.1温度采集程序 (16)4.2.2 LCD显示程序流程图 (22)5 系统调试 (27)5.1测试环境及工具 (27)5.2测试方法 (27)5.3测试结果分析 (27)结论 (28)附录一:系统原理图 (31)附录二: 程序代码 (33)1 绪论1.1 系统背景温度采集控制系统是在嵌入式系统设计的基础上发展起来的。
基于单片机智能电水壶控制系统设计

基于单片机智能电水壶控制系统设计一、引言智能家居系统的快速发展为人们带来了更加便利和舒适的生活体验。
智能电器已经成为了现代家庭不可或缺的一部分。
本文将基于单片机,设计一款智能电水壶控制系统,实现对电水壶的温度控制、定时功能和远程控制等功能。
二、系统设计该系统由硬件和软件两部分组成。
硬件部分:主要包括温度传感器、单片机、开关、继电器、显示屏等元件。
软件部分:主要包括单片机程序的编写和手机APP的开发。
1.硬件设计(1)温度传感器:用于检测水温,通常选择数字温度传感器,如DS18B20,能够精确测量水壶内部的温度。
(2)单片机:选择适合的单片机,如51单片机,用于接收传感器的数据,处理按键输入,控制继电器等。
(3)开关:用于控制电源的开关,通过按键来控制水壶的启动和关闭。
(4)继电器:用于控制加热器的开关,当温度低于设定的温度阈值时,继电器通电,加热器开始工作。
(5)显示屏:用于显示当前水壶的温度和状态。
2.软件设计(1)单片机程序:通过单片机的IO口连接温度传感器和开关,并通过串口与手机APP进行通信。
程序首先初始化相关硬件,然后循环读取温度传感器的数值,并进行温度控制和定时功能的处理。
同时,根据开关的状态来控制继电器的开关,实现加热器的自动启动和停止。
(2)手机APP:开发一款手机APP,用户可以通过该APP来远程控制电水壶的启动和关闭,设定水温,设置定时功能等。
APP与单片机通过蓝牙或Wi-Fi进行通信,实现与电水壶的互动。
三、系统特点与优势1.温度控制精准:采用数字温度传感器,能够精确测量水温,实现对加热器的精准控制,确保水温始终在设定的范围内。
2.定时功能实现:用户可以通过手机APP设置定时功能,实现提前启动或者定时关闭电水壶,方便用户的使用。
3.远程控制:用户可以通过手机APP随时随地控制电水壶的启动和关闭,无需亲自操作。
4.显示屏显示:电水壶的温度和状态将通过显示屏实时显示,方便用户掌握当前状态。
水温控制系统stm32实验报告

水温控制系统stm32实验报告设计并制作一个水温自动控制系统,控制对象为1升水,容器为搪瓷器皿(其他容器也可)。
水温可以在一定范围内设定,并能实现在10℃-70℃量程范围内对每一点温度的自动控制,以保持设定的温度基本保持不变。
要求(1)可键盘设定控制温度值,并能用液晶显示,显示最小区分度为0.1℃;(2)可以测量并显示水的实际温度。
温度测量误差在+0.5℃内;(3)水温控制系统应具有全量程(10℃-70℃)内的升温、降温功能(降温可用半导体制冷片、升温用800W以内的电加热器);(4)在全量程内任意设定一个温度值(例如起始温度+15℃内),控制系统可以实现该给定温度的恒值自动控制。
控制的最大动态误差<+4℃,静态误差<+1℃,系统达到稳态的时间<15min(最少两个波动周期)。
人机交互模块的设计温度控制系统经常是用来保证温度的变化稳点或按照某种规律进行变化。
但是通常温度具有惯性大,滞后性严重的特点,所以很难建立很好的数学模型。
所以在本次实验中我们采用了性能高又经济的搭载ARM Cortex-M内核的STM32F429的单片机作为它的微控制处理器。
人机交互模块主要是有普通的按键和一块彩色液晶屏幕所组成。
该实验中采用的是模糊的PID 算法,完成对系统的设计。
温度检测模块的设计传统的测温元件有热电偶,热敏电阻还有一些输出模拟信号的温度传感器。
但这些元件都需要较多的外部元件的支持。
电路复杂,制作成本高。
因此在本次实验中我们采用了美国DALLAS半岛公司推出的一款改进型的智能温度传感器 DS18B20。
此温度传感器读数方便,测温范围广,测温准确,输出温度采用数字显示更加智能化。
温度检测模块是以DS18B20温度传感器作为核心,将测量的温度信号传递给STM32单片机芯片进行温度的实时检测,并通过数码管显示。
水温自动控制系统原理

水温自动控制系统的原理是利用温度传感器对水箱内的水温进行实时监测,并将监测到的温度信号传输到控制模块。
控制模块根据预设的温度值和实际水温的差异,通过调节加热或制冷设备的运行状态,实现对水温的精确控制。
具体来说,水温自动控制系统的工作流程如下:温度传感器:这是系统的核心部件,用于感测水箱内的温度。
常见的温度传感器有热敏电阻、热电偶等。
控制模块:这是系统的“大脑”,接收并处理温度传感器的信号,然后根据预设的温度值和实际水温的差异,输出控制信号。
常见的控制模块有微控制器、PLC等。
加热/制冷设备:这是系统的执行部件,根据控制模块的信号调节水温。
常见的加热设备有电加热棒、燃气热水器等,制冷设备有压缩机制冷机等。
显示部件:这是系统的可视化部分,用于显示当前的水温、预设温度等信息,方便用户操作和查看。
常见的显示部件有显示屏、数码管等。
报警装置:当实际水温超过预设的温度范围时,系统会触发报警装置,提醒用户及时处理。
常见的报警装置有蜂鸣器、LED灯等。
水温自动控制系统能够实现对水温的精确控制,适用于各种需要恒定水温的场合,如游泳池、工业用水等。
同时,由于系统能够实时监测水温并具有报警功能,大大降低了因水温异常而引发的安全事故。
DS18B20水温控制系统+电路图程序

水温控制系统摘要:该水温控制系统采用单片机进行温度实时采集与控制。
温度信号由“一线总线”数字化温度传感器DS18B20提供,DS18B20在-10~+85°C范围内, 固有测温分辨率为0.5 ℃。
水温实时控制采用继电器控制电热丝和风扇进行升温、降温控制。
系统具备较高的测量精度和控制精度,能完成升温和降温控制。
关键字: AT89C51 DS18B20 水温控制Abstract: This water temperature control system uses the Single Chip Microcomputer to carry on temperature real-time gathering and controling. DS18B20, digitized temperature sensor, provides the temperature signal by "a main line". In -10~+85℃the scope, DS18B20’s inherent measuring accuracy is 0.5 ℃. The water temperature real-time control system uses the electricity nichrome wire carring on temperature increiseament and operates the electric fan to realize the temperature decrease control. The system has the higher measuring accuracy and the control precision, it also can complete the elevation of temperature and the temperature decrease control.Key Words:AT89C51 DS18B20 Water temperature control目录1. 系统方案选择和论证 (2)1.1 题目要求 (2)1.1.1 基本要求 (2)1.1.2 发挥部分 (2)1.1.3 说明 (2)1.2 系统基本方案 (2)1.2.1 各模块电路的方案选择及论证 (2)1.2.2 系统各模块的最终方案 (5)2. 硬件设计与实现 (6)2.1系统硬件模块关系 (6)2.2 主要单元电路的设计 (6)2.2.1 温度采集部分设计 (6)2.2.2 加热控制部分 (8)2.2.3 键盘、显示、控制器部分 (8)3. 系统软件设计 (10)3.1 读取DS18B20温度模块子程序 (10)3.2 数据处理子程序 (10)3.3 键盘扫描子程序 (12)3.4 主程序流程图 (13)4. 系统测试 (14)4.1 静态温度测试 (14)4.2动态温控测量 (14)4.3结果分析 (14)附录1:产品使用说明 (15)附录2:元件清单 (15)附录3:系统硬件原理图 (16)附录4:软件程序清单 (17)参考文献 (26)1.系统方案选择和论证1.1题目要求设计并制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。
电热水器的智能化控制系统研究进展

电热水器的智能化控制系统研究进展随着科技的不断发展和人们对生活便利性的追求,智能家居产品的应用范围逐渐扩大。
作为家庭常用的热水供应设备,电热水器一直以来都是人们生活中不可或缺的一部分。
近年来,电热水器的智能化控制系统逐渐成为研究的热点,为用户提供更加智能、便捷和高效的使用体验。
本文将介绍电热水器的智能化控制系统的研究进展,并探讨其未来的发展方向。
一、智能化控制系统的基本原理电热水器的智能化控制系统主要是通过嵌入式系统、传感器、网络通信等技术,实现对热水器的远程控制、智能化调控、电能管理等功能。
智能化控制系统的核心是嵌入式系统,它通过感应温度、气体浓度、湿度等传感器获取相关数据,并根据预定的算法进行数据处理和分析。
通过网络通信技术,用户可以通过手机APP或者智能家居中控系统实时监控和控制电热水器的工作状态,实现远程开关、定时预约、能源管理等功能。
二、智能化控制系统的功能与优势电热水器的智能化控制系统具有多种功能和优势,为用户提供了更加智能、便捷和高效的使用体验。
1. 远程控制功能:用户可以通过手机APP或者智能家居中控系统随时随地远程控制电热水器的开关状态和工作模式。
无论是外出办公还是旅游,用户都可以通过手机轻松控制热水器,提前享受温暖舒适的热水。
2. 定时预约功能:用户可以根据自己的需要设定电热水器的定时启动和关闭时间,节省能源的同时也能够确保随时能够使用热水。
比如,可以在早上起床之前预约电热水器加热,保证用水热度正好适合洗澡。
3. 能源管理功能:智能化控制系统可以实时监测电热水器的能耗情况,并提供能源使用率、功率曲线等相关数据。
用户可以根据这些数据进行能源管理,合理使用热水,减少能源浪费。
4. 智能化调控功能:根据外界环境温度、用户习惯等因素,智能化控制系统可以自动调节电热水器的温度和加热方式,提供个性化的热水供应服务。
比如,在冬天的寒冷时节,系统可以自动提高热水的温度以应对需求增加。
三、研究进展目前,电热水器的智能化控制系统在研究和应用中取得了较大的进展。
水温控制系统

水温控制系统摘要该设计要完成的是水温控制系统的设计,实现满足题目要求的水温实时控制系统的测量。
主要运用了模拟电子技术基础中的比例放大器、电压比较器、二极管等知识。
外界温度通过温度传感器LM35转换为模拟信号,经过放大器放大十倍后用比较器与基准电压比较,从而控制加热电路的通断,实现对水温的控制。
该设计实现了温度的测量和水温的控制,使得当水温高于设定的温度时停止加热,低于给定温度时开始加热,做到了实时控制,具有良好的应用性。
关键词:比例放大器;温度传感器;电压比较器;继电器目录1 前言.................................................................... 12 统设计原理............................................................... 12.1 水温控制的基本思路................................................. 12.2 水温控制原理....................................................... 23 设计方案与认证.......................................................... 23.1 总体设计方案....................................................... 23.2各部分电路方案认证.................................................. 23.2.1温度传感器..................................................... 23.2.2 比例放大器................................................... 43.2.3 电压比较器.................................................... 63.2.4 继电器........................................................ 73.2.5 加热部分...................................................... 94 电路的仿真与调试....................................................... 104.1 电路的仿真....................................................... 104.2电路的调试........................................................ 105 电路的特点及改进....................................................... 106 课程设计总结及心得体会................................................. 11参考文献.................................................................. 12 附录Ⅰ元件清单.......................................................... 13 附录Ⅱ整体电路图......................................................... 14第一章前言在日常生活中通过水温控制来给人们带来舒适的,方便的生活同,例如刚在外工作回家的男人一定会很疲倦了,如果能够洗个热水澡,那真是非常好的事情了,这样能够让一天的疲惫随着温热的流水带走了,家庭言主妇为家人煮一个热喷喷的汤水,煮好以后就这样放着也会变凉的,如何保持温的恒定呢?这就需要水温控制系统了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能水温控制系统摘要:为了实现水温控制系统的设计要求,通过对各个模块电路方案的比较和论证,最后确定了以STC89C52单片机为核心的硬件电路,选用DS18B20温度传感器测量水温。
该系统具有实时显示、温度测量、温度设定并能根据设定值对水的温度进行调节和控温的目的以及达到上限温度的报警功能,控制算法是基于数字PID算法,在设定温度发生突变时,可自动打印水温随时间变化的曲线。
关键词:AT89C52单片机、PID算法、温度测量和控温随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本设计论述了一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度自动控制系统。
该控制系统可以根据设定的温度,通过单片机控制继电器开启和关闭,从而控制水泥电阻的加热和停止。
硬件电路主要包括STC89C52单片机最小系统、稳压电路、DS18b20测温电路、键盘电路、锁存器SN74HC573、MT05011AR数码管显示电路、继电器电路,加热模块电路等。
系统程序模块主要包括主程序控制模块,温度处理子程序模块、按键处理程序模块、锁存器控制模块、数码管显示模块。
一、设计任务设计并制作一个水温自动控制系统,控制对象为500ml净水,容器为搪瓷器皿。
水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。
1)温度设定范围为20~70o C,最小区分度为1o C,标定温度≤1o C。
2)用十进制数码管显示水的实际温度。
3)采用适当的控制方法,当设定温度突变(比如:由50o C提高到60o C)时,减小系统的调节时间和超调量。
4)温度控制的静态误差≤1o C(达到发挥部分的要求)5)在设定温度发生突变时,自动打印水温随时间变化的曲线。
二、整个系统分为以下几个部分:温度采样部分、控制电路部分、加热装置以及串口通信部分。
2.1温度采样部分采用温度传感器DS18B20,测温范围-55o C ~ +125o C,采用独特的单线接口方式,仅需一条口线即可实现微处理器与DS18B20的双向通讯,且在使用中不需要任何外围元件;可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出远端引入。
此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。
采用STC89C52单片机作为主控芯片。
STC89C52是一个超低功耗,高性能的51内核的CMOS 8位单片机,片内含8KB空间的可反复擦写1000次的Flash只读存储器,具有512bytes的随机存取数据存储器(RAM),32个I/O口,两个16位可编程定时计数器。
且该系列的51单片机支持串口下载和串口调试。
所以我们选择了方案2。
2.3键盘显示部分控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。
设计的系统中,共三个按键:菜单键和温度设定的“+”、“-”控制键。
对菜单键按键一次,进入温度设定状态,通过连按“+”、“-”控制键来设定温度,数码管显示设定的温度值;对菜单键连按键两次,进入温度测量状态,数码管显示当前的实际水温。
2.4加热装置的选择采用螺旋加热管。
可将螺旋加热管固定到容器内部,通电加热时能使水在容器内形成对流,加热功率相对较高,加热较均匀,使得测量误差较小。
对温度控制的精度要求较高2.5串口通信部分UART通信,是异步串口通信,在通信时只需要数据线,只需要知道发送数据的波特率,编程时设置好位长度即可。
UART通讯编程简单,通讯速度远比IIC快,可以直接使用RS485延伸通讯距离达到1km,通讯速度很容易做高。
所以本实验中,采用UART通信将数据传输给电脑。
2.6软件算法的选择采用经典PID控制算法和根据实验数据分区间控制的算法,对于温度系统来说,被控对象没有精确的数学模型。
用螺旋加热器加热使得水温具有热惯性,采用补氧设备往水里加入空气,使水的上下温差变得非常小,故检测的实时数据基本能完全体现500ml水的实际温度,所以经典PID控制算法中的P能满足设计要求,但必须根据实验数据进行调整。
三、系统总体方案设计此方案采用STC89C52单片机系统实现,键盘输入温度设定值,用数字温度传感器DS18B20采集准确的温度,数码管显示设定温度值和水温实测值,加热装置采用固态继电器控制,当水温超过设定值时蜂鸣器报警。
图1 温度控制系统框图四、硬件电路设计4.1温度采集电路一种电路是采用单线数字温度传感器DS18B20,可直接输出数字量,单线器件和单片机的接口只需一根信号线,所以本设计的硬件电路十分简单,容易实现。
使用读取温度暂存寄存器的方法能达到0.1o C以上的精度。
18B20连接电路图如图2所示图2 温度采集电路4.2加热装置模块由于本系统要控制加热管,功率较大,因此要借助功率电路。
使用继电器可以很容易的通过较高的电压和电流,在正常条件下,工作十分可靠。
使用电磁继电器电路的实现十分简单,而且还可以实现较为精确的控制,是比较好的一种方式。
DS18B20测温芯片传送温度数据单片机的I/O口P2.5。
对加热管通断的控制采用SSR固态继电器,SSR是半导体继电器,所以较小的驱动功率即可使SSR工作。
它的使用非常简单,且响应时间短,对系统干扰小。
只要在控制台端加上一个TTL、CMOS电平或光耦,即可实现对继电器的开关。
其电路图如下所示。
图3 图44.3按键控制和显示模块图5系统上电后,数码管全部显示为当前所测温度值,根据按KEY1次数,若按键一次,进入温度设定状态,通过连按“+”、“-”控制键来设定温度,数码管显示设定的温度值;若连按两次,进入温度测量状态,数码管显示当前的实际水温。
由于温度变化范围是40~70o C ,所以选用两个数码管显示温度。
数码管采用共阳极,经过1K Ω的电阻限流后与单片机连接,由单片机I/O 口P3对数码管进行位选。
4.4蜂鸣报警电路蜂鸣器通过一个三极管来驱动,这里选用PNP 型三极管,电路图如下图64.5通信模块系统设计要求控制系统能同PC联机通信,以利用PC图形处理能力打印显示温度曲线,故使用了STC89C52的异步串行端口UART实现与PC通信。
由于STC89C52串行口电平和PC不一致,(STC89C52的I/O为TTL电平,PC串行口为RS232电平),使用一片MAX232为进行电平转换驱动。
通信速率为9600波特率。
数据5秒传输一次。
电路图如图7所示,MAX232的RXD1和TXD1分别接STC89C52的P3.1(TXD)和P3.0(RXD)。
图7 串行通信电路UART模块提供了一个全双工标准通信口,用于完成STC89C52与外设之间的串行通信。
根据RS-232的标准,STC89C52单片机也是按照字节传输数据的。
UART 还可以带缓冲接收数据,即可以在读取缓存器数据之前接收新的数据。
但是,如果新的数据被接收到缓存器之前一直未从中读取,先前的数据会发生数据丢失。
SBUF用于接收和发送数据的缓存,向该单元写入数据,将发送的数据送入缓存器;读该单元取数据,可以从缓存器读出接收到的单字节数据。
UART模块的接收管脚Rx和发送管脚Tx分别与P3.1和P3.0共用。
五、系统软件设计任何一个系统的软件设计都离不开硬件电路的连接,本课题硬件设计的高度模块化决定了软件设计的模块化。
本程序结构包括:主控程序模块、键盘扫描及处理子程序、LED显示子程序、采样数据处理子程序、PID算法子程序、串口通信并打印曲线图等子程序几个部分。
结构框图如图8。
主控程序模块在整个结构中充当管理者,管理所有子程序的调用,就相当于个人计算机的操作系统。
它主要负责初始化各个I/O口,等待键盘事件的发生,并作出相应的处理。
并在适当的时候调用数据采样程序,并将采样到的数据与键盘设定值比较。
再通过PID计算后用以控制继电器的开断,从而控制加热管的输出功率,来达到水温的调整,并将实测的水温数据上传给电脑,利用PC图形处理能力打印显示温度曲线。
图8 程序结构图 程序流程图及部分程序5.1主程序程序按照模块化设计,所有功能都可通过调用子程序完成,主程序较简单,流程图如图9所示。
/***********************************本设计系统是18b20温度报警系统数码管显示,可设置温度上限高温报警和下限低温报警,报警温度可精确到1度,并具有掉电保存功能,数据保存在单片机内部EEPOM 中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面,人性化的按键设置,按键还具有连加、减功能。
**********************************/void main(){UART_init();time_init(); //初始化定时器0read_eepom();if(a_a == 0xff)} 从主程序中可以看出,在进行一系列程序调用之前对系统进行初始化,然后进入while 循环,重复以下步骤:执行键盘程序,对键值进行处理。
进而调用加热函数,用PID 算法,来控制继电器对加热器的关断,实现温度控制。
同时执行数码管显示程序,实现温度的实时显示。
当设定温度与实际温度相差较大时,调用打印函数,与电脑进行串口通信,利用PC 机图形处理能力打印显示温度曲线。
5.2系统初始化系统的初始化主要包括I/O 口的初始化,键盘初始化,定时、中断初始化,串口初始化等等。
以下列出部分初始化程序////////////////////////////串口初始化////////////////////////////////////////////////5.3键盘程序1)由于机械触点有弹性,在按下或弹起按键时会出现抖动,从最初按下到接触稳定要经过数毫秒的弹跳时间,如图所示。
为了保证探险键识别的准确性,必须消除抖动。
消抖处理有硬件和软件两种方法:硬件消抖是利用加支抖动电路滤避免产生抖动信号;软件消抖是利用数字滤波技术来消除抖动。
我们采用软件的方法,利用主程序循环扫描,主程序每循环一次扫描到的键值相同时,则说明是某键按下。
2)键值处理/****************按键处理数码管显示函数***************/////////////////////////设置高低阈值///////////////////////5.5 PID 算法由于单片机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此式(1)中的积分和微分项不能直接准确计算,只能用数值计算的方法逼近。
在采样时刻t=iT(T 为采样周期)。