马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
个人觉得技术博客可以作为自己成长的一个记录工具,可以把除了军工或者可能涉密的项目,或者一些项目中用到的一些小技巧甚至是一些体会写出来和大家一起分享,同时也能督促自己在追赶时代的同时能回顾自己曾经付出的汗水和自己未曾完成或者已经完成的事情,有种温故而知新的感觉,尤其是对硬件。对于软件可能更多的是种成就感。无论怎样这都是一种坚持的动力也是自我提高的过程。
这个430单片的小项目是我本科刚毕业的时候做的,花了近乎一个月的时间。现在看来,东西做是做成了,但是文档功底似乎还要提高。之后我又花了近乎一个月的时间做了这个项目的姐妹版本——基于MSP430的湿度计及定标。两者的区别除了前者多个控制功能以外,主要在定标功能的实现上。前者的定标计算就是430完成的,包括整个定标控制过程的软件设计,最小二乘法直线拟合系数的计算,存储定标参数,以及段式液晶的显示界面等等全是在单片机里完成,整个过程全工作在低功耗模式3。而后者的定标计算则是利用串口,通过计算机软件实现。只不过我没有用纯软件开发工具编写定标GUI程序界面,用的是matlab编写界面。之后我会奉上基于MSP430的湿度计及定标博文,简单讲讲界面和只有手指大小的湿度计硬件电路。下面就详细介绍湿度控制器及其定标过程。
概述:可完成定时自动定标显示,手动定标显示,保存拟合数据,更新的地址以及定标次数信息(掉电复位无影响),选择当前已经保存的历史数据校正RH%显示(最多16次,如果校正次数超过16,则擦除历史数据重新保存这次数据,依此循环),上电复位显示最近一次定标的RH%。
硬件电路原理图可以到这里下载
电源模块:输入直流电压为4.5V-5V,经过MC34063升压稳压后,输出5V电压,在经过ME62后输出3.3V电压。
CPU控制模块:采用MSP430F435或449混合信号处理器,共100引脚,3.3V供电,片内定时器TIMER B1(管脚为P2.2)产生锁相环的输入频率,采集的湿度信号由P6.0脚输入给MSP430,其中P6.0为单片机的内置AD的A0通道。由于本单片机自带液晶驱动,所以第12脚到第45脚为S0-S33直接跟液晶的第3-36脚相连,单片机的COM0接液晶的37脚,COM1接液晶1脚,COM2接2脚与38脚。
锁相环模块:核心芯片为CD4046,16脚为VDD,接+5V电源。14脚为频率输入;6脚7脚之间接湿度传感器;11脚连接R1,阻值为200K欧姆,12脚连接R2,阻值为147K欧姆,其中R1,R2为频率上下限调节电阻。2脚与9脚之间接一个100欧电阻和0.2uF电容构成环路滤波器,电压信号经滤波后输入到MSP430的内置ADC12的A0通道。
液晶显示模块:本液晶片共38个引脚,其中1脚为COM1,2、38脚为COM2,37脚为COM0,分别于单片机的相应脚相连;3-36脚为液晶各段脚,分别与单片机的12-45脚相连。液晶共十位数字,本设计只用到了九位。
按键功能说明:按键位置分布如图1所示K1:左上,K2:左下,K3:右下,K4:右上。上电复位后K1为模式选择按键,其他按键无用。
按下K1按键进入模式选择界面如下图2所示,1,2,3分别对应模式1,2,3,此时K1,K2,K3,K4对应的功能如图3所示。K1:退出,K2:确定,K3:重复左移,K4:重复右移。
系统总共有4个模式状态,模式0(默认),模式1,模式2,模式3。
① 模式0:上电复位时默认的显示状态,由系统校正次数(store_count)确定显示哪次定标时计算的RH值。其显示界面如图4所示。左边显示当前计算的RH%值,右边为RH%对应的ADC的测试电压值(单位V),代替温度显示位置。
② 模式1:设定定时时间,由系统自动定标校正RH%功能。进入模式设置确定选择模式1后,进入模式1的设置界面如图5所示,选择的位值开始闪烁表示该位被选中,K3,K4可以加减调节该位的数值,K2确定设定值。例如:如果屏幕上显示30,那么自动模式中系统读秒30后转换一次测试状态,切换过程中默认设置有大约2秒的测试状态显示,测试状态说明见模式2。
③ 模式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显示界面
④ 模式3:选择已经保存的历史数据校正RH%显示。如果没有进行过定标,则模式3的显示界面如图11所示,如果已经有过9次定标数据则模式3的显示界面如图12所示。也就是说,进入模式3的显示界面,第一次显示的值便是历史保存的数据个数,选择范围只能在0到这个数据之内。0表示未校正时的数据,1表示第一次校正时的数据,以此类推。设定的按键控制功能由图13所示。
软件程序设计及代码见下面网址,内容包括如下:
1>P1外部中断处理函数流程图
2>TimerA的定时数据刷新程序流程图
3>模式处理函数程序流程图
4>2000行左右的原代码
实物图:
附件:
系统方框图 [发布时间:2012-08-03 16:25:23]
图1 [发布时间:2012-08-03 20:56:58]
图2 [发布时间:2012-08-03 20:56:58]
图3 [发布时间:2012-08-03 20:56:58]
图4 [发布时间:2012-08-03 20:56:58]
图5 [发布时间:2012-08-03 20:56:58]
图6 [发布时间:2012-08-03 20:56:58]
图7 [发布时间:2012-08-03 20:56:58]
图8 [发布时间:2012-08-03 20:56:58]
图9 [发布时间:2012-08-03 20:56:58]
图10 [发布时间:2012-08-03 20:56:58]
图11 [发布时间:2012-08-03 20:56:58]
图12 [发布时间:2012-08-03 20:56:58]
图13 [发布时间:2012-08-03 20:56:58]
湿度控制器实物 [发布时间:2012-08-03 23:36:47]
|