基于单片机的模糊温度控制器的设计
基于STM32单片机的温度控制系统设计

基于STM32单片机的温度控制系统设计一、本文概述本文旨在探讨基于STM32单片机的温度控制系统的设计。
我们将从系统需求分析、硬件设计、软件编程以及系统测试等多个方面进行全面而详细的介绍。
STM32单片机作为一款高性能、低功耗的微控制器,广泛应用于各类嵌入式系统中。
通过STM32单片机实现温度控制,不仅可以精确控制目标温度,而且能够实现系统的智能化和自动化。
本文将介绍如何通过STM32单片机,结合传感器、执行器等硬件设备,构建一套高效、稳定的温度控制系统,以满足不同应用场景的需求。
在本文中,我们将首先分析温度控制系统的基本需求,包括温度范围、精度、稳定性等关键指标。
随后,我们将详细介绍系统的硬件设计,包括STM32单片机的选型、传感器和执行器的选择、电路设计等。
在软件编程方面,我们将介绍如何使用STM32的开发环境进行程序编写,包括温度数据的采集、处理、显示以及控制策略的实现等。
我们将对系统进行测试,以验证其性能和稳定性。
通过本文的阐述,读者可以深入了解基于STM32单片机的温度控制系统的设计过程,掌握相关硬件和软件技术,为实际应用提供有力支持。
本文也为从事嵌入式系统设计和开发的工程师提供了一定的参考和借鉴。
二、系统总体设计基于STM32单片机的温度控制系统设计,主要围绕实现精确的温度监测与控制展开。
系统的总体设计目标是构建一个稳定、可靠且高效的环境温度控制平台,能够实时采集环境温度,并根据预设的温度阈值进行智能调节,以实现对环境温度的精确控制。
在系统总体设计中,我们采用了模块化设计的思想,将整个系统划分为多个功能模块,包括温度采集模块、控制算法模块、执行机构模块以及人机交互模块等。
这样的设计方式不仅提高了系统的可维护性和可扩展性,同时也便于后续的调试与优化。
温度采集模块是系统的感知层,负责实时采集环境温度数据。
我们选用高精度温度传感器作为采集元件,将其与STM32单片机相连,通过ADC(模数转换器)将模拟信号转换为数字信号,供后续处理使用。
基于单片机的pid温度控制系统设计

一、概述单片机PID温度控制系统是一种利用单片机对温度进行控制的智能系统。
在工业和日常生活中,温度控制是非常重要的,可以用来控制加热、冷却等过程。
PID控制器是一种利用比例、积分、微分三个调节参数来控制系统的控制器,它具有稳定性好、调节快等优点。
本文将介绍基于单片机的PID温度控制系统设计的相关原理、硬件设计、软件设计等内容。
二、基本原理1. PID控制器原理PID控制器是一种以比例、积分、微分三个控制参数为基础的控制系统。
比例项负责根据误差大小来控制输出;积分项用来修正系统长期稳态误差;微分项主要用来抑制系统的瞬时波动。
PID控制器将这三个项进行线性组合,通过调节比例、积分、微分这三个参数来实现对系统的控制。
2. 温度传感器原理温度传感器是将温度变化转化为电信号输出的器件。
常见的温度传感器有热电偶、热敏电阻、半导体温度传感器等。
在温度控制系统中,温度传感器负责将环境温度转化为电信号,以便控制系统进行监测和调节。
三、硬件设计1. 单片机选择单片机是整个温度控制系统的核心部件。
在设计单片机PID温度控制系统时,需要选择合适的单片机。
常见的单片机有STC89C52、AT89S52等,选型时需要考虑单片机的性能、价格、外设接口等因素。
2. 温度传感器接口设计温度传感器与单片机之间需要进行接口设计。
常见的温度传感器接口有模拟接口和数字接口两种。
模拟接口需要通过模数转换器将模拟信号转化为数字信号,而数字接口则可以直接将数字信号输入到单片机中。
3. 输出控制接口设计温度控制系统通常需要通过继电器、半导体元件等控制输出。
在硬件设计中,需要考虑输出接口的类型、电流、电压等参数,以及单片机与输出接口的连接方式。
四、软件设计1. PID算法实现在单片机中,需要通过程序实现PID控制算法。
常见的PID算法包括位置式PID和增量式PID。
在设计时需要考虑控制周期、控制精度等因素。
2. 温度采集和显示单片机需要通过程序对温度传感器进行数据采集,然后进行数据处理和显示。
基于单片机的数字温度计的设计与实现毕业设计论文

