基于MSP430的自行车户外运动系统.docx

上传人:b****8 文档编号:30463786 上传时间:2023-08-15 格式:DOCX 页数:19 大小:2.17MB
下载 相关 举报
基于MSP430的自行车户外运动系统.docx_第1页
第1页 / 共19页
基于MSP430的自行车户外运动系统.docx_第2页
第2页 / 共19页
基于MSP430的自行车户外运动系统.docx_第3页
第3页 / 共19页
基于MSP430的自行车户外运动系统.docx_第4页
第4页 / 共19页
基于MSP430的自行车户外运动系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于MSP430的自行车户外运动系统.docx

《基于MSP430的自行车户外运动系统.docx》由会员分享,可在线阅读,更多相关《基于MSP430的自行车户外运动系统.docx(19页珍藏版)》请在冰豆网上搜索。

基于MSP430的自行车户外运动系统.docx

基于MSP430的自行车户外运动系统

题目:

基于MSP430的自行车户外运动系统

摘要

本系统基于MSP430F169,主要由GPS模块,传感器模块、显示模块和充电模块组成。

基本功能为测量温度湿度光照度等环境参数,GPS定位测速等。

除此之外,系统自带实时钟,还具有路径记录功能,并且可以通过上位机,在GoogleEarth上绘制出记录的路径。

下位机通过点阵LCD显示,背光由PWM控制,配合光照度传感器可以做到自适应背光。

系统用锂电池供电,带充电模块,整体小巧灵活,人机界面友好,可以用于单车、登山等户外运动上。

Abstract

Inthispaper,weproposeelectronicequipmentforoutdoorsports,whichisbasedonMSP430F169.ThesystemmainlyconsistsoftheGPSmodule,thesensormodule,thedisplaymoduleandthechargingmodule.

Thebasicfunctionofthissystemismeasuringenvironmentalparameterssuchastemperature,humidityandillumination.Withthisequipment,positioningandspeeddetectioncanberealized.Youcanrecordyourcoordinatesanduploadthemtothecomputer,thendrawthepathinGoogleEarth.

Thedeviceispoweredbybattery.Itsfeaturesincludeautomaticbacklight,friendlyhuman-machineinterfaceandcompactsize.Itisagoodhelperforoutdoorsports.

1.引言

随着身边越来越多的人选择登山自行车等户外运动作为工作之余的休闲调整和健身,人们对户外运动衍生出来的相关设备需求越来越大,这将是一个广阔的市场。

对于学生或者工薪阶层等初级爱好者来说,购买发烧友级的专业仪器和设备过于昂贵。

在如此背景之下,本文设计了一个具有同等功能的低成本简易电子设备,系统设计灵活,可以根据需要删减相应模块。

基本功能可以作为户外运动环境参数检测仪,带有GPS定位、高度速度测量和路径记录功能,非常适合初级户外运动爱好者。

2.系统方案

整个系统由若干模块构成,系统方案框图如图2.1所示:

图2.1系统框图

系统由GPS、SHT10、ON9658等传感器模块、LCD显示模块、EEPROM存储模块、RTC模块、通讯模块和锂电池充电模块构成。

主要思路:

硬件方面:

MSP430F169主控,处理各个传感器测量的信息;LCD实时显示;EEPROM存储路径信息;通讯模块配合上位机使用,通过USB转串口,把记录的数据上传到PC机;USB口同时起到锂电池充电的作用。

对外围模块的电源管理,采用跟MCU最小系统分开供电的方法,这样就可以随时关闭暂时不用的传感器,以节省电能。

定位手持式设备,电池供电,选用的器件都是低功耗器件。

软件方面:

考虑到作为人机交互的LCD要显示的内容比较多,所以加入了按键模块,采用了层级菜单设计,一级菜单为模块菜单,二级菜单则是各个模块的内部菜单。

由于选用的MSP430F169资源丰富,系统留有硬件升级接口,可以外扩GSM/GPRS等其他模块。

3.系统硬件设计

3.1供电模块

系统有两种供电方式:

USB供电和锂电池供电。

平时使用锂电池供电,跟上位机通信的时候使用USB供电,同时USB给锂电池充电。

因为是低功耗的设计,电源芯片的选择很重要,应选择静态电流尽量小功耗尽量低的芯片。

本设计选用的是TI的TPS79733和TPS78233。

TPS79733具有超低的静态电流(在10mA时静态电流典型值为1.2μA),可以提供50mA的电流,用来给MCU最小系统供电。

TPS79733带有PowerGood指示功能,把PG引脚连接到单片机中断引脚上,以此实现指示电源状态,系统电量不足提醒功能。

TPS78233则是单路固定输出提供150mA电流,静态电流仅有0.5µA的LDO。

TPS78233带有使能引脚,用来给传感器模块供电,这样在待机的状态下,可以关闭TPS78233以节省电能。

选择两个稳压芯片是因为系统设计分开供电。

最小系统和外围设备两部分分开供电,系统在待机的时候可以关闭某些不用的模块,使系统处于待机状态的时候耗电最小。

3.2充电模块

系统设计力求外围电路简单,方便紧凑。

设计充电器具有自动充电,温度检测,三段式充电模式等功能,结合这些要求,选用TI公司的BQ2057锂电池充电管理芯片。

BQ2057系列是美国TI公司生产的先进锂电池充电管理芯片,BQ2057系列芯片适合单节(4.1V或4.2V)或双节(8.2V或8.4V)锂离子(Li-Ion)和锂聚合物(Li-Pol)电池的充电需要,利用该芯片设计的充电器外围电路及其简单,非常适合便携式电子产品的紧凑设计需要。

BQ2057可以动态补偿锂电池组的内阻以减少充电时间,带有可选的电池温度监测,利用电池组温度传感器连续检测电池温度,当电池温度超出设定范围时BQ2057关闭对电池充电。

内部集成的恒压恒流器带有高/低边电流感测和可编程充电电流,充电状态识别可由输出的LED指示灯或与主控器接口实现,具有自动重新充电、最小电流终止充电、低功耗睡眠等特性。

设计参考芯片datasheet中TI的官方方案。

电路如图3.1:

图3.1锂电池充电模块电路

3.3GPS系统模块

GPS选用的是韩国JCOM公司的C3-370C模块,SiRFIII芯片,内置天线模块。

灵敏度高,搜星速度快,模块有使能引脚,可以单独开关。

MSP430和GPS通过串口通信,MSP430对接收到的报文进行解码,并且通过LCD实时显示。

界面设计如图3.2所示,实际效果见附录。

图3.2GPS界面设计

界面可实时显示GPS运行状态、信号强度、经纬度、速度高度、日期时间等大量信息。

通过按键操作,实现GPS的运行/暂停,坐标数据的记录/删除,自动/手动记录的切换,上位机通信等功能。

用EEPROMAT24C64记录坐标信息。

一条信息包括日期时间和经纬度共64个字节,一共可以存储512条记录,按1min/条计算,可以不间断存储8小时。

信息的记录既可以手动按键记录,也可以通过菜单切换成间隔时间为10s/30s/60s/90s的自动记录。

记录在EEPROM中的数据通过串口传给上位机,上位机软件转换数据,也可直接输出KML文件,在Googleearth中打开绘制路径。

3.4通信模块:

通信模块主要实现GPS、MCU、PC之间的两两通信,三者通过串口通信,通过拨码开关来切换,具体硬件如图3.3所示:

图3.3通信切换原理图

拨码开关12是MCU跟PC通信;34是GPS跟PC通信;56是GPS跟MCU通信,需要注意的是,同一时刻只能实现一组通信,即只能开启一组开关。

实际效果如下:

1.MCU跟PC通信,上传记录的坐标数据。

上位机主要实现对记录数据的转换,生成可以在GoogleEarth中直接打开的KML文件。

图3.4MCU和PC通信

2.GPS跟PC通信,PC机软件显示解码信息。

图3.5GPS和PC通信

3.MCU跟GPS通信,LCD显示解码信息。

