5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 4946|回复: 48

拒绝被阉割,找回Deviation的所有功能——DIY Devo回传

  [复制链接]
发表于 2017-9-20 15:14 | 显示全部楼层 |阅读模式
本帖最后由 stylecheng 于 2017-9-23 13:00 编辑

注意:模型非玩具。接收做为航模里关键器件之一,如有任何异常,将造成不可挽回的损失~!!!虽然楼主对自己编写的程序稳定性很有信心,但由于模友的DIY水平,以及购买到的配件质量参差不齐。楼主不建议大家将本楼教程中做出的东西用到任何航模里面做为接收设备使用。可以在航模已有接收机的情况下,将DIY的设备单独作为一个电压回传模块使用。
模坛中流传着各种神控的传说
富斯、frsky当然还少不了华科尔的Devo系列
神控本来也是普通控,因为做到了普通控做不到的事情就成为了神控。
怎么做到?当然是基于开源软件的功劳咯。
富斯用的Er9x系统,Frsky用的Opentx系统还有华科尔用的Diviation系统,这些才是神控的灵魂。
由于便宜又功能强大,我也拥有3台神控,FS-TH9X,Devo10和Devo7E。
富斯的FS-TH9X就不用说了,开源控的鼻祖ER9X就是基于他开发的。
无奈由于硬件本身的限制我已经弃用很久了。
现在用得最多的是Devo7E,因为它小巧,功能也够用了。
说起我手上这台D7E还是台有故事的D7E。
因为这台D7E我还在论坛里发了个装逼贴,骗了管理员一顶帽子
这台D7E的故事请看这里:《发个贴,混个脸熟,小修Devo7E。现在有素材给大家讲讲故事了~!!!
不过用着这台D7E的时候心中难免有些遗憾,因为它被“阉割”了。
倒不是说D7E的Deviation软件是在D10基础上阉割过的版本。
我的D7E早就换过芯,升级成了Ultimate 7E。D10有的功能我这台D7E都有。
这里说的被阉割其实是指双向回传,准确的说应该叫被闲置了吧。。。
DEVO系列的协议本来就支持回传功能,不管是原厂固件还是Deviation固件都有这功能。
但是~!一个回传控制盒三百多的价格摆在那里,有几个人买了?又有几个人用上了回传功能?
因为价格因素,硬生生的把回传功能给阉割(闲置)了。。。
没事,今天StyleCheng来给大家发福利,教大家如何DIY一个带回传的接收~!
让你的Devo控重新找回作为神控的尊严,让控上的回传功能不再是一个摆设
没图说个J8,先上两张照片展示下现有的成果,后面发教程及固件。

DIY的回传控制盒
151312ebbyjjjsbmesqzx2.jpg

电压信息已成功回传
151313tg40i7i4s3l4slzi.jpg

做完以后就是这效果了








欢迎继续阅读楼主其他信息

 楼主| 发表于 2017-9-20 15:14 | 显示全部楼层
本帖最后由 stylecheng 于 2017-9-21 12:43 编辑

其实去年说D7E的故事的时候就想做带回传的接收了。
不巧,讲完D7E的故事后开始玩王者农药
天天空闲的时间都在和好友开黑。
中间也想过,不能沉迷于游戏。
觉得有空应该多看点书,出去走走,多接触接触大自然。
后来全都试了一遍,发现™还不如回家玩几把农药有意思
所以当年想做的带回传的接收就一直没做。
唉,估计天美觉得我不是RMB玩家,排位遇到各种坑。
什么双AP双AD我就各种补位,开局又遇到各种送人头,各种挂机。。。叫我怎么继续玩嘛。。。
还是安安静静的焊几个板子写几行代码实际。
最近是真心玩腻了,所以又回来做回传了。
惯例,一楼和前面的都是废话。
现在开始正题。
正题是啥来着?哦,对了是做回传。
先说一下要准备的材料。
1、一个单片机,Deviation支持4路温度3路电压两路转速还有GPS信息的回传。
温度和电压靠ADC去检测,要7个ADC端口,GPS用串口,转速用IO口中断去检测,然后还需要和CYRF6936连接,需要SPI接口,还有个IO口去连CYRF6936的RST引脚。
理论上就需要这些端口就够了。
之前做四轴时候还剩两个Arduino pro mini的板子,就用这个板子去做~!
2、回传要和控通讯,DEVO协议是基于CYRF6936去做的,所以要有个CYRF6936的模块。D7E故事里面收了3个D7E高频头,刚好有两个多余的,这玩意刚好拿来用。
3、一个USB ISP编程器,给Arduino板子下载固件的。虽然我用的是Arduino的板子,但是我并不会写Arduino的程序因为Arduino出现之前我就玩AVR的单片机了,我只是把Arduino的板子当作是一个mega328P的核心板在用。所以固件是通过编程器下载的,不是像Arduino一样有bootload通过串口就能下载。
4、电阻、导线排针若干。
155103c05wk5anaoa5rk55.jpg
后面补齐详细bom及参考价格。




 楼主| 发表于 2017-9-20 15:14 | 显示全部楼层
