引言
温度控制对于工业和日常生活等领域都具有广阔的应用前景,很多应用领域,需要精度较高的恒温控制,由于其控制具有非线性、时滞性和不确定性,用传统的控制达不到好的控制效果。模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,其鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,所以特别适合于0~100℃温度的精确控制。
MSP430系列单片机是一个16位的、具有精简指令集的、超低功耗的混合型单片机。MSP430F149单片机采用了精简指令(RISC),具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令,大量的寄存器以及片内数据存储器都可参加多种运算,还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125 ns。
设计一种以单片机MSP430F149为系统的核心部件,并将模糊控制算法应用到其中的温控仪上,温度控制范围为常温0~100℃,设定温度值与测量温度值实时显示,控制精度可达±0.5℃。该系统采用恒泷供电,电路较简单,成本低,温度控制精度高,可以广泛应用于需要进行恒温控制的生产和生活中。
1 系统设计
系统以MSP430F149单片机为控制核心,温度测量由铂电阻恒流调理电路完成,调理电路的输出电压送入单片机,在单片机内部实现A/D转换,并对采样数据进行滤波及标度变换处理,温度值由3位数码管显示。输入的温度设定值由4位独立式键盘电路进行,设定值送入单片机后,由另一个3位数码管显示。系统设计框图如图1所示。
2 主要硬件电路设计
2.1 铂电阻测温调理电路
在本系统中,实际温度值由铂电阻恒流工作调理电路进行测量。为了克服铂电阻的非线性特点,在信号调理电路中加入负反馈非线性矫正网络。如图2所示,铂电阻选用标称值为100Ω的RT100作为温度传感器。A1,A2和A3采用低温漂运放OP07,由于有电流流经铂电阻传感器,所以当温度为0℃时,在铂电阻传感器上有压降,这个电压为铂电阻传感器的偏置电压,是运放A1输出电压的一部分,使恒流工作调理电路的输出实际不为0,所以需要对这个偏置电压调零,图中R3为调零电阻。图中运放A3及电阻R1,R4和R6构成负反馈非线性校正网络。R5用于调整运放A2的增益。[page]
2.2 温度控制电路
系统加热丝与风扇均采用图3所示电路形式。电路采用了晶体管驱动的直流电磁继电器。当单片机的P5.4为低电平时,继电器RL1吸合,当P5.4为高电平时,继电器RL1释放。采用这种控制逻辑可以使继电器在上电复位或单片机受控复位时不吸合。继电器由晶体管2N222A驱动,可以提供所需的驱动电流。
3 模糊控制规则表及软件流程图
3.1 建立模糊控制规则表
采用温度误差E和温度误差变化率Ec作为模糊控制器的输入变量,温度控制量U作为模糊控制器的输出变量。系统中温度误差E、温度误差变化率Ec和温度控制量U(单位:℃)的基本域分别为[-5,+5],[-2,+2]和[0,1]。输入语言变量的语言值取7个,输出控制量用于控制继电器驱动电路。将占空比模糊控制量设定为0,1/4,1/2,3/4,1五个单点模糊量和1个控制风扇吹风的单点模糊量。输出语言变量的语言值取6个。当U=0 时,单片机P3.5口置低电平,使风扇控制电路工作;当U=1时,加热丝控制电路工作,且继电器在1个周期内全关断;当U=2时,加热丝控制电路工作,且继电器在1/4个周期内接通,在3/4个周期内关断;当U=5时,加热丝控制电路工作,且继电器在1个周期内全接通。本控制系统选用三角函数、升半梯形函数与降半梯形函数作为输入量语言值的隶属函数,用脉冲函数作为输出量语言值的隶属函数。模糊控制规则如表1所示。
由模糊规则进行推理可以得出模糊控制器语言规则的输入输出关系,其关系是一个非线性的关系曲面。当偏差较大时,控制量的变化应尽力使偏差迅速减小;当偏差较小时,除了要消除偏差外,还要考虑系统的稳定性,防止系统出现过冲,甚至引起系统振荡。[page]
3.2 软件流程图
主程序软件流程如图4所示。
温度采集和显示、键盘处理等在编程时作为相对独立的功能模块来实现,并自主程序运行中按照设定的流程来调用,完成相应的任务后再返回主程序即可。
4 仿真分析
在Proteus仿真软件中加入编译后的HEX文件,使用分析图表分析系统分析加热器控制信号与风扇控制信号输出端口的占空比。当输入电压为2.7 V时,系统的输出显示实际温度为54℃,系统的设定温度为55℃,此时P5.4输出占空比为2:1的加热器控制信号;而当系统的实际温度大于设定温度时,系统输出适当的风扇控制信号以恒定的功率散热,说明满足设计要求。
5 结语
本系统采用低功耗MSP430系列单片机作为控制核心,整个控制电路较简单,用模糊控制算法设计程序,设定温度值与测量温度值实时显示,控制精度可达±0.5℃,在实际生产和生活中具有广泛的实用性。
关键字:MSP430F149 单片机 温控仪
引用地址:
MSP430F149单片机实现温控仪
推荐阅读最新更新时间:2024-03-16 13:37
C51编程总结-单片机的奇怪知识1(IC输入输出电压)
在使用单片机中过程,我们肯定对数字信号的“0”与“1”,有了深刻的影响,一般来说高电平位“1”为5V(对于5V VCC的单片机来来说),低电平“0”是0V。 实际上我们可能使用供电电压3.3V的芯片,高电平“1”的电压是3.3V。使其与单片机进行交换数据,,这个时候5V单片机能够正常识别到3.3V芯片的 “1”吗? 3.3V芯片与5V单片能不能正常交换数据 IC输入输出电压(也常被成为I/O识别电压),不是看VCC。而是看输入输出电压 我们可以在IC的规格书上查看到相关的参数。以下是CH340部分电气参数。 从表格可以知道,相关输入输出电压有四个参数,分别是 注:看输入输出电压,需要看两个芯片的输入输出电压,
[单片机]
8051单片机中断控制详解
IE寄存器中断的开放和禁止标志 (1) IE.7 EA:总中断允许控制位。EA = 1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA = 0,禁止所有中断。 (2) IE.4 ES:串行口中断允许位。ES = 1,允许串行口中断;ES = 0,禁止串行口中断。 (3) IE.3 ET1:定时器1中断允许位。ET1 = 1,允许定时器1中断;ET1 = 0,禁止定时器1中断。 (4) IE.2 EX1:外部中断1()中断允许位。EX1 = 1,允许外部中断1中断;EX1 = 0,禁止外部中断1中断。 (5) IE.1 ET0:定时器0中断允许位。ET0 = 1,允许定时器0中断;ET0 =
[单片机]
51单片机——硬件基础
1、单片机内部资源 STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源 (1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢 (2)RAM(内存)——数据存储空间 —— 断电数据丢失,读写速度快,无限次使用 (3)SFR —— 特殊功能寄存器 2、单片机最小系统 最小系统:最少组件组成单片机可以工作的系统。 三要素: (1)、 电源电路:5V (2)、 晶振电路:11.0592MHZ、两个30PF (3)、 复位电路: P0:开漏输出,必须加上拉电阻 准双向口: 强推挽输出:电流驱动能力强 高阻态 上下拉电阻:上拉电路就是将不确定的
[单片机]
MSP430F149在电力测控保护产品中的应用介绍
MSP430F149(以下简称“F149”)是 德州仪器 (TI)公司推出超低功耗Flash型16位RISC指令集单片机。F149有丰富的内部硬件资源,是一款性价比极高的工业级芯片。在应用中,F149不需做过多的扩展,适合要求快速处理的实时系统,故可在电力系统微机测量和保护方面得以应用。详细的F149资料可参阅有关文献,本文主要对电力系统中基本参数测量的实现方法和开发中一些应注意的问题进行论述。 1 F149外围模拟信号调理 在电力系统微机测量中,通常将一次额定电流和电压通过电流互感器(TA)、电压互感器(TV)分别转换为0~5A的电流信号和0~100V的电压信号,该信号再经一级互感器转换为数百mV~几V的电压信号,具体输
[单片机]
51单片机原理介绍
单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统,以下是8051系列单片机原理和内部结构基础介绍 外部引脚功能 存储空间配置和功能 片内RAM结构和功能 特殊功能寄存器的用途和功能 程序计数器PC的作用和基本工作方式 I/O端口结构、工作原理及功能 时钟和时序 复位电路、复位条件和复位后状态 低功耗工作方式的作用和进入退出的方法 §2-1 单片机原理简介和引脚功能 一、内部结构 二、引脚功能 40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈
[单片机]
单片机系统的低功耗设计策略
摘要:嵌入式系统的低功耗设计需要全面分析各方面因素,统筹规划。在设计之初,各个因素往往是相互制约、相互影响的,一个降低系统功耗的措施有时会带来其他方面的“负效应”。因此,降低系统整体功耗,需要仔细分析和计算。本文从硬件和应用软件设计两个方面,阐述一个以单片机为核心的嵌入式系统低功耗设计时所需考虑的一些问题。
关键词:低功耗设计 硬件设计 应用软件设计 低功耗模式
在嵌入式应用中,系统的功耗越来越受到人们的重视,这一点对于需要电池供电的便携式系统尤其明显。降低系统功耗,延长电池的寿命,就是降低系统的运行成本。对于以单片机为核心的嵌入式应用,系统功耗的最小化需要从软、硬件设计两方面入手。
随着越来越多的嵌入式应用使用了实时
[单片机]
单片机延时方法(Keil 软件延时)
C 语言常用的延时方法,有如图4-2所示4种。 图2-4 C 语言延时方法 图2-4是 C 语言编程常用的4种延时方法,其中两种非精确延时,两种精确一些的延时。for 语句和 while 语句都可以通过改变 i 的范围值来改变延时时间,但是 C 语言循环的执行时间都是不能通过程序看出来的。精确延时有两个方法,一个方法是用定时器来延时,这个方法我们后边课程要详细介绍,定时器是单片机的一个重点。另外一个就是用库函数nop();,一个 NOP 的时间是一个机器周期的时间,这个后边也要介绍。 非精确延时,只是在我们做一些比如小灯闪烁,流水灯等简单演示实验中使用,而实际项目开发过程中其实这种非精确延时用的很少。 好了,介绍完了,我们就要
[单片机]
STMCU应用过程中与电源相关的案例分享
我们在从事STM32单片机的应用开发及调试过程中,往往会碰到各类异常。其中有不少比例的问题跟电源有关。对于一个电子产品而言,电源部分很关键、很重要,但在实际开发调试中,我们偶尔会有意无意的忽视它。这里分享几个实际案例,以加强刺激,加深印象。 毕竟因为电源问题可能导致的异常很多很多,这里分享几个案例算是抛砖引玉,希望大家在调试中对电源方面加以重视。个人认为,往往电源出问题时导致的异常时并不太好分析。多数时候异常表现得更为诡异或没章法。 注:下面提到的案例中异常原因都与电源有关,但并不是说出现类似异常时一定是电源的原因。 下面主要分享五个基于STM32应用的案例。 案例1:STM32芯片的PLL无法正常工作。 有人使用STM3
[单片机]