图3.6MCU和GPS通信

3.5传感器及相关模块

温湿度传感器选用的是SHT10,SHT10是低功耗的数字温湿度传感器,数字信号输出,具有长期稳定性。

SHT10的接口定义如下图所示:

图3.7SHT10的管脚定义

传感器性能:

相对湿度分辨率12位,精度±4.5%RH;温度分辨率14位,精度±0.5°C。

正常工作时功耗仅为2μW。

硬件设计典型连接图:

图3.8SHT10的硬件连接图

光照度传感器选用的是ON9658,典型入射波长为λp=520nm,内置双敏感元接收器,可见光范围内高度敏感,输出电流随照度呈线性变化。

适合电视机、LCD背光、数码产品、仪器仪表、工业设备等诸多领域的节能控制、自动感光、自适应控制。

所以在本设计中用它来控制LCD的自动背光。

硬件设计图如下所示:

图3.9ON9658电路设计

在VCC和R一定时,ON9658输出电压随光照强度增大,最大为2/3VCC。

下拉电阻R和电源VCC同时决定光照度范围,R与光照范围成反比,VCC与光照范围成正比。

实际上R过小会引起器件功耗增大,VCC过高影响器件寿命。

适当选择C会提高输出稳定性。

RTC时钟芯片选用的是PCF8563,与EEPROM共享IIC总线。

PCF8563是PHILIPS公司推出的一款工业级内含IIC总线接口功能的具有极低功耗的多功能时钟/日历芯片,功耗典型值为0.25μA。

设计中,如果GPS有信号,那么可以通过按键操作“校表”,即按照当前GPS标准时钟设置PCF8563。

平时使用显示的时间是PCF8563的本地时间。

3.6显示模块

显示用的是NOKIA5110点阵液晶屏,84*48像素,背光可以手动开启和关闭,也可以选择自适应背光(通过PWM控制,配合光照度传感器ON9658实现),即外界光强,LED背光弱,外部光弱,LED背光强。

设置界面如下图:

图3.10系统背光设置界面

4.系统关键部分软件设计

4.1GPS解码

C3-370C模块接收卫星信号,遵守NMEA-0183协议标准,以ASCII格式输出,波特率9600bit/s,数据位8位,停止位1位,无奇偶校验。

单片机通过串口接收,对接收到的数据以帧为单位,按照NMEA-0183协议解码。

MEA-0183协议语句的数据格式如下:

“$”为语句起始标志;“,”为域分隔符;“*”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);“/”为终止符,所有的语句必须以回车换行来结束,也就是ASCII字符的“回车”(十六进制的0D)和“换行”(十六进制的0A)。

C3-370C模块主要输出RMC和GGA语句,具体含义如下所示:

$GPRMC

例:

$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50

字段0:

$GPRMC,语句ID,表明该语句为RMC,推荐最小定位信息

字段1:

UTC时间,hhmmss.sss格式

字段2:

状态,A=定位,V=未定位

字段3:

纬度ddmm.mmmm,度分格式(前导位数不足则补0)

字段4:

纬度N(北纬)或S(南纬)

字段5:

经度dddmm.mmmm,度分格式(前导位数不足则补0)

字段6:

经度E(东经)或W(西经)

字段7:

速度,节,Knots

字段8:

方位角,度

字段9:

UTC日期,DDMMYY格式

字段10:

磁偏角,(000-180)度(前导位数不足则补0)

字段11:

磁偏角方向,E=东W=西

字段16:

校验值

$GPGGA

例:

$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F

字段0:

$GPGGA,语句ID,表明该语句为GGA,GPS定位信息

字段1:

UTC时间,hhmmss.sss,时分秒格式

字段2:

纬度ddmm.mmmm,度分格式(前导位数不足则补0)

字段3:

纬度N(北纬)或S(南纬)

字段4:

经度dddmm.mmmm,度分格式(前导位数不足则补0)

字段5:

经度E(东经)或W(西经)

字段6:

GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算

字段7:

正在使用的卫星数量(00-12)(前导位数不足则补0)

字段8:

HDOP水平精度因子(0.5-99.9)

字段9:

海拔高度(-9999.9-99999.9)

字段10:

地球椭球面相对大地水准面的高度

字段11:

差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)

字段12:

差分站ID号0000-1023(前导位数不足则补0,如果不是差分定位将为空)

字段13:

校验值

根据语句最大长度,程序中定义了一个96字节的缓冲区,一次接收一条GPS语句之后再进行解码,即根据需要读取相关数据。

需要注意的是中国所在的时区是东八区,所以解码得到的小时数据需要加8才是相应的北京时间。

4.2LCD显示

LCD显示采用了部分刷屏的设计,即只刷新需要更新的区域,这样节省了大量资源。

在显示模拟时钟的时候,需要刷新较大面积的区域。

为了避免直接操作LCD时LCD闪烁和显示错位的问题。

程序中开辟了显示缓冲区,对模拟时钟指针的操作在缓冲区里进行,操作完成LCD直接显示缓存区的数据。

基于NOKIA5110液晶屏,做了对应的UI。

GPS界面,具体介绍参见3.3节。

图4.1GPS显示界面

时钟界面,显示屏左半部分是模拟时钟和星期,右半部分是日历和数字时钟。

图4.2时钟显示界面

温湿度界面,界面采用温湿度计的风格,使显示更加直观和美观。

图4.3温湿度显示界面

光照度界面,第一行是光照度,第二行是对应的MSP430的ADC采样电压。

图4.4光照度显示界面

4.3交互菜单

菜单设计使用层级菜单,第一级菜单运用PAGE的概念,用一个按键控制,对应如下:

PAGE0显示GPS界面

PAGE1显示RTC界面

PAGE2显示温湿度界面

PAGE3显示光照度界面

PAGE4显示背光控制界面

KEY1控制第一级PAGE菜单,剩余的KEY2-KEY4则用作各个PAGE里的二级菜单控制。

按键通过中断处理,这样主函数就变得很简洁:

intmain(void)

{

WDTCTL=WDTPW+WDTHOLD;

initial();//系统初始化

while

(1)

{

switch(PAGE)

{

case0:

LCD_refresh_gps();break;

case1:

LCD_refresh_clock();break;

case2:

LCD_refresh_TRH();break;

case3:

LCD_LED_AUTO

(1);break;

case4:

break;

}

if(back_light==3)LCD_LED_AUTO(0);}

}

4.4程序流程图

图4.5程序流程图

5.系统创新

1.将DIY作品运用到实际生活中,作品功能丰富,使用灵活,成本低廉。

2.低功耗的概念贯穿整个设计,比如分开供电、选用低功耗器件等。

3.人机界面的设计,比单纯的数字内容显示丰富。

4.作品可扩展性强,硬件上留有升级接口,将来可以发挥的功能:

4.1去掉传感器模块,利用GPS的秒脉冲,可以做一个小型的授时系统。

4.2去掉传感器模块,加入GSM模块,接收短消息命令,回传设备当前的坐标。

将设备绑定贵重物品,通过短信可以知道丢失或被盗的物品的坐标,增加寻回失物的可能性。

6.评测与结论

系统工作正常,在学校实验,GPS精度在5m之内,其余传感器模块均工作正常。

下图为从学校实验室到宿舍的实际测验。

图6.1实验结果图

第一版有些许的不足,具体如下:

1.因为资金不够,第二版硬件设计好了没有投板,最终的成品只是在第一版上飞线改动。

2.设计的时候没有考虑到机壳的问题。

所以最后PCB出来与外壳的匹配不是很好。

3.时间仓促UI美化不够,MSP430F169内部FLASH够大,第二版软件可以加入更多形象的icon。

致谢

本作品在设计制作过程中得到了实验室师兄师弟和各大技术论坛上网友的热心帮助。

GPS部分参考了网友chchg的作品,在此表示感谢。

附录

图1:

系统原理图

图2:

硬件作品。

图3:

软件的UI设计。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1