基于MSP430的湿度控制器及定标

发布者:闪耀星空最新更新时间:2015-06-16 来源: ednchina关键字:MSP430  湿度控制器  定标 手机看文章 扫描二维码
随时随地手机看文章
    个人觉得技术博客可以作为自己成长的一个记录工具,可以把除了军工或者可能涉密的项目,或者一些项目中用到的一些小技巧甚至是一些体会写出来和大家一起分享,同时也能督促自己在追赶时代的同时能回顾自己曾经付出的汗水和自己未曾完成或者已经完成的事情,有种温故而知新的感觉,尤其是对硬件。对于软件可能更多的是种成就感。无论怎样这都是一种坚持的动力也是自我提高的过程。

    这个430单片的小项目是我本科刚毕业的时候做的,花了近乎一个月的时间。现在看来,东西做是做成了,但是文档功底似乎还要提高。之后我又花了近乎一个月的时间做了这个项目的姐妹版本——基于MSP430的湿度计及定标。两者的区别除了前者多个控制功能以外,主要在定标功能的实现上。前者的定标计算就是430完成的,包括整个定标控制过程的软件设计,最小二乘法直线拟合系数的计算,存储定标参数,以及段式液晶的显示界面等等全是在单片机里完成,整个过程全工作在低功耗模式3。而后者的定标计算则是利用串口,通过计算机软件实现。只不过我没有用纯软件开发工具编写定标GUI程序界面,用的是matlab编写界面。基于MSP430的湿度计及定标博文点击

http://bbs.ednchina.com/BLOG_ARTICLE_3006334.HTM

       下面就详细介绍湿度控制器及其定标过程。

 

概述:可完成定时自动定标显示,手动定标显示,保存拟合数据,更新的地址以及定标次数信息(掉电复位无影响),选择当前已经保存的历史数据校正RH%显示(最多16次,如果校正次数超过16,则擦除历史数据重新保存这次数据,依此循环),上电复位显示最近一次定标的RH%。

 

硬件电路设计:本湿度控制器由湿度采集部分和湿度控制部分组成。系统方框图如下。其中,湿度采集部分由电源模块、CPU控制模块、锁相环模块、液晶显示模块、按键模块组成。

硬件电路原理图可以到这里下载

http://bbs.eetop.cn/viewthread.php?tid=344832&extra=

或者

RHSwitchLCD-sch.rar

 

电源电路:输入直流电压为4.5V-5V,经过MC34063升压稳压后,输出5V电压,在经过ME62后输出3.3V电压。

 

CPU控制电路:采用MSP430F435或449混合信号处理器,共100引脚,3.3V供电,片内定时器TIMER B1(管脚为P2.2)产生锁相环的输入频率,采集的湿度信号进入MSP430的12bitADC。两路IO作为加湿和除湿器开关的控制接口。

 

锁相环电路:该电路主要功能是利用锁相环工作在中心频率时的相位同步输出功能,将湿度传感器的电容变化转化频率变化,进而得到VCO的输入电压变化值。至于为什么不直接通过单片机捕获频率变化(传感器HS1101的datasheet上也有频率参考公式)就不太清楚了,可能是因为电压值的变化相对来说要容易获得些吧,一个是与ADC的位宽有关,另一个则与计数器的最小时间间隔有关。锁相环芯片为CD4046。电路原理图如下所示。

 

液晶显示电路:本液晶片共38个引脚,其中1脚为COM1,2、38脚为COM2,37脚为COM0,分别于单片机的相应脚相连;3-36脚为液晶各段脚,分别与单片机的12-45脚相连。液晶共十位数字,本设计只用到了九位。

 

下面介绍按键相关操作,在一些中小学的计算器上也可以看到这种模式设置。当然,现在的计算器比我们那个时候的计算器功能要复杂多了。[page]

 

按键功能说明:按键位置分布如图1所示K1:左上,K2:左下,K3:右下,K4:右上。上电复位后K1为模式选择按键,其他按键无用。

 

图1 初始状态(模式0)按键分布

    按下K1按键进入模式选择界面如下图2所示,1,2,3分别对应模式1,2,3,此时K1,K2,K3,K4对应的功能如图3所示。K1:退出,K2:确定,K3:重复左移,K4:重复右移。

 

图2 模式选择界面

 

 

图3 模式选择控制功能