基于单片机的数字温度计的设计与实现摘要采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。
传统的测温元件有热电偶和二电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。
我们用一种相对比较简单的方式来测量。
温度范围为-55~125 ºC,最高分辨率可达0.0625 ºC。
DS18B20可以直接读出温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0℃-~+100℃,使用七级数码管LED模块显示,能设置温度报警上下限。
正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用,该电路设计新颖、功能强大、结构简单。
关键词:温度测量;DS18B20 ; AT89C51Design of Digital Thermomer Based on SCMABSTRACTControlled by single-chip microcomputer to control not only to them, advantages of simplicity and flexibility, and can significantly increase the temperature specifications, which can significantly increase the quality and quantity of the products. In the process of production, in order to efficiently produce, it must be the main parameters, such as temperature, pressure, flow, and other effective control. Traditional temperature measuring component thermocouple and resistance. Are generally voltage of thermocouple and thermal resistance measured, then converted to the corresponding temperature, these methods are relatively complex and requires more external hardware support. We are in a relatively simple way to measure.-55~125 ºc temperature range, maximum resolution up to 0.0625 ºc. DS18B20 can read temperature value, and wire connected to the microcontroller, reduced external hardware circuits, low cost and ease of use features.The introduction of a cost-based AT89C51 MCU a temperatur measurement circuits, the circuits used DS18B20 high-precision temperatur sensor, measuring scope 0℃-~+100℃,can set the warning limitation, the use of Seven digital tube seven segments LED that can be display the current temperature. The paper focuses on providing a software and hardware system components circuit, introduced the theory of DS18B20, the founctions and applications of AT89C51 .This circuit design innovative, powerful, can be expansionary strong.Keywords:Temperature measurement ;DS18B20 ;AT89C51目录摘要 (I)ABSTRACT (II)第一章绪论 (1)1.1 引言 (1)1.1.1 国内外现状 (1)1.1.2 课题背景及研究意义 (2)1.2 设计内容及性能指标 (2)1.3 系统概述 (3)1.3.1 系统方案论证与比较 (3)1.3.2 系统设计原理与组成 (5)第二章开发工具Proteus与Keil (6)2.1 Proteus软件 (6)2.1.1 Proteus简介 (6)2.1.2 4大功能模块 (6)2.1.3 Proteus简单应用 (8)2.2 Keil软件 (8)2.2.1 Keil软件简介 (8)2.2.2 Keil软件调试功能 (9)第三章系统硬件设计 (10)3.1 单片机的选择 (10)3.1.1 AT89C51单片机的介绍 (10)3.1.2 AT89C51单片机主要特性 (11)3.2 温度传感器的选择 (13)3.3 硬件电路设计 (17)第四章系统软件设计 (20)4.1 各模块的程序设计 (20)4.2 Protues测温仿真 (25)4.3 系统调试 (28)4.4 结果分析 (30)结论 (31)致谢 (32)参考文献 (33)附录1 全部程序清单 (34)附录2 系统总体设计图 (41)第一章绪论1.1引言1.1.1 国内外现状温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。
基于单片机的温度智能控制系统的设计与实现共3篇