本帖最后由 stylecheng 于 2017-9-22 10:38 编辑

详细的材料清单和参考价格如下:
1、 Arduino Pro Mini 一个。
    参考价10.01(6.1+4块运费)。马云爸爸那找最便宜的那个。

103556axvshezovfvzbiqs.jpg

2、D7E高频头或者CYRF6936模块一个。
   参考价。。。这玩意不能买便宜的,回传距离还有稳定性全靠这个了。
   反正我是100块收了一个D7E尸体和3个高频头尸体,还包邮。这个在D7E的故事里有说。
   马云爸爸那买CYRF6936模块的话价格价有点坑,现在带PA的卖到六十多了。。。
   大家可以看看二手区有没有闲置的Devo高频头可以收。
125336mv6vo23q2z6442v4.jpg
3、USB ISP下载器 一个。
   参考价十块左右,这玩意我就找便宜的买,耐用着呢,用了几年了就是用不坏。
   所以大家直接去马云爸爸那找,哪个便宜买哪个。
125337zkdh81b1hutjb1th.jpg
4、平衡充母头一个。
   参考价几分钱。我是之前买的剩下的。
125335skufx3ue73e76etu.jpg
5、2.54排针,3×3一个。
   参考价几分钱,Arduino送排针,自己沾一下做成3×3的就好了。
125335l4w616y14l9114e1.jpg
6、1K、10K、20K电阻各一个。封装随便,手艺好的话10K就用0402的,1K和20K的建议用0805或1206的封装。
   参考价几厘钱。如果网购的话邮费都是它价格的几百上千倍了。
125340kpr403aeyya7a3d9.jpg
7、导线若干。
   参考价几厘钱,之前9.9包邮买了两卷,用了几年没用完。
125338fd1pdlqs7ml4lozl.jpg
8、Z-84一架。
   参考价,还是哪个便宜买哪个。
   没错这个回传我是装在Z-84上用的你们装别的JJ上也可以。
125339zasmypp00knsa9oz.jpg
9、烙铁一把,锡丝若干,美工刀什么什么的工具若干。
   经常DIY的这些工具应该都是常备用品吧。




 楼主| 发表于 2017-9-20 15:15 | 显示全部楼层
本帖最后由 stylecheng 于 2017-9-23 00:41 编辑

先发个尝鲜版固件,记得看里面自诉文件。
链接:http://pan.baidu.com/s/1mi1Kw8w 密码:1mr2
首先要把上面链接里面的文件下载下来解压,里面有个Test.hex文件。
把这个文件下载到Arduino的板子里面去。
下载需要接6根线:SCK、MISO、MOSI、RST、GND、VCC。
先看下Arduino的接口
131541vuy3m2i3zyybd3xy.jpg
把这六根线接到USB ISP下载器就好了。
不过需要注意的一点是Arduino板子上有个VCC接口有个RAW接口。
如果连接了CYRF6936模块的话,建议将USB ISP的VCC接到Arduino的RAW接口。也就是图片上标注的5V。
(9/23更新:刚刚发现arduino上面那颗ldo输出是5V的,所以建议先将软件下载到arduino板子上再连接CYRF6936模块。)
然后将USB ISP插到电脑上面。
安装驱动什么什么的。(驱动及USB ISP使用教程可以问卖家要。)
再然后就是往Arduino里灌程序了。
我用的是progisp 1.72版本的下载软件,这里简单说一下怎么往板子里灌程序。
先下载个,或向USB ISP的卖家要个progisp软件,绿色版的,解压直接可以用。
打开progisp后先选择单片机,Arduino上面用的是一个mega328P。选这个就对了。
153342zx5vxyzq0djjbi8x.jpg
然后点击“RD”按钮,读出一下芯片的ID。
下面窗口会有一条“读出ID成功”的提示就说明单片机识别没问题。
如果没出现这个提示,就检查一下USB ISP驱动装好没,或者USB ISP与Arduino之间的连线有没有错误。
153342qzntftffkfnf84fm.jpg
点击调入Flash,选择我提供的那个,“Test.hex”文件。
153342vzcuznq5rnn1z6qn.jpg
最后就是确认一下“芯片擦除”“编程FLASH”“校验FLASH”这三个选项都被勾选了。
然后就点击“自动”按钮这样程序就下载到了Arduino板子里面了。
153343ciiynonhhyac2vas.jpg












 楼主| 发表于 2017-9-20 15:15 | 显示全部楼层
