一 课程设计目标
1.1 监测模块的功能与要求
1)信号采样功能,能够采集电压信号(0-3.0V 或 0-5.0V);
2) 同步采样功能,能够实现不同地点数据采集模块的同步采样;
3) 具有远距离数据传输功能,能够实现上百上千公里的数据远传;
4) 太阳能(结合锂电池或铅酸电池)供电;
5)模块每小时采集一次数据;
6)根据环境特点设计太阳能-电池混合供电系统。
1.2 模块设计的最优准则
1)功耗越低越好;
2)成本越低越好;
3)工作越可靠越好;
4)采样越准确越好。
二 总体设计方案
.
为实现电压信号采样功能,可选用内部含有ADC的主控芯片,从而简化节点的结构;为实现各个节点同步采集信号,可利用GPS模块辅助主控制器“动作”,因为GPS信号包含精确的时间信息,且GPS模块能输出精确的PPS(秒脉冲)信号,各个节点的主控制器结合PPS(秒脉冲)在统一的“GPS时间”下采集信息,从而达到同步的目的。
对于“上百、上千公里数据远传”的要求,应考虑采用“远距离无线传输方式”实现。因为对于单个野外监测模块,采用有线传输方式将大大增加成本。常用的远距离无线通讯技术有:GPRS、数传电台、扩频微波、无线网桥、卫星通信以及短波通信技术等,其优缺点对比如表1所示。
表1 常用远距离无线通讯方式对比
从通讯成本、通讯距离、传输数据量以及结构的简洁性考虑,本课题拟采用GPRS实现远距离通讯。GPRS通讯利用现有的网络资源,发挥了网络覆盖率高、永远在线等优势。此外GPRS传输按流量计费,从而提供了一种高效、低成本的无线分组数据业务。在本课题中,每小时传输一次数据,数据量非常小,正好符合GPRS间断地、少量数据传输的特点。在本课题中,直接采用现成的GPRS模块实现远传功能,利用单片机控制GPRS模块收发数据。
监测模块用于野外监测,因此还需要解决自主供电问题。整个模块利用12V的锂电池供电,此外,利用太阳能电池板和充电接口为电池充电。因为整个模块大部分时间处于低功耗模式,所以不需要切换“电池/太阳能”供电模式,从而简化模块结构。
综上所述,总体框图如图1所示,GPS模块辅助主控芯片实现同步采样功能。GPRS模块通过串口与主控芯片进行数据通讯,实现数据远传功能。此外,主控芯片能够控制GPRS模块的供电接口,在闲时关闭该模块,达到节省能源的效果。
图1 监测节点总体设计框图
三 器件选型
3.1 主控芯片的选型
选用ARM公司的STM32F103RCT6作为主控芯片,如图2所示。STM32F103RCT6有64个引脚,其具有价格便宜(10元左右)、适用温度范围宽(-40~85℃)、主频高(72M)等特点。该芯片带有三个USART和两个UART,便于与GPS、GPRS模块进行数据通信。此外,该芯片能工作在“运行”、“睡眠”、“停止”和“待机”四种工作模式,能够有效地管理电能。此外,STM32F103RCT6内部集成有3个精度为12位的AD,当采集5V电压时,分辨率约1.22mV;采集3V电压时,分辨率约为0.73mV。该芯片主要特性如表2所示。
图2 STM32F103RCT6
表2 STM32F103RCT6主要特性
芯片型号 |
STM32F103RCT6 |
单价 |
10元左右 |
休眠模式功耗 |
8mA(0.4V) |
正常工作功耗 |
50mA(3.5V) |
温度范围 |
-40~85℃ |
串口个数 |
三个USART和两个UART |
电源电压 |
2V~3.6V |
模块尺寸 |
10×10mm |
3.2 GPS模块选型
.
选用u-box公司的NEO-6M模组方案(如图3所示) 。NEO-6M 是由u-blox公司设计的 GPS定位方案。它有高达50个的并行通道,具有快速搜星的能力,精准的定位效果,非常适合符合高性能、低功耗的应用场合。此外,其价格便宜(约15元),设计电路简单,只需引出必要的接口即可。
图3 NEO-6M芯片
GPS模块设计框图如图4所示,利用无源陶瓷天线匹配 NEO-6M 模块内部自带的 LNA(低噪声放大器),即无需外接有源天线,即可达到良好的信号接收效果。NEO-6M串口输出信号为TTL信号,可与主控芯片直接连接(串行通信)。
图4 GPS模块设计框图
芯片型号 |
NEO-6M |
单价 |
12元左右 |
串口类型 |
1个UART(TTL电平) |
正常工作功耗 |
< 80mW |
温度范围 |
-40~85℃ |
工作模式功耗 |
50mA(3.3V) |
省电模式功耗 |
30mA(3.3V) |
电源电压 |
2.7V~5V |
模块尺寸 |
16.012.2mm2.4mm |
3.3 GPRS模块
本课题拟购买现成的GPRS模块——SIM800C_mini板,来满足远距离数据远传功能,该模块如图5所示。其价格便宜(约45元),功能齐全,且其输出接口为串口(TTL电平),可与单片机直接相连。
图5 GPRS模块——SIM800板
SIM800C板采用了MP1482设计供电电路(如图6所示),输入电压范围为4.75V~18V,输出电压范围为3.4V~4.4V,在突发模式下,模块的电流高达2A,该电源电路很好地稳定了供电电压,防止了因为电压跌落较大而使模块关机的情况。
图6 GPRS模块供电电路
此外,该模块将电平转换芯片MP1482的使能端(EN)以插针的形式引出,因此可用STM32的普通I/O口控制该管脚,从而控制GPRS模块的电源。当不需要发送数据时,可将其使能端关闭(即将整个GPRS模块断电),从而达到节能的目的。
型号 |
SIM800C |
单价 |
45元 |
接口类型 |
UART(TTL电平) |
休眠模式功耗 |
0.9mA |
GPRS数传功耗 |
146mA(4V) |
关机模式功耗 |
130uA |
输入电压 |
4.75V~18V |
工作电压 |
3.4V~4.4V |
温度范围 |
-40~85℃ |
模块尺寸 |
54*44mm |
3.4 系统耗能估算
主控芯片每小时开机2分钟,每天开机48分钟(2/3小时),其余的时间(23小时12分钟)为睡眠状态(睡眠状态下:内核停止,所有外设包括M3核心的外设,如NVIC、系统时钟(Sys Tick)等仍在运行);GPRS模块每小时开机2分钟,每天开机48分钟(2/3小时),其余的时间(23小时12分钟)为关机状态;GPS模块连续工作(不休眠);主控板上的电平转换芯片MP1593连续工作(不休眠)。
综上所述,列出整个模块消耗的功率(每天),如下表5所示。
表5 监测模块主要功率消耗统计
每日功耗:5.437Wh。
将上述功耗转换成电流为:0.453Ah/12V--> 0.604Ah/12V(75%的转换率)
综上可知,按照蓄电池至负载以75%的转化效率传输时,每天整个系统约需要消耗0.604Ah的蓄电池电量。
研究地点为河南省北部,常年日照充足,没有连续降雨情况,近年来统计最多连续阴雨天数不到7天,以下为了保证系统的可靠性与稳定性,均按照最大自给天数(即连续没有日照,主要发生在冬天)为12天计算。
3.5 电池的选择
电池的选择包括电池容量的计算和电池组的串并联设计。首先计算电池容量要求,由公式:
电池容量=(自给天数×日平均负载)/(最大允许放电深度×温度修正因子)
可知,根据实际情况,最大自给天数为12天,日平均负载为0.604Ah,最大允许放电深度和温度修正因子应根据所选择的电池型号确定。本项目中拟选择以18650锂电池芯构成的电池组为系统供电,如图6所示。
图6 锂电池组
此型号的锂电池组循环寿命可以达到1000次左右,超出铅酸蓄电池2~3倍,这大大降低了锂电池的使用成本,适合野外监测模块供电。此外,该电池具有较宽的充电功效范围(9~12.6V)。电池组经过匹配,一致性非常好,稳定性好。电池带有PTC(热敏温控保护)与防爆阀(防爆保护)双重保护装置,可有效防止电池因意外短路造成起火,或内部压力过大而发生爆炸。可将电池安装在地下2m左右,常年温度在20°C左右,在电池的使用温度(0-60℃)范围内,故其几乎不受温度影响,设温度影响因子为90%。循环800次后容量下降15%,故设80%放电深度即可满足电池要求。综合上述条件,计算电池容量,如下式:
电池容量=(12×0.6Ah)/(0.8×0.9)=10Ah
因此可选购10Ah的电池组,即对18650锂电池芯采用“3串4并”的封装方式,尺寸为70
12037mm,价格约110元。综上,电池组特性参数如表6所示。
表6 电池组特性参数
3.6 太阳能控制器的选型
为了能通过太阳能电池板稳定地为蓄电池充电,还需为太阳能电池板接入充电管理电路。本项目拟采用以CN3722为核心的太阳能充电控制器模块,如图7所示。
图7 太阳能充电管理模块
CN3722具有太阳能电池最大功率点跟踪MPPT (Maximum Power Point Tracking)功能,即自动将太阳能电池板的输出电压调整到合适的值,让太阳能电池板的输出功率保持最大值,理论上讲,使用MPPT控制器的太阳能发电系统会比传统的效率提高50%。该模块用2个电流检测电阻并联,增强了散热能力和通过电流的能力,提高了系统的稳定性,在充电板背面预留电阻连接第8引脚,以解决涓流充电电流小的问题;且具有电池端过压保护。该模块价格具有价格低(整板价格约为20元)、性能高等特点。
太阳能充电管理模块特性参数如表7所示。
表7 太阳能充电管理模块特性参数
3.7 太阳能电池板的选型
系统的供电电池容量为10Ah,据统计1961~2007年河南北部平均年日照量超过2300小时,即平均每天日照量约为6.3小时,结合该地区连续降雨少的情况,预设利用三个晴天充满10Ah的锂电池,计算太阳能充电控制器输出电流:
太阳能控制器输出电流=(充满电池电量+三天系统所需电量)/三天的日照数=(10Ah+0.6Ah×3)/(6.3h×3)=0.62A
太阳能充电控制器最大输出电流为2A,满足需要的电流0.62A。按照太阳能板80%的发电效率。计算太阳能板的型号:
太阳能板功率=太阳能控制器需要功率/太阳能板发电效率=(0.62A×12V)/(80%)=9.37W
综上可知,根据太阳能充电控制器的输入电压,需要选择输出最少为18V的太阳能板;根据锂电池的容量,应选择功率最少为9.37W的太阳能板,为了适应部分恶劣环境,选择10W的太阳能板。
综上所述,所选太阳能电池板的特性参数如表8所示。
表8 太阳能电池板特性参数
四 电路设计
4.1 主控板电路设计及其接口
该监测模块的主控芯片为STM32F103RC6,其最小系统包含CPU、电源、复位电路、晶振电路等。复位电路如图8所示,其包含上电自动复位和按键手动复位功能。
图8 STM32芯片复位电路
为使芯片的时钟系统能正常工作,还需为芯片接入外部晶振,晶振电路如图9所示。其中8M晶振为外部高速时钟,其作为系统时钟和PLL锁相环的输入。32.768KHz的晶振为外部低速时钟,其输入供RTC使用。
图9 STM32晶振电路
为使单片机能控制GPS模块、GPRS模块且与之进行数据通讯,引出了STM32的两路串口(USART2、USART3)以及少量控制管脚(PC0-PC3),如图10所示。
图10 STM32外部接口
STM32芯片采用3.3V供电,而本系统采用12V电池作为电源,因此还需设计电平转换电路。GPS模块需要5V电源,可将12V电平转换为5V和3.3V电平供各部分选用。电平转换电路如图11所示。该电平转换电路采用MP1593和SC1117-3.3V芯片完成。
图11 电平转换电路
MP1593是美国MPS公司生产的一款降压型DC-DC器件,其允许输入电压范围为4.75~28V,最高工作效率可达95%。当输入为12V、输出为5V且电流达到2.5A时,其工作效率为90%。在高压差下,该芯片可以连续工作而无需加散热片,其供电电流为1.2mA,因此可以有效节省电能,且当电池电压波动较大时,该芯片仍能可靠工作。
为利用STM32内部的12位ADC采集0~3V和0~5V电压信号,还需要设计阻抗匹配电路,电路如图12所示。加入电容可滤除高频噪声信号,电压跟随器起到阻抗变换的作用:电压跟随器的输入阻抗很大,输出阻抗很小,以减小对输入信号的影响。电阻起到分压的作用,以实现利用单片机内部基准电压(3.3V)采集0~5V信号或更大采集范围。其中对于0~5V信号,输入与输出的关系为:
V_ADC1=3.3/(1.78+3.3)×V_ADC5V
图12 AD采集阻抗匹配电路
最后,为了使主控电路板能方便地烧写程序,利用CH340芯片设计了USB转串口的电路,通过STM32的USART1将程序写入内部存储器。STM32的BOOT0和BOOT1引脚默认接GND,即采用内部flash存储的启动文件启动芯片。下载电路如图13所示。
图13 STM32芯片程序下载电路
4.2 GPS模块电路设计及其接口
GPS模块采用NEO-6M芯片自行设计,该芯片价格便宜,功能强大。它有50个并行通道,具有快速的搜星能力、精准的定位效果,非常适合符合高性能、低功耗的场合。利用该芯片设计GPS模块可大大简化电路,只需引出必要的接口即可。主要电路如图14所示。
图14 GPS模块主电路
NEO-6M的串口输出为TTL电平,可直接引出与单片机相连。通过调整电阻大小,将其传输的波特率设置为9600。无源陶瓷天线接收GPS信号,通过MAX2659放大后接入NEO-6M的信号引脚。此外,为主芯片接入XH414法拉电容(参数为:3.3V /0.07F)当主电源掉电的时可为 GPS模块的RTC部分供电,以使 GPS 模块在下次启动时能快速搜索到卫星(持续时间约1小时)。图15为GPS模块的外部接口(与单片机进行数据交换),输出均为TTL电平,可直接与单片机相连。
图15 GPS模块外部接口
4.3 太阳能——蓄电池供电模块
本系统拟采用12V蓄电池直接供电,而太阳能电池板和太阳能充电控制器负责为蓄电池充电,不再增加“太阳能/蓄电池”供电方式切换电路,从而简化整体结构。因为整个监测模块大部分时间处于低功耗模式下,耗能非常少,若利用太阳能直接供电,可能导致多余的能量流失。太阳能——蓄电池供电模块如图16所示。
图16 太阳能——蓄电池供电模块
五 监测模块总体结构和程序流程
5.1 监测模块总体结构
综上所述,监测模块的总体结构如图17所示。GPS模块和GPRS模块分别通过STM32的USART2、USART3与单片机进行串行通讯。GPS模块输出的PPS秒脉冲接入STM32的“外部中断”,从而使STM32在精准的节拍下采集数据。当各个监测模块获取的GPS秒级时间一致,且在PPS触发的中断中采集一次数据,即可保证各个监测模块采集的时间点一致,从而达到同步采集的目的。
由于系统大部分时间处于空闲状态(不需要采集、发送数据),因此空闲时可将STM32置于睡眠模式,将GPRS模块的电源关闭(通过控制GPS模块的电源使能端——EN)。为保证GPS模块能持续接收到信号,系统将持续为GPS模块供电。
如前所述,主控板输入电压范围为4.75~28V,GPRS模块输入电压范围为4.75~18V,GPS模块输入电压范围为3.3V~5V。因此,主控板和GPRS模块由12V电池直接供电,而GPS模块由主控板供电(5V)(各模块原理图及PCB图见附件)。
图17 检测模块总体结构
5.2 程序设计流程
设T时刻为所有监测模块的起始采集点,所有模块应在T时刻之前开机。当T时刻到来时,在PPS触发的外部中断中将变量N置为1,此后在PPS脉冲触发下N“自加”,当N=3600时采集一次数据,当60
图18 主程序流程
将系统“唤醒”的程序流程如图19所示,该流程应在中断中完成。
图19 系统“唤醒”程序流程
为了保证能尽量采集同步,将采集电压的函数放在由PPS触发的外部中断中,因为该外部中断每秒触发一次,可以保证程序执行完成。由PPS触发的外部中断程序如图20所示。
图20 PPS触发的外部中断程序流程
正常情况下,变量N在PPS脉冲触发下自加1,当N=3600时,采集电压,并将N置1。GPRS发送数据时,可将电压值和时间信息一并远传,以便后期处理。因为数据是在中断触发时采集的,而和数据配对的时间也是中断触发的那一刻,因此,只要PPS脉冲精准,同步误差大多由单片机处理数据时引起。如果各个监测模块处理速度相差不大,同步误差会很小,应该是几十毫秒以内(若想获取微秒级的时间戳,还需利用精确晶振计数统计)。
上述中断服务程序中,有一个“N初始化函数”,其作用是保证各个监测模块有一个统一的时间基准点,在该基准点的基础上,监测模块每隔一小时采集并发送一次数据。该函数“完成任务后”将自动关闭,之后将不再执行。其流程图如图21所示。
图21 给定基准时刻的函数流程
标志变量“Flag”初始值为1,当时间未到达约定的基准时刻时,N值不会自加,而“Flag”也保持数值1。当时间到达约定时刻时,N被赋置1,之后将在PPS脉冲触发下“自加”,而“Flag=0”,此后该函数将被关闭。
综上所述,各监测模块从开机到进入“采集流程”的过程如图22所示。
图22 数据采集流程
六 设计总结
.
本文在深入分析课题要求的基础上,结合了嵌入式技术和网络通讯技术,设计了基于GPS信号的野外同步采集模块。本文主要从系统的功耗、成本、接口以及可靠性等方面进行了研究,主要的内容包括以下几个方面:
(1)分析了目前数据传输的几种方式,通过比较分析,确定了以GPRS技术进行数据远传。
(2)为保证采集同步,为系统接入GPS模块,从而利用其精确的时间信息和PPS秒脉冲。
(3)以STM32F103RCT6为主控芯片,设计通讯和控制接口,GPS模块和GPRS模块通过串口与STM32进行通讯(输出为TTL电平,可直接连接)。
(4)详细分析了整个系统的功耗,在此基础上设计了太阳能——蓄电池供电模块,能保证该监测模块长期在野外工作。各个模块的电压输入范围宽,从而使模块工作更可靠。
(5)设计了系统工作的程序流程,在保证同步采集数据的前提下,有效地节省电能。
本设计的特色之处在于使用了GPS信号进行同步采集,若在模块的本地时钟的调度下进行采集,将会有很大的累积误差,而本设计不会有累计误差,结合程序设计,可将时间误差控制在几十毫秒内。综上,本设计具有价格低(约300元)、低功耗(约0.6Ah/天)、可靠性高以及精确同步等特点。
参考文献
.
[1]潘洋,郑紫微,李攀.无线传感器网络大棚监控的太阳能供电系统设计[J].数据通信,2016(02):49-54.
[2]吴瑞娜,张建奇,梁喜军.基于STM32的GPRS远程在线升级系统设计与实现[J].自动化技术与应用,2015,34(12):34-37.
[3]燕丽红. 基于GPRS技术的远程数据传输系统的研究[D].西安科技大学,2006.
[4]STM32F103RCT6数据手册[Z].
[5] SIM800C_硬件设计手册[Z].
[6]NEO-6M数据手册[Z].
[7] C22502_MP1593DN数据手册[Z].
[8]韩进,马双.基于SIM800C的GPRS数据传输系统设计[J].电子产品世界,2016,23(11):39-42.
[9]钟文涛. 基于单片机的野外信息检测记录系统的设计[D].广东工业大学,2013.
注:该文章为原创,若需转载,请注明出处。若需该设计的原理图和PCB,请联系作者(qq:742358071)