基于单片机与模糊控制的温控仪设计与实现

发布者:创新脑细胞最新更新时间:2021-02-28 来源: eefocus关键字:单片机  模糊控制  温控仪 手机看文章 扫描二维码
随时随地手机看文章

0 引言

温度控制对于工业和日常生活等领域都具有广阔的应用前景,很多应用领域,需要精度较高的恒温控制,由于其控制具有非线性、时滞性和不确定性,用传统的控制达不到好的控制效果。模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,其鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,所以特别适合于0~100℃温度的精确控制。


MSP430系列单片机是一个16位的、具有精简指令集的、超低功耗的混合型单片机。MSP430F149单片机采用了精简指令(RISC),具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令,大量的寄存器以及片内数据存储器都可参加多种运算,还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125 ns。这些特点保证了可编制出高效率的源程序。MSP430F149单片机具有10位/12位ADC、16位Sigma-Delta A/D、直接寻址模块(DMA)、端口1~6、基本定时器(Basic Timer)等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D转换器。该系统采用MSP430F149单片机,可以省去A/D等硬件电路,使其成本降低,可靠性大大增强。


1 系统设计

系统以MSP430F149单片机为控制核心,温度测量由铂电阻恒流调理电路完成,调理电路的输出电压送入单片机,在单片机内部实现A/D转换,并对采样数据进行滤波及标度变换处理,温度值由3位数码管显示。输入的温度设定值由4位独立式键盘电路进行,设定值送入单片机后,由另一个3位数码管显示。系统设计框图如图1所示。



2.1 铂电阻测温调理电路

在本系统中,实际温度值由铂电阻恒流工作调理电路进行测量。为了克服铂电阻的非线性特点,在信号调理电路中加入负反馈非线性矫正网络。如图2所示,铂电阻选用标称值为100Ω的RT100作为温度传感器。A1,A2和A3采用低温漂运放OP07,由于有电流流经铂电阻传感器,所以当温度为0℃时,在铂电阻传感器上有压降,这个电压为铂电阻传感器的偏置电压,是运放A1输出电压的一部分,使恒流工作调理电路的输出实际不为0,所以需要对这个偏置电压调零,图中R3为调零电阻。图中运放A3及电阻R1,R4和R6构成负反馈非线性校正网络。R5用于调整运放A2的增益。



2.2 温度控制电路

系统加热丝与风扇均采用图3所示电路形式。电路采用了晶体管驱动的直流电磁继电器。当单片机的P5.4为低电平时,继电器RL1吸合,当P5.4为高电平时,继电器RL1释放。采用这种控制逻辑可以使继电器在上电复位或单片机受控复位时不吸合。继电器由晶体管2N222A驱动,可以提供所需的驱动电流。



采用温度误差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所示。


由模糊规则进行推理可以得出模糊控制器语言规则的输入输出关系,其关系是一个非线性的关系曲面。当偏差较大时,控制量的变化应尽力使偏差迅速减小;当偏差较小时,除了要消除偏差外,还要考虑系统的稳定性,防止系统出现过冲,甚至引起系统振荡。


3.2 软件流程图


温度采集和显示、键盘处理等在编程时作为相对独立的功能模块来实现,并自主程序运行中按照设定的流程来调用,完成相应的任务后再返回主程序即可。


4 仿真分析

在Proteus仿真软件中加入编译后的HEX文件,使用分析图表分析系统分析加热器控制信号与风扇控制信号输出端口的占空比。当输入电压为2.7 V时,系统的输出显示实际温度为54℃,系统的设定温度为55℃,此时P5.4输出占空比为2:1的加热器控制信号;而当系统的实际温度大于设定温度时,系统输出适当的风扇控制信号以恒定的功率散热,说明满足设计要求。


5 结语

本系统采用低功耗MSP430系列单片机作为控制核心,整个控制电路较简单,用模糊控制算法设计程序,设定温度值与测量温度值实时显示,控制精度可达±0.5℃,在实际生产和生活中具有广泛的实用性。

关键字:单片机  模糊控制  温控仪 引用地址:基于单片机与模糊控制的温控仪设计与实现

上一篇:基于MSP430F149单片机的车体调平装置设计
下一篇:基于MSP430的网络化视频监控系统的设计

推荐阅读最新更新时间:2024-10-10 15:27

