您的位置 首页 > 数码极客

「labview如何跟单片机连接」如何将两个单片机连接!

孙春虎,陈海波,方愿捷

(巢湖学院 机械与电子工程学院,安徽 巢湖 238000)

基于LabVIEW设计了一种飞行器加速度、角速度及姿态角测量平台系统。硬件系统采用计算机、6轴惯性导航模块及USB转TTL模块;软件系统基于LabVIEW编写了飞行器加速度、角速度及姿态角的三维数据测量平台系统。该系统还可应用于船舶、汽车导航系统的加速度、角速度及姿态角的三维数据测量显示。实验结果表明,该系统易于控制,能方便地观察加速度、角速度及姿态角的三维数据曲线,并且当6轴惯性导航模块改变状态时,输出曲线均能随之改变并能快速达到新的稳定状态。

6轴惯性导航模块; USB转TTL模块;LabVIEW;串口通信

通过对飞行器的实时加速度(惯性)的测量,并进行积分,可获得飞行器实时速度和实时位置数据。根据惯性导航系统,从当前点的位置根据连续测得的运载体航向角和速度可推算出其下一点的位置,因而可连续测出飞行器的当前位置。实时角速度是飞行器研制过程中很重要的参数之一,它决定了飞行器能否稳定飞行,因而在飞行器飞行时必须知道每一时刻的飞行器角速度。飞行器姿态角的测量意义在于确定飞行器的当前姿态,以便进行姿态控制[1]。

本文利用计算机、6轴惯性导航模块及USB转TTL模块,结合Labview软件实现飞行器加速度、角速度及姿态角的三维数据测量显示。该系统还可应用于船舶、汽车导航系统的加速度、角速度及姿态角的三维数据测量显示。

实验结果表明该系统易于控制,能方便地观察加速度、角速度及姿态角的三维数据曲线,并且当6轴惯性导航模块改变状态时,输出曲线均能随之改变并快速达到新的稳定状态。

1测量系统总体设计

测量系统总体设计如图1所示。

测量系统总体设计包括:计算机系统、USB转TTL模块及6轴惯性导航模块。计算机系统主要是装有LabVIEW软件的计算机,USB转TTL模块用于计算机系统与6轴惯性导航模块的相互通信,6轴惯性导航模块用于测量实时加速度、角速度及姿态角。

2测量系统硬件设计

测量系统硬件设计主要包括:USB转TTL模块设计和6轴惯性导航模块设计。

2.1USB转TTL模块设计

由于USB串口采用的是RS232电平,为负逻辑,而6轴惯性导航模块采用的是TTL电平,为正逻辑,因而要使两者通信就必须进行电平转换,以实现电平的一致性。USB转TTL模块原理图[2]如图2所示。

USB转TTL模块通过USB口的管脚1供电,管脚2、3用于电脑发送或接收RS232电平数据,P1口用于6轴惯性导航模块发送或接收RS232电平数据。

2.26轴惯性导航模块设计

6轴惯性导航模块[3]采用高精度陀螺加速度计MPU6050,模块内部集成了姿态解码器,结合动态卡尔曼滤波算法,姿态测量精度0.01°,稳定性极高;数据输出接口有串口和I2C口,I2C接口可以满足高级用户访问底层测量数据的需求,但无姿态输出,且所测数据均为X、Y、Z轴上的三维数据;波特率有115 200 bit/s和9 600 bit/s两种模式,对应的数据输出帧率分别为100 Hz和20 Hz。6轴惯性导航模块管脚图如图3所示。

由图3可知:管脚1~4用于串口数据通信,管脚5~8用于I2C口数据通信,本文选用串口数据通信。

3测量系统数据包内容和计算公式分析

测量模块发送到计算机的每帧数据分为3个数据包,分别为加速度包、角速度包和姿态角包。由于这3个数据包分析方法相同,这里只以姿态角包为代表进行内容和计算公式的分析。

姿态角包的内容如表1所示。当计算机接收到连续两个数据内容为0x55、0x53时,则可判断此时接收到的数据包为姿态角包;从下一个数据开始的连续6个数据为X、Y、Z轴上的三维数据;每维数据为16 bit,以低字节、高字节的次序传送。

姿态角X、Y、Z轴上的三维数据(滚转角、俯仰角和偏航角)计算公式如式(1)、式(2)、式(3)所示。

由式(1)、(2)、(3)可以看出:计算滚转角、俯仰角和偏航角时都需要将高字节数据左移8 bit,然后与低字节按位或得到16 bit数据,再除以32 768,最后乘以180即可得到各自角度。若此时16 bit数据小于32 768时,则此时角度为正值;否则此时角度为负值。

4测量系统软件设计

测量系统软件设计包括:前面板设计;串口读写设计;加速度、角速度和姿态角度读取及计算设计;加速度、角速度和姿态角显示设计。

4.1前面板设计

