8689| 3
|
无线编程模块(WPM)测试 |
综述 Wireless Programming Module(无线编程模块),顾名思义,就是不用USB数据线就可以对控制器进行编程的模块。DFRobot开发的这款WPM可以可以通过兼容XBee模块的扩展板来实现对Arduino全系列控制器在一定距离范围内进行无线编程。而且还可以用作通用的无线数据传输装置。下表给出了这款无线编程模块的基本参数:
配置 在测试之前需要先对WPM模块进行波特率,时限等参数的配置,从而使发射端和控制器上的接收端之间相互匹配,能够实现正常的编程和通信。这款模块本来是通过写寄存器(Register)的方式进行配置的,寄存器功能如下:
但是,为了方面使用,DFRobot写了一款软件(WirelessProgrammer)可以直接对其进行配置,这样就避免了因为对那些指令集的不了解而无法进行配置的情况。设置工具可以在其官网进行下载。设置的内容包括:波特率,空中波特率,时限和载波频率。软件的使用简单明了,在此不再赘述。下载地址见附件。
(设置软件的界面) 在配置之前要保证模块的拨码开关“Mode”和“Prog-EN”分别在“On”和“Off”的位置上。此时模块上的蓝色LED灯发亮。如下图:
随后就可以对模块进行波特率,时限等参数进行配置。配置完成后需要把拨码开关“Mode”拨向“Off”位置,也就是使能无线收发模式。
硬件清单 Wireless Programming Module:一对 4.8V电池:一块
完成连接后如下图所示:
测试 测试内容包括在开发板固有的波特率下,最远的烧写距离。以及在不同波特率下模块的最远通信距离和丢包率(数据包的丢失率,包括错误的数据和遗失的数据)。 在进行无线编程的时候,需要用转接帽把开发板接到APC无线通信模块。也就是下图用红线圈住的部分:
由于这块板子系统的设定,只有在57600这个波特率下可以无线烧写。在其他的波特率无法进行编程,只能先通过USB接口把程序烧写到控制器里,才能进行通信。经过测试,烧写距离最大可以达到13m(空旷环境,57600波特率下),这个距离在同类产品当中还是有很大的优越性的。当然,不同的控制板,系统内的波特率可能有所差别,这点需要根据实际情况进行测试,然后才可以无线编程。 通信距离测试分为无障碍和有障碍两种情况。障碍环境指的是模块在室外,发送端在室内,中间隔着一道玻璃门,而且控制器和接收端在一个纸盒里。需要说明的是,我把最远距离定义为在保证丢包率低于15%的情况下尽可能远的距离。测试代码的内容是发送从0-99包括100个数字的数组。 测试结果如下:
说明:记最远通信距离为a,不会出现数据丢失的最远距离为b,当一对WPM之间的距离大于b的时候,开始出现数据丢失,并且随着距离的增大数据丢失和错误越来越严重。
测试结果简析 从结果可以明显看出在无障碍环境下,波特率设置的越高通信距离越远。而在有障碍的环境下,最远通信距离没有太大的区别。原因是载波在通过门和纸盒后,它的衰减率是一样的,但是在到达接收端的时候,系统又足以把负载的信息解调出来,所以出现了这种结果。 对于丢包率,为了更加准确的测试,每个波特率下都发送了5次数据。然后取平均值。在不同的环境下测试,得到的结果也是有区别的,所以只是给出一个范围。以用户实际测试的结果为准。
转自:http://www.roboticfan.com/?p=218
|
129.89 KB, 下载次数: 3254
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed