基于蓝牙通信的机器人足底压力采集系统设计毕业论文
2020-02-18 11:57:20
摘 要
机器人的足底压力是其可以流畅行走的重要参数。一般的有线技术难以实现远距离的数据传输,而且过多的导线会影响到机器人的正常行走,但基于蓝牙的无线传输有着相对较远的覆盖范围以及出色抗干扰能力,成为实现足底压力数据传输的重要手段。
本次设计以蓝牙5.0作为主要的数据传输手段,以MPX4115气压式压力传感器来实现对机器人足底压力的收集。先是MPX4115收集压力信息并转化为相应的电压输出,然后ADC0832对其进行模数转换,之后送给单片机,单片机对之前的整个压力采集进行控制。蓝牙通信部分以NRF52832来实现,NRF52832接收来自单片机的数据,通过蓝牙协议栈将其转换为数据帧格式,并发送给手机蓝牙串口APP,实现在手机上的显示。
实现了通过蓝牙5.0对机器人足底压力数据的采集,并且使数据在手机上显示,方便观察以及控制。
关键词:蓝牙协议栈;NRF52832;MPX4115;ADC0832;蓝牙通信
Abstract
The sole pressure of the robot is related to whether it can walk normally, so the collection of plantar pressure is very important. The general wired technology is difficult to achieve long-distance data transmission, and too many wires will affect the normal walking of the robot, but the Bluetooth-based wireless transmission has relatively long coverage and excellent anti-interference ability, and becomes the foot pressure data. An important means of transmission.
This design uses Bluetooth 5.0 as the main data transmission means, and uses MPX4115 pneumatic pressure sensor to realize the collection of the foot pressure of the robot. First, the MPX4115 collects the pressure information and converts it into the corresponding voltage output. Then the ADC0832 performs analog-to-digital conversion on it, and then sends it to the MCU. The MCU controls the previous pressure acquisition. The Bluetooth communication part is implemented by NRF52832. The NRF52832 receives the data from the MCU, converts it into a data frame format through the Bluetooth protocol stack, and sends it to the Bluetooth serial port APP of the mobile phone to realize the display on the mobile phone.
The acquisition of the foot pressure data of the robot through Bluetooth 5.0 is realized, and the data is displayed on the mobile phone for convenient observation and control.
Keywords:Bluetooth protocol stack; NRF52832; MPX4115; ADC0832; Bluetooth communication
目录
第1章绪论 1
1.1背景 1
1.2国内外现状 1
1.3研究意义 2
1.4设计内容 3
1.4.1当前研究现状 3
1.4.2设计思路 4
第2章总体设计 5
2.1蓝牙通信的功能 5
2.2蓝牙通信的原理 5
2.2.1蓝牙信号的传输 5
2.2.2蓝牙信号的转化 6
2.3设计流程图 8
2.3.1采用电位器实现 8
2.3.2采用MPX4115实现 9
2.5方案选择 10
2.5.1方案一 10
2.5.2方案二 10
第3章模块设计 11
3.1蓝牙模块 11
3.1.1芯片介绍 11
3.1.2工作原理 12
3.2压力采集模块 15
3.3降压电路 20
第4章硬件设计与调试 22
4.1硬件检验 22
4.2硬件连线 24
4.3硬件调试及结果分析 25
第5章程序编写 28
5.1数模转换程序 28
5.2蓝牙通信程序 31
第6章总结与展望 36
6.1总结 36
6.2展望 36
参考文献 37
致谢 38
第1章绪论
随着时代的发展,无线技术变得越来越成熟,其中蓝牙技术更是发展迅速。蓝牙作为短距离数据传输手段,得到了人们的普遍认可。
1.1背景
为了适应技术的发展,传统的有线通信方式已经无法满足人们对于外观、简便的需求,在这个背景下,蓝牙无线技术出现了。蓝牙以提供一种短距离、低成本的无线传输应用技术作为自己的主要目标[1]。后来大多数企业开始研究蓝牙技术,蓝牙技术体现了其自身的价值,这暗示着本世纪会迎来蓝牙浪潮。现在,蓝牙技术得到了广泛的应用,基本上所有的电子设备都配有蓝牙,蓝牙显然已经成为了短距离信息传输不可或缺的一个手段。当然它之所以如此热门,也在于其自身的价值,比如本次设计我研究的主要内容是用蓝牙通信实现对机器人足底压力的采集。脚是一个人走路的前提,相信没有人希望自己脚上有一个绳子套着,这就好比机器人走路时我们不希望有导线环绕在其脚上一样,在这种情况下,蓝牙技术就成为了十分重要的手段。蓝牙可以实现短距离的无线通信,这就给了机器人得以正常走路的可能性。先通过压力传感器将机器人脚底的压力进行收集,然后将压力传感器得到的数据送给NRF52832,然后NRF52832就通过蓝牙将数据发送给手机,如此一来我们就可以直接通过手机观察到压力数据,这样极大的方便了数据的收集,并且使得机器人的外观更加的拟人化,走路姿势更加的自然,不会出现僵硬的情况。
1.2国内外现状
随着科技的不断进步,因特网的普及,加大了人们对电脑之外的网络服务的需求。蓝牙可以时时刻刻、随时随地的实现短距离的数据传输,实现了便捷的通讯[2]。蓝牙技术有着相对悠久的历史,九四年,爱立信公司开始了对蓝牙技术的研究工作,计划着通过一种短距离通讯实现手机与电脑的相互关联。
1998年2月,Ericsson,Nokia等多家公司共同组建蓝牙兴趣小组[3]。他们的目标明确,致力于开发一种小范围无线通信,这种技术是全球适用的。蓝牙技术的存在就是为了使各种移动电子设备实现短距离的无线数据传输[4]。蓝牙是对外显示的,它可以穿透墙壁或者其他阻挡物,非常灵活。它不仅可以应用于手机、电话,也可以用于图像处理设备、家用电器以及娱乐等等很多方面[5]。所以,我们可以看到蓝牙通信在不久的将来会成为短距离无线通信的一个主流的方式。现在社会的高级阶段应该保证每个人、每件智能设备都能时时刻刻方便的联网,蓝牙技术就是应用于这一方面的,通过使用跳频扩谱、时分多址、码分
多址等先进技术,进而实现对短距离设备的无线连接而实现数据信息传递。蓝牙产品的体积虽然都不大,但是市场确实很大。
近几年,蓝牙虽然有所发展,但还没有到普及的地步就是因为它的价格问题,蓝牙的价格相对来说还是有些偏高了。对于蓝牙价格,最吸引眼球的就是在十几年前CSR公司退出来单片蓝牙芯片8美元的超级低价,这就使得开发者和投资者对蓝牙充满了信心。现在,所有获得蓝牙认证的产品已经有几百种,其中,蓝牙PCMCIA卡是一个比较成熟的蓝牙产品;除此之外,还有自动售货机、自动导游系统、蓝牙相机、打印机等产品[6]。如下图所示,现在蓝牙贯穿在各种领域,电脑、手机、平板、打印机甚至空调和冰箱等等都可以由蓝牙来实现短距离的数据传输进而达到无限控制的目的。因此蓝牙可以说在短距离数据传输方面有着不可代替的作用,前景无限[7]。
图1.1 蓝牙的应用图
随着蓝牙技术由手机、耳机和汽车等领域向物联网、医疗等新领域不断的延伸,人们也对蓝牙低功耗这一项技术越来越看重。蓝牙4.0协议版本是在3.0高速版本的基础上增加了低能消耗协议部分。比如,嵌入式设备要求能耗非常低,但传输速率的要求却不是很高,这种时候就可以仅实现4.0协议中的低能耗蓝牙部分,进而与主机设备通信[8]。
1.3研究意义
蓝牙的前景可以说是非常可观的,它可以应用于电子传感器的数据传输,由于蓝牙技术在短距离传输的时候不仅速度快而且不论方向与地点,它能够将设备之间小范围的数据传输变得更加快速的能力;其次就是智能家居方面,在蓝牙Mesh技术推出后,具备蓝牙功能的智能设备就可以被手机或电脑直接操纵,Mesh网络使得智能门锁、灯光控制以及智能家电等采用了蓝牙技术的设备实现协作,进而实现多点通信。比如,在外面就能通过蓝牙设备远程控制家电以及及时获得电子设备的有关信息[9]。而且,蓝牙设备在医疗领域也可以有不俗的以用途。比如,利用蓝牙低功耗技术对患者进行实时的心跳血压的监控,然后将所测得的数据进行科学的分析,这样就能够及时的控制住疾病。
可见,蓝牙技术应用领域之广,它可以说会给近距离通信带来一场改革,它的市场前景广阔,几乎我们生活中的与短距离数据传输有关的都可以用蓝牙实现。蓝牙的研究发展不仅是一个大的挑战更加是一个我们突破的机会,帮助我们站在世界领先地位的机会,蓝牙技术是顺应社会发展趋势的[10]。也许未来我们会有更加快捷、方便的通讯手段,但不可否认的是未来的几年,蓝牙依旧还是一个主要的研究方向,而我国对于蓝牙的研究则是顺应潮流的、紧跟世界发展趋势的体现,这是不可避免的。我相信,在未来蓝牙技术会成为一个主流的短距离的通讯手段。
1.4设计内容
1.4.1当前研究现状
目前,机器人足底压力采集的研究通常是使用有线技术进行采集,这样采集到的数据其实是不具备准确性的。在采集的过程中,导线会对机器人的脚或者腿形成阻力,也许可以用更好材质的导线来降低这种阻力,但是肯定会给其带来影响。而且根据脚掌的形状,至少需要6个传感器才能采集到比较准确的压力,甚至可能需要更多,这也就表示需要更多的导线才可以完成信息的传输,如此一来造成的误差将会越来越大,而且过多的导线会产生一定的磁场,这样就可能诞生另一个误差来源,磁场会使机器人出现不协调的动作,也许是变快,也许是变慢又或者是发生偏移等等,这无疑是增加了我们对其控制的难度。所以一种可以替代导线的、信息传输稳定的无线通讯技术显得尤为重要。
1.4.2设计思路
蓝牙,作为近几年诞生的有着短距离通讯功能、强大的抗干扰能力以及强大的穿透力的无线技术,成为了机器人足底压力采集的不二手段。本次设计中,蓝牙通信为我的主要方向,以蓝牙通信实现对机器人足底压力的采集则是我的主要目的。
我将本次设计分成两个大部分,一个是压力数据的采集,一个蓝牙通信的数据传输。压力数据采集模块原先打算以MPX4115进行仿真,然后再做实物来实现的。仿真方面打算使用Protues,先是以MPX4115对压力进行采集,然后将采集到的压力数据送到ADC0832,之后再将转换后的数字信号送给51单片机,这样压力采集模块基本完成。
然后再将单片机与NRF52832连接,此处由于单片机与NRF52832正常工作的电压不同可能需要降压器来将电压由5V降到3V。在NRF52832与单片机连接之后通过J-LINK与电脑进行连接来实现对NRF52832程序下载,之后通过程序实现NRF52832主从设备的连接,最后在手机上通过NRF-Connect来与NRF52832连接,进而实现数据的传输。
图1.2 无线技术下的传感器分配图
如图1.2,实在蓝牙技术下的足底传感器分配图,可以看到传感器的数量有了明显的增加,图中的7表示以无线通信技术实现对数据的采集,其他数字1、2、3、4、5、6、8标明的就是传感器安装的位置。因为在无线技术的支撑下机器人的外部已经没有导线了,如此一来就可以在不增加误差的前提下增加传感器的数量来获得更加准确的数据。
可以看到,蓝牙技术对机器人技术的作用之大,也可以看到基于蓝牙通信的机器人足底压力采集这个课题对机器人技术的发展有着重大的意义,还可以看到蓝牙技术的潜力之大,未来将是一个不可替代的技术。
第2章总体设计
2.1蓝牙通信的功能
蓝牙可以实现数据传输,它使用无线电技术传输范围可以达到几百米远,并且受阻碍物的影响小;采用了跳频的技术,有着比较强的抗干扰能力,不仅如此,它还有着低功耗以及低成本的优点。不过有点美中不足的是,蓝牙的传输速度相对慢一点,所以一般只适用于传一些比较小的数据,但像传输机器人足底压力数据是足够的。蓝牙功能强大,早期,它可以应用于电话与其他设备之间的无线通讯,往后随着电子信息产业的蓬勃发展,蓝牙功能越发强大。电脑间的无线网络、电脑与鼠标、耳机之类的蓝牙设备的连接;有线设备的无线化,比如交管设备、医用器材这些东西都有涉及到蓝牙通信,因为蓝牙通信可以实时的进行数据传输,而且不易被干扰,不仅如此,蓝牙通信功耗还十分的低,可以说是比较完美的一款产品。
图2.1 蓝牙的功能图
一般蓝牙的有效传输距离在100m以内,不过这次设计中我们使用的是蓝牙5.0,蓝牙5.0有着更高的灵敏度,所以可以传输更远的距离,大概可以达到300米。上图是一些可以使用蓝牙进行短距离传输的设备,可见,蓝牙应用的领域可以说是多的数不清,其实在我们生活中很多地方都涉及到了蓝牙,比如蓝牙耳机、手机和电脑之间的数据传输等等,只要我们细心观察就可以发现很多。
2.2蓝牙通信的原理
2.2.1蓝牙信号的传输
蓝牙的研究发展不仅是一个大的挑战更加是一个我们突破的机会,帮助我们站在世界领先地位的机会,蓝牙技术是顺应社会发展趋势的[10]。
蓝牙信号的发送经过下面几个过程。呼叫过程:蓝牙设备呼叫之前必须要扫描,即要扫描到从设备后才能进行呼叫。扫描到目标从设备后就可以进行匹配了,配对成功之后就可以对从设备进行呼叫,其实也就是和他建立数据传输通道。之后,主从设备就可以进行双向的数据传输,并且当在通信的状态下,主从设备可以实现断开,进而切断通道[12]。数据传输:数据的传输又分成两种情况,一种是只可以与指定的设备进行数据的传输,一种则是可以与任何成功配对的数据进行数据传输。蓝牙协议栈可以将数据封装为数据包,然后通过指定的频道传输数据包,频道开始于2402MHZ,每1MHZ一个频道,直到2480MHZ才结束[13]。
图2.2 蓝牙模块的传输构架图
上图是蓝牙模块与单片机的连线图,在图中可以看到蓝牙模块的VCC与单片机的VCC连接,GND是一样的,TX则表示了数据的发送连接单片机的RXD,RX则表示了数据的接收连接单片机的TXD。最后,NRF52832再通过手机蓝牙连接而进行数据的传输,手机在接收到数据后整个过程才算是结束。
2.2.2蓝牙信号的转化
NRF52832是通过BLE低功耗蓝牙协议栈来实现蓝牙信号的发送的,这里对其实现过程进行简单的描述。低功耗蓝牙协议栈包括PHY(物理层)、LL(链路层)、HCI、GAP层、L2CAP层、SMP、ATT、GATT。蓝牙协议栈就是将要传输的数据进行打包,使之变成长度为20个字节的数据帧,除去帧头与帧尾中间的就是其数据的内容。要是追根究底的话就会复杂一点,首先,需要调用send函数,该函数的工作流程则可以再次细分。这里先对send函数进行一个简要的介绍。首先,定义了一个形式参数,接着进行一个循环,直到将一串字符串发送完毕则跳出循环,至此需要发送的数据就算是成功发送了。
对于一个数据,先是GATT层定义数据的类型并且对其进行分组,然后就是ATT层来选择具体的通信命令,比如读或者写之类的,接着L2CAP用来指定connection interval,也就是连续间隔,比如5ms同步一次,同时它还会指定逻辑通道编号,之后把ATT数据长度加在包头;最后则是LL层用来确定传输的物理信道的,然后给这个信道分配一个Access address,来表示A与B相连接,紧接着加上LL header和payload length字段,前者表示这个包为数据包而不是控制包,后者则表示整个L2CAP字段长度,最后加上CRC24字段来保证整个包的数据完整性。这就是蓝牙信号转换的过程。
图2.3 BLE蓝牙协议栈构建图
2.3设计流程图
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: