基于GPRS的热计量室温采集仪设计
(2) 电源部分设计要特别注意,它除了给模块的数字信号和模拟信号供电外,还给射频功放供电。电源部分的参数,比如负载能力、纹波的大小等,都会直接影响模块的性能和稳定性。在电源电路中,必须增加一个大容量的铝电解电容或者稍小容量的钽电解电容,提高电源的瞬间大电流续流能力,此外在靠近模块的管脚还要增加0.1μF、100pF 和33pF 的滤波电容,以降低射频干扰的影响。
本文引用地址:https://www.eepw.com.cn/article/281887.htm(3) 电源部分在PCB 中走线要远离射频部分,走线宽度要保证2A 的电流安全通过而且不能有明显的回路压降。主电源走线宽度要求大约为2mm 左右。电源部分的地平面尽量完整,且多打地孔。
(4) 模块主电源上电不能早于外部MCU 上电,以防止模块在上电瞬间,MCU 的串口处于不稳定状态,导致模块进入错误的运行模式。所以请务必在设计中保证MCU 稳定运行后,再控制模块上电,尤其要注意电源模块的使能端的上电默认状态。
(5) PCB的走线方式为:射频线宽度为0.8mm~1.0mm;射频线与铺地的间距为1mm~0.8mm;射频线需要完整包地且要多打地孔(很重要);射频线对应的背面层需要挖地掏空,射频线走线尽量短(不超过15mm 为宜),尽量圆滑,无突起,比如使用弧线或者泪滴,以防止反射。
3 软件设计
软件开发以IAR Workbench V4.10为开发平台3,采用C语言编写,按照硬件电路设计系统软件编程的基本思路是,对串口、液晶模块、温度传感器进行初始化,软件的主要难点在通过AT指令控制GRPS模块。控制流程如图4。
建立TPC连接的主要代码如下:
BOOL Neo_CreateTCPLink(char *linkStr,int size)
int timeout; // 超时次数变量;
if ( size<=0 ) return FALSE;
timeout = 0;
Neo_SendATCommand(linkStr,size);//发送AT指令建立TCP连接
Delay_ms(1000); // 延时1000ms;
do
timeout++;
Delay_ms(100); // 延时10ms;
memset(gRecieveBuffer,0x00,sizeof(gRecieveBuffer));
Neo_RecieveFromUart(gRecieveBuffer); //获得返回值信息
if( strstr((char *)gRecieveBuffer,"+TCPSETUP:0,OK")>0 )
{//判断返回值 如果返回+TCPSETUP:0,OK,则跳出循环
break;
}while(timeout<50);
if( timeout>=50 )
{
return FALSE; // 报错;说明TCP链接失败!
return TRUE;
}
服务器接收数据情况如图5(包括采集时刻、错误代码、电池使用情况及信号清强度)
4 结束语
目前,该测温仪在实际中得到了应用。具有大屏幕LCD显示温度和万年历,对居民来说具有使用价值,有利于设备在居民家里的完整保存,配合充电提示功能,保证了数据的完整传输,对供热企业来说具有供热指导意义。
参考文献:
[1]沈建华,杨艳琴,瞿骁曙.MSP430系列16位超低功耗单片机原理与应用[M].清华大学出版社,2004
[2]Neo_M590 AT指令集_V3.11.pdf
[3]杨庆,张瑞峰.基于GSM/GPRS和射频模块的人体医学数据监测样机设计[J].电子产品世界,2014(8);37-39
[4]]杨越.低功耗心率检测仪设计[J].电子产品世界,2014(12):10-13
[5]李立早.基于MSP430无线照度计节点的设计[J].电子产品世界,2014(12):62-65
评论