航模接收器PPM信号转PWM信号转换器
阿弥陀佛2013/08/09电子技术 IP:北京
在下新人,第一次发帖。还望各位前辈多多关照。
前一阵子看过一个视频,是一个日本人制作的遥控坦克。还记得那个视频叫“技术宅自制遥控坦克”。坦克使用的是现成的航模遥控接收器和单片机进行控制。那坦克能制动装填“弹药”(钢珠),并且能用线圈炮发射炮弹。射出的炮弹能对穿可乐罐。视频中作者还简单介绍了制作的过程,看的我是心潮澎湃,也想自己制作一台。
看完视频后,我认为制作成功的关键是用于转换接收器信号的单片机的系统。于是我决定先制作信号于转换器。
我先买来了一款合适的航模遥控器,再以边学单片机边实验的方式制作信号转换器(由于我是机械专业的学生,没怎么接触过单片机。)。
闲言少叙,先就信号转换器简单解释一下。 由于航模接收器输出的是PPM信号,而驱动电机的是PWM信号。所以需要将接收器信号先进行转换,再用于驱动电机。
视频中,这个转换器使用的是PIC单片机。而我使用的是51单片机。型号是STC的12C2052AD。至于这样选择的原因,51单片机资料多便于入门是一方面,其他方面的的后面再说。
视频中使用的编程语言是汇编语言,较为繁琐。所以我使用的是c语言。
下面说说我这个转换器的转换方式。此转换器可转换2路接收器信号,用于控制两台电机(由于坦克的前进转向之类的运动需要两台电机)。转换器根据接收的信号,调控两台电机的转向和转速。用图说明,请看下图:
接收器.png 遥控器.png

左图为接收器,ABCDEF为六个遥控通道的输出口,输出PPM信号。这六个通道分别对应着右图遥控器操纵杆的6个自由度(D,F处是一个2自由度摇杆,E,G处是一个2自由度摇杆,C处是一个单自由度旋钮,A处是一个单自由度拨开关。)。我的转换器转换的是D和F通道输出的信号。也就是遥控器左手位摇杆两个自由度活动产生的遥控信号。
由于纯数字系统不能输出真正的连续信号,只能输出阶跃的近似连续的信号(比如接收器输出的信号本来是让电机的转速从0~100%连续变化,但经过单片机取样处理以后只能让电机转速以0%,10%,20%...80%,90%,100%这11个档位阶跃变化。)。所以我把转换器输出PWM的占空比分为5档:0%,25%,50%,75%,100%
为了更形象的解释,请看下图:
dmd1a[1].png
这是我从那个日本人的网站的资料里截取的。天蓝色那一条线标明的方向是摇杆在F通道的自由度。绿色那一条线标明的方向是摇杆在D通道的自由度。上面一个一个深蓝色有黄色标记的表达的是坦克的地盘。黄色短线表明的是,摇杆在此位置时坦克底盘左右履带的转动方向和转速大小。如最左上角那一个表示的是左右履带均正转,左履带25%油门,右履带100%油门。最右下角那一个表示的是左右履带均反转,左履带25%油门,右履带100%油门。
于是我为了总结履带的运动规律画了如下一个表,以便帮助编程。
IMG_20130808_224301~1.jpg
和上图相似,天蓝色那一条线标明的方向是摇杆在F通道的自由度。绿色那一条线标明的方向是摇杆在D通道的自由度。数字的绝对值代表油门的大小(5最大,0最小)数字的符号代表此位置的履带的旋转方向(如(1,-1)表示左履带正转右履带反转)。画此图时画错了一点,把5个档位画成了6个档位,不好意思。
把各个档位都量化后,就容易编程了。至于程序怎么编的,由于我表达能力不是很好,恐怕不能让每个人都很明白,还是大家自己看程序吧。最下面有我发的程序,有需要的人请下载来看吧。其中PWM的输出信号使用单片机内置的PCA/PWM模块产生。由于我电机的驱动频率在20KHz左右(消除马达鸣叫,降低马达自感尖峰),所以光用程序产生PWM信号很不好操作。我做过实验,晶振12MHz在单片机扫描输入信号的频率不变的情况下,用程序产生PWM信号在5KHz左右就封顶了。不管怎么减小延时时间,频率依然上不去。这就是我选12C2052AD的另一个原因,因为他自带2个PCA/PWM,省去了程序延时的麻烦。
你们可能会说,视频里那个日本人用的单片机是怎么操作的呢?
我的解释是:从他给出的资料看(我去他网站下的)他用的是PIC的16F84A单片机,该单片机没有PCA/PWM模块。但他的机器时钟为20MHz。再加上PIC是1T的单片机,他又用汇编语言编程,易于精准控制延时时间。在他那种情况下,用程序延时可输出比我更高的信号频率。最重要的是,他马达的驱动频率为区区20Hz左右。(因为他使用的是微型马达,产生的尖峰电压很小。而且20Hz的声波,人耳基本听不见。)
再下面是电路图。
最小系统板.jpg
这是最小系统板图。
电机驱动板.jpg
这是左右两个电机的全桥驱动。由于使用的是IR2104这款自举驱动芯片,所以我程序中设定PWM的最大占空比为96%,以保证MOS管的正常工作。
下面是实际测试的图(还没做电机驱动板):
large_u8L3_7b6a0000b6bd118c.jpg
large_jKsm_15230000e76d1191.jpg
我一个学电的同学在看完我的制作后建议我自己做一个遥控器。用滑变电阻做摇杆,用A/D采样,再用2.4G通信模块完成信号传输。我想说这是个好点子,不过我还只是一个初学者(我还没用过通信模块),要一下学通所有的方面暂时有些困难。不过我一定会努力,争取让上面的新点子早日成真。
还有,因为是新手,程序编写的可能比较臃肿、粗糙。还请各位高手海涵。
以上就是我这次发的全部内容,感谢大家不厌其烦的听我念叨,很荣幸能在科创这个平台上与大家分享交流资料和经验。
如有意见请轻喷,谢谢。

attachment icon 转换器程序和电路图.rar 211.62KB RAR 178次下载
+15  科创币    香皂火箭q    2013/08/10 表示支持
+24  科创币    布布卡    2013/08/11 高质量发帖
来自:电子信息 / 电子技术
13
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
阿弥陀佛 作者
11年6个月前 IP:未同步
558188
感谢支持。待会我拍个测试视频发上来。
视频还在审核先发几张照片吧。
由于驱动板还没做,于是用LED的亮灭代表电机旋转方向。
下图中的四个LED从左到右分别代表Left_up,left_down,right_up,right_down的四路电机旋转方向控制信号。
示波器黄色波形和蓝色波形分别代表的是PWM_Left和PWM_Right的转速控制信号。
前进.jpg
上图是前进
后退.jpg
上图是后退
右前转弯.jpg
上图是右前转弯
左前转弯.jpg
上图是左前转弯
右后转弯.jpg
上图是右后转弯
左后转弯.jpg
上图是左后转弯
原地右转.jpg
上图是原地右转
原地左转.jpg
上图是原地左转


视频
点击此处查看视频

话说,好冷清......
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liy
11年6个月前 IP:未同步
558472
欢迎新人,虽然我也是比较新的。最近在玩模拟器G6,我正在做一种飞行器。你的示波器是自己的吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿弥陀佛作者
11年6个月前 IP:未同步
558484
回 2楼(liy) 的帖子
哈哈,谢谢捧场。虽然我也在制作模型,不过在模型制作作方面还很菜,请多关照[s:274]     那示波器是我自己的,花了我不少银子......
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
t01051
11年6个月前 IP:未同步
558554
或许你发到模型中国上就不冷清了[s:271]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
yurifreeman
11年6个月前 IP:未同步
558560
lz土豪不解释[s:178]
au4447664.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿弥陀佛作者
11年6个月前 IP:未同步
558588
回 4楼(t01051) 的帖子
谢谢你的建议。虽然我制作模型,但制作模型并不是我的初衷[s:274]。
我是想学习一下遥控和单片机方面的知识,后面我还想试着用2.4G的通信模块制作遥控器。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阿弥陀佛作者
11年6个月前 IP:未同步
558589
回 5楼(yurifreeman) 的帖子
我这哪里是土豪[s:226] ,买这些实验设备花了我一年的积蓄...
主要是为了我的爱好,我才这么豁的出去的。
+1
科创币
yurifreeman
2013-08-10
至少比我好........我只有一个电阻档坏掉的万用表..........
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
songmuyi
9年10个月前 IP:北京
759830
那个表启发了我,我是在做一个两轮的差动转向
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ustbyfj
8年10个月前 IP:北京
813320
不错!!!厉害   !!求程序
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
gmcg
8年10个月前 IP:广东
814558
这转换真不错
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
qazwqsx
8年10个月前 IP:美国
814967
其实可以试试数传电台
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Mingrui
8年8个月前 IP:江苏
819898
好眼熟的遥控器呀!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

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

所属专业
上级专业
同级专业
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}