ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:55.88KB ,
资源ID:7391231      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7391231.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C超低功耗倾角测量仪论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C超低功耗倾角测量仪论文.docx

1、C超低功耗倾角测量仪论文超低功耗倾角测量仪摘要 2一设计要求 3二系统方案 32.1 总体方案设计 32.2系统理论分析 42.3各模块设计比较 42.3.1角度传感器模块的方案论证与选择 42.3.2键盘方案选择 42.3.3液晶模块方案选择 42.3.4供电模块方案选择 5三电路与程序设计 53.1硬件电路设计 5 .3.1.1主控芯片 53.1.2倾角传感器 53.1.3按键部分 53.1.4供电部分 53.1.5液晶显示部分 53.2软件设计 6四测试结果与分析 64.1测试方案 64.2测试结果分析 6五结论 8参考文献 8附录一 9附录二 13摘要:为实现倾角的快速、准确测量,且超

2、低功耗运行,在结构上,系统由供电模 块,角度传感器模块,键盘控制模块,以及液晶显示模块构成。在控制方案中, 本系统以MSP430G2553单片机作为主控芯片,由大容量电解电容供电。系统采 用RT9266B为电容充电,随后通过LM26001降压芯片为单片机供电。在采集倾 角信息时,采用MMA8451倾角传感器传递倾斜角度数字信号 ,经单片机处理后,通过液晶显示当前角度及三向重力加速度。经测试,该系统运行稳定,倾角 测量误差小,功耗低,多次测试均达到达到了设计要求,实现了指定功能。 关键词: MSP430 超低功耗 MMA8451 液晶显示Abstract:In order to measure

3、the an gle fast and accurately ,and run in the low power mode, in the structure,the system con sists of power supply module, an gle sen sor module, key con trol module, and liquid crystal display module.The system uses MSP430G2553 as the main control chip, and supplied by a large capacity electrolyt

4、ic capacitor .The system uses RT9266B for charg ing the capacitor an dLM26001 chip supply power for MCU. While collecting angle information, MMA8451 sends back digital signal of an gle , which is processed by the MCU and showed by liquid crystal display curre nt angle and acceleration of gravity. Af

5、ter testing, the system runs steadily,.Angle measurement error is small.At the same time,the system achieves the aim of low power .Several tests are to meet the design requirements, achieving the specified fun cti on.Key words:MSP430 low power MMA8451 LCD display、设计要求电K电容 C1图1超低功耗倾角测量仪示意图(1)倾角测量仪的测角

6、范围为090度,要求每按一下测试按键进行一次 测量,显示分辨率为0.1度,精度为 凸度。(2)电容Ci的容量为2200F,充电到25V后接入测量仪系统。当以每 5秒一次的频率进行测量时,测量仪至少可以正常工作 60秒。(3)增加可以测量并显示沿X、丫、Z方向重力加速度分量的功能,要求测 量精度为凸,单位为m/s2。(4) 进一步提高倾角测量仪的测量精度,使精度达到 度。(5)电容Ci的容量改为100电容,充电到25V后接入系统。并尽可能 地延长使用时间。(6)自制为电容C1充电的充电装置(充电电压为 25V),该充电装置要求 使用1.5V干电池(电池可方便拆装)供电。(充电装置中使用的电容容量

7、不限)。二、系统总体方案2.1总体方案设计超低功耗倾角测量仪是由储有电能的电解电容供电,以 MSP430G2553单片机作为系统的控制核心,整个系统分为角度传感器模块、键盘控制模块、 液晶屏显示模块。高精度的 MMA8451倾角传感器实时测量角度,并通过键盘控制单 片机开始测量角度,12864液晶屏实时显示倾角及三向重力加速度的数值。系统功能框图如图一所示。传感器(MMA8451)MSP430G2553单片机液晶显示(FGC12864-SPID)充电电路p.电容 1r TILM26001 降(50V/2200uF) I 材压电路独立按键图一系统功能框图2.2系统理论分析2.2.1角度测量原理M

