(SKU:TEL0005)APC220 USB无线数传1000米传输距离

来自DFRobot Product Wiki
跳转至: 导航搜索
APC220.jpg

目录

概 述

这个模块是为了做ROBOT而选择的东东。当然,如果你有更好的想法,比如用于无线防盗报警器、远程遥控、数据交换、手持终端PDA、无线耳机、数字视频、无线鼠标、无线键盘以及其他短距离高速无线应用等,他也能够完全胜任。我们做ROBOT的想法是:把大部分功能集成化,从而解放主CPU。

APC220模块是高度集成半双工微功率无线数据传输模块,其嵌入高速单片机和高性能射频芯片。创新的采用高效的循环交织纠检错编码,抗干扰和灵敏度都大大提高,最大可以纠24bits连续突发错误,达到业内的领先水平。 APC220模块提供了多个频道的选择,能够透明传输任何大小的数据,而用户无须编写复杂的设置与传输程序,并提供UART/TTL接口。同时小体积,宽电压运行,较远传输距离,丰富便捷的软件编程设置功能,使APC220模块能够应用与非常广泛的领域。了解更多 APC220 介绍


性能描述

基本参数 性能参数
  • 电源 3.3 – 5.5V (±50mV 纹波)
  • 发射电流 ≦35mA@10mW
  • 接收电流 ≦30mA
  • 休眠电流 ≦5uA
  • 传输距离 1000米传输距离 (开阔地可视距离)
  • 工作湿度 10%~90%(无冷凝)
  • 工作温度 -20℃ - 70℃
  • 尺寸 37mm x 17mm x 6.5mm
  • 工作频率 420MHz to 450MHz (1KHz步进)
  • 调制方式 GFSK
  • 频率间隔 200KHz
  • 发射功率 20mw (10级可调)
  • 接收灵敏度 -117dBm@1200bps
  • 空中传输速率 1200 - 19200bps
  • 接口速率 1200 - 57600bps
  • 接口效验方式 8E1/8N1/8O1
  • 接口缓冲空间 512bytes



引脚定义

APC220 pinNumber17new1.jpg
标号 定义 说明
1 GND GND
2 VCC 3.3V-5V
3 EN 电源使能端,≥1.6V或悬空使能,≤0.5V休眠
4 RXD URAT输入口,TTL电平
5 TXD URAT输出口,TTL电平
6 AUX URAT信号,接收为低,发送为高
7 SET 设置参数,低有效

设备互联方式


教程

本教程将引导您学习 如何实现电脑和 Arduino 的无线通讯。在实验结束时,您可以在电脑上收到从 Arduino发送的“Hello!”。

准备

  • 硬件
    • APC220 模块 x2
    • USB 转串口 x1
    • Arduino 控制板 x1
    • USB 线A-B for Arduino x1


注意
  • 本实验中我们的 Arduino 控制板用的是 Romeo(Leonardo)。在代码中它使用 Serial1 而不是 Serial。如果您使用其他类型的控制板,例如: Uno, Mega, Bluno 等等。请将 Serial1.println() 修改为 Serial.println(),否则您将无法下载代码。
  • Arduino IDE 1.6.* 由于软件问题,不能正常显示/收发数据。


模块配置

1 将天线旋紧在 APC220上,将其插在 USB转串口 上,最后再查到你的电脑上。
APC220assemble.jpg
2 下载并安装 USB转串口 的驱动。前往 Silicon Labs 下载相应驱动
3 打开设备管理器,找到您的 USB转串口 的串口号,这里是 COM8
CheckserialAPC220.png
4 用管理员身份双击打开应用 APC22X_V12A.exe (即:RF-magic ) Windows XP可以直接打开。 阅读:【英文】如何避免每次都需要管理员身份打开?
APC220RunAPCSTART.png

注意:打开软件后,软件将自动打开串口,并有提示。如果提示打开串口失败,请用 管理员身份打开 或者 从设备管理器中将默认的串口号改为较小的串口号,如:“COM1”。


