无线传输模块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这根线,四根线即可工作。
两个模块之间通讯测试
模块一般两个或两个以上连接使用,以半双工的方式互相传送数据。同时,透传模式、波特率、无线通信频道 必须设置成一样。
我们在测试单个模块时的第四步,查看了模块的工作参数:透传模式、波特率、无线通信频道、发射功率。而透传模式、波特率、无线通信频道 必须设置成一样,如果你两个模块不一样,就不能通讯。
所以我们在第五步将工作参数设置为一样。
测试步骤:
如果你完成了上面的步骤,将两个模块都插在电脑上,打开两个串口,即可工作。
如果你想实现电脑与单片机之间的通讯,按接线图连接好模块(四根线),保证单片机串口初始化没有问题,即可实现通讯。