系统总共有4个模式状态,模式0(默认),模式1,模式2,模式3。

  • 模式0:上电复位时默认的显示状态,由系统校正次数(store_count)确定显示哪次定标时计算的RH值。其显示界面如图4所示。左边显示当前计算的RH%值,右边为RH%对应的ADC的测试电压值(单位V),代替温度显示位置。     

  

图4 模式0显示界面

  • 模式1:设定定时时间,由系统自动定标校正RH%功能。进入模式设置确定选择模式1后,进入模式1的设置界面如图5所示,选择的位值开始闪烁表示该位被选中,K3,K4可以加减调节该位的数值,K2确定设定值。例如:如果屏幕上显示30,那么自动模式中系统读秒30后转换一次测试状态,切换过程中默认设置有大约2秒的测试状态显示,测试状态说明见模式2。

 

图5 模式1定时值的设定显示界面

  

 

图6 模式1设定按键功能

  • 模式2:手动测试模式,可手动完成一次定标校正RH%功能,还可以手动启动定时30s切换测试模式。在模式选择时,选择模式2,系统则进入了模式2显示界面如图7所示。按键功能如图8所示。图7所示内容,定标的标准环境值RH%=11.8%,测试HD1101(湿度传感器)测得相对湿度RH%=60.7%,右边的1表示此时是测试状态1。同理其他测试状态如图9所示,读秒计时如图10所示。测试定标一次系统返回模式0,显示当前使用当前校正公式计算的RH%值,同时曲线拟合的系数,更新的地址以及校正次数分别保存到FLASH的信息存储区段1和段2。具体说明看模式3。

图7 测试状态1显示界面

图8 手动测试按键控制功能

 

 图9 测试状态2,3,4,5显示界面

 

 

图10 定时读秒显示界面

  • 模式3:选择已经保存的历史数据校正RH%显示。如果没有进行过定标,则模式3的显示界面如图11所示,如果已经有过9次定标数据则模式3的显示界面如图12所示。也就是说,进入模式3的显示界面,第一次显示的值便是历史保存的数据个数,选择范围只能在0到这个数据之内。0表示未校正时的数据,1表示第一次校正时的数据,以此类推。设定的按键控制功能由图13所示。[page]

 

图11 模式3显示界面1

 

 

图12 模式3显示界面2

 

 

图 13 模式3的按键控制功能

 

软件程序设计及代码见下面网址,内容包括如下:

 

1>P1外部中断处理函数流程图

2>TimerA的定时数据刷新程序流程图

3>模式处理函数程序流程图

4>2000行左右的原代码

code_fy.rar
P1外部中断处理流程图.pdf
TimerA的定时数据刷新程序流程图.pdf
模式处理程序流程图.pdf

http://bbs.eetop.cn/viewthread.php?tid=344832&page=1&extra=#pid7044979

实物图:

 

关键字:MSP430  湿度控制器  定标 引用地址:基于MSP430的湿度控制器及定标

上一篇:一款串口输出超声波测距模块使用范例
下一篇:STC单片机一键下载器

推荐阅读最新更新时间:2024-03-16 14:03