基于单片机的温度智能控制系统的设计与实现共3篇基于单片机的温度智能控制系统的设计与实现1基于单片机的温度智能控制系统的设计与实现随着人们对生活质量的需求越来越高,温度控制变得愈发重要。
在家庭、医院、实验室、生产车间等场合,温度控制都是必不可少的。
本文将介绍一种基于单片机的温度智能控制系统的设计与实现。
设计思路本文所设计的温度智能控制系统主要由单片机、温度传感器、继电器和液晶屏幕等部件组成。
其中,温度传感器负责采集温度数据,单片机负责处理温度数据,并实现温度智能控制功能。
继电器用于控制加热设备的开关,液晶屏幕用于显示当前温度和系统状态等信息。
在实现温度智能控制功能时,本设计采用了PID控制算法。
PID控制算法是一种经典的控制算法,它基于目标值和当前值之间的误差来调节控制量,从而实现对温度的精确控制。
具体来说,PID控制器包含三个部分:比例控制器(P)用于对误差进行比例调节,积分控制器(I)用于消除误差的积累,微分控制器(D)用于抑制误差的未来变化趋势。
这三个控制器的输出信号加权叠加后,作为继电器的控制信号,实现对加热设备的控制。
系统实现系统硬件设计在本设计中,我们选择了常见的AT89S52单片机作为核心控制器。
该单片机运行速度快、稳定性好,易于编程,并具有较强的扩展性。
为了方便用户调节温度参数和查看当前温度,我们还选用了4 * 20的液晶屏。
温度传感器采用LM35型温度传感器,具有高精度、线性输出特性,非常适用于本设计。
系统电路图如下所示:系统软件设计在单片机的程序设计中,我们主要涉及到以下几个部分:1. 温度采集模块为了实现温度智能控制功能,我们首先需要获取当前的温度数据。
在本设计中,我们使用了AT89S52单片机的A/D转换功能,通过读取温度传感器输出的模拟电压值,实现对温度的采集。
采集到的温度数据存储在单片机的内部存储器中,以供后续处理使用。
2. PID控制模块PID控制模块是本设计的核心模块,它实现了对温度的精确控制。
《2024年基于51单片机的温度控制系统设计与实现》范文

《基于51单片机的温度控制系统设计与实现》篇一一、引言在现代工业控制领域,温度控制系统的设计与实现至关重要。
为了满足不同场景下对温度精确控制的需求,本文提出了一种基于51单片机的温度控制系统设计与实现方案。
该系统通过51单片机作为核心控制器,结合温度传感器与执行机构,实现了对环境温度的实时监测与精确控制。
二、系统设计1. 硬件设计本系统以51单片机为核心控制器,其具备成本低、开发简单、性能稳定等优点。
硬件部分主要包括51单片机、温度传感器、执行机构(如加热器、制冷器等)、电源模块等。
其中,温度传感器负责实时监测环境温度,将温度信号转换为电信号;执行机构根据控制器的指令进行工作,以实现对环境温度的调节;电源模块为整个系统提供稳定的供电。
2. 软件设计软件部分主要包括单片机程序与上位机监控软件。
单片机程序负责实时采集温度传感器的数据,根据设定的温度阈值,输出控制信号给执行机构,以实现对环境温度的精确控制。
上位机监控软件则负责与单片机进行通信,实时显示环境温度及控制状态,方便用户进行监控与操作。
三、系统实现1. 硬件连接将温度传感器、执行机构等硬件设备与51单片机进行连接。
具体连接方式根据硬件设备的接口类型而定,一般采用串口、并口或GPIO口进行连接。
连接完成后,需进行硬件设备的调试与测试,确保各部分正常工作。
2. 软件编程编写51单片机的程序,实现温度的实时采集、数据处理、控制输出等功能。
程序采用C语言编写,易于阅读与维护。
同时,需编写上位机监控软件,实现与单片机的通信、数据展示、控制指令发送等功能。
3. 系统调试在完成硬件连接与软件编程后,需对整个系统进行调试。
首先,对单片机程序进行调试,确保其能够正确采集温度数据、输出控制信号。
其次,对上位机监控软件进行调试,确保其能够与单片机正常通信、实时显示环境温度及控制状态。
最后,对整个系统进行联调,测试其在实际应用中的性能表现。
四、实验结果与分析通过实验测试,本系统能够实现对环境温度的实时监测与精确控制。
基于单片机的水温控制器设计