8、MA8451倾角传感器被固定于斜坡上,内部的加速度感应器将倾角转换成 数字信号,并实时传递给单片机,经单片机处理后然后通过液晶屏显示出来。加 速度传感器输出信号和角度之间的关系可以由下面公式给出 :Ax=g*sin( a );Ay=g*sin( B );Ax、Ay表示重力加速度,a、B表示倾角角度。当倾斜角大于60度时,误 差较大。利用线性模拟加速度传感器的灵敏度转化成倾角的灵敏度。2.2.2单片机供电利用干电池给大电容Ci充电,电容容量为2200F,充电到25V后接入 LM26001芯片,经LM26001整压降为3.3V后给单片机供电。充电电路原理图 与PCB图见附录图1与图2。2.3各模块

9、设计比较2.3.1、角度传感器模块方案论证与选择方案一、利用MMA8451倾角传感器传递倾斜的角度,该传感器可以不通过 A/D转换直接实现角度的液晶显示,测量方便。使程序更加简洁。方案二、利用MMA7361倾角传感器传递倾角的角度。MMA7361倾角传感 器返回电压量,要液晶屏上显示需要进行 A/D转换,增加了操作的步骤,但是使程序更加复杂。故选择方案一。2.3.2键盘控制模块方案论证与选择方案一、利用矩阵键盘一次性设置对单片机进行中断唤醒次数, 这种方式可以节约大量管脚资源,但驱动电路相对复杂,适用于大规模键盘控制系统。方案二、使用单个独立按键,此方案中单片机的操作简单、方便,反应速度 快,

10、实现了电路简化。故选择第二种方案。2.3.3、液晶显示方案选择方案一、使用普通类型的12864液晶,但其较耗能高,管脚多且连接复杂, 占用资源较多,不适用于超低功耗系统。方案二、使用FGC12864SPIDA液晶,显示界面更加方便、人性化。该液晶模块更低功耗,体积小,显示信息量大,字迹美观,易于被单片机控制。故选择2.3.4、供电模块方案选择方案一、采用直流电源为单片机供电,方式简单易控,但电压会有波动,且 效率低,达不到低功耗的要求。方案二、采用RT9266B芯片先给电容Ci充电到25V,然后通过LM26001 降压得到精确的3.3V电压接入单片机为其供电,LM26001工作在开关模式下,

11、效率高,功耗低,调节电压速度快且精准。故选用方案二进行设计。三、电路与程序设计3.1硬件电路设计3.1.1、主控芯片MSP430G2553原理图(见附录一图3),工作在低电源电压范围,超低功耗,配 置有两个16位Timer_A,三个捕获/比较寄存路器。并且运算速度快,精度高, 完全可以实现要求。3.1.2倾角传感器MMA8451是一款具有14位分辨率的智能低功耗、三轴、电容式微机械加速 度传感器。这款加速度传感器具有丰富嵌入式功能,带有灵活的用户可编程选项, 可以配置多达两个中断引脚。嵌入式中断功能可以节省整体功耗, 解除主处理器 不断轮询数据的负担。 MMA8451具有坐g/ g/ g的用户

12、可选量程,可以实时输出高通滤波数据和非滤波数据。该器件可被配置成利用任意组合可配置嵌入式 的功能生成惯性唤醒中断信号,这就使MMA8451在监控事件同时,在静止状态 保持低功耗模式。倾角传感器应用原理图(见附录一图 4)。3.1.3按键部分利用单个独立键盘接入 MSP430G2553单片机I/O 口,进行中断唤醒,实现对 倾角的测量。3.1.4供电部分LM26001是一款高效率睡眠1.5A开关稳压器。该器件具有低电流睡眠模式, 以维持在轻载条件下的效率和电流模式控制在宽输入电压范围内精确调节。 同时具有电源良好,可调软启动,输入欠压保护,内部自举二极管,减少元件数量等 优良特点。系统采用LM2

13、6001把电容4V-28V电压降压为3.3V为单片机供电;采 用单片机为液晶显示屏供电,提供5V的电压。3.1.5液晶显示部分FGC12867SPIDA液晶显示使用ST7567控制器,5V电压驱动,没背光, 是一种128*64点阵式液晶模块的低功率 COMS技术,与外部CPU接口采用并 行或串行两种控制方式。设计中使用串行控制方式来实现液晶显示功能, 显示实验项目中倾角的角度及三向的重力加速度分量的数值。 (见附录一图5)3.2软件设计在该系统中,倾角测量器将倾斜角度以数字量形式传递给单片机, 按键实现中断唤醒,以启动单片机的工作模式,单片机将信号进行运算处理后再将数据转 换显示数据传递给液晶

