[原创] 2014-电子竞赛(广西区A题)

dj狂人   2014-9-8 23:01 楼主
作品验收完毕,成绩也出来了,电子竞赛算是告一段落。
今年广西区的大部分是选控制类的A题和E题,选信号类的人也不少。A、E题主要是玩车型机器人,个人认为选E题是比较保险的,哪怕平衡做不出来,只要把循迹、金属探测这些相对简单的做出来基本上二等奖是稳拿了的,事实也是这样。不过E题我们讨论的时候把它给否了,原因是平衡那部分那么短时间内我们做不出来的,之前都没人接触过类似的算法,如果不搞平衡的话,其他部分没多大意思,所以最后讨论选了A题。
A题大概的要求是这样的:机器人自主寻找方木块然后寻找仓库并将木块放到相应的区域。
A题 简易搬运机器人.pdf (77.04 KB)
(下载次数: 10, 2014-9-8 22:57 上传)
Q5C~3IP92$JZ@9_1L4[SBTJ.jpg
看到题目的时候我们组是从怎么让机器人找到木块开始讨论的,相信很多人的思路也是这样,当然这也没什么问题(如果你的供电电源没有涉及稳压)。这里我想说的是其实我们首先要考虑的是供电问题,如我们这次比赛是用下图所示电池供电:
]49}0EX539PN0PM4{RR[2VP.jpg
这种电池输出7.2V的电压,给舵机的话是够了的,可是供主控芯片明显还需要稳压,说到稳压我们比较常用的是7805,可是7805真的是首选吗?
不能不说7805或LM78/79 系列芯片是款比较经典的三端稳压芯片,这是我们经常用到的,但可能很少人会知道7805还是种高压差型芯片,所谓的高压差的就是要保持稳定的输出必须保持输入电压高于输出相应的电压,而7805想要保持稳定的5V输出那么输入至少要高于2.5V也就是说输入最低也要为7.5V,如果低于7.5V也不是不工作,只是会变得不稳定,用它给主控板供电会出现复位的现象,特别是在舵机和主控板不分开供电的时候,这个问题会更严重。我们用的那个电池充满电的时候有八点多伏,当工作一段时间之后,主控板就开始不断的复位,用示波器看7805输出的时候居然看到它输出方波!!!!!!!!!!!!!!!!!开始的时候我以为是程序出问题,可是程序找了半天没解决,然后各种拆硬件,检查挂接的模块是否有短接!!!!!直到查到电源这块,最后换LM2940才解决问题,在这里浪费里大半天的时间!!!!!!!!!!!!经验不足,坑啊(LM2940大伙可以百度下,这里就不展开了),另外建议舵机和主控板单独供电,单独供电的时候注意共地。
处理好电源部分后,接下来就是方木块和仓库的寻找以及方木块的入库了(颜色识别的话挂个颜色传感器,找到方木块和在入库之前识别颜色并用液晶显示出来就可以了,这里不展开),因为场地周边除了仓库之外是没有“墙壁的”,那么要在这片空旷的场地内寻找方木块和仓库,我们首先想到的是超声波,红外因为没有测距的功能(在没有接触过ShARP的2Y0A21 系列红外模块之前我都是这么认为的)被排除在外,单纯的用超声波完成这次比赛的话理论上是可行的,可是编程方面就得下大功夫了而且要考虑的东西也多,还有各种未知因素的影响。不得不说用超声波是比较危险的选择,一开始我们就是打算用单纯的挂超声波这个方案,简单调试了下程序遇到以下的问题并没有很好的办法解决的时候我们改方案。
新建图片.jpg
大伙可以用超声波如上图做下这样的尝试,用超声波正对墙壁,在超声波发射部分的斜方向上(控制在一定距离内)放一个障碍物,超声波测得距离用串口或液晶显示,按比较常规的想法上电之后超声波测的是超声波模块到墙壁之间的距离,可实际情况得到的却是超声波模块到方木块之间的距离,这是因为大多数人都存在这样一个误区,认为超声波测量的是它正前方障碍物到它之间的距离,但事实上超声波测得是离它最近的物体,当然这是在一定范围内,这是因为超声波是发散的发射出去的,然后通过计算从发射到遇到障碍物反射回来超声波的这段时间,再通过声速来求得距离,也就是说超声波实际测量的是在发散范围内离他最近的物体的距离。这个问题如果解决不好的话,会引起误判,导致严重的后果。
单纯的用超声波没得玩,我们开始寻找一个既能测距又不是很发散的模块,最终我们找到SHARP的 2y0a21 f 22,这是夏普公司出的一款红外测距传感器, (S(CJ]B[8CXGIQM`(EA0K`C.jpg
2y0a21f 22 的测量范围为10-80cm,接线非常简单,一根VCC、一根GND、一根输出。使用的时候用AD测它输出端的模拟电压便可得知距离。它输出的模拟电压与测量距离的关系如下图所示:
Z}[5I7K9W](5)0I5V%TJ2FF.jpg
从图中可看出在6-80cm的范围内,其输出的模拟电压是跟距离成反比的,下降趋势也比较缓,在0-6cm的范围内其输出的模拟电压跟距离成正比,下降趋势较急。
我上传了个Excel表,修改这里的值就能通过公式把AD的采样数据转换相应的距离值,
gp2d12.zip (8.03 KB)
(下载次数: 7, 2014-9-8 22:55 上传)
DM-S28013 红外距离传感器.zip (203.26 KB)
(下载次数: 5, 2014-9-8 22:55 上传)
516E0@)~5SQ${377HUZH9X4.jpg
用2y0a21 f 22或这款传感器的其它型号测量距离的时候要注意它与地面的距离,离地面太近的时候 [[SL60U%]I5C(@O2)JA(OSS.jpg   这部分是不完全满足的,大家可以实际测一下,至于这款传感器的详细介绍可以看下数据手册,还有在使用的时候,建议用AD进行多次测量,去掉最大值和最小值然后求平均值,这样可以尽可能的减少误差和误判。
    拿到这款传感器的时候,我们是这样用的。
Q5C~3IP92$JZ@9_1L4[SBTJ_副本.jpg
    如上图,在A、B两点分别放置两根竖立的木杆,在小车车体的左侧和前头分别放置一个2y0a21 f 22,那么当车子经过B点的那条平行线时,红外传感器返回得值会发生突变,单片机检测到突变时便开始左转(固定角度),然后利用车头放置的超声波检测方木块,上去进行拾取,这样寻找方木块虽然可行,但也比较危险,先不说固定转角的不可靠性,单单用于拾取方木块的爪子太长的话都会把方木块扫开。所以比较智能的方法是把木杆放在C点,当小车行走到C点平行线所在位置时,然后小角度左转,每转一次进行一次超声波测距,直到检测到方木块,再上去拾取。调试证明,用这种方法寻找并拾取方木块更可靠。
IMG_5264_副本.JPG
    在特定位置摆放木杆这个方案在理论上是可行的,但是条件比较苛刻。如果你能保证每次车子都是垂直的经过木杆所标志的那条线上时,这个方案是可行的,但如果车子倾斜一定角度经过的话,如下图:
    Q5C~3IP92$JZ@9_1L4[SBTJ_副本_副本.jpg
    很明显这样做是不可行的。(由于后期基本上是我在做了,两个队友一个在写论文,一个在调试其它模块,讨论的不够,这个方案是我一想出来立马就上了,考虑方案的时候不够周全,导致在这浪费了不少时间调试!!!!!!!)
    比赛到这个程度,时间已经过去差不多两天了,前面的好多想法都行不通,方案一直在改,论文也没个定调,心里那个急.......实在是没办法了,那晚也没什么心情通宵,早早回去睡了,打算第二天在开始直接跑固定路线的。。。。。。。被逼到这个份上也是无奈啊!不过皇天不负苦心人,转机是在回宿舍的路上来的,那时我就一直咬着这个红外测距传感器不放,真的是太帅了,红外没想到除了避障、循迹、通信之外,人家还能这样玩—红外测距。当时我就想怎样能更好的利用这款传感器红外基本不发散的特性,然后我就想到了在车上装红外接收电路,在场地外特定的地方放这个2y0a21 f 22,利用它发射的红外做引导,车子和场地分布如下:
   
)_}[G(}W0[1NA9UHM`F_V9W.jpg IMG_5270.JPG
    大体的方案是这样的,在没有接收到红外的时候车子只管向前走,当车上的红外接收部分接收到红外,相应的输出脚电平翻转,单片机检测到这个信号之后进行相应的处理,如车子从起始线开始前进,直到经过B点‘1’路传感器接收到红外,相应输出脚电平翻转,单片机检测到这个信号之后进行小角度左转,每转一个角度用车头部分的超声波进行一次超声波测距,当检测到方木块时,过去拾取方木块,若‘2’路传感器接收到红外前还没找到方木块则车子前进一段距离,再像之前那样转角度寻找木块........找到木块后车子后退,直到‘3’路传感器接收到A点处所发出的红外,然后开始左转,直到‘2’路传感器接收到红外,接下来单片机会让车子前进直到检测到进入仓库,放下方木块。(当然具体实现的时候没有那么简单,这里我介绍的只是大概的思路)
    虽然在最后关头想出了一个不错并且可行的方案,可是到桂林验收作品的时候机器人一个木块都没运进仓库!!!!!!!!!!!!!!!!!其中遇到的最大的问题是,红外接收那部分受光线影响太大,我们在实验室调试的时候是拉着窗帘的,车子跑的挺顺畅,没有考虑到光线影响的问题,到了桂林那边,没有红外的时候红外接收管几乎导通,车子直接就跑乱了。后面通过调低比较器的参考电压才解决问题。红外接收部分可以正常工作之后新的问题又来了。之前在实验室调试的时候,我们发现当车子如下图所示这种情况经过红外区时,它是检测不到红外的。
    Q5C~3IP92$JZ@9_1L4[SBTJ_副本1.jpg
为了解决这个问题,所以我们最终选择了一个比较愚蠢的办法,找到方木块后直接让车子固定转角让它可以近乎垂直的经过红外区,最后到那边调试的时候这个固定转角度就是不成功的根源,其它的问题这里就不说了,反正这次比赛时失败的.......如果时间够的话,我相信这个方案是能把所有木块全部入库的,可惜哪来那么多如果。
    这几天整理出这个贴,很多东西描述的可能不是很清楚,希望能得到各位的斧正,万分感谢,也希望这次失败能给大伙一个参考
IMG_5263.JPG IMG_5264.JPG IMG_5265.JPG IMG_5266.JPG IMG_5267.JPG IMG_5268.JPG IMG_5269.JPG IMG_5271.JPG

回复评论 (8)

参与就是胜利,,,
顶顶
LM2940是低压差LDO器件,LM7805是传统的线性温压芯片,LDO,是相对于传统的线性稳压器来说的。传统的线性稳压器,如78xx系列的芯片都要求输入电压要比输出电压高出2v~3V以上,否则就不能正常工作。但是在一些情况下,这样的条件是太苛刻了,如5v转3.3v,输入与输出的压差只有1.7v,显然是不满足条件的。针对这种情况,才有了LDO类的电源转换芯片。
点赞  2014-9-8 23:18
很好
点赞  2014-9-9 07:57
东区?
尽善尽美
点赞  2014-9-9 10:19

什么东区
点赞  2014-9-9 11:56
引用: qwqwqw2088 发表于 2014-9-8 23:18
参与就是胜利,,,
顶顶
LM2940是低压差LDO器件,LM7805是传统的线性温压芯片,LDO,是相对于传统的线性 ...

恩恩  是的
点赞  2014-9-9 11:57

7楼 nmg 

我们用的那个电池充满电的时候有八点多伏,当工作一段时间之后,主控板就开始不断的复位,用示波器看7805输出的时候居然看到它输出方波
点赞  2014-9-10 18:00
引用: nmg 发表于 2014-9-10 18:00
我们用的那个电池充满电的时候有八点多伏,当工作一段时间之后,主控板就开始不断的复位,用示波器看7805输 ...

是的,本来正常情况下应该是一条较为平稳的直线的,但它一直在不断的复位复位,所以用示波器看的话会看到一组方波
点赞  2014-9-10 22:24
没做过机电类的,不过也很受用,谢谢
点赞  2014-9-22 18:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复