前面板设计[4]如图4所示。 通过前面板可以对串口号、波特率、数据位等通信参数进行设置;加速度、角速度和角度输出控制开关可以在波形图表上显示相关量的三维数据曲线;AX、AY、AZ为加速度三维数据显示;WX、WY、WZ为角速度三维数据显示;RX、RY、RZ为姿态角三维数据显示。

4.2串口读写设计

VISA配置节点用于通信的初始化设置;VISA写节点用于向6轴惯性导航模块写入初始化控制字,以选择通信接口模式和波特率设定;延时500 ms是使6轴惯性导航模块有足够的时间完成初始化;VISA串口字节数节点用于统计输入缓冲区的字节数;VISA读节点从读取缓冲区读取指定字节数的数据。串口读写设计[5~6]如图5所示。

4.3加速度、角速度和姿态角读取及计算设计

由于加速度、角速度和姿态角读取及计算过程相似,这里只以姿态角为代表进行读取和计算设计。姿态角读取与计算设计[7]如图6所示。

搜索1维数组函数用于找到角度包的包头及在数组中的位置;然后就可以根据表1和式(3)求解角度的三维数据RX、RY、RZ;图中子VI函数实现姿态角的正负值判别与处理。

4.4加速度、角速度和角度显示设计

加速度、角速度和姿态角显示设计的目的是:当这3个控制开关任何1个按下时,波形图表应显示该控制量所对应的三维数据曲线。如果同一时刻有两个以上按键按下,那么在1个波形图表上将显示6条或9条数据曲线,造成相互重叠且不方便观察,因此,任一时刻只允许1个控制按键按下,显示3条曲线。程序框图[8]如图7所示。

5测量系统实验结果及分析

实验1:将串口设为COM4、波特率9 600 bit/s、数据位8位、停止位1位、无校验位;根据系统总体图连好硬件,并把6轴惯性导航模块放在某一固定位置保持不动;分别打开加速度、角速度和姿态角开关,运行LabVIEW程序;所得到对应的三维数据曲线如图8~图10所示。

实验2:将串口设为COM3、波特率9 600 bit/s、数据位8位、停止位1位、无校验位;根据系统总体图连好硬件,并把6轴惯性导航模块先放在某一固定位置;打开姿态角开关,然后运行LabVIEW程序;等输出波形稳定后,再把6轴惯性导航模块放到另一固定位置。所得到姿态角的三维数据曲线如图11所示。

由图8可以看出,此时加速度三维数据AX、AY、AZ输出波形还是很稳定的,且AX≈1.04 m/s2、AY≈1.09 m/s2、AZ≈10.42 m/s2。

由图9可以看出,此时角速度三维数据WX、WY、WZ输出波形还是较稳定的,且WX≈-1.71 rad/s、WY≈0.79 rad/s、WZ≈-1.16 rad/s。

由图10可看出,此时姿态角三维数据RX、RY、RZ输出波形是非常稳定的,且RX≈5.80°、RY≈-5.54°、RZ≈0°。

由图11可看出,当6轴惯性导航模块位置改变时,姿态角三维数据RX、RY、RZ输出波形也会快速改变并进入一种新的稳定状态,且稳定时RX≈17.28°、RY≈-5.52°、RZ≈-2.46°。

由实验1、实验2可得出结论:该加速度、角速度及姿态角检测系统还是很稳定和精确的;且当6轴惯性导航模块位置改变时,检测系统也能快速响应并显示新的稳定位置数据,具有很强的实时显示特性。

6结论

本文所设计的飞行器加速度、角速度和姿态角测量显示系统具有较强的稳定性和精确性;并能对飞行器的位置变化产生快速响应和实时显示特性。所设计的飞行器加速度、角速度和姿态角测量系统具有一定的参考与应用价值。

参考文献

[1] 黄和悦.DIY四轴飞行器--基于MSP430F5系列单片机与Android[M].北京:电子工业出版社,2004.

[2] 郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009.

[3] 李尧.四旋翼飞行器控制系统设计[D]. 大连:大连理工大学,2013.

[4] 张重雄,张思维.虚拟仪器技术分析与设计[M]. 北京:电子工业出版社,2012.

[5] 李晴.基于Labview的串口通信应用[J]. 常州信息职业技术学院学报,2009,8(3):8-10.

[6] 吕向锋,高洪林,马亮,等.基于LabVIEW串口通信的研究[J]. 国外电子测量技术,2009,28(12):27-29.

[7] 畅国忠,周泓,余锋,等.基于VISA的事件处理方法与实现[J]. 测控技术,2009,19(9):45-48.

[8] 卢海峰,江朝元,阳小光.基于串口通信的在线监测系统关键技术研究[J]. 仪器仪表学报,2006,27(S3):2043-2044.

AET会员年终大福利!

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“labview如何跟单片机连接,如何将两个单片机连接,labview怎么和单片机连接,labview和51单片机怎么连接毕业设计,单片机怎么和labview上位”边界阅读