5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
标题: 我们也DIY了一个遥控坦克和大家分享【已更新到解密10结构与组装】 [打印本页]
作者: @ZiShi 时间: 2013-1-7 22:26
标题: 我们也DIY了一个遥控坦克和大家分享【已更新到解密10结构与组装】
本帖最后由 @ZiShi 于 2013-1-22 13:35 编辑
更新到解密10结构与组装,详见79楼,感谢大家关注......
近期我们也DIY了一辆遥控坦克拿来与大家分享,从结构到硬件还有软件完全DIY,虽不能和坛子里的专业高手相比,但还是愿意分享这份快乐。
先上段视频
还有些图片
(, 下载次数: 33)
(, 下载次数: 27)
(, 下载次数: 32)
(, 下载次数: 35)
(, 下载次数: 40)
再来介绍下具体DIY过程
遥控坦克DIY过程解密(01)
【前言】
为了大家进一步了解这个项目,“@ZiShi”将本着开放、分享的原则对这个坦克的DIY过程进行“解密”,说是“解密”可能更多针对一些DIY“新手”而言的,对于一个DIY“高手”来说这些可能并不算什么,但是仍然希望DIY“高手”们来分享这个过程并提出您的改进意见。
【面向玩家】
这个坦克的DIY过程主要面向广大的小车、模型、电子、机械DIY爱好者,重点在于分享DIY过程以及DIY心得,与更多朋友分享DIY的乐趣。
如果您是一个DIY“新手”通过“@ZiShi”的这些文字您可以了解到DIY过程中使用到的一些工具、设备、相关基础知识以及这个坦克的组装过程。如果您是一个DIY“熟手”,您可能曾经做过类似的事情,同时更希望了解“@ZiShi”这个坦克的DIY过程以及内部原理,“@ZiShi”在这里都会呈现给大家。如果您是一个DIY“老手”的话,那么“@ZiShi”的这篇文字在您面前就显得班门弄斧了,我们更希望您能为我们的进步提出更多宝贵意见,在这先说一声谢谢。
【几点说明】
在此要说明几点:
1. 由于精力和时间的限制再加上内容较多,这篇文字会不断更新直到完成,请大家持续关注;
2. “解密”过程将会沿着电路、软件、机械、组装的过程展开;
3. 由于篇幅所限文字将侧重原理进行讲解;
4. 文字中会涉及到一些专业知识如机械、电子以及软件,如果我们哪里做的不合理或不正确请您明确指出;
5. 对于一个DIY的作品很多地方是不能使用产品级的眼光去看待的,这样会给DIY过程带来很大困难,当然我们力争做到专业;
上面说了很多题外话,下面进入正题。
遥控坦克DIY过程解密(02)
首先我们进行一个简单设计,规划一下我们的遥控坦克要具备哪些功能。我们希望DIY后的遥控坦克可以实现下面一些功能:
1、前进;
2、后退;
3、左转;
4、右转;
5、炮塔顺时针旋转;
6、炮塔逆时针旋转;
7、通过遥控方式实现功能1-6;
我们知道坦克的移动以及炮塔的旋转可以通过电机实现,对于遥控功能的话我们这里选用的是NRF24L01这个无线收发模块,所以对上面7点进一步概括的话我们只要实现电机的控制以及无线接收与发送就可以了。
下面是遥控坦克的功能图。
(, 下载次数: 31)
图中的“M”表示坦克上的3个电机,分别是2个轮子和1个炮塔,绿色的框代表NRF24L01这个无线收发模块(需要2只),实际上剩下的工作大家都很容易想到,只要接收模块接收到遥控发来的命令然后对命令进行识别,最后控制电机旋转。
做过电机控制的朋友都知道只要通过一个叫“H桥”的电路就可以轻松控制电机转动,那么实现“H桥”的方法有很多,大家可以使用独立元器件去搭建电路当然也可以选择现成的控制芯片,我们选择第二种方法,选择使用芯片有几个好处,第一它能够大大节省我们的DIY时间,第二降低了实现的难度,同时芯片的集成度也比较高让电路看起来比较美观。这里我们不去讨论如何选择“H桥”芯片,我们只简单的介绍我们使用的这款芯片“L9110”,因为他价格不贵而且使用方便,下图是L9110使用手册上的截图。
(, 下载次数: 38)
我们发现这个芯片上有8个引脚,我们只要关注其中的4个就够了分别是IA、IB、OA和OB那么这四个引脚的关系是什么呢,继续看芯片的使用手册(本来是件挺轻松的事情结果动不动就要把手册请出来,真是头大),通过浏览芯片的使用手册我们会发现这样一张图,如下:
(, 下载次数: 25)
这张引脚波形图已经清楚的告诉我们,IA和OA的关系以及IB和OB的关系,用一句话概括就是输入是高那么输出也是高,输入是低输出也是低,怎么样简单吧。
知道了引脚的时序关系后就可以要把他它连接到电路中了,芯片的使用手册上已经给出了应用电路,我们照做就好了,看下图:
(, 下载次数: 43)
这个电路看起来还是蛮简单的,芯片左边连接电机右边连接单片机的IO。
遥控坦克DIY过程解密(03)
上一回我们已经大致了解了“H桥”芯片L9110的使用方法了,这一回我们将解释如何使用这个芯片来控制小马达的旋转,参考上一回芯片手册上给出的应用电路,我们可以清楚的知道只要将芯片的OA和OB引脚与马达的两个引脚相连就完成了马达与芯片的连接,如图3-1所示:
(, 下载次数: 32)
马达与芯片连接好以后,坦克控制系统的主角就要登场了,她就是微控制器(MCU),在我们的坦克系统中马达的启动、停止、旋转方向以及旋转速度都是由微控制器进行精确控制的,可见她的地位是非常重要的。
说道微控制器我们也叫他单片机,常见的单片机有很多51、AVR、Arduino、ARM等等,我们这个坦克所使用的单片机是51兼容的单片机,具体型号是STC89C52,这款单片机的程序空间以及她的数据空间完全能够满足我们DIY遥控坦克的需要,而且使用起来也比较方便,图3-2是一个STC89C52单片机:
(, 下载次数: 36)
单片机的IO引脚是其与外界通信的重要手段,我们正是利用单片机的IO与L9110进行通信的,下面看我们是怎样将两者进行连接的,如图3-3所示:
(, 下载次数: 30)
将单片机的P10和P11分别和L9110的IB和IA相连,这里需要提醒那些想使用这个电路DIY的朋友,需要注意图中那两个虚框专业上称为上拉电阻的家伙,有的时候单片机引脚的驱动能力有限需要使用这种方法提高她的驱动能力,这个要视情况而定,并不是所有情况下都需要这个电阻的,可能有人会问到如果需要的话选什么阻值呢,根据我们的经验选择10K欧姆电阻式可以正常工作的。
有了上面这个电路我们就可以完成一组电机的控制了,这里我们需要三个电机那么如法炮制,只要再次分配4个IO口连接另外2块L9110就可以了,如图3-4所示:
(, 下载次数: 43)
另外这里还涉及到单片机的工作问题,比如电源怎么接、地线怎么接、还有复位电路等等,这里都没有描述,由于这些内容讲起来比较占用篇幅,如果有想使用这个电路进行DIY但又不太熟悉单片机的朋友可以联系“@ZiShi”,我们可以提供更细致的资料。
电机控制原理基本介绍完了,看起来并不复杂,后面该介绍数据接收部分的电路了。
今天就到这里,下回继续……
欢迎感兴趣的朋友一起讨论
作者: NNBFAAA 时间: 2013-1-7 22:29
感谢分享
作者: zgchen 时间: 2013-1-7 23:19
不错!不知道能实现比例遥控么!那遥控器是用单片机做还是用成品的改装
作者: 366563421 时间: 2013-1-7 23:52
来上课来了,,呵呵
作者: 648926778 时间: 2013-1-8 00:29
楼主好人,关注中,继续加油
作者: 648926778 时间: 2013-1-8 00:34
是要卖吗
作者: xianglei6619 时间: 2013-1-8 07:49
先顶后学!
作者: peng89769975 时间: 2013-1-8 08:27
电路图用神马软件画的?
作者: @ZiShi 时间: 2013-1-8 08:41
zgchen 发表于 2013-1-7 23:19
不错!不知道能实现比例遥控么!那遥控器是用单片机做还是用成品的改装
遥控部分也是依靠单片机实现的,依靠数据传输模块完成的。
作者: @ZiShi 时间: 2013-1-8 08:43
366563421 发表于 2013-1-7 23:52
来上课来了,,呵呵
不敢不敢,多多交流
作者: @ZiShi 时间: 2013-1-8 08:43
xianglei6619 发表于 2013-1-8 07:49
先顶后学!
共同进步,大家一起DIY。
作者: @ZiShi 时间: 2013-1-8 08:45
peng89769975 发表于 2013-1-8 08:27
电路图用神马软件画的?
不是什么复杂的软件,说出来怕大家笑话,使用PowerPoint画的。
作者: lxynaodan 时间: 2013-1-8 08:49
想知道这坦克是什么材料做的
作者: 野梦、心在遥远 时间: 2013-1-8 08:51
这造型有点科幻
作者: hefeiwuyue 时间: 2013-1-8 09:30
这个是楼主自己设计的套材吗?什么价格啊?做的很不错啊。坦克的负重轮有悬挂吗?视频里看不出来是否有悬挂,坦克没有悬挂那就没意思了哦!
作者: 丿坠入丶红尘 时间: 2013-1-8 10:41
单片机,貌似很复杂的说……还有问一下,那个单片机的各个引脚的功能都是通过自己设定的么?
作者: LooksSoYaung 时间: 2013-1-8 12:22
这正是我多年来梦想达成的啊!
作者: LooksSoYaung 时间: 2013-1-8 12:32
丿坠入丶红尘 发表于 2013-1-8 10:41
单片机,貌似很复杂的说……还有问一下,那个单片机的各个引脚的功能都是通过自己设定的么?
包含四大组各8根输入/输出引脚,给它打成序时可以定义那些脚是干啥的(有木有电)。
作者: @ZiShi 时间: 2013-1-8 13:37
LooksSoYaung 发表于 2013-1-8 12:22
这正是我多年来梦想达成的啊!
我们并无意破坏您的美梦,
作者: @ZiShi 时间: 2013-1-8 13:44
lxynaodan 发表于 2013-1-8 08:49
想知道这坦克是什么材料做的
这个材料很常见,叫亚克力
作者: @ZiShi 时间: 2013-1-8 13:47
丿坠入丶红尘 发表于 2013-1-8 10:41
单片机,貌似很复杂的说……还有问一下,那个单片机的各个引脚的功能都是通过自己设定的么?
51还好,不是太复杂,需要一点编程知识就能搞定它了。
对于引脚的设定每个单片机的设定方法不完全一样,这个在“解密”进行到软件部分时,应该会讨论到的。
作者: gbfans 时间: 2013-1-8 14:09
这好东西要顶,顺便来学习。懂机电一体化的是牛人
作者: chenwen920 时间: 2013-1-8 14:12
好东西 顶起~~~~~
作者: 丿坠入丶红尘 时间: 2013-1-8 14:56
我等……
作者: txch 时间: 2013-1-8 15:26
学习!
作者: 拔凉办 时间: 2013-1-8 16:03
我试过,51单片机输出pwm,可以直接控制9g小舵机其他小舵机没试过应该也可以,目前可以做到八路舵机,2.4g的NRF24L01的模块我也做过一个遥控小车,不过不是比例控制。lz有么有做比例控制的相关算法,我看网上有人视频里面就做出比例控了,但没查到相关资料。求资料
作者: 唛头豹 时间: 2013-1-8 16:41
楼主的坦克很个性,做的也非常漂亮
作者: sunwon 时间: 2013-1-8 19:02
好贴啊,正要学习 坦克的 电调呢,楼主有关于 分立原件H桥的知识吗 就是用 4个 MOSFET场效应管控制一个电机的那种?
我想知道 MOSFET怎么提高功率去驱动 250W 的马达。。。。 管子简单并联可行么?
作者: 玄甲铁骑 时间: 2013-1-8 20:22
同玩51单片机的路过帮顶
作者: 金属飞燕 时间: 2013-1-8 21:49
板件做得很用心呀。
作者: xianglei6619 时间: 2013-1-9 08:14
楼主加油出新贴吧
作者: xianglei6619 时间: 2013-1-9 08:21
我觉得MCU不是必须的吧,直接用接收来控制更能降低成本和难度,楼主能否开源一个?
作者: xianglei6619 时间: 2013-1-9 08:22
我想把家里的几个坦克都改好。
作者: leekenz 时间: 2013-1-9 09:00
电子的不懂,来学习的!
作者: @ZiShi 时间: 2013-1-9 11:52
拔凉办 发表于 2013-1-8 16:03
我试过,51单片机输出pwm,可以直接控制9g小舵机其他小舵机没试过应该也可以,目前可以做到八路舵机,2.4g的 ...
要实现比例遥控首先是手柄要支持这种操作,根据摇杆所处位置不同发送不同的数据,这样接收端接收到数据以后解析成角度再来控制舵机。
个人看法,不知道是否正确,后期我们也打算DIY一个这种遥控器,目前还只是按键控制,可多多交流
作者: @ZiShi 时间: 2013-1-9 12:07
sunwon 发表于 2013-1-8 19:02
好贴啊,正要学习 坦克的 电调呢,楼主有关于 分立原件H桥的知识吗 就是用 4个 MOSFET场效应管控制一个电 ...
这里给您一个分立元件的电路图,是我以前使用过的,关于控制250W马达的问,这个确实没有经验了。
(, 下载次数: 27)
作者: @ZiShi 时间: 2013-1-9 12:08
xianglei6619 发表于 2013-1-9 08:22
我想把家里的几个坦克都改好。
支持,改好后上图
作者: @ZiShi 时间: 2013-1-9 12:10
金属飞燕 发表于 2013-1-8 21:49
板件做得很用心呀。
谢谢支持,都是设计结构那个兄弟的功劳
作者: @ZiShi 时间: 2013-1-9 12:12
xianglei6619 发表于 2013-1-9 08:21
我觉得MCU不是必须的吧,直接用接收来控制更能降低成本和难度,楼主能否开源一个?
感觉买一套遥控和接收还是蛮贵的,主要是咱这小坦克也比不过人家那专业模型呀
作者: @ZiShi 时间: 2013-1-9 12:16
丿坠入丶红尘 发表于 2013-1-8 14:56
我等……
遥控坦克DIY过程解密(04)
>>>>>>>>>>2013-01-09<<<<<<<<<<
(, 下载次数: 21)
上一回我们分享了电机控制的原理,这一回我们继续看下遥控是如何实现的。
对于一个坦克或小车来讲我们总不希望他拖个长长的尾巴跑来跑去(线控)这样会大大的限制住坦克的活动范围,如果是飞机或舰船的话使用线控就显得更不合适了,那么使用什么方法来对坦克进行远程的控制呢,同样有很多方案供DIY爱好者选择,简单来说有下面几种:
1、常见的航模遥控器,如图4-1,加上接收器一套下来估计最便宜的那种都要一两百元,不太适合资金有限的DIY朋友;
2、还有一种遥控外观如图4-2,这种遥控器主要用来控制电灯的开关,以及经常出入停车场的朋友常常会看到门卫手里拿的这个东西遥控进出口栏杆的起降,这个种模块使用非常简单,但是有一点不足这个模块可以表达的信息有限,对于简单的开关完全可以,但要是功能多起来,这个遥控就应付不了了,尤其要实现比例遥控的话这个模块就无能为力了;
3、第三个就是我们这里要讨论的NRF24L01这个模块了如图4-3,首先他价格便宜其次它是一个数据传输模块可以传输多种控制命令,但它也有缺点那就是他的接口比较复杂需要特定的时序才能完成对它的控制;
(, 下载次数: 28)
(, 下载次数: 17)
(, 下载次数: 16)
经过综合的考虑我们选择了NRF24L01这个模块,决定使用单片机对它进行控制。
下面就是硬件的连接问题了,说到这里我们又要去翻看芯片的使用手册,还好我们有图4-3这样的模块,模块中已经帮我们做好了芯片的周边电路,我们并不需要做这些工作过了,我们只要了解这个模块各个针脚的定义就好了,看图4-4。
(, 下载次数: 28)
这个模块有8个针脚,分别代表VCC、GND、CE、CSN、SCK、MOSI、MISO、IRQ,我们看看如何把这个模块和51单片机相连,如图4-5。
(, 下载次数: 29)
我们将无线模块的各个引脚与单片机的P2口相连,同时将它的中断引脚连接到单片机的INT0引脚,这部分硬件电路的搭建基本就结束了,需要注意的是图中那个上拉电阻,到了这里坦克一端的硬件电路基本已经形成了,看下完整的电路,图4-6。
(, 下载次数: 25)
后面我们再简要介绍一下,遥控手柄一端的电路,今天先到这里。
待续……
作者: jackcai2008 时间: 2013-1-9 13:57
这款diy的坦克可以作为一个儿童入门的学习套装,不错
如果是开源的话可以作为大学生竞赛的套材了
LZ加油
作者: guoxy99 时间: 2013-1-9 14:43
学习下
作者: sunwon 时间: 2013-1-9 15:01
@ZiShi 发表于 2013-1-9 12:07
这里给您一个分立元件的电路图,是我以前使用过的,关于控制250W马达的问,这个确实没有经验了。
谢谢 兄台,图收了!
作者: LooksSoYaung 时间: 2013-1-9 15:56
(, 下载次数: 30)
当年雄心勃勃,用的还是这种APC220型远程数据传输模块,现在想想真是浪费感情啊。
作者: tufei 时间: 2013-1-9 16:21
充满科幻气息,LZ设计的不错。顶你
作者: xianglei6619 时间: 2013-1-9 16:25
@ZiShi 发表于 2013-1-9 12:12
感觉买一套遥控和接收还是蛮贵的,主要是咱这小坦克也比不过人家那专业模型呀
我的意思你没听懂,我说的是直接用你的接收接到H桥,再接到电机,不需要MCU
作者: 拔凉办 时间: 2013-1-9 20:20
@ZiShi 发表于 2013-1-9 11:52
要实现比例遥控首先是手柄要支持这种操作,根据摇杆所处位置不同发送不同的数据,这样接收端接收到数据以 ...
我也是这么想的 手柄的摇杆是个电位器,网上有卖的 比较便宜,我想可以利用AD转换模块 将电位器反应模拟量转为数字量,然后用单片机读取,编码后发送,接受端解码后利用pwm算法实现对电机转速的控制,这样就可以实现比例控制了。不过一直没时间做,而且想起来简单,做起来,编程算法还是有点麻烦,有空看能不能做出来
作者: 拔凉办 时间: 2013-1-9 20:28
xianglei6619 发表于 2013-1-9 16:25
我的意思你没听懂,我说的是直接用你的接收接到H桥,再接到电机,不需要MCU
他的那个接受只是个2.4g的无线模块,没有mcu根本就无法工作,只有mcu向2.4g的模块发送各种指令,模块才能工作,就像电脑主板和网卡的关系一样。
作者: @ZiShi 时间: 2013-1-10 08:22
jackcai2008 发表于 2013-1-9 13:57
这款diy的坦克可以作为一个儿童入门的学习套装,不错
如果是开源的话可以作为大学生竞赛的套材了
...
谢谢支持
您好有商业眼光的哦
作者: @ZiShi 时间: 2013-1-10 08:29
LooksSoYaung 发表于 2013-1-9 15:56
当年雄心勃勃,用的还是这种APC220型远程数据传输模块,现在想想真是浪费感情啊。
飞思卡尔也有一款无线串口,价格也还可以,一起使用过
(, 下载次数: 20)
大家用这个也能做的,控制起来也比较方便,直接插到串口上就行了。
作者: @ZiShi 时间: 2013-1-10 08:31
tufei 发表于 2013-1-9 16:21
充满科幻气息,LZ设计的不错。顶你
多谢夸奖,
大家努力的结果,多多交流。
作者: @ZiShi 时间: 2013-1-10 08:33
拔凉办 发表于 2013-1-9 20:28
他的那个接受只是个2.4g的无线模块,没有mcu根本就无法工作,只有mcu向2.4g的模块发送各种指令,模块才能 ...
嗯嗯 的确是这个意思
作者: @ZiShi 时间: 2013-1-10 08:34
拔凉办 发表于 2013-1-9 20:20
我也是这么想的 手柄的摇杆是个电位器,网上有卖的 比较便宜,我想可以利用AD转换模块 将电位器反应模拟 ...
是啊,就是您说的这个原理,做出来分享成果哦
作者: @ZiShi 时间: 2013-1-11 10:36
遥控坦克DIY过程解密(05)
>>>>>>>>>>2013-01-11<<<<<<<<<<
(, 下载次数: 31)
上一回我们介绍完了坦克一端的硬件部分,这回继续介绍一下手柄一端的硬件,比较之前的电路手柄这边的电路要简单一些了,还是老习惯我们先分析一下手柄的功能,如图5-1。
(, 下载次数: 27)
手柄的主要任务就是处理玩家的一些动作,然后将玩家的动作以命令形式发送给坦克。那么玩家都有哪些动作呢?总结下来就一个动作“按键”,当手柄发现用户按下按键后,判断用户按下的是哪个按键最后将这个按键对应的操作以命令形式发送给坦克。
根据前面对坦克功能的定义我们要实现的动作有前进、后退、左转、右转、炮塔顺时针转、炮塔逆时针转这几个动作,那么我们就来设计一个带有6个按键的手柄,其大致外观如图5-2。
(, 下载次数: 34)
功能基本确定了我们来看下手柄一端的电路如何设计,涉及到数据传输模块的设计其实与坦克一端是一样的,可以直接参考《遥控坦克DIY过程解密(04)》来完成相关电路的设计,我们仅仅讨论按键电路的设计,如图5-3所示。
(, 下载次数: 28)
其中阴影部分电路就是遥控手柄的按键电路,同时已经给出了数据传输模块的电路。我们一共定义了6个按键使用单片机的P0口去读取按键的状态,如果读入的数据是‘0’说明按键是抬起状态,如果读入的数据是‘0’说明按键被按下。怎么样其实实现一个手柄也并不复杂,对于我们DIY来说这个电路已经完全够用了。我们可以选择图5-4这种小按键来制作我们的手柄。
(, 下载次数: 33)
把这种按键焊接在万能版上效果如图5-5所示。
(, 下载次数: 29)
DIY这个遥控坦克所涉及到的硬件部分基本介绍完毕了,后面的工作就是根据原理图(在万能版或面包板上)把电路搭建好,搭建好电路后就可以进入软件设计阶段了。
今天先进行到这里,待续……
作者: @ZiShi 时间: 2013-1-13 13:13
本帖最后由 @ZiShi 于 2013-1-13 13:21 编辑
遥控坦克DIY过程解密(06)
>>>>>>>>>>2013-01-13<<<<<<<<<<
【解密-软件】
我们说硬件是载体软件是灵魂,前面已经介绍了遥控坦克的硬件部分接下来我们该去实现它的软件部分了,说简单就是写程序控制我们的坦克完成预计功能。看过前面文字的朋友知道我们的硬件系统分为两部分,它们是坦克系统和手柄系统,我们要分别为这两个系统编写程序。首先我们先设计一下坦克一端的软件架构,如图6-1。
(, 下载次数: 18)
从图中我们能看出坦克一端在不断的接收命令,如果有命令发来就解析命令然后执行命令,如果没有命令那么继续下一次接收命令,总之坦克一旦上电就在不停的接收命令直到关闭电源。这里给出部分源程序作为参考,考虑到有些朋友不太熟悉程序设计为不影响大家对原理的理解,在代码中使用了很多注释和伪代码甚至插入很多中文信息,如图6-2。
(, 下载次数: 31)
从图中我们可以清晰的看出程序的执行过程,系统在无止境的循环接收命令、解析命令、执行命令。其中红色方框部分是这段程序的主体,我们会发现它的核心就是控制电机的旋转,那么如何通过程序来控制电机的旋转呢,这就要回忆一下前面介绍的硬件电路了(《遥控坦克DIY过程解密(02)》),如图6-3。
(, 下载次数: 24)
根据L9110的工作时序图以及我们的硬件原理图,我们可以清楚的看出要想让电机旋转我们只要让单片机的两个IO引脚P10、P11输出反相就可以了,如果转化成代码如图6-4所示。
(, 下载次数: 33)
上图中红色方框中表示的是对一个马达的控制,对另外2个马达的控制方法也是一样的,进行到这里我们已经可以通过程序来控制电机的旋转了,只要正确的协调3个马达的旋转方向,我们就可以让我们的坦克完成前进、后退、左转、右转、炮塔顺时针旋转以及炮塔逆时针旋转这几个功能。
那么系统是如何知道已经接收到数据的呢?只要有2种方法,一种方法是对NRF24L01的状态不断进行查 询,另一种方法是当NRF24L01接收到数据以后主动通知MCU,根据我们的硬件原理图同时为了提高系统执行效率,我们采用第二种方法,代码如图6-5、6-6。
(, 下载次数: 28)
(, 下载次数: 23)
当接收到数据传输模块触发的中断后,我们去读取传输模块的状态,如果接收到数据我们就设置一个标志,图6-2的程序会不断查 询这个标志,一旦发现有数据发送来,就可以对数据进行解析了。
当然这里面我们省略了初始化硬件、定时器以及传输模块的详细步骤,如果大家在DIY过程中也遇到到了具体技术问题,可以随时翻阅资料或学习,当然也可以与“@ZiShi”进行交流。
如果要让坦克正常解析接收到的命令,我们可以定义一些简单的协议,如图6-7。
(, 下载次数: 28)
有了命令列表,通信双方就可以根据这个“协议”进行通信了,假如坦克一端接收到0X00,那么坦克就全速向前冲,如果坦克一端接收到0X02,那么坦克就会左转,大家还可以自己扩充这个命令列表,让自己的坦克完成更多的功能。
坦克一端的程序原理已经介绍完毕了,后面我们还会继续介绍遥控手柄一端的程序原理。
今天先到这里……
作者: @ZiShi 时间: 2013-1-13 13:16
@ZiShi 发表于 2013-1-13 13:13
遥控坦克DIY过程解密(06)
>>>>>>>>>>2013-01-13
更新到解密6
作者: abcdetg 时间: 2013-1-13 23:52
学习!学习!学习!
作者: @ZiShi 时间: 2013-1-14 09:16
abcdetg 发表于 2013-1-13 23:52
学习!学习!学习!
多多交流
作者: zgchen 时间: 2013-1-14 09:56
坦克专用遥控器!很专业的!!涉及到坦克转弯和别的车不一样啊,不知道坦克转弯的混空怎么设置的?
作者: 丿坠入丶红尘 时间: 2013-1-14 14:06
呃
作者: lgq12172009 时间: 2013-1-14 21:18
楼主中间不用mcu也可以驱动啊 这个是我的帖子
tieba.baidu.com/p/1723405075
作者: @ZiShi 时间: 2013-1-14 23:12
zgchen 发表于 2013-1-14 09:56
坦克专用遥控器!很专业的!!涉及到坦克转弯和别的车不一样啊,不知道坦克转弯的混空怎么设置的?
边转弯边旋转炮塔算是“混控”吗?
如果算的话,这个行为通过程序是完全能够实现的,只要同时控制多路电机旋转我想就可以的
当然,这只是一个DIY,与“很专业的 坦克专用遥控器”还是不能比的
作者: @ZiShi 时间: 2013-1-14 23:17
lgq12172009 发表于 2013-1-14 21:18
楼主中间不用mcu也可以驱动啊 这个是我的帖子
tieba.baidu.com/p/1723405075
看了下,您这个做的很不错,多谢分享
作者: lgq12172009 时间: 2013-1-14 23:52
@ZiShi 发表于 2013-1-14 23:17
看了下,您这个做的很不错,多谢分享
呵呵 多谢夸奖 做模型就是分享的
作者: @ZiShi 时间: 2013-1-15 07:56
遥控坦克DIY过程解密(07)
>>>>>>>>>>2013-01-15<<<<<<<<<<
(, 下载次数: 58)
前面介绍了坦克一端的程序原理这一回我们来看看手柄程序是怎么实现的,要实现手柄一端的程序我们还得回顾一下手柄一端的硬件原理图,如图7-1。
(, 下载次数: 58)
根据原理图我们可以看出当按键没有被按下是,单片机对应的IO引脚为高电平,当有按键按下时候,单片机对应的IO引脚为低电平,根据这一原理,我们的程序可以不断去读取IO引脚的状态来判断是哪个按键被按下了,请看图7-2。
(, 下载次数: 53)
图7-2是一段按键扫描程序,这段程序会返回被按下按键的编号,最后根据按键的编号发送对应的控制命令。系统程序运行起来后我们只要不断的调用这个按键扫描函数,就可以不断的读取用户输入,发送控制命令,如图7-3。
(, 下载次数: 53)
至此程序部分的基本原理已经介绍完毕了,有了这些程序我们已经可以控制我们的坦克完成预计的功能了,如果后面再需要其他功能我们会在这个程序上进行扩展,另外这里给出的只是框架性的内容,为了不影响对整体程序功能的理解,我们略去了部分技术细节。
有些朋友可能对单片机编程或者对一些芯片、模块的使用不太熟悉,这些涉及到具体细节的问题我们可以另外进行讨论,这里还是以原理为主。
软件部分的“解密”基本完成了,下一回我们要开始进行结构与外观的设计了,敬请期待……
作者: guoxy99 时间: 2013-1-15 14:04
作者: jjinn 时间: 2013-1-15 14:13
不错,很喜欢,求量产
作者: @ZiShi 时间: 2013-1-15 15:49
jjinn 发表于 2013-1-15 14:13
不错,很喜欢,求量产
多谢支持
作者: zgchen 时间: 2013-1-15 20:00
坦克有信地回旋(原地打转)和单边履带转弯2种模式
作者: akm 时间: 2013-1-15 23:56
关注中,继续加油
作者: @ZiShi 时间: 2013-1-16 09:12
zgchen 发表于 2013-1-15 20:00
坦克有信地回旋(原地打转)和单边履带转弯2种模式
这个应该可以实现的,究其本质还是在控制马达的旋转,只是在速度和方向上进一步控制。
作者: @ZiShi 时间: 2013-1-16 09:13
akm 发表于 2013-1-15 23:56
关注中,继续加油
感谢您的支持
作者: 金属飞燕 时间: 2013-1-16 23:29
本帖最后由 金属飞燕 于 2013-1-16 23:38 编辑
zgchen 发表于 2013-1-15 20:00
坦克有信地回旋(原地打转)和单边履带转弯2种模式
按键的多设几个,分原地转和单边转,摇杆的控就好多了,水平打是原地回转,斜向上5-30度是单边转,角度越大转速越快,30度以上就是前进转弯,这样就ok了。当然前提是程序做相应的功能,都做到这个阶段了也算是水到渠成的事情了吧。
作者: @ZiShi 时间: 2013-1-17 13:11
金属飞燕 发表于 2013-1-16 23:29
按键的多设几个,分原地转和单边转,摇杆的控就好多了,水平打是原地回转,斜向上5-30度是单边转,角度 ...
多谢分享
作者: @ZiShi 时间: 2013-1-17 13:13
遥控坦克DIY过程解密(08)
>>>>>>>>>>2013-01-17<<<<<<<<<<
(, 下载次数: 62)
前面介绍了很多专业内容,估计大家看的有些不耐烦了,今天换换口味,欣赏一下我们拍摄的照片,之前一直有朋友反映视频看的不是很清楚,很多细节没有看到,今天给大家上几张图,我们也正在翻录新的视频,希望能做的更好,话不多说开始上图喽,图8-1:
(, 下载次数: 48)
上面这张图,是我们用铜柱和螺母拼出的“DIY”和“ZiShi”字样,图中这两样东西,是我们拼接外壳的主要连接件。他们都是很常见的零件,相信常常DIY的朋友对这种零件并不陌生。在看下一张,图8-2。
(, 下载次数: 52)
看到这个图大家会不会想起儿时玩的四驱车呢,如果能够回忆起说明您从小就十分热爱DIY这项充满刺激的动手活动。我们的坦克就是利用这些简单的组件搭建出来的,蛮神奇的。
后来我们都长大了,但心依然年轻,从未放弃自己热爱的事情,只是不再满足于“简单”的四驱车,一心想要做出自己的超级战车,同时我们的战车应该具有聪明的“大脑”,而不是简单的前、后、左、右,我们要实现更多功能让它具备更快的反映能力,要说反应能力快在这是世界上谁还能快过计算机呢,我们打算在战车中植入计算机让它具有思维,下图就是我们引入的51计算机,图8-3。
(, 下载次数: 54)
有了大脑战车才会变得更加聪明。
要说DIY真的乐趣很多,可以充分发挥大家的想象力和动手能力,同时让我们在学校里学到的知识不被浪费掉,所以我们一直鼓励大家动手去做去实践。
说到坦克我们再来看看他的履带长什么样子,如图8-4。
(, 下载次数: 46)
大家看到了吗,坦克的履带,我们就以这张笑脸结束今天的文字,希望我们能为大家带来更多的快乐,同时也感谢前一段时间大家对“ZiShi”遥控坦克的支持,感谢大家。
后面我们继续回到结构设计的话题,请看下一回……
作者: @ZiShi 时间: 2013-1-19 23:59
本帖最后由 @ZiShi 于 2013-1-20 00:00 编辑
遥控坦克DIY过程解密(09)
>>>>>>>>>>2013-01-19<<<<<<<<<<
(, 下载次数: 39)
继续解密
今天进行我们遥控坦克项目的最后一个“解密”部分,最后一部分主要是关于机械结构的解密。对于一般的DIY爱好者来讲螺丝刀、钳子、钢锯、电钻这些工具还都是具备的,但是要说到数控机床、激光切割之类的大家伙可能很少有人具备这个条件了,是不是没有这些大家伙我们就不能进行DIY了呢?当然不是的。DIY的精神就在于有条件要DO,没条件创造条件也要DO,没有工具没有专业的知识都不能阻止我们去DIY。
今天在这里“ZiShi”要给大家分享的内容是,在有限的加工工具和有限的专业知识条件下如何进行个人的DIY,当然我们这回是围绕机械结构部分展开的。
我们会分两回进行这部分内容,第一回介绍金属加工方法,第二回介绍非金属加工方法。
先来看金属加工方法,做任何事之前都需要进行简单设计,如果不进行设计就开工后面会遇到很多麻烦,对于机械加工来说我们第一步要做的就是绘图,可能有朋友说了没学过CAD怎么做呢?我们说没关系一杆笔一把直尺足够了,当然有时候还会用到圆规。有条件的朋友可以现在坐标纸上进行设计,没有坐标纸呢找一张白纸也完全可以,有了这些就可以开工喽,具体怎么画不用详细介绍,我们只要一上图,大家马上明白,请看图9-1、9-2:
(, 下载次数: 46)
(, 下载次数: 56)
这是我们曾经设计过的一个实例—机械腿,看着可能有些复杂,但仔细观察发现图中除了线就是圆,一把直尺一支笔一个圆规完全能搞定了,怎么样原理并不复杂吧没有CAD我们也可以DIY的,有了这张图接下来就是绘制具体的零件了,这个就更加容易了,看图9-3:
(, 下载次数: 51)
上面的图展示了3个零件的绘制方法,零件画好以后顺便标记尺寸,这个尺寸就是我们后面进行加工的依据了。上面这个图是一个立体效果,我们还要把它转化成平面的尺寸,看图9-4:
(, 下载次数: 65)
图9-4是一个简单的零件,被展开后就是一个矩形,我们只要把下半部分的图纸用剪刀剪下,然后贴到金属材料上(铁皮、铝片),然后使用钢锯沿着图纸进行切割就好了,切割好的材料根据预先设计的尺寸进行折弯处理,请看图9-5:
(, 下载次数: 56)
被加工好的零件与图9-5左下方的效果类似,这种加工方法效率不算高但是可行的,为了充分说明这个方法的可行性,我们展示一下当时做的机械腿效果,如图9-6:
(, 下载次数: 58)
这里只进行了原理性的说明,我想大家应该可以理解这个过程,交代的可能不是很细致,因为具体的手工加工过程还是有很多技巧的,而且对动手能力有比较高的要求,最重要的是有耐心因为这种方法的效率并不高,还有最最重要的是注意安全,主要保护好眼睛和手。如果大家对这种DIY方式感兴趣我们可以进一步分享经验。
下一回我们就介绍非金属材料的加工,这部分和坦克车就很接近了……
作者: @ZiShi 时间: 2013-1-22 13:34
遥控坦克DIY过程解密(10)
>>>>>>>>>>2013-01-22<<<<<<<<<<
上回介绍了金属加工,本来计划接着介绍非金属的手工加工方法,不过团队中负责结构的兄弟以及完成了坦克内部结构与组装的“解密”,同时这个地方很多网友又比较感兴趣,所以我们先进行战车的结构和组装“解密”,后面抽个机会再与大家分享非金属的手工加工方法。
首先来个回顾,看看我们的坦克有几部分构成,看图10-01:
(, 下载次数: 57)
如果以从上到下的方式去观察的话,我们的战车主要包括了炮塔和底盘两大部分,所以我们在DIY这个战车时候也依据这样的顺序,炮塔的组装、车体的组装、整体的装配以及最后的电路调试过程。
组装这个坦克涉及的工具并不复杂,一把螺丝刀一把小钳子基本就满足了。
首先看看炮塔是如何组装的,既然是“解密”就要让大家看的清清楚楚,我们特意将车体零件“散开”让大家进一步了解其内部结构,首先看看这个炮塔是怎么构成的,如图10-02:
(, 下载次数: 57)
通过上面的图我们已经很清晰的看出了炮管以及炮塔主体的内部结构,而且他的组装过程也极其简单,只要看着这个3D图拼拼插插就好了,最后在关键部位使用螺钉锁紧(哎,连我自己都佩服设计坦克的兄弟,这是怎么构思滴泥,如果朋友们也感觉神奇,一定要顶我们哦,先谢谢大家,嘿嘿)。再来看看炮管和炮塔主体是如何进行连接的,看图10-03:
(, 下载次数: 55)
一个完整的炮塔已经跃然纸上,不过大家单纯看图可能很难体会到DIY的乐趣了,主要还是得动手试一试,后面我们也会给大家介绍如何通过手工方法达到类似效果,当然了仅限于简单的外观,像坦克这么大的工程如果完全手工打造的话不是不可以而是时间长零件精度方面不好控制。我们团队也是花了很多时间反复修改才把坦克变成今天这个样子的,只要大家肯在DIY上面花时间,当然也要花点银子,基本工具和材料还是要买的,相信每个人都能D出自己满意的作品。
炮塔的组装基本就介绍完毕了,后面的组装过程也是类似的拼拼插插,相信大家一看就能理解,组装过程还用到了一些链接件,都很常见,如图10-04:
(, 下载次数: 57)
铜柱、螺钉和螺母,相信每一个DIY爱好者家里都有不少这种东西,具体怎么使用自然不用多说。
好了,炮塔的内部结构和组装过程已经介绍完了,今天就到这里,下回继续……
作者: @ZiShi 时间: 2013-1-31 14:21
第十一次及其后续解密在
http://5imx.3vwed.com/bbs/forum. ... p;extra=#pid9323120
作者: @ZiShi 时间: 2013-2-16 21:22
新年快乐哦
作者: 丿坠入丶红尘 时间: 2013-2-16 23:05
怎么没人回呢!!机械部分有点没看明白……
作者: @ZiShi 时间: 2013-2-27 16:38
丿坠入丶红尘 发表于 2013-2-16 23:05
怎么没人回呢!!机械部分有点没看明白……
哪里没没看明白呢 呵呵
作者: @ZiShi 时间: 2013-2-27 16:40
丿坠入丶红尘 发表于 2013-2-16 23:05
怎么没人回呢!!机械部分有点没看明白……
哪里没没看明白呢 呵呵
作者: q709807883 时间: 2013-3-7 21:16
请问机械部分是用什么软件设计的,用aotocad行不行
作者: @ZiShi 时间: 2013-3-10 16:07
q709807883 发表于 2013-3-7 21:16
请问机械部分是用什么软件设计的,用aotocad行不行
使用AutoCAD当然是没有问题的,
作者: @ZiShi 时间: 2013-3-10 16:13
最新解密13,http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=738050
作者: zhuli0928 时间: 2013-3-26 13:01
正经的技术贴,要支持
作者: 铜河 时间: 2013-3-26 14:15
坐到慢慢听课~~~~~~
作者: @ZiShi 时间: 2013-3-26 20:13
zhuli0928 发表于 2013-3-26 13:01
正经的技术贴,要支持
感谢支持啦
作者: 起子 时间: 2013-5-14 23:25
不错,这个可以收藏了,等自己d挖机的时候用得上
作者: @ZiShi 时间: 2013-5-18 23:36
起子 发表于 2013-5-14 23:25
不错,这个可以收藏了,等自己d挖机的时候用得上
嘿嘿,D好以后分一下哦
作者: 白天飞 时间: 2013-5-18 23:44
都是高手,机电一体化的高手顶顶顶顶顶顶
作者: yubin6447 时间: 2013-5-19 01:14
从头到尾,全看了一遍,这有卖的不???!
作者: @ZiShi 时间: 2013-5-30 10:59
白天飞 发表于 2013-5-18 23:44
都是高手,机电一体化的高手顶顶顶顶顶顶
感谢支持喽,呵呵
作者: @ZiShi 时间: 2013-5-30 11:04
yubin6447 发表于 2013-5-19 01:14
从头到尾,全看了一遍,这有卖的不???!
感谢您支持,我们设计了一部分套件。努力做的更好些。
欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com./) |
Powered by Discuz! X3.3 |