基于单片机高精度温度测量的补偿方法
长期以来,人们在测量温度时,大部分使用常规的测量方法测量。检测精度要求较高时,调理电路复杂、A/D的位数高,使设计的系统成本居高不,很难普及。随着电子技术的发展,出现了很多功能完备的低功耗、低电压大规模集成电路,为设计便携式高精度测温系统提供了硬件基础。本文介绍的高精度便携式测温仪,使用了非常适合作低功耗便携式测试设备美国TI公司的MSP430P325为控制器,用Pt500铂电阻完成温度检测,检测的温度通过液晶显示器显示。本测试仪的测温精度达到0。03℃。 硬件电路设计 MSP430P325单片机内部集成了可切换的精密恒流源。精密恒流源的电流大小由外部精密电阻确定,同时内部又集成了6个14位的A/D转换器和液晶控制器。这样的内
[单片机]
基于MSP430F42x的工业信号产生与测量仪表的设计
0 引言   这篇论文介绍了工业信号的产生与测量原理,主要研究了基于TI公司MSP430F42x的工业信号的产生与测量仪表的设计。   工业信号的产生与测量仪表在生产过程系统中是非常重要的检测仪表,可模拟输出多种工业控制过程测控中所需的检测信号,同时也可测量这些工业控制过程中产生的信号,其大量用于工业仪表的现场调校。   本设计的特点是保证测量精度的情况下使低功耗更低,成本更低。在信号测量部分,16位ADC保证了测量精度;在信号输出部分,电压信号和电流信号采用PWM方式产生。   本设计由两片MSP430F系列MCU组成,MSP430F425实现电压和电流信号的测量,而MSP430F449实现电压和电流信号的输出及频率信
[模拟电子]
基于<font color='red'>MSP430</font>F42x的工业信号产生与测量仪表的设计
MSP430G2553 引脚简单使用
1.选择引脚功能 -- PxSEL,PxSEL2 PxSEL2 PxSEL 管脚功能 0 0 用作IO口 0 1 用作第一功能引脚 1 0 保留,参考具体型号的手册 1 1 用作第二功能引脚 设置引脚用作外设功能时,芯片不会自动设置该引脚输入输出方向,要根据该功能,用户自己设置方向寄存器 PxDIR。 2.选择引脚输入/输出方向 -- PxDIR Bit = 0: 输入 Bit = 1: 输出 3.选择引脚是否使能上下拉电阻 -- PxREN Bit = 0: 不使能
[单片机]
MSP430】clk.c
void clk_init(void){ unsigned int i; BCSCTL1 &= ~XT2OFF; //开启高速振荡器 do{ IFG1 &= ~OFIFG; //清除晶体振荡器出错标志 for(i = 0xff;i 0; i--); //给予高速振荡器起振时间 }while((IFG1 & OFIFG)); //判断高速振荡器是否起振不出现晶体出错标志 BCSCTL2 |= SELM_2 + SELS ; //高速晶体振荡器提供给MCLK,SMCLKs }
[单片机]
msp430串口接收调试
串口调试出错 串口接收配置需要注意的是开启总中断( __enable_interrupt(); ),不能仅开启串口接收中断。 #include msp430f5438a.h //********************************************** //RS485芯片方向控制 //*********************************************** void set_rs485_dir(char tx_rx) { //1---发送,0接收 if (tx_rx==1) { P9OUT|=(BIT6+BIT7); } else { P9OUT&=~(BIT
[单片机]
MSP430系统时钟详解
上电复位后,DCO约为800KHz SP430 系列单片机基础时钟主要是由低频晶体振荡器,高频晶体振荡器,数字控振荡器(DCO),锁频环(FLL)及 FLL+等模块构成。由于 430 系列单片机中的型号不同而时钟模块也将有所不同。虽然不同型号的单片机的时基模块有所不同,但这些模块生出来的结果是相同的.在MSP430F13、 14中是有TX2振荡器的, 而MSP430F11X,F11中是用LFXT1CLK来代替XT2CLK时钟信号的.在时钟模块中有3个(对于F13,F14)时信号源(或 2个时钟信号源,对于F11X、F11X1): 1-LFXT1CLK: 低频/高频时钟源.由外接晶体振荡器,而无需外接两个振荡电容器常使用的
[单片机]
初步学习MSP430——跑马灯
/*********************************************** 程序功能:实现流水灯以三种流动方式和四种流动速度 的不同组合而进行点亮 流动 ------------------------------------------------ 拨码开关设置:将LED位拨至ON,其余拨至OFF 测试说明:观察流水灯流动顺序和速度的变化 ************************************************/ #include msp430x14x.h typedef unsigned int uint; uint i = 0,j = 0,dir = 0;
[单片机]
基于MSP430单片机的便携式PID参数整定仪的实现
0 引言 PID控制是最常的控制策略,在工业过程控制中90%以上的控制回路具有PID结构。PID控制之所以被广泛应用主要是因为它算法简单,在实际中容易被理解和实现,而且许多高级控制都以PID控制为基础。但是由于环境的变化,使被控对象具有时变性,参数经过一段时间以后会 出现性能欠佳、适应性变差、控制效果下降等情况。因此,寻求参数自动整定技术,以适应复杂工况及高性能指标的控制要求,是实现节能优化控制的重要手段,具有重大的工程实践意义。 1 自整定过程原理 本文主要研究了一种手持式的PID参数整定仪器,此整定仪具有整定单变量和双变量的双重功能,控制系统主要采用低能耗的MSP430微控制器,软件部分采用的软件开发平台是IAR MSP
[单片机]
基于<font color='red'>MSP430</font>单片机的便携式PID参数整定仪的实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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