• 1
  • 2
新闻详细
升降车臂架精确感知技术的软件设计与实现,   中山三乡出租升降车
新闻分类:行业资讯   作者:admin    发布于:2017-07-034    文字:【】【】【
 


        升降车臂架精确感知技术的软件设计与实现,   中山三乡出租升降车, 中山三乡租赁升降车, 中山三乡升降车   所研制的升降车臂架精确感知系统,采用基于cortex-M4内核的TI-TM4C123G微处理器和无线测距模块STM8模拟臂架系统,并进行实时数据处理及仿真分析,完成了新型升降车臂架定位方法及其定位装置。无线测距模块STM8使用STVisualDevelop做单片机的代码开发,STVisualProgrammer做单片机代码下载;中心节点和参考节点的核心处理模块TIVACortex-M4使用ICDI方式下载代码,使用MDK-ARM做代码开发;串口调试助手软件监视基站和移动节点的通信。(1)STVisualDevelop(STVD)STVD提供了方便高效的环境,该套件包括STVisualProgrammer(STVP)和编程接口STAssemblerLinker。为实现应用程序开发,STVD集成了Cosmic和RaisonanceC语言编译器。为方便调试,STVD嵌入了集成仿真软件RLink和ST-LINK,以及针对STM8的STice高级仿真器。STVisualProgrammer(STVP)是ST的编程闪存微控制器的全功能软件界面。它提供了一种易于使用且有效的环境,用于读取,写入和验证设备存储器和选项字节。STVP交付的自由意法半导体微控制器工具套件,其中包括ST视觉开发STVD集成开发环境和ST汇编器链接器的一部分。此外,开发人员可以利用免费的编程工具包用C/C源为所有开发基于STVP任何支持的ST段编程硬件的自定义编程接口所需要的功能。它包含了所有允许应用程序访问STVP的低级别的DLL和使用任何支持的编程硬件和编程方法(插座,在线编程或原位编程)的方案微控制器功能的源代码。(2)MDK-ARM完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件,是行业领先的ARMC/C++编译工具链。集成了IDE开发环境,提供TCP/IP协议套件,USB设备和USB栈驱动库,GUI用户图形接口库,大量实验例程能快速入手掌握MDK-ARM的结构特征。ULINKpro可对应用程序进行分析优化,记录执行的每一条指令。





        姿态感知系统的总体设计,  本文将CSS精确定位技术应用于工程机械姿态感知,将姿态信息输入核心控制器cortex-M4。升降车臂架姿态感知系统的软件设计主要包括中心节点的软件设计、参考节点的软件设计、待测节点的软件设计。其中中心节点的软件设计又包括通信协议、定位算法、臂架节点坐标显示、臂架整体姿态显示等的软件设计。主程序设计是整个软件系统的骨架,主要包括了系统初始化、串口通信程序设计、数据处理程序设计、液晶显示屏触屏中断处理、LCD显示程序设计等部分。系统初始化开始串口通信,接受距离信息升降车臂架姿态感知定位算法LCD显示坐标及图形结束, 系统初始化主要包括三个部分:第一部分是系统时钟初始化;第二部分是中断使能初始化;第三部分是液晶显示屏初始化;第四部分是UART初始化。(1)系统时钟初始化TM4C123G有4个时钟源,程序开始运行时对时钟进行配置:;其中,SYSCTL_SYSDIV_4实现系统时钟的4分频。SYSCTL_USE_PLL|SYSCTL_OSC_MAIN实现使用锁相环做为系统的主时钟。SYSCTL_XTAL_16MHZ使用外部16MHz晶振输入。由芯片手册可知当PLL使用4分频时,系统的时钟频率就被定为50MHz,运行速度可以满足本设计的需要。(2)中断使能IntMasterEnable();//使能处理器中断及UART0中断(3)液晶显示屏初始化;




       中山三乡出租升降车, 中山三乡租赁升降车, 中山三乡升降车





      升降车臂架姿态感知系统的节点有三种:中心节点、参考节点、待测节点。现分别对其软件实现进行分析与设计。(1)中心节点的软件设计中心节点的核心处理模块采用TI公司的基于ARMCortex™-M4F内核的TI-TM4C123芯片,工作频率为80MHz。中心节点可以理解为增强型的参考节点,中心节点以无线的方式接收待测节点收集的测距信息并进行处理,获取待测节点的精确位置,并根据参考节点之间的距离信息及位置关系建立一个空间坐标系,然后根据节点之间的距离信息通过升降车臂架精确感知定位算法计算出相对坐标,从而实现对升降车臂架姿态的实时监控。中心节点,在无线传感器网络中亦可称为簇头。其工作流程有如下几个步骤:



       1)初始化簇头数组、坐标形式。 



       2)通过UART口给STM8发送广播的命令,广播内容为空,目的是告知所有节点自身的存在。



      3)接收数据既接收待测节点的广播,又接收本簇的定位数据接收数据,同时接收其它中心节点(簇头)广播。若收到的是其他簇头的广播,则存储该中心节点的MAC地址,置簇存在标志位;若收到的是待测节点广播,则存储该待测节点的MAC地址,置待测节点存在标志位;若收到的是定位数据,则存储对方的MAC地址、其内部定位数据,将收到的数据存储在簇数组;并回应一个ACK消息给待测节点表示已收到距离数据。



      4)内部定位使用数据包的形式向各待测节点发送各参考节点的地址及自身的MAC地址,并等待待测节点回传测距数据;外部定位使用数据包的形式向各待测节点发送待定位簇头MAC地址(存储于簇数组内),并等待待测节点传回数据。当收到的距离值都正常时,通过升降车臂架姿态感知定位算法计算目标坐标。



     5)当在通信范围内有其他簇头时,响应其它簇的测距请求。



      (2)待测节点的软件设计待测节点和参考节点的硬件模块相同,在软件上实现功能分区。待测节点工作流程:



       1)系统初始化:包括初始化UART口、系统时钟等;


       2)发送广播。广播的内容为空,目的是统计在通信范围内参考节点的数目以及待测节点的数目。



      3)接收数据。若接收的广播,并储存该中心节点的MAC地址;若接收的是参考节点的响应数据,则储存该参考节点的MAC地址,并计算接收到的参考节点数目K;若接收的是其他待测节点的响应数据,则储存其他待测节点的MAC地址。


     4)发送测距请求。在步骤3)中,若,则向储存了MAC地址的参考节点发送测距请求,待测节点和参考节点间进行测距;若,则同时向储存了MAC地址的参考节点和其他未知节点同时发送测距信息,待测节点和参考节点、待测节点和待测节点间进行测距。



     5)返回距离信息给中心节点。最后将收到的完整测距信息以数据包的形式发送给中心节点进行位置估计。



       6)测距结束。若收到中心节点回应的数据包,则表示中心节点已收到距离信息,这一轮测距过程结束。其软件流程图:接收数据,储存参考节点数K发送测距请求返回测距信息给中心节点测距结束接收数据,储存参考节点数K开始(3)参考节点的软件设计参考节点和待测节点的硬件设计与中心节点设计相似,只是由于不用处理太多数据,故采用单片机作为主控芯片。参考节点采用无线测距模块STM8,其MCU采用STM8L151单片机,可以很好的完成节点各个模块的控制,测距模块NA5TR1采用对称双边两路测距方法(SDS-TWR),SDS-TWR类似于TOF方式可很好的完成测距的功能。Memory存储升降车臂架的位置信息与距离信息,实现发送测距请求和响应测距请求,该移动节点具有无线测距功能与信号发送功能。参考节点接受待测节点发出的广播,并响应待测节点以数据包的形式发送自身的MAC地址给待测节点;当收到待测节点测距请求时则一直响应节点的测距请求进行测距。




      中山三乡出租升降车, 中山三乡租赁升降车, 中山三乡升降车








分享到:
点击次数:912  更新时间:2017-07-03  【打印此页】  【关闭

Copyright © 2009-2014,恒越(广州)升降车租赁有限公司,All rights reserved