本帖最后由 hecheng0503 于 2020-2-27 14:22 编辑
此高频头模块将 CC2500,NRF24L01,A7105,CYRF6936 四款射频芯片集成于一块电路板。此模块本身是 openTX 原生配件,可以和 frsky 系列遥控器进行串口数字信号通信,也可以识别遥控输出的 PPM 信号,然后转化为对应的遥控协议,实现对接收机或飞机的控制。
当前支持的协议包括:天地飞、华科尔 DEVO,地平线 DSM2,富斯,易思凯,睿思凯,伟力,哈博森,驰远,Futaba SFHSS Assan 等协议。此高频头,可以更灵活,便捷的控制多个不同品牌的四轴,直升机以及固定翼,由于延续使用您所熟悉的遥控器,操作手感和飞行体验也更佳。
高频头有两种工作模式:串口模式和 PPM 模式
串口模式下使用操作:( 遥控器和TX模块之间采用双向数字信号通信)
高频头上旋钮指到“0”时,高频头可以进入串口模式,在串口模式下可以使用现存的全部协议,高频头协议切换及对频操作都可以通过遥控器菜单实现,但是只有使用 er9X/erSky9X或者 OpenTX 开源固件的遥控器(frsky 全系列)才能使用串口模式,另外,您的遥控器固件也需要升级到 V2.2 以上版本。以 frsky X9D 系列为例:我们先上官网下载 V2.2 版以上本固件,并将此固件复制到 X9D 的 SD 卡中,将横滚和方向微调按钮朝电源开关方向拨动开机,X9D 会自动进入固件升级。
串口模式多协议支持协议列表
Frsky遥控器(或者其他Open TX固件的遥控器)用户,忽略以下内容!
PPM 模式下使用操作:(TX模块单向接收遥控器发出的单向模拟编码信号 )
◇STM32F4主控芯片的PPM模式
PPM模式主要用于具有PPM信号输出,并且模块安装卡槽兼容TX模块的遥控器(如JR)。在PPM模式下,有31种不同协议分别对应旋转编码开关的16个档位(0号协议保留用于串口模式)。当绿灯熄灭时,可以使用旋钮选择 1 号到 15 号协议,当绿灯点亮时,可以选择16到31号协议。
如果需要打开或者关闭绿灯,请按下面步骤操作:
关闭遥控器,把旋转编码开关指到“0”,按住高频头上黑色对频按键,然后打开遥控器,3秒钟之后松开按键,此后就可以看到绿灯在亮灭之间切换,可选协议也会同时切换。
PPM模式多支持协议列表
PPM 模式下,正常使用操作:
- 1. 固定好高频头,安装好天线,在遥控器上的开启 PPM 信号输出
- 2. 按照下面的默认协议列表和您的接收机类型,把高频头旋钮(手柄有竖槽那一头)指到对应的档位。
- 3. 已经完成对频的情况下,打开遥控器电源开关,高频头上红色指示灯会常亮,然后高频头就开始正常工作,之后再打开您的接收机(或者飞机)。
- 4. 高频头在正常使用中不能够切换协议,如果需要切换协议,请先断电,调整旋钮,选择好所需要的协议,之后再重新上电。
- 5. 如果没有有效的 PPM 信号输入,红灯会慢速闪烁。
STM32F4主控芯片实物模块
PPM 模式下对频操作:
- 1. 打开接收机(或者飞机),按照接收机说明书操作,使接收机进入对频模式.
- 2. 按住高频头上的黑色对频按键,打开遥控器并等待进入系统界面,3秒之后松开对频按键,可以看到红色指示灯快速闪烁,表明高频头进入对频模式,当对频结束时,红灯常亮。
- 3. 部分协议 (比如: S-FHSS) 不需要在高频头上操作对频, 另外有部分协议 (比如: hubsan,e010),高频头一开机就会自动对频。
◇Atmega328P主控芯片的PPM模式
协议选择基于两个参数:
选择开关:这是模块上的16位旋钮开关
- 旋钮位置0用于选择开源遥控固件ER9X/ERSKY9X/OPENTX无线数字串行控制模式
- 旋钮位置15是选择组
- 旋钮位置1-14选择组分组中的协议
ATMEGA328主控芯片Jumper4in1模块
分组用于增加可访问协议的数量,最多有5个分组提供最多70个可选协议(5组*14个)的访问权限。修改或验证当前处于哪个分组,请执行如下操作:
- 在旋钮位置15上打开高频头
- LED指示灯的闪烁次数表示分组号(1-5次闪烁)
- 要转到下一个分组,短按高频头对频按钮,LED会亮起1.5秒以确认此操作
PPM模式多支持协议列表
PPM模式下对频操作:
- 将旋钮位置转到15
- 高频头上电
- 高频头通过LED闪烁次数显示当前分组号,闪烁次数为1-5次,代表当前所在分组
- 短按高频头对频按钮,LED会亮起1.5秒,表明系统已更换分组
- 重复操作3和4,直到达到所需的分组
- 断电
- 将旋钮开关转到所需位置1-14
- 高频头上电
本文是基于Phracturedblue的通用Tx模块思想,与许多devo TX(偏差固件)集成在一起,在此基础上和偏差固件中存在多个RC协议之后,将这些最受欢迎的RC协议集成到 arduino或者atmel328芯片的独立模块上,或在STM32芯片的较新模块上,并由能够输出PPM信号的任何遥控器的TX驱动。
多协议模块模块图
多协议万能高频头模块STM32M48电路原理图
多协议万能高频头模块ATMEGA328电路原理图
多协议万能高频头模块ARDUINO PROMINI(16M)电路原理图
元器件清单:- Arduino promini 5V/16Mhz,也可以用于Atmega328P/16Mhz,STM32M48。
- A7105模块(X7105-D03 PA / LNA模块,V911,V939采集TX模块)
- CC2500 PA / LNA模块
- Nrf24L01 PA / LNA模块
- Devo模块(基于CYRF6936)
- 4合1射频模块
- AMS1117 -5V和AMS1117-3.3V,LDO稳压器或任何超过800mA的稳压器。
- 电阻20K(在NRF_CE引脚到Vcc之间)
- 电容22-47uF(ldo上的3个)
- 16位旋转拨码开关或4位DIP开关,这个需求取决于PPM模式。现在在er9x/ersky9x/opentx的串行模式下,不再需要使用拨码开关。
该图是4合1无线模块图,也可以使用单独的某个射频芯片模块,4合1无线模块将四个RF芯片(CC2500,NRF24L01,A7105,CYRF6936)集成到一个电路板中,并带有MCU底板,通过识别遥控器的PPM信号输出,可以支持多种遥控器协议,例如Walkera DEVO,Spektrum DSM2,Flysky,Frsky,WLToys,Hubsan,Hisky等它最多可以控制数百架飞机(或接收器)。该模块可以识别遥控器的PPM信号,然后转换为相应的标准无线遥控器格式,这意味着从理论上讲,只要遥控器具有模拟功能,它就可以工作。
4合1射频模块
4合1射频模块引脚功能
4合1射频模块PCB底板(STM32)
4合1射频模块PCB底板(ARDUINO PROMINI)
多射频模块封装PCB底板
四合一高频遥控距离都稍远于手上现有几种单独的高频头,比如,华科尔原厂黑色D10遥控器,在刷机后,最大功率,DSM2协议控制MCPX电直,最大距离在170米左右,四合一的高频头能达到200米以上。
遥控距离影响因素比较多,而且各模块多少会有不一致性,以下的数据可以参考,实测部分机型(或接收机)地面遥控距离如下,实际飞行距离应会远于地面距离:
- 1.德州仪器Texas Instruments:CC2500 ( Futaba SFHSS,V8FR接收机,FRSKY协议,地面距离超过240M,受限于路况,更远没有测试,另外,FRSKY协议可能pojie不完全,部分模块,需要修改频率偏移参数才能达到最大遥控距离)
- 2.笙科电子Amiccom:A7105 ( 哈博森hubsan,伟力V911,富斯Flysky8通接收机,都基于FLYSKY协议,地面距离超过240M,受限于路况,更远未测试)
- 3.塞浦路斯半导体Cyprus Semicondutor:CYFR6936(地平线MCPX,DSM2协议,地面距离200M以上,华科尔SUPERCP,Walkera DEVO协议,地面距离200M以上)
- 4.北欧半导体Nordic Semicondutor:NRF24L01( 伟力V977,KN协议,比较特殊,如果高频头模块用在华科尔,DEVO系列遥控器上,地面距离在200M以上,但配套MCU底板,距离只有50米左右。另外,驰远HCP100S,HISKY协议,地面距离70米左右,该协议是厂家提供的,厂家似乎对距离做了限制,测试过其他厂家三四种模块,距离也只有30到70米),ASSAN,Syma,还有其他协议未测试。
4IN1对应遥控型号
对于闪存十六进制文件,强烈建议使用3.3V编程器(USBASP)
建议使用该编程器,类型为黑色pcb。市场上有假冒的3.3V USBASP编程器,蓝色pcb颜色,不要购买这些,因为烧毁TX模块的风险很高。
对于3.3V的使用,必须去掉5V/3.3V选择器背面的'0'欧姆桥电阻。
与遥控器5PIN接口连接
程序添加的协议数量需要增加MCU的容量。可以删除不需要的模块协议或保留的单个协议,都在config.h文件中:
- //Comment a module or protocol to exclude it from compilation
- #ifdef A7105_INSTALLED
- #define FLYSKY_A7105_INO
- #define HUBSAN_A7105_INO
- #endif
- #ifdef CYRF6936_INSTALLED
- #define DEVO_CYRF6936_INO
- #define DSM2_CYRF6936_INO
- #endif
- #ifdef CC2500_INSTALLED
- #define FRSKY_CC2500_INO
- #define FRSKYX_CC2500_INO
- #endif
- #ifdef NFR24L01_INSTALLED
- #define BAYANG_NRF24L01_INO
- #define CG023_NRF24L01_INO
- #define CX10_NRF24L01_INO
- #define ESKY_NRF24L01_INO
- #define HISKY_NRF24L01_INO
- #define KN_NRF24L01_INO
- #define SLT_NRF24L01_INO
- #define SYMAX_NRF24L01_INO
- #define V2X2_NRF24L01_INO
- #define YD717_NRF24L01_INO
- #define MT99XX_NRF24L01_INO
- #define MJXQ_NRF24L01_INO
- #define SHENQI_NRF24L01_INO
- //.......
- # define WHATEVER PROTOCOL ADDED
- #endif
- //********************************
复制代码
文档包下载:
DIY-Multiprotocol-TX-Module-master.zip
链接:https://pan.baidu.com/s/1O8TCaWSck-QBHFMTRHHO8w
提取码:wx11
本人新人,菜鸟一枚,喜欢研究硬件,代码,欢迎交流,共同学习! |