14、显示器。流程图如图 3初始化YES唤醒中断采样处理液晶显示图2、程序流程图322程序设计 部分源程序见附录二四、测设结果及分析4.1测试方案测试仪器:精密量角器,直尺。测试方法:采用三次测量,求平均值,以减小实验误差 4.2测试结果及分析数据测试结果如表一表二所示。表一:补偿后所得倾角真实角度测量一测量二测量三 平均值00.10.200.100000 :65.86.15.95.9333331615.816.216.416.3333333534.935.135.235.0666664544.845.345.645.2333335554.755.155.655.1333336565.165.264

15、.965.066666 7574.675.275.375.0333338584.785.285.585.1333338786.486.986.887.1000009089.990.190.290.066666表二: 角度及沿X、Y、Z三方向加速度值实际倾角Z加速度X加速度丫加速度09.880.860.04109.750.301.45258.290.884.87357.431.006.24555.451.068.00653.400.759.00752.221.009.43801.491.039.68850.930.899.79900.100.729.79经测试,所有参数与功能均达到了要求值,系统

16、运行稳定五、 总结本次设计按照题目要求,通过模块化的硬件和软件设计方法,成功地实现了 规定的功能。系统利用 MSP430G2553单片机作为控制核心,采用低功耗模式 利用倾角传感器测量倾角及沿 X、丫、Z轴方向的重力加速度大小,并用低功耗 液晶显示其角度值。系统结构紧凑,硬件配置合理,程序思路清晰而高效。经过 测试,各个模块运行良好,功能均正常精确完成。当然,由于水平有限,其中的 错误和疏漏不可避免,望各位老师予以指正。最后,感谢大赛组委会给予我们的宝贵参赛机会。六、 参考文献(1) 谭浩强.C语言程序设计M.北京.清华大学出版社(2) 黄智伟.全国大学生电子设计竞赛训练教程M.电子工业出版社

17、(3) 王划一.自动控制原理M.国防工业出版社(4) 华成英 童诗白.模拟电子技术基础M.第四版.高等教育出版社,2006(5) 张伟霞 廖清.微型机与应用J.2011年23期七、附录附录C31uF5VJ2OUTGNDGNDMC34063D2 1N5819C4 220uF/35v “100UH12348765LXQRGNDIPKCTVINGNDCMPR3180RR4 0.2RGNDGNDC510PR5R6200K10KR7510RGND图1充电电路图2、充电电路的PCB图li7 16U VDD |图3 LM26001原理图图 4 LM26001PCB 图ENND AGND VDD 三GND/A

18、GNDMNVBIASTNswPGOODswENBOOTSTM:FBssCOMPEREQVDDFEWGNDUlJ5X513GND7AGND图5捕获电路原理图J61Ext PWR图6 MSP430G2553原理图SDAO16V - 16V 、 Interface Voltage ;1.95V - 3L6VQ VDDVDDIOCVDDIOQ-t-VDDI.2 J BYP z1 1o1NCJ3.GND R苕3 NC “ NT1 ;H_4 SCLgnd IV5 _ GNDo5u zINT2 !_g1-11-1116 i i i7-1 18i Il iSCLOO II4T1C IMT2Q SAOFigur

