zoukankan      html  css  js  c++  java
  • 无线传输模块HC-12

    无线传输模块HC-12使用

      

      因为实验室的无人机需要使用一款无线传输模块进行遥控控制,我们讨论的中测试了HC-12,并对HC-12传输距离进行了简单测试。在此做下使用记录。

    模块概述

       HC-12 无线串口通信模块是新一代的多通道嵌入式无线数传模块。无线工作频段为433.4—473.0MHz,可设 置多个频道,步进是 400KHz,总共 100 个。模块最大发射功率为 100mW(20dBm),5000bps 空中波特率 下接收灵敏度-116dBm,开阔地 1000 米的通信距离。 模块采用邮票孔封装方式,可贴片焊接,模块大小 27.4mm×13.2mm×4mm(包括天线帽,不包括弹簧天线), 很方便客户嵌入应用系统之内。模块上有 PCB 天线座 ANT1,用户可以通过同轴线,使用 433M 频段外接天线; 模块内也有天线焊接孔 ANT2,方便用户焊接弹簧天线。用户可以根据使用要求,选择其中一种天线。 模块内部含有 MCU,用户无需对模块另外编程,各种透传模式只管收发串口数据即可,使用方便。模块采用 多种串口透传模式,用户可以根据使用要求用 AT 指令进行选择。四种模式 FU1、FU2、FU3、FU4 的空闲状态 下平均工作电流分别为 3.6mA、80μA、16mA 和 16mA,最大工作电流为 100mA(满功率发射状态下)  

    模块工作原理

    注: 如上面图所示,HC-12 模块用于代替半双工通信时的物理连线。左边的设备向模块发送串口数据,模块的 RXD 端 口收到串口数据后,自动将数据以无线电波的方式发送到空中。右边的模块能自动接收到,并从 TXD 还原最初左 边设备所发的串口数据。从右到左也是一样的。模块间只能工作于半双工状态,不能同时收发数据

     模块连接

    模块可以与单片机连接,可以与电脑连接,这样两个模块就之间也可以进行通讯(单片机与电脑远程通讯)。

    模块与电脑、单片机的连接示意图:

    模块可与供电系统为3.3V 或者5V 的MCU连接,串口交叉连接即可(模块的 RX接 MCU的 TX、模块的 TX 接MCU的 RX) 注:如需串接电阻保护MCU,请在串口端串接不大于200Ω的电阻即可,建议不加电阻。

    无线串口透传

    HC-12 模块有四种串口透传模式,用 FU1、FU2、FU3 和 FU4。

    出厂默认设置为 FU3、9600bps(8 位数据、无校验、1 位停止位) 、CH001(433.4MHz)。 使用时一般不限定一次连续往模块串口发送的字节数。但鉴于环境干扰等因素,一次连续发送大量数据时,有可能 会丢失一些字节。所以,上位机最好要有应答和重发等机制,避免信息丢失。 

    默认出厂设置:串口波特率为 9600bps、通信频道为 C001、串口透传模式为 FU3。

    HC-12 模块出厂时串口透传模式默认为 FU3。此时,模块工作于全速状态下,空闲工作电流为 16mA 左右。 在此模式下,模块会根据串口波特率自动调节无线传输空中波特率,其对应关系如下表所示:

    为了使通信距离尽量远,可以把串口波特率设为低波特率。如果是短时间传送大量数据,则把串口波特率设为 高波特率,但要牺牲通信距离。不同空中波特率条件下模块的接收灵敏度如下表所示: 

     在模块“SET”脚置低电平时,可以通过 AT 指令来设置串口透传模式(详见下面章节的介绍)。 FU1 模式为较省电模式,此时模块的空闲工作电流为 3.6mA 左右。此模式下模块同样可以设置如上面表格 所示的 8 种串口波特率,但空中波特率统一为 250000bps,通信距离较短。 FU2 模式为省电模式,此时模块的空闲工作电流为 80μA 左右。此模式下模块只支持 1200 bps、2400 bps 和 4800 bps 的串口波特率,空中波特率统一为 250000bps,通信距离较短。此模式下不能设置成其它串口波特 率。同时,在 FU1 和 FU3 模式下设置为 FU2 模式时,超过 4800 bps 的串口波特率一律会被自动降低为 4800 bps。FU2 模式下,只适用传输少量数据(每个数据包在 20 个字节以内),数据包发送时间间隔不能太短(最好 在 2秒以上) ,否则会造成数据丢失。 FU4 模式为超远距离通信模式,串口波特率固定为 1200bps,空中波特率为 500bps。从其它模式转到 FU4 后,串口波特率会自动转为 1200bps。该模式下,只适用传输少量数据(每个数据包在 60 个字节以内),数据包 发送时间间隔不能太短(最好在 2 秒以上),否则会造成数据丢失。 

    单个测试模块

     测试步骤;

    1.使用USB转串口,按接线图连接好模块并插在电脑上,因为我们需要测试模块与设置模式等,记住我们一定要将SET端置地(五根线)。

    2.打开串口助手,设置串口,记住波特率默认9600,设置完打开串口即可。

    3.输入指令AT(AT为测试通讯是否正常,模块好坏的指令),如果返回OK,模块工作正常。

    4.输入指令AT+RX,可以查看现在的工作参数,工作在哪个透传模式、波特率,通讯频道、发射功率。

    5.我们为了方便。需要设置模块的透传模式为FU3,波特率9600,通讯频道设置为CH001。(设置这些需要相应的指令)

    6.按上面步骤操作第二个模块。

    注意:SET置地是为了测试,如果你已经完成了测试,要使用它,去掉SET这根线,四根线即可工作。

     

    两个模块之间通讯测试

    模块一般两个或两个以上连接使用,以半双工的方式互相传送数据。同时,透传模式波特率无线通信频道 必须设置成一样。

    我们在测试单个模块时的第四步,查看了模块的工作参数:透传模式、波特率、无线通信频道、发射功率。而透传模式波特率无线通信频道 必须设置成一样,如果你两个模块不一样,就不能通讯。

    所以我们在第五步将工作参数设置为一样。

     测试步骤:

    如果你完成了上面的步骤,将两个模块都插在电脑上,打开两个串口,即可工作。

    如果你想实现电脑与单片机之间的通讯,按接线图连接好模块(四根线),保证单片机串口初始化没有问题,即可实现通讯。

  • 相关阅读:
    Linux内核RPC请求过程
    二分图
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 文本加密
    Java蓝桥杯 算法提高 九宫格
    Java蓝桥杯 算法提高 九宫格
  • 原文地址:https://www.cnblogs.com/-wenli/p/11216261.html
Copyright © 2011-2022 走看看