基于单片机的水温控制器设计引言水温控制在很多领域中都具有重要的应用价值,例如温室、鱼缸、热水器等。
基于单片机的水温控制器能够自动调控水温,提高水温的稳定性和准确性。
本文将介绍如何设计一个基于单片机的水温控制器,以实现对水温的精确控制。
一、硬件设计1.单片机选择选择一个合适的单片机对于设计一个稳定可靠的水温控制器至关重要。
常用的单片机有STC89C52、AT89C52等。
在选择时应考虑单片机的性能、功耗、接口等因素。
2.温度传感器温度传感器用于检测水温,常用的有NTC热敏电阻和DS18B20数字温度传感器。
NTC热敏电阻价格便宜,但精度较低,DS18B20精度高,但价格相对较贵。
3.加热装置加热装置用于根据温度控制器的输出信号进行加热或制冷。
可以选择加热丝、加热管或半导体制冷片等。
4.驱动电路驱动电路用于将单片机的输出信号转换为合适的电流或电压,驱动加热装置。
可以选择晶体管或继电器等。
5.显示模块可以选择液晶显示屏或LED数码管等显示水温的数值。
二、软件设计1.初始化设置首先,对单片机进行初始化设置,包括引脚配置、定时器设置等。
然后,设置温度传感器和加热装置的引脚。
最后,设置温度范围,以便根据实际需求进行调整。
2.温度检测使用温度传感器检测水温,并将读取到的温度值转换为数字形式,以便进行比较和控制。
可以使用ADC(模拟-数字转换)模块转换模拟信号为数字信号。
3.控制算法本设计中可以采用PID控制算法进行水温控制。
PID(Proportional-Integral-Derivative)控制算法根据设定值和反馈值之间的差异来计算控制信号。
可以根据需求进行参数调整,以获得更好的控制效果。
4.显示和报警使用显示模块显示当前水温的数值,并在温度超出设定值时触发报警功能。
报警可以采用声音、灯光等形式。
5.控制输出根据PID算法计算出的控制信号,控制驱动电路,驱动加热装置或制冷装置,以实现水温的调节。
总结基于单片机的水温控制器能够实现对水温的精确控制。
基于单片机的温控系统设计与实现

基于单片机的温控系统设计与实现温控系统是一种可以根据环境温度自动调节设备工作状态的系统。
基于单片机的温控系统是一种利用单片机计算能力、输入输出功能及控制能力,通过传感器获取环境温度信息并实现温度控制的系统。
下面将对基于单片机的温控系统的设计与实现进行详细介绍。
一、系统设计和功能需求:基于单片机的温控系统主要由以下组成部分构成:1.温度传感器:用于获取当前环境温度值。
2.控制器:使用单片机作为中央控制单元,负责接收温度传感器的数据并进行温度控制算法的计算。
3.执行器:负责根据控制器的指令控制设备工作状态,如电风扇、加热器等。
4.显示器:用于显示当前环境温度和控制状态等信息。
系统的功能需求主要包括:1.温度监测:通过温度传感器实时获取环境温度数据。
2.温度控制算法:根据温度数据进行算法计算,判断是否需要调节设备工作状态。
3.设备控制:根据控制算法的结果控制设备的工作状态,如打开或关闭电风扇、加热器等。
4.信息显示:将当前环境温度及控制状态等信息显示在显示器上。
二、系统实现的具体步骤:1.硬件设计:(1)选择适合的单片机:根据系统功能需求选择合适的单片机,通常选择具有较多输入输出引脚、计算能力较强的单片机。
(2)温度传感器的选择:选择合适的温度传感器,常见的有热敏电阻、热电偶、数字温度传感器等。
(3)执行器的选择:根据实际需求选择合适的执行器,如电风扇、加热器等。
(4)显示器的选择:选择适合的显示器以显示当前温度和控制状态等信息,如液晶显示屏等。
2.软件设计:(1)编写驱动程序:编写单片机与传感器、执行器、显示器等硬件的驱动程序,完成数据的读取和输出功能。
(2)设计温度控制算法:根据监测到的温度数据编写温度控制算法,根据不同的温度范围判断是否需要调节设备工作状态。
(3)控制设备的逻辑设计:根据温度控制算法的结果设计控制设备的逻辑,确定何时打开或关闭设备。
(4)设计用户界面:设计用户界面以显示当前温度和控制状态等信息,提示用户工作状态。
一种基于单片机的温度控制系统设计与实现