19、e 4. Application Diagram图7倾角传感器应用图解附录二部分源程序:/*程序功能:用并行数据传输方式在液晶上综合显示字符、文字和图形 注意事项:根据液晶的供电电压的不同正确选择液晶的供电电压跳线 将开发板上PCB插针和LCD插针用短路帽短接 测试说明:观察液晶显示*#i nclude #in cludechua n.h#i ncludepublic.h#i ncludelcd.h#include stdio.h#in clude math.h#include LcdDisplay.hint time=O;void main() /关闭看门狗WDTCTL = WDTPW +

20、WDTHOLD;/ BCSCTL1 &=XT2OFF; / 打开 XT2 振荡器IO_Set();LCD_I ni t();MMA845x_i ni t();Ext1n it();Timernit();In terFace();while(1)/CPU关闭_BIS_SR(CPUOFF);#pragma vector=TIMERO_AO_VECTOR /中断入口(由中断源决定)_interrupt void ta_isr(void) /中断名(可自行定义)float temp;time+;if(time=3) time=0;Get_Accelerati on();/ An gleShow(2,2

21、);temp=sqrt(Ax*Ax+Ay*Ay)/fabs(Az);An gleShow(2,2,temp);AccessShow(12,2,Z_Acceleratio n);temp=sqrt(Az*Az+Ay*Ay)/fabs(Ax);An gleShow(2,4,temp);AccessShow(12,4,X_Acceleratio n);temp=sqrt(Ax*Ax+Az*Az)/fabs(Ay);An gleShow(2,6,temp);AccessShow(12,6,Y_Acceleratio n);#pragma vector=PORT1_VECTOR /中断入口(由中断源决定

22、) _interrupt void P1_interrupt(void) / 中断名(可自行定义)厂 _int i=0;float temp;for(;i4000;i+);if(P1IN&0X08);Get_Accelerati on();/ An gleShow(2,2);temp=Get_Degree(Z_Accelerati on);temp=Get_Degree(Z_Accelerati on); temp=sqrt(Ax*Ax+Ay*Ay)/fabs(Az);An gleShow(2,2,temp);AccessShow(12,2,Z_Acceleratio n);temp=sqrt

23、(Az*Az+Ay*Ay)/fabs(Ax);An gleShow(2,4,temp);AccessShow(12,4,X_Acceleratio n);temp=sqrt(Ax*Ax+Az*Az)/fabs(Ay);An gleShow(2,6,temp);AccessShow(12,6,Y_Acceleratio n); P1IFG=0x00;#in clude support_commo n.h#in clude mma8451.h#i nclude #in elude chua n.h#i nclude stdio.h#in elude math.h#i ncludelcd.h/ext

24、er n void sci_dis(sig ned int ch0, sig ned int chi, sig ned int ch2);#define SDA P1_2 IIC 数据线定义#define SCL P1_4 /IIC 时钟线定义#defi ne SDAI (P1I N&0X04)#defi ne SDAIN P1DIR &=0x04#defi ne SDAOUT P1DIR |=0x04/SA0必须接地/内部数据定义un sig ned char IIC_ad_ma in; /器件从地址unsigned char IIC_ad_sub; /器件子地址un sig ned cha

25、r *IIC_buf; /发送|接收数据缓冲区unsigned char IIC_num; /发送|接收数据个数double Ax,Ay,Az;signed int X_Acceleration, Y_Acceleration, Z_Acceleration; /x y z 轴加速度 一 一 一sig ned int X_Accelerati on _Last=0, Y_Accelerati on _Last=0, Z_Acceleratio n_Last=0; /x y z轴加速度(上次)sig ned int Z_Acc_After_Filter=0;sig ned int Z_Accel

26、eration_N10=0;double Degree_Z,Degree_X,Degree_Y;float table320=0.0;#defi ne ack 1 / 主应答#defi ne no_ack 0 / 从应答/nop指令个数定义void NO_OPERATION(void)asm( nop);asm( nop);asm( nop);asm( no p);asm( no p);/void IIC_start(void)SCL=0;SDA=1;asm(” no p);SCL=1;NO_OPERATION();SDA=0;NO_OPERATION();SCL=0;/*送停止位SDA=0-

27、1void IIC_stop(void)SCL=0;asm( no p);SDA=0;asm( no p);SCL=1;NO_OPERATION();SDA=1;NO_OPERATION();SCL=0;/*/主应答(包含 ack:SDA=0 和 no_ack:SDA=0) void IIC_ack_ma in (byte ack_mai n)SCL=0;if(ack_main)SDA=0; /ack 主应答 else SDA=1; /no_ack 无需应答 NO_OPERATION();SCL=1;NO_OPERATION();SCL=0;/*字节发送程序/发送C(可以是数据也可是地址),送完后接收从应答 /不考虑从应答位void sen d_byte( un sig ned char c)un sig ned char i;for(i=0;i8;i+)SCL=O;if(ci) & 0x80)SDA=1; / 判断发送位 else SDA=O;asm(” nop);SCL=1;NO_OPERATION();SCL=0;NO_OPERATION();SDA=1; /发送完8bit,释放总线准备接收应答位 asm( no p);SCL=1;NO_OPERATION(); sda上数据即是从应答位SCL=0; 不考虑从应答位|但要控制好时序

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

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