51单片机STC89C52点亮一个LED(IO口的位操作)
程序源码 /*-----------------------包含头文件区域-------------------------*/ #include reg52.h //单片机头文件 /*-----------------------端口/引脚定义区域----------------------*/ sbit LED=P2^0; //位定义P2.0引脚名为LED /*-----------------------主函数区域-----------------------------*/ void main() { LED=0; //LED端口输出低电平,即点亮LED, while(1); //死循
[单片机]
51<font color='red'>单片机</font>STC89C52点亮一个LED(IO口的位操作)
ucosII在51内核单片机上的移植
自嵌入式系统开发以来,很长时间都采用前后台系统软件设计模式:主程序为一个无限循环,单任务顺序执行。通过设置一个或多个中断来处理异步事件。   这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。   μC/OS-II 是一种基于优先级的抢占式多 任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。而且它内核源代码公开,可移植性强,为编程人员提供了很好的一个软件平台。
[单片机]
基于MSP430单片机和DS18B20的数字温度计
温度测量是从金属(物质)的热胀冷缩开始,常用的检测方法有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。这些检测方法都是基于温度变化引起其物理参数(如电阻值,热电势等)变化的原理。随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。 这里提出一种基于MSP430单片机翻的小型测温系统设计方案,主控制器采用MSP430单片机,数字温度传感器DS18B20通过单总线(1-wire)与单片机连接,系统结构简单,抗干扰能力强,适合于恶劣环境下澍量现场温度,可应用于仓库测温、楼宇空调控制和生产过程监控等领域。 1 数字式温度计的总体设计 该系统以单片机为数字温度计的主控制器,以集成数字温度传感器为温度信息采集
[单片机]
基于MSP430<font color='red'>单片机</font>和DS18B20的数字温度计
51单片机-单独文件封装
1.再遇多文件编程 因为定时器经常在后面的教程中使用到,所以我们也把这部分功能代码单独使用文件封装起来。 在第六章的教程中已经教过大家多文件创建,这里点到为止。 创建好“timer.c”和“timer.h” 添加进工程中 2.timer.c的代码 #include reg52.h #include function.h //详见第六章第8讲 u8 T0RH,T0RL,T1RH,T1RL; void TIM0_Init(u32 us,int trim)//trim:微调 { u32 tmp; //临时变量 tmp = 11059200 / 12; //定时器计数频率
[单片机]
51<font color='red'>单片机</font>-单独文件封装
单片机学习的基本过程
单片机学习的过程基本上可分四个阶段: 第一阶段 是先浏览教科书里的硬件部分,大至了解单片机的硬件结构。如ROM、RAM、地址、I/O口等,以及看一些厂家的MCU资料(Data Sheet),来加强MCU所提供各项资源的印象。 第二阶段 就是了解二进位数字、十六进位数和软件方面的内容。尽管有很多高级语言可用于单片机的编程,但我觉得初学还是以汇编语言为好,更有利于和硬件结合,掌握硬件结构。知道汇编语言、机器语言、 指令、 程序等概念后,就从MOV指令开始,学习汇编语言和编程,在此如51的MCU汇编语言系统有111条指令,简单又好理解它们怎 样和硬件联系,更有助于一般学习单片机的指令整合与运用.因此其方法可先了 解几条基本的M
[单片机]
【51单片机快速入门指南】3.2.1:PWM、呼吸灯与舵机
普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 PWM(脉冲宽度调制) 摘自百度百科。 基本原理 控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等但宽度不一致的脉冲,用这些脉冲来代替正弦波或所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。 (SPWM)例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于 π/n ,但幅值不等,且脉冲顶部不是水平直线
[单片机]
【51<font color='red'>单片机</font>快速入门指南】3.2.1:PWM、呼吸灯与舵机
PICC 编译环境编写PIC单片机程序的探讨
目前,Microchip公司生产的PIC系列单片机以其低成本、低功耗、高性能、开发速度快且一次性用户可编程等优点迅速占领了国内市场,成为国内销售量最大的单片机。但国内介绍其C语言开发工具的书籍和文章却比较少,在开发过程中给广大程序员带来了许多困难和不便。 Microchip公司没有针对中低档系列PIC单片机的C语言编译器,但很多专业的第三方公司提供众多支持PIC单片机的C语言编译器,常见的有 Hitech、CCS、IAR以及Bytecraft等公司。Hitech公司的PICC编译器稳定可靠,编译生成的代码效率高,在用PIC单片机进行系统设计和开发的工程师群体中得到广泛认可。因此,本文主要以Hi Tech PICC为基础,介绍PIC
[单片机]
PICC 编译环境编写PIC<font color='red'>单片机</font>程序的探讨
基于STM32单片机的瓦斯监测与控制
本文设计出这一款基于STM32单片机煤矿瓦斯监测控制管理系统,包括甲烷气体传感器电路、温湿度传感器电路、Wi-Fi模块电路、报警电路、继电器控制电路及显示电路。 STM32单片机作为核心,具有监测煤矿矿井温湿度、瓦斯浓度参数的功能,并具有瓦斯浓度超限报警功能;具有自动强制通风功能;采集数据可通过液晶屏显示。监控数据和告警信息可以通过Wi-Fi模块传输到远程机智云端。 系统方案设计 本次设计的主要核心是机智云平台对煤矿瓦斯安全环境的监控,使用移植机智云GAgent的Wi-Fi/GPRS模组建立桥梁,使煤矿瓦斯监测系统采集的数据与机智云互联互通。煤矿瓦斯监测系统与机智云数据交互图如图1所示。 总体方案设计 煤矿瓦
[单片机]
基于STM32<font color='red'>单片机</font>的瓦斯监测与控制
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved