DIY无线航模遥控器教程
沙暴 2016-6-19快乐DIY

每次打开电脑,经常做的第一件事就是打开浏览器然后打开科创的网页,浏览上面的帖子。不过每次最关心的还是科创每天发帖的数量。看到发帖数量挺多时,就会有一种欣喜感;但发帖数量较少时,就有一种担忧感。从高中开始就开始逛科创,学到了很多很多东西,也更加坚定以后要走科研这道路。所以很希望看到科创以前热闹的景象。看到近期科创有点冷清,所以就写了下面这个帖子,是关于怎样制作一个无线的航模遥控器的。

http://bbs.mx3g.com/thread-447222-1-1.html

最初是在上面这个链接看到别人用51单片机和NRF24L01做了一个无线的航模遥控器。从小就希望能拥有一家遥控飞机,但苦于以前没钱。在大一的时候学了一段时间的51单片机,然后在网上找了一些程序,经过改动后终于做出了一个梦寐以求的无线遥控器。

真正开始做这个遥控器是用来参加一个比赛,当时和几名队友设计了一辆能实现无托盘化搬运的类似于叉车的装置(我学的是机械与自动化专业),就是用这个无线遥控器来实现控制的。先附上我们的装置的几张图片。事先用了SolidWorks把三维模型建出来,然后买零件组装,费用是学校出的。



接线有些凌乱。由于是第一次设计作品,所以存在一些问题,但基本能运作起来。 下面是遥控器的图片


看起来比较简陋,但想要的功能都实现了。

遥控器采用的是STC12C5A60S2单片机,用NRF24L01作为收发模块。在前面那辆车上有两个NRF24L01和两块单片机。通过切换通讯频率实现在不同时间内由一个遥控器控制两个模块。并且车上装了一些超声波传感器等,还用单片机的A/D采集了车上的电压,信息通过NRF24L01传回到遥控器上,在图中蓝色的nokia5110液晶屏上显示出来。利用超声波测距模块和行程开关,可以实现在货物正对着这辆搬运车时,搬运车能自动行驶到货物前并自动搬起货物。这是我用时最久的单片机作品,也是最满意的

比赛完后,终于能有自由的时间,于是改动了程序,做了一个用于遥控船的遥控器,用于平时玩的。在实验室看到有这种遥控船,于是就拿了一只回来改造


这种船结构很简单,就两个马达,而且遥控距离很短,只有30米,并且电机的速度不能调大小。于是就把里面的电路全丢掉,自己去焊了电路板,换了L298电机驱动。


电路很简单。

然后就兴致勃勃的就拿到湖里区试。结果大失所望,跑的很慢。之前这船配的电池是7.2V的,我换成了12V的,但是这电池太久了,我原本充满电去试,结果跑了一会儿电压立刻降到9点多V,而且这电池很重,另一个原因是L298驱动发热很厉害,可能是电流太大。结果就放在宿舍,没去动过,因为想学其他的东西,所以暂时就把它放在一边。应该换个好的电机驱动和换块轻一点的电池就没问题了。

接下来说一下怎样去做一个遥控器,以上面遥控船的遥控器为例来讲

首先说一下必须要买的东西: 2片STC12C5A60S2单片机,2个NRF24L01模块,一个电机驱动(如果要驱动功率较大的电机,不建议买LN298,最好大功率一些的),两个L7805稳压管,1个AMS1117-3.3稳压芯片,两个摇杆电位器(注意有一个是要不能自动复位的,用于油门,另外一个要自动复位,用于转弯,这里附上淘宝的网址https://s.taobao.com/search?q=%E6%B2%B9%E9%97%A8%E6%91%87%E6%9D%86&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20160619&ie=utf8)。还有一些电阻电容等,主要是用来构建一个最小单片机系统,使单片机运行起来。液晶屏不是必要的,这里我用的是nokia5110液晶屏,用来显示遥控车的电压和电量,当然电量不会很准确,是用单片机上的A/D转换器采集电池的电压,然后根据电压电量曲线得出电量的。这些东西都可以在淘宝上买得到,而且不贵,一共就几十块。

由于单片机是靠自学的,所以电路设计可能不是很好,也不会用软件很好地画出电路图。为了做好遥控器,减少焊接失误,我先用SolidWorks把遥控器的3D模型做出来,并排线,最后才做出来。第一次就是因为没建三维模型直接焊接,导致焊接失败。突然发现三维模型软件真是个好东西,只要是你想到的具体的东西,都可以建出来,减少失误。遥控器的SolidWorks模型我放在后面,可以下载看看元件是怎样布局的,不过电脑上要安装SolidWorks2014或14以上版本,低版本打不开。


在SolidWorks上用来草图直线来模拟布线


下面介绍怎样去焊接

首先是焊接一个单片机最小系统,就是用来使单片机运行的简单电路。


需要用到自锁插座、晶振、电阻、电容等。遥控器我用的是9V的电池,在超市能买到,几块钱,只要电压大于5V的电池就行。由于单片机供电要稳定的5V电压,因此需要用L7805稳压管把电压降到5V,然后接到单片机。L7805稳压管怎样接线自己上网去找。在这里说一句的就是,要学会自己去找资料,不要奢望别人把所有的东西都告诉你,要培养自己去找资料的能力,否则你做出来的仅仅是一个没有经过思考就做好的复制品。

接着就是焊接摇杆电位器,摇杆电位器在前面我已经给过网址。我这两个摇杆电位器是从我加入的学校机械团队拿的。其原理和接线也靠你自己上网去找,很简单。单片机通过内部的A/D转换器采集电位器的电压,转换为数字信号。为什么要这样做呢,因为遥控船上电机的速度我是通过单片机的PWM来控制的,通过A/D转换器采集电位器的电压再经过转换经单片机的PWM就能输出占空比不同的电压,电压的占空比不同电机的转速就会不同。两个摇杆电位器上的2个中间接线口(一共有4个,但在这里只用2个,分别用于油门和转弯),分别接在P1^0和P1^1上。

接下来很重要的就是NRF24L01模块的焊接,如果你想要遥控距离比较远就需要买带天线的那种,不过贵一些。它是用来发生和接受信号的,在遥控船和遥控器上各有一块。不过首先要通过AMS1117-3.3芯片降到3.3V才能给NRF24L01模块供电。其引脚图如下


在程序中设定的引脚如下


根据上图来把模块接线到单片机上。需要说明的是IRQ要接到前面说的AMS1117-3.3芯片的3.3V引脚。

Nokia5110液晶屏是用来显示遥控船上电池的电量的,方便电池没电时可以及时充电。它和单片机引脚的连接如下


由于液晶屏接在P0口,需要在P0口接上排阻才行。如果你觉得麻烦的话,可以不要液晶屏。

这样就基本是完成了一个无线的航模遥控器。其实很点单片机就很容易做出来。而且只需要对程序做些改动,就能把它应用到遥控车和遥控船上。由于目前主要学习机械方面,单片机和电子电路不是很在行,这个遥控器还有很多不足,欢迎交流。 单片机还真是个神奇的东西,所以如果各位有时间,也去学学单片机,它能实现以前很多你不敢想的东西。就说到这里,希望各位科技爱好者继续努力,多发发帖,使科创重新活起来。

下面附上程序和遥控器的三维模型(有两个程序,文件夹为‘控制’ 的烧录到遥控器上,文件夹为‘接受’ 的烧录到船上)

遥控船.rar138k40次
遥控器.rar8.70M90次

[修改于 3 年前 - 2016-06-19 18:24:38]

来自 快乐DIY
 
2016-6-19 16:07:15
1楼

L298是三极管开关,适合高压(比如30V)小电流(1A左右)工作。

低压推荐使用MOS管开关。如果不考虑倒车,两个电机只需两个很便宜的MOS管即可高效驱动。

折叠评论
加载评论中,请稍候...
折叠评论
2016-6-20 00:37:38
2楼

那个2060铝型材上能直接装电机的支架很不错。。。

折叠评论
加载评论中,请稍候...
折叠评论
3楼

萝莉控……?

折叠评论
加载评论中,请稍候...
折叠评论
2016-6-21 15:49:44
2016-6-21 15:49:44
4楼

小功率遥控车/船/飞机可以参考我这块小板:

使用3片DRV8837,可提供两个电机正反转驱动,PWM无级调速,做船和飞机都省掉“昂贵”的舵机,做坦克挖掘机原地转弯也很爽……还有1路可以用来执行一些强力的动作控制……单价才1块1毛,链接:http://www.ti.com.cn/product/cn/drv8837 内置MOS全桥,很低的内阻,工作电压范围1.8-11V,最大驱动电流1.8A

MCU是STM32F030F4,2块钱,16KB的Flash,6KB的RAM,用Jlink可以仿真单步调试……所以,把51扔掉吧。

折叠评论
加载评论中,请稍候...
折叠评论
5楼

遥控器自己焊也不划算,成本高,外观不得分……我的做法是买个旧的遥控器,拆开,把大部分电路拆光,只保留按键、摇杆、LED、开关、电池座这几样东西,然后找块MCU核心板,飞线…… 装好盖子,档次就上去了

折叠评论
加载评论中,请稍候...
折叠评论
6楼

额nRF24L01对电路干扰比较大(比如会干扰SPI通信总线)最好把这模块放在遥控器边角。

对于遥控器这样的,统计IO需求,可以选用STC15等的小封装芯片

有没有人试过TB上面那种据称通信距离上km的无线通信模块?还是UART的
折叠评论
加载评论中,请稍候...
折叠评论
2016-6-22 12:50:06
沙暴(作者)
7楼

使用3片DRV8837,可提供两个电机正反转驱动,PWM无级调速,做船和飞机都省掉“昂贵”的舵机,做坦克挖掘机原地转弯也很爽……还有1路可以用来执行一些强力的动作控制……单价才1块1毛,链接:http://www.ti.com.cn/product/cn/drv8837 内置MOS全桥,很低的内阻,工作电压范围1.8-11V,最大驱动电流1.8A

当时买了国产芯片的L298驱动,发热很严重,效率也不高,后来买了据称进口芯片的L298,价格贵了一倍,然而还是没有。上某宝找大功率的驱动,但价格贵,体积又大,所以这艘船一直搁置着。谢谢告诉这这种驱动,终于可以告别L298

折叠评论
加载评论中,请稍候...
折叠评论
沙暴(作者)
8楼

MCU是STM32F030F4,2块钱,16KB的Flash,6KB的RAM,用Jlink可以仿真单步调试……所以,把51扔掉吧。

目前才刚刚开始学stm32,不过51单片机对于一般的应用来说也足够了,编程也相对简单一些。但两块钱的价格和高性能还真是把51远远地甩掉

折叠评论
加载评论中,请稍候...
折叠评论
2016-6-27 22:11:45
2016-6-27 22:11:45
9楼

引用 沙暴 : >MCU是STM32F030F4,2块钱,16KB的Flash,6KB的RAM,用Jlink可以仿真单步调试……所以,把51扔掉吧。

目前才刚刚开始学stm32,不过51单片机对于一般的应用来说也足……

以前我也是这样想的,但不幸这是一条弯路,浪费了很多精力和感情…… 因为我是在这个行业里工作的,天生就不喜欢做重复工作和重复造轮子。最开始在51上花费了大量功夫,迈入平台级程序大了之后,51的分bank简直是折磨人,调试维护也费劲。最后一发狠选了流明诺瑞的Cortex M3,彻底移植了代码,成本大幅下降,性能大幅提高,程序也能做到简单易懂了。后来LM卖给了TI,再被停产掉,我竟然没有一点困扰,用ST的STM32系列M3和M0、还有新唐的M0来替换,竟然代码稍做移植,用一个宏切换一下,就能在几个厂家的MCU上无缝切换…… 这才享受到了研发的快乐。新添加个功能模块,编译一下,所有产品都能享受到…… 只需要维护一份代码! 所有产品贴片前先把MCU批量烧录好Bootloader! 只需要通过串口、网口自动升级最新的用户程序! ……

折叠评论
加载评论中,请稍候...
折叠评论
10楼

最近做的一个大数据机房资产管理系统,每个单元接近1400个节点,只需要插根网线或者通过Wifi连接上去,改一下代码,编译,点一下“远程升级”,一阵子后所有节点程序都更新了,调试体验非常好。

折叠评论
加载评论中,请稍候...
折叠评论
2016-6-28 00:32:54
11楼

引用 amo : > 引用 沙暴 : >MCU是STM32F030F4,2块钱,16KB的Flash,6KB的RAM,用Jlink可以仿真单步调试……所以,把51扔掉吧。

目前才刚刚开始学stm32,不过51……

关于51,我想起了这个帖子https://www.kechuang.org/t/64187

[修改于 3 年前 - 2016-06-28 20:09:50]

折叠评论
加载评论中,请稍候...
折叠评论
2017-1-1 14:14:15
2017-1-1 14:14:15
12楼
萝丽大大启发了一代又一代人,从遥控到有刷电调,再到无刷电调,还有很多数不清的小玩意儿
折叠评论
加载评论中,请稍候...
折叠评论
13楼
272655

272656

272657

272660

272661
折叠评论
加载评论中,请稍候...
折叠评论
2017-7-27 21:29:48
2017-7-27 21:29:48
14楼
这不萝莉控嘛~哈哈
折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png