原创 【TI博客大赛】【原创】基于MSP430的湿度控制器及定标

2012-8-22 14:39 2056 13 21 分类: 测试测量

    个人觉得技术博客可以作为自己成长的一个记录工具,可以把除了军工或者可能涉密的项目,或者一些项目中用到的一些小技巧甚至是一些体会写出来和大家一起分享,同时也能督促自己在追赶时代的同时能回顾自己曾经付出的汗水和自己未曾完成或者已经完成的事情,有种温故而知新的感觉,尤其是对硬件。对于软件可能更多的是种成就感。无论怎样这都是一种坚持的动力也是自我提高的过程。

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

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

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

 

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

 

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

20120807163940180.jpg

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

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

或者

rar.gifRHSwitchLCD-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。电路原理图如下所示。

 

20120807164129562.jpg

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

 

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

 

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

 

750668_201208032056581n29o.jpg

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

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

 

750668_201208032056582tzFA.jpg

图2 模式选择界面

 750668_201208032056583Zhms.jpg

 

图3 模式选择控制功能

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

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

  750668_2012080320565845dfP.jpg

图4 模式0显示界面

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

 

750668_201208032056585jp2V.jpg

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

  750668_201208032056586eaz9.jpg

 

图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。

750668_201208032056587ddL1.jpg

图7 测试状态1显示界面

750668_201208032056588ATmy.jpg

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

 20120807164531789.jpg

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

 750668_2012080320565810HVZF.jpg

 

图10 定时读秒显示界面

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

 

750668_2012080320565811ZKTk.jpg

图11 模式3显示界面1

 750668_2012080320565812qssm.jpg

 

图12 模式3显示界面2

 750668_2012080320565813i4gs.jpg

 

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

 

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

 

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

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

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

4>2000行左右的原代码

rar.gifcode_fy.rar
pdf.gifP1外部中断处理流程图.pdf
pdf.gifTimerA的定时数据刷新程序流程图.pdf
pdf.gif模式处理程序流程图.pdf

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

实物图:

 20120822143806243.jpg

文章评论8条评论)

登录后参与讨论

用户961355 2013-4-26 15:22

“2.1.2 SRAM构成FPGA机理”少了两幅图吧?

fanyan_tll_621621837 2012-8-11 16:42

人的确是多,但感觉没有开源硬件正式

用户403664 2012-8-10 17:18

EDN的博客一直很火热。这里牛人很多。

khl303041_888078687 2012-8-10 09:49

详细,可读。。

fanyan_tll_621621837 2012-8-6 12:31

学校这网速有点恼火,另外EDN的博文的关注度似乎比那几个网站要高点。

用户403664 2012-8-6 11:40

可以用“高级编辑”的方式来写博文啊!另外参加EDN的博客大赛,当让要把下载文件也上传到EDN哦!!!

fanyan_tll_621621837 2012-8-5 00:07

呵呵,难得重新上传了,END没有EETOP和开源写文章方便。

用户419124 2012-8-4 23:51

水印水印

用户405381 2012-8-4 10:52

沙发 很详尽 也很到位 图文并茂
相关推荐阅读
用芯创造未来 2018-04-21 18:46
【博客大赛】五年后,回到这里聊聊“芯”事
      五年前我正值毕业季,刚刚走上工作岗位。因为那年在研究生电子设计大赛中的一些切身感受,本着分享技术经验和职场感悟的想法在EDN上开了博客,希望结识更多的同行,也...
用芯创造未来 2014-10-22 09:37
当前科技成果转化中的种种误区
      中科院最近一直在进行各种改革的尝试,正在进行摸索的是“率先行动计划”,但是包括我本人在内的很多人还不明就里。所里前不久到各个课题组进行了摸底谈话,我也就个人的一些意见进行了交流,其中就...
用芯创造未来 2014-10-21 15:53
(转载)当前科技成果转化中的种种误区
      中科院最近一直在进行各种改革的尝试,正在进行摸索的是“率先行动计划”,但是包括我本人在内的很多人还不明就里。所里前不久到各个课题组进行了摸底谈话,我也就个人的一些意见进行了交流,其中就...
用芯创造未来 2014-10-10 23:45
【博客大赛】为什么现在不考虑读博深造
    时间过得很快,现在不怎么喜欢写网络博客,但记录的习惯没有丢。平时把工作周报当成了技术问题记录和个人博客在单位内部共享,时不时自己回头看看,这样能保持清醒的头脑,坚持自己的技术追求。今年中秋节的...
用芯创造未来 2014-10-10 23:43
为什么现在不考虑读博深造
    时间过得很快,现在不怎么喜欢写网络博客,但记录的习惯没有丢。平时把工作周报当成了技术问题记录和个人博客在单位内部共享,时不时自己回头看看,这样能保持清醒的头脑,坚持自己的技术追求。今年中秋...
用芯创造未来 2014-06-09 15:57
[博客大赛]对电子学与测量学的一点感悟与困惑
         最近思想有点跑偏,在长沙这个电子信息产业发展相对落后,或者说有点闭塞的地方,每当自己想捣鼓捣鼓一些感兴趣的东西时总是一筹莫展。如果换在成都,在两个层次的理工类高校、大小企业和研究...
我要评论
8
13
关闭 站长推荐上一条 /2 下一条