源 电压是 以寄生方式供 电 的, 因此 , 只需 要将 其 电源 ( D V D) 和地线 ( N 端接 地 即可 。D 1B 0采用 9 i数字 量来 G D) S8 2 b t 表示温度 ; 每次 将 温度 转 换 成 数 字量 需 20 s 因此 , 用 0m , 利 D 1B 0作为孵化箱 的温度传感 器 , 全可 以满 足 的设 计要 S8 2 完
孵化箱温 度传 感 器 , S 8 2 D 1 B 0集 成 了传 感 器 和数 字 转换 电 路, 且每个 D 1B 0都具有唯一 的位序列 号。单片机主要是 S82 用 于对 D 1B 0进行 编 程 , 读 取 其 温 度 值 , 片 机选 用 S8 2 并 单
AT8 9C2 051。
有较高的控制精度 , 提高了孵化场管理效率 , 节省了孵化场 的成本开支 。 关键词 : 片机 ; 单 温度 ; 控制系统 ; 模糊控制
中图 分 类 号 : PO T32 文 献 标 识 码 : B
De i n a d m pl m e t to f Te pe a u e Co r l ng sg n I e n ain o m r t r nt o l i
第2卷 第7 9 期
文 章编 号 :0 6 9 4 (0 2 0 — 2 0 0 10 — 3 8 2 1 )7 0 3 — 4
计
算
机
仿
真
22 月 0 年7 1
一
种 基 于 单 片 机 的温 控 制 系 统 设 计 与 实 现 度
吕俊 亚
( 河南财经政法大学计算机与信息工程学 院, 河南 郑州 4 0 0 ) 5 0 2
所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的模糊温度控制器的设计1 引言本文研究的被控对象为某生产过程中用到的恒温箱,按工艺要求需保持箱温100℃恒定不变。
我们知道温度控制对象大多具有非线性、时变性、大滞后等特性, 采用常规的PID 控制很难做到参数间的优化组合, 以至使控制响应不能得到良好的动态效果。
而模糊控制通过把专家的经验或手动操作人员长期积累的经验总结成的若干条规则,采用简便、快捷、灵活的手段来完成那些用经典和现代控制理论难以完成的自动化和智能化的目标, 但它也有一些需要进一步改进和提高的地方。
模糊控制器本身消除系统稳态误差的性能比较差, 难以达到较高的控制精度, 尤其是在离散有限论域设计时更为明显, 并且对于那些时变的、非线性的复杂系统采用模糊控制时, 为了获得良好的控制效果, 必须要求模糊控制器具有较完善的控制规则。
这些控制规则是人们对受控过程认识的模糊信息的归纳和操作经验的总结。
然而, 由于被控过程的非线性、高阶次、时变性以及随机干扰等因素的影响, 造成模糊控制规则或者粗糙或者不够完善, 都会不同程度的影响控制效果。
为了弥补其不足, 本文提出用自适应模糊控制技术,达到模糊控制规则在控制过程中自动调整和完善, 从而使系统的性能不断完善, 以达到预期的效果。
2 自调整模糊控制器的结构及仿真(1) 控制对象一般温度可近似用一阶惯性纯滞后环节来表示, 其传递函数为:式中: K———对象的静态增益;Tc———对象的时间常数;τ———对象的纯滞后时间常数。
本文针对某干燥箱的温度控制, 用Cohn-Coon 公式计算各参数得:K=0.181; Tc=60; τ=20。
( 2) 自调整模糊控制器的结构自调整模糊控制器的结构如图1 所示。
图1 带自调整因子的模糊控制器图中α为调整因子, 又称加权因子。
通过调整α值,可以改变偏差E 和偏差变化EC 对控制输出量U 的加权程度, 从而调整了控制规则。
但是, 若α值一旦选定, 在整个控制过程中就不再改变, 即在控制规则中对偏差、偏差变化的加权固定不变。
然而, 在实际控制中, 模糊控制系统在不同的状态下, 对控制规则中偏差E 与偏差变化EC的加权程度会有不同的要求。
为了适应被控对象的结构和参数的变化, 并模拟人工控制中的学习过程可以构造一个如图1 所示的带自调整因子的模糊控制器, 其实质是一个二级模糊控制系统。
具体方法是: 将调整因子α看作是一个模糊集, 其论域为( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,1) ; 根据希望的控制性能构造α的修改规则; 根据检测及计算得到的信息查修正表, 以选择适当的α值; 由下式计算控制量的变化值:U=-int [αE+ (1-α)EC]此时, 上式所描述的控制规则体现了按误差的大小自动调整误差对控制作用的权重, 因为这种自动调整是在整个误差论域内进行的, 所以这种自调整过程更符合人在控制决策过程中的思维, 已经具有高“智能” 的优化特点,且非常易于通过微机实时地实现其控制思想。
( 3) 自调整模糊控制器的仿真在模糊控制系统中, 模糊控制的性能在很大程度上取决于模糊控制规则的确定是否合理以及模糊控制器的有关参数大小选择是否合适。
简单的模糊控制器具有设计比较简单、控制性能比较好的特点。
对于复杂的控制系统, 采用相似的模糊控制规则以及一组固定不变的参数, 往往控制性能不够理想。
根据上文介绍的内容, 进行以下几种控制方法的仿真, 包括: 比例参数Ku 的自调整模糊控制、量化因子Ke 和Kec 自调整模糊控制、控制规则自调整的模糊控制。
仿真结果如图2 所示。
图2 自调整模糊控制仿真曲线图图中, 第1、2、3 条曲线分别代表比例参数Ku、控制规则、量化因子Ke 和Kec 自调整模糊控制仿真输出温度曲线。
它们的控制性能指标如表1 所示。
表1 三种控制方法的控制性能比较超调量稳态误差调节时间比例参数Ku 自调整模糊控制器2% ≤0.01℃390s量化因子Ke 和Kec 自调整模糊控制器0.1% ≤0.01℃420s控制规则自调整模糊控制器0.1% ≤0.01℃270s3 控制系统硬件设计本系统由PC 机运行用Delphi6.0 编写的RS-232 串行通信控制软件与单片机进行串行通信实现对温度箱内温度的实时控制。
PC 机作为上位机负责接收外部命令, 由串口输出后经接口电路发送到单片机, 使其执行相应的动作。
单片机作为下位机构成温度箱的模糊控制系统。
由PT100 型铂热电阻作为温度传感器把被控对象的温度信号转化为mV 级电压信号, 经运算放大器放大为0~5V 的电压信号, 然后经串行A/D 转换得到数字量, 被AT89C51单片机I/O 口读取, 和事先已存于片内的EEPROM中的温度电压对照查询表对照, 即可得到实际的温度值, 一路进行在线显示并经串行口传送到PC 机储存和作图, 一路作为控制器的输入变量。
控制器的输出通过单片机的I/O 口经D/A 转换变为模拟信号, 经放大器放大后去触发可控硅的导通角, 以达到调节温度箱加热功率的目的。
整个控制系统构成一个闭环系统, 其原理图如图3 所示。
整个控制系统也可以在没有PC 机的参与下, 由AT89C51 单片机独立完成控制任务, 只是由于单片机功能的限制使人机交互不太理想。
4 控制系统软件设计( 1) PC 机软件设计PC 机完成的功能主要包括: 控制系统的启动、停止,控制参数设置, 储存单片机传送过来的实时采集的温度数据并将其实时显示和绘图。
软件流程框图如图4 所示。
PC机软件由Delphi6.0 编写, 温度曲线图的绘制通过TCHART控件编程实现。
温度数据的存储通过建立Access 数据库,将数据实时存入数据库来实现。
( 2) 控制规则自调整模糊控制器的软件设计由计算机程序实现控制规则自调整模糊控制器的控制算法, 流程框图如图5 所示。
程序包括如下两个部分:1) 计算机离线计算查询表程序。
查询表的建立方法是: 将调整因子α看作是一个模糊集, 其论域为( 0, 0.1,0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1) ; 根据希望的控制性能构造α的修改规则; 将之制成查询表, 将此表存于计算机内存中, 供计算机在线控制时使用。
2) 计算机在线实时控制程序。
该程序在模糊控制过程中完成在线计算输入变量( 误差和误差变化率) , 并将它们模糊化处理, 查找查询表后再作输出处理。
具体步骤如下:①设置输入、输出变量及控制量的基本论域, 预置量化因子、比例因子和采样周期。
②判断采样时间到否, 若时间已到, 则转向第三步,否则等待。
③启动A/D 转换, 进行数据采集。
④计算误差和误差变化并判断它们是否已超过上( 下) 限值, 若已超过, 则将其设定为上( 下) 限值。
⑤按给定的量化因子将误差和误差变化模糊化, 并由此查询存放在计算机内存中的α修改规则查询表, 以选择适当的α值。
⑥由下式计算控制量的值: U=- int [ αe+ ( 1- α) ec] ,将此值乘以给定的比例因子, 若已超过上( 下) 限值, 则设置为上( 下) 限值。
⑦启动D/A 转换得到控制器实际输出模拟量用来控制温度箱的温度。
( 3) PC 机与单片机串口通信软件设计PC 机与单片机串口通信通过MAX3225E 串口通信芯片来实现。
软件的设计包括单片机串口通信和PC 机( 上位机) 串口通信两部分内容, 两者必须遵从相同的通信协议才能正常通信。
系统采用串口通信格式如下: 波特率为4800bps, SMOD=1, 单片机串口工作于方式1; 用T1 作为定时器, 工作于方式2, fOSC=11.0592M。
将以上已知条件带入下面的串口波特率计算公式:计算得到: TH1=244 ( 十进制) =0F4H ( 十六进制) 。
数据位: 8 位; 奇偶位: 无; 启始位: 1 位; 停止位:1 位。
单片机串口通信程序包括串口初始化程序和中断服务程序, 用C51 编写。
串口初始化程序是对串口工作方式进行设置, 控制寄存器PCON 和SCON 的设置以及定时器T1的设置。
中断服务程序主要是采用中断方式来接收和发送数据, 同时要用软件方式清除接收中断标志RI(响应接收中断后) 和发送中断标志TI(响应发送中断后) 。
单片机串口通信程序流程框图见图6 所示。
PC 机串口通信程序用于读取单片机发来的温度数据和向单片机发送参数及命令, 用Delphi6.0 编制, 利用串口控件SPCOMM可实现PC 机串口通信, 其流程框图见图7 所示。
( 4) 抗干扰设计系统的抗干扰能力是系统可靠性的重要指标。
本系统主要采用有硬件抗干扰设计和软件抗干扰设计。
1) 硬件抗干扰设计①在后向通道设计中采用光电耦合器MOC3041。
光电耦合器具有和高的绝缘电阻可达欧姆以上, 并能承受2000V 以上高压, 因而能有效隔离高电压对微机系统的各种噪声干扰, 抑制尖峰脉冲电压, 具有很强的抗干扰能力。
②数字信号的传输采用双绞线。
双绞线的阻抗高, 抗共模噪声能力强, 能使各个小环路的电磁感应干扰相互抵消, 对电磁场具有一定的抑制效果。
③电源线应尽量加粗。
可使信号电平稳定和增加抗干扰能力, 使电源线能通过3 倍于印刷电路板上的允许电流。
④接地线尽量构成闭环路, 可增加抗干扰能力。
⑤配置去耦电容。
电源输入端接10~100μF 的电解电容, 给每个IC 集成芯片配置一个0.01μF 的陶瓷电容器。
2) 软件抗干扰设计采用限幅滤波法消除干扰, 其方法是将两次相邻的采样值求出其增量, 然后与两次采样允许的最大差值Δy 进行比较; 若小于或等于Δy, 则取本次采样值, 若大于Δy,则取上次采样值作为本次采样值, 即|y n-y n-1|≤Δy, 则y n有效;|y n-y n-1|>Δy, 则y n-1有效。
式中: y n———第n 次采样值;y n-1———第n-1 次采样值;Δy———相邻两次采样值允许的最大偏差。
( 5) 误差分析误差主要来源是:①PT100 铂热电阻在0℃~100℃范围存在0.1℃的误差。
②A/D 转换误差: 1/212≈0.025%。
③被控对象即恒温箱内温度的不均匀导致误差。
对于第3 项减少误差的方法是在箱内安装风扇增加流动性; 另外, 采取多点测量, 然后取平均值作为温度测量值。
综合以上可知, 系统总的误差小于0.3℃。
5 结论温度是工业生产中经常碰到的控制参数之一, 对温度控制的好坏直接影响产品的质量甚至产品制造的成功与失败, 因而对温度的控制具有广泛的实际应用价值和应用前景。
本系统作为一次单片机系统在温度控制领域的探索和研究, 根据温度具有非线性、时变性、大滞后等特性, 采用了控制规则自调整模糊控制方法, 结合ATMEL 的89C51 单片机的应用, 通过硬件的设计、调试以及PC 机(上位机) 和单片机(下位机) 的软件的编程调试, 基本开发出了人机界面友好的模糊自适应温度控制器。