本帖最后由 stylecheng 于 2017-9-22 17:40 编辑

程序已经下载到Arduino板子里面去了。
最后就是将Arduino板子和D7E高频头链接起来。
不过在在这之前,先要处理一下Arduino。
Arduino上面Mega328P的SCK脚上接了个LED。
由于这个LED的存在,可能会影响Mega328P与D7E高频头之间的通讯。
所以板子上要切一刀。
切的位置如下图
154944nhtyetao9d2ythq2.jpg
然后按照下面这张图将焊接好连线。
173950z41dsybjzjosi0qi.jpg
D7E高频头接口定义如下:
160715bpq10rc0gocqn64c.jpg
这里要注意一下,D7E高频头的VCC脚电压。没改过的D7E一般VCC电压5V输入没问题,接到电调输出的5V就可以,
网上买的CYRF6936模块的话一般是3.3V输入,电调输出的5V电压经过LDO降压到3.3V才能接到模块的VCC脚。
下图是做好的成品:
161251ps9wp7pdpq6r6ppj.jpg

这里说下焊接时候的几个细节:
1、Arduino  A0脚接LED,实际上可以直接接到之前我们切过一刀边上那个电阻就好了。
161749u9ebbzhb2k0e5bfz.jpg
2、SS脚接上拉电阻,可以就近找个VCC焊接
161750hmlkm33836ypy488.jpg
3、CH1、CH2、CH3接到3×3排针,也可以通过3×3排针从电调取电,电调5V输出接到Arduino上面的RAW脚。


发表于 2017-9-20 15:17 | 显示全部楼层
前排围观
来自苹果客户端来自苹果客户端
发表于 2017-9-20 15:18 | 显示全部楼层
D10刷机后就带电压电机温度会传
来自苹果客户端来自苹果客户端
发表于 2017-9-20 15:21 | 显示全部楼层
华科尔D10配原厂10通接收机,10米距离,让我炸机鸟。
幸亏没漂向人群,
去它的吧,改玩嫂子控。
真的惊了和后怕。
来自安卓客户端来自安卓客户端
 楼主| 发表于 2017-9-20 15:21 | 显示全部楼层
HPIRS4 发表于 2017-9-20 15:18
D10刷机后就带电压电机温度会传

不用刷机都带回传功能,问题是有几个人买了华科尔的回传控制盒?三百多的价格够买台D7E了。我是来教大家用几十块的价格自己做回传控制盒的。

 楼主| 发表于 2017-9-20 15:23 | 显示全部楼层
wienne 发表于 2017-9-20 15:21
华科尔D10配原厂10通接收机,10米距离,让我炸机鸟。
幸亏没漂向人群,
去它的吧,改玩嫂子控。

华科尔早期的软件开启了回传功能高频头容易卡死在接收回传包的状态,后来版本修复了这个BUG。

发表于 2017-9-20 15:25 | 显示全部楼层
欧呦  厉害了  玩的开心
来自安卓客户端来自安卓客户端
发表于 2017-9-20 15:45 | 显示全部楼层
前排坐等更新
发表于 2017-9-20 16:29 | 显示全部楼层
等楼主更新  
发表于 2017-9-20 16:46 | 显示全部楼层

发表于 2017-9-20 17:04 | 显示全部楼层
占楼评论,等教程上好了10.1回来试一把
发表于 2017-9-20 21:01 | 显示全部楼层
厉害了我的哥
来自安卓客户端来自安卓客户端
发表于 2017-9-21 00:42 | 显示全部楼层
wienne 发表于 2017-9-20 15:21
华科尔D10配原厂10通接收机,10米距离,让我炸机鸟。
幸亏没漂向人群,
去它的吧,改玩嫂子控。

看看我的帖子吧,可能是D10的无源晶振停振了的原因,我改成了有源晶振,再没有出现过一次不正常的现象。

发表于 2017-9-21 08:01 ——“来自手机” | 显示全部楼层
火线留名
发表于 2017-9-21 09:00 | 显示全部楼层
LZ  叙事风格幽默,动手能力强,还乐于分享,赞 赞 赞
发表于 2017-9-22 04:02 | 显示全部楼层
支持支持楼主
来自苹果客户端来自苹果客户端
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表