辽宁工业大学无线传感网络技术课程设计(论文)题目:加速度传感器数据采集系统院(系):电子与信息工程学院专业班级:物联网学号:学生姓名:指导教师:教师职称:起止时间:14-06-23至14-07-11辽宁工业大学课程设计说明书(论文)课程设计(论文)任务及评语院(系):电子与信息工程学院教研室:学号学生姓名专业班级课程设计(论文)题目加速度传感器数据采集系统课程设计(论文)任务利用加速度传感器进行数据采集,并将采集到的数据传递到上位机,并显示。用加速度传感器采集到的信息来控制电机,通过转动与停止来检测是否产生加速度。主要设计内容:1.画出实验原理图2.编写功能代码,烧写代码3.功能熟练演示要求:1.根据题目和所用的传感器节点,用计算机绘制出原理图以及程序流程图;2.认真独立完成所规定的设计内容(4000字左右),严禁相互抄袭;指导教师评语及成绩平时成绩:论文质量:答辩:总成绩:指导教师签字:年月日目录第1章加速度数据采集系统设计方案........................11.1引言.................................................11.2总体方案论述.........................................1第2章加速度数据采集系统的硬件设计....................22.1系统所需的硬件......................................22.2硬件系统各部分实现的功能.............................42.3系统整体实现的功能简介...............................5第3章加速度传感器数据采集系统的软件设计..............63.1系统软件的功能说明..................................63.2系统程序流程图......................................63.3系统主要代码........................................7第4章课程设计总结...................................15参考文献................................................16辽宁工业大学课程设计说明书(论文)1第1章加速度数据采集系统设计方案1.1引言随着智能化脚步的到来,人们已经发明出了很多用于测量的高智能产品,其中就有加速度传感器,加速度传感器是通过测量由于重力引起的加速度,你可以计算出设备相对于水平面的移动速度,通过分析动态加速度,你可以分析出设备移动的方式。加速度传感器不仅可以测量牵引力产生的加速度,甚至可以用来分析发动机的振动。其应用非常广泛,例如加速度传感器可应用于地震波的检测,车祸报警的应用,还可用于高压电线的摆动监测,应用十分的广泛。1.2总体方案论述加速度数据采集系统的总体结构如图1所示。系统主要由三部分组成,包括加速度传感器节点,协调器,PC。首先我们将编写好的协调器代码通过IAR环境烧写到协调器中,然后修改协调器中各节点ID,此时协调器将会组建一个小范围的网络来控制各个节点协调工作。加速度传感器节点将采集到的数据通过无线的方式传给协调器,协调器通过串口将数据上传到上位机的显示屏。本次的系统设计在原有的基础上增加了难度,不仅通过串口通信输出到PC机上实时显示,而且同过无线的方式用加速度传感器采集到的信息来控电机,通过转动与停止来检测是否产生加速度。其系统组成框图如图1.1所示图1.1系统总体框图协调器电机传感器加速度传感器器电源模块PC显示屏辽宁工业大学课程设计说明书(论文)2第2章加速度数据采集系统的硬件设计2.1系统所需的硬件加速度数据采集系统所需的硬件包括加速度传感器节点,协调器,电机传感器节点,PC机,烧写代码的工具。其实物图如下:图2.1加速度传感器节点图2.2烧写代码工具辽宁工业大学课程设计说明书(论文)3图2.3协调器图2.4电机传感器节点辽宁工业大学课程设计说明书(论文)42.2硬件系统各部分实现的功能2.2.1数据的采集与发送部分实现该部分功能的部件是加速度传感器节点,该节点中的敏感元件将测点的加速度信号转换为相应的电信号,进入前置放大电路,经过信号调理电路改善信号的信噪比,再进行模数转换得到数字信号,最后送入到其嵌入的的单片机中,单片机再进行数据存储与控制。当传感元件以加速度a运动时,质量块受到一个与加速度方向相反的惯性力作用,发生与加速度成正比a的形变,使悬臂梁也随之产生应力和应变。该变形被粘贴在悬臂梁上的扩散电阻感受到。根据硅的压阻效应,扩散电阻的阻值发生与应变成正比的变化,将这个电阻作为电桥的一个桥臂,通过测量电桥输出电压的变化可以完成对加速度的测量。其框图如图2.2:图2.2无线加速度传感器网络节点框图2.2.2协调器节点部分协调器是加速度传感器数据采集系统中的重要组成部分,它的作用主要包括协调建立网络,还包括检测网络状态、发送维护信号、发送采集命令,其他功能还包括:传输网络信标、管理网络节点及存储网络节点信息,并且提供关联节点之间的路由信息;此外,网络协调器要存储一些基本信息,如节点数据设备、数据转发表及设备关联表等。其框图如图2.3:图2.3协调器节点框图加速度传感器无线单片机(CC2430)外围匹配电路系统电源电源监测电路以及相应的指示电路开始初始化建立网络有节点加入网络分配网络地址辽宁工业大学课程设计说明书(论文)52.2.3结果的表达与输出部分该部分包括两部分,一是电机节点,二是PC机的显示屏。由加速度传感器节点采集到的数据最终将通过串口输出数据显示在屏幕上,还有通过电机的转动与停止来观察数据。图2.4数据显示在屏幕上2.3系统整体实现的功能简介各个节点的代码及协调器的代码烧写完毕后,对加速度传感器进行一定动作后,在协调器所组建的这个小网络下将进行数据的无线传输。协调器接收到数据后通过串口将数据上传到显示屏上,电机接收到数据后会开始转动。其实现的功能如下图所示:辽宁工业大学课程设计说明书(论文)6第3章加速度传感器数据采集系统的软件设计3.1系统软件的功能说明主程序是系统的监控程序,主要对系统中各部分进行初始化工作,使整个系统在上电后进入初始化状态,,主要工作流程是:系统在上电后首先完成CPU和外部端口的初始化,采集节点会将采集到的数据在ZigBee网络中广播,协调器将收到的数据上传上位机,电机收到数据后发生转动,这就是系统软件实现的功能。3.2系统程序流程图Y图3.1系统程序流程图开始处理器初始化各功能模块初始化ADC初始化设置相应寄存器标志位清零读取数据寄存器处理并通过串口发送数据到接收数据时间辽宁工业大学课程设计说明书(论文)73.3系统主要代码3.3.1加速度传感器节点代码voidSerialApp_Init(uint8task_id){halUARTCfg_tuartConfig;staticuint8deviceID;SerialApp_TaskID=task_id;afRegister((endPointDesc_t*)&SerialApp_epDesc);RegisterForKeys(task_id);Init_I2c();ADXL345Init();IReadData(ADXL345_ADDR1,WHO_AM_I,&deviceID);//0xD3if(deviceID==0xE5){}else{while(1);}UART0_Format.Header_1=0xee;UART0_Format.Header_2=0xcc;UART0_Format.NodeSeq=0x01;UART0_Format.NodeID=Accele;UART0_Format.Tailer=0xff;辽宁工业大学课程设计说明书(论文)8SerialApp_TxAddr.addrMode=(afAddrMode_t)Addr16Bit;//发送地址初始化SerialApp_TxAddr.endPoint=SERIALAPP_ENDPOINT;SerialApp_TxAddr.addr.shortAddr=0xffff;TXPOWER=0xf5;}voidSerialApp_Init(uint8task_id){halUARTCfg_tuartConfig;staticuint8deviceID;SerialApp_TaskID=task_id;afRegister((endPointDesc_t*)&SerialApp_epDesc);RegisterForKeys(task_id);Init_I2c();ADXL345Init();IReadData(ADXL345_ADDR1,WHO_AM_I,&deviceID);//0xD3if(deviceID==0xE5){}else{while(1);}UART0_Format.Header_1=0xee;UART0_Format.Header_2=0xcc;UART0_Format.NodeSeq=0x01;UART0_Format.NodeID=Accele;UART0_Format.Tailer=0xff;SerialApp_TxAddr.addrMode=(afAddrMode_t)Addr16Bit;//发送地址初始化voidSerialApp_ProcessMSGCmd(afIncomingMSGPacket_t*pkt)//处理接收到的RF消息{辽宁工业大学课程设计说明书(论文)9staticUART_Format*receiveData;switch(pkt-clusterId){caseSERIALAPP_CLUSTERID1://处理各个传感器节数据receiveData=(UART_Format*)(pkt-cmd.Data);if((receiveData-Header_1==0xcc)&&(receiveData-Header_2==0xee)&&(receiveData-Tailer==0xff))//校验包头包尾{if(receiveData-NodeID==Accele)//地址{HalLedBlink(HAL_LED_2,1,50,600);}}break;caseSERIALAPP_CLUSTERID2:break;default:break;}}3.2协调器节点主要代码voidSerialApp_ProcessMSGCmd(afIncomingMSGPacket_t*pkt)//处理接收到的RF消息{UART_Format*receiveData;/*UART_Formatrsp;辽宁工业大学课程设计说明书(论文)10rsp.Header_1=0xcc;rsp.Header_2=0xee;rsp.NodeSeq=0x01;rsp.Tailer=0xff;*/receiveData=(UART_Format*)(pkt-cmd.Data);int8receive_rssi;receive_rssi=pkt-rssi;switch(pkt-clusterId){caseSERIALAPP_CLUSTERID1://处理各个传感器节数据if((receiveData-Header_1==0xee)&&(receiveData-Header_2==0xcc)&&(receiveData-Tailer==0xff))//校验包头包尾{if(receiveData-Command==MSG_PERIOD)//如果是周期消息{receiveData-Data[0]=receive_rssi;}HalUARTWrite(SERIAL_APP_PORT,(uint8*)receiveData,sizeof(UART_Format));//通过串口