5 按照下图中红色标注里的参数配置(默认值),点击 写入 Write W
设置 选项 默认参数
收发频率(RF frequency) 420MHz-450MHz(分辨率1KHz,精度±100Hz) 434MHz
空中速率(RF TRx Rate) 1200,2400,4800,9600,19200bps 9600bps
输出功率(RF Power) 0-9 9
串口速率(Series Rate) 1200,2400,4800,9600,19200,38400,57600bps 9600bps
网络地址码(NET ID) 0-65535(16位) 12345
节点地址码(NODE ID) 123456789012
串口效验(Series Patity) Disable,Odd Patity,Even Patity Disable


6 对另外一块 APC220进行相同的配置。


通信测试


1 将一块插在电脑上,另一块插到 Arduino上(如果没有 相应的接口,可以单独按照管脚说明接线)。


2 上传程序。

注意:请将 Serial1修改为 Serial如果您的 Arduino控制板是 Uno, Bluno, Mega 或其他使用串口0的设备。



//The sketch is tested on: Romeo v2 (Leonardo)
void setup() 
{
  Serial1.begin(9600);          //Set serial baud rate to 9600
} 

void loop()
{
  Serial1.println("Hello!");    //print out hello string 
  delay(1000);                  //1 second delay
}


3 用串口助手或 Arduino串口监视窗打开COM8,您将看到“Hello!” 每隔一秒打印在电脑的窗口上。 (注意:Arduino IDE 1.6.5 不能正常显示)


疑难解答

Q 1. 设备之间不能正常通讯,是什么原因?

A: 1.两端的通讯协议不一致,如:波特率,校验不一致。

2.两端的频点,空中波特率不一致。

3.不是同一系列产品。

4.电源连接不正常。

5、模块已损坏。

6.模块EN脚设置错误

7.通讯距离超过范围,或天线接触不良。

Q 2. 传输距离很近,根本没有所谓的1km?

A:

1.电压超过范围。

2.电源纹波过大。

3.天线接触不良或天线类型不对。

4.天线过与靠近金属表面或模块接地面积太小。

5.接收环境恶劣,如建筑物密集,有强干扰源。

6.有同频干扰。

Q 3. 使用注意事项:

A:

考虑到空中传输的复杂性,无线数据传输方式固有的一些特点,应考虑以下几个问题。

1)无线通信中数据的延迟

由于无线通信发射端是从终端设备接收到一定数量的数据后,或等待一定的时间没有新的数据才开始发射,无线通信发射端到无线通信接收端存在着几十到几百毫秒延迟(具体延迟是由串口速率,空中速率以及数据包的大小决定),另外从无线通信接收端到终端设备也需要一定的时间,但同样的条件下延迟时间是固定的。

2)数据流量的控制

APC220模块虽然有512bytes大容量缓冲区,但若串口速率大于等于空中速率,则存在数据流量的问题,可能会出现数据溢出而导致的数据丢失的现象。在这种情况下,终端设备要保证串口平均速率不大于60%空中速率,如串口速率为9600bps,空中速率为4800bps, 终端设备每次向串口发送100字节,那么终端设备每次向串口发送的时间约104ms,(104ms/0.6)*(9600/4800)=347ms,所以终端设备每次向串口发送100字节每次间隔不小于347ms,以上问题则不会出现。

3)差错控制

APC220模块具有较强的抗干扰能力,在编码已经包含了强大的纠检错能力。但在极端恶劣的条件下或接收地的场强已处于APC220模块接收的临界状态,难免出现接收不到或丢包的状况。此时客户可增加对系统的链路层协议的开发,如增加类似TCP/IP中滑动窗口及丢包重发等功能,可大大提高无线网络的使用可靠性和灵活性。

4)天线的选择

天线是通信系统的重要组成部分,其性能的好坏直接影响通信系统的指标,用户在选择天线时必须首先注重其性能。一般有两个方面,第一选择天线类型;第二选择天线的电气性能。选择天线类型的意义是:所选天线的方向图是否符合系统设计中电波覆盖的要求;选择天线电气性能的要求是:选择天线的频率带宽、增益、额定功率等电气指标是否符合系统设计要求。因此,用户在选择天线时最好向厂家联系咨询,APC220 要求的天线阻抗为50欧姆。

5)电源方面

此模块电源以外的其它管脚的工作电平应保证:同模块的电源电压一致,否则会损坏模块。


更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!


Nextredirectltr.png DFRobot 商城购买链接

个人工具
名字空间

变换
操作
导航
工具箱