原创 电子设计大赛MSDN

2007-4-25 22:00 2923 5 5 分类: 工程师职场
电子设计大赛MSDN

作者:sleepygod   来源:水木清华

作者sleepygod(杨文利)是两届电设大赛的命题组成员,可谓电设的元老,自零的硬件大牛。他的心得显然不容错过!


从第一届的“折返跑赛车”到去年的“飞火流星”,电子设计大赛已经过去了5个年头,即将迎来她的第六届。回想这几次参加大赛的喜悦与辛酸,感触良多。每位参加过比赛的选手,回忆起大赛时紧张忙碌的时光,都会有百般滋味涌上心头,她将成为你永远摸不掉的记忆。

上面说得这么玄,也许你还不知道电子设计大赛是什么。这里我做一简要介绍。电子设计大赛是“挑战杯”竞赛体系中的系列学科竞赛之一,由信息学院主办,由我系科协及电子系科协和计算机系科协承办。电子设计大赛不仅在信息学院,而且在整个清华大学都享有很高的知名度,已经成为清华每年的经典赛事之一。报名参赛的选手范围越来越广,从本科到硕士,从大一到大四,来自清华大学的各个院系。只要是清华大学的正式在读学生,均可报名参赛。

首届电子设计大赛于1999年9月到11月间举行。给定一辆赛车、一个直流电机和两节五号电池,要求设计并制作出控制电路,安装在赛车上,使赛车在指定的3米长的跑道上,从零速开始启动,同时开始计时。车头超过终点线便可以自动后退,车尾回到起点线时停止计时,以耗时时间计算成绩。

第二届电子设计大赛“闲亭漫步——模型车变速竞速”于2000年9月到12月间举行。模型车在组委会提供的跑道上比赛。跑道起点和跑到终点之间,有一段限速带。在这一限速带中,模型车行驶的平均速度不得超过规定的速度,否则将根据规则罚时。

第三届电子设计大赛“赤色要塞——智能坦克攻占据点”于2001年9月到12月间举行,比赛题目为。每个参赛队编写一段程序,该程序通过通讯模块控制一辆在水平场地上二维自由移动的坦克,使之从起点运动至目标位置。

第四届电子设计大赛“运筹帷幄——智能坦克倒车入库”于2002年9月到12月间举行。仍然沿用第三届比赛的平台。初赛题目为玩具坦克拖动一个二轮小车,正向通过车库;决赛为玩具坦克拖动同样的二轮小车,反向倒入车库。用时少者获胜。

第五届电子设计大赛“飞火流星——玩具车的撞球赛”于2003年9月到12月间举行。仍然沿用上上两届的比赛平台,将玩具坦克换为机械性能更好的玩具车。每个参赛队制作玩具车的驱动电路,并编写程序。程序通过通讯模块控制玩具车在水平场地上二维自由移动,将不同颜色,不同分值的小球从平台缺口撞出台面。规定时间内得分多者胜。

怎么样,是不是对电子设计大赛产生了一些兴趣呢?大赛的赛题表面上看起来极富游戏性、观赏性、娱乐性,但在深层次上它涉及到数学、物理、信息论、系统论、控制论等多种综合基础理论,具有十分深刻的理论背景。从这5年的赛题看,大赛的赛题已经赛题日趋成熟。从纯硬件到软硬结合,弱点控制强电,软件控制硬件,充分体现出本专业的特点。并且赛题水平成逐年提高的趋势,难度有所增强。近几届的赛题均分成预赛和决赛两部分。预赛题目比较简单,主要是检查选手对赛题的进展情况。例如,硬件电路是否能正常工作,软硬配合是否正确,是否能够按照意图正确的控制战车等。预赛中基本不涉及复杂的控制算法。决赛留给选手充分发挥的空间,赛题难度较大。控制策略比较复杂,各个队伍的控制思想各有千秋,比赛场上一争高下。其中涌现了许多优秀的控制算法和令人称叹的创意。激发同学的想象力和创新能力,也是举办这项赛事的初衷之一。

我们曾经对第四届电设题目的难易程度进行过调查,在参加调查的90名选手中,有22%的人认为难度适中,70%的人认为题目太难,7%的人认为题目简单。其实,有些题目表面看起来比较复杂,但是实际工作开始之后,就会发现并没有想象中的那么困难。纵观近三届的比赛,要做好赛题,只需要做好两方面的工作,即硬件和软件。

硬件,主要是电路板。其主要功能是根据大赛提供(或自制)的通讯模块接收到的信号,驱动直流电动机正反向转动。简单来说,就是将不能直接驱动电机的数字弱电信号,转换成可以驱动直流电机的功率级电流。需要的入门知识,只是初级的数字电路常识,和电路板设计软件Protel的使用。

这块电路板的设计可简可烦。最简单的,可以只用一片芯片,能够驱动电机转动就可以了。我见过的最复杂的电路,是带反馈的多级PWM(脉宽调制)调速驱动电路。对于初学者,还是推荐简单为妙。电路越简单就越可靠,调试和制作都十分方便,运行稳定。有能力的同学也可以尽量发挥,单片机、DSP尽可用。优异的控制和调速性能也是取得成功的关键。无论简单复杂,都会用到一些集成电路(IC)芯片,免不了要查阅相关器件的用户手册或使用说明文档。这里推荐两个网站,http://bbs.ednchina.com/
http://www.21ic.com/,都收集有较全的各类器件的文档。同时,水木清华BBS的circuit版也是一个学习和讨论电路设计的好地方。此外,对于电机驱动芯片,建议使用集成的专用芯片L298或L293,不仅可以大大简化驱动电路,而且功率容量大,工作稳定。

设计的电路最后都必须制成印制电路板,焊上器件才能够装到模型中,让我们的战车跑起来。设计印刷电路板的常用软件之一就是Protel。在系科协的FTP上便可以下载到。电路设计的一般步骤是:

原理图(.sch)部分:     画原理图->检查原理图错误->确定器件封装->生成网络表
印制电路板图(.pcb)部分: ->导入网络表->手工布局->自动/手工布线

Protel的使用方法可以在图书馆中找到许多相关的书籍,这里不再一一介绍。画好PCB图后,我们要做的就是制出真正的电路板。单层板(铜线只在板子的一面)的制作工艺很简单,在校内的电子工艺实习基地即可完成。而双层板(板子的两面都有铜线)的加工工艺比较复杂,成本相对较高,需要在专业厂商加工。所以在绘制PCB图的时候,如果电路不是很复杂,还是强烈推荐使用单层板。当然有一利必有一敝,单层板的布线难度会稍高一些。接下来就是焊器件,不用担心,大一的时候会有电子工艺实习,到时候肯定能学到一手好手艺。

通讯模块的作用是实现模型车的遥控。能够在一定物理范围内,以一定的刷新率传送8bits(即8个高低电平)的数据给模型车中自制的驱动电路。该数据由计算机中的选手程序发送。通讯模块可以使用大赛提供的模块,同时也鼓励有兴趣有能力的同学自制通讯模块。

如果说硬件电路是肉体,那么软件便是灵魂之所在。所有的控制思想和控制策略都要在这里体现出来。软件的作用是依据裁判程序提供的模型位置实时数据,指挥场地上的战车动作,完成比赛规定的题目。其设计的一个重点是要和硬件配合,协调工作,调试中必须充分注意到这一点。

软件的设计只要能体现出朴素的控制思想,有效得完成赛题就可以了,不建议很复杂的控制算法。从历届的获奖程序来看,往往是简单有效的程序能够取得较好的效果。

软件设计的主要形式是高级语言编程。第三和第四届推荐使用VC++,第五届推荐使用Delphi。不过没有关系,软件设计的最低要求只要掌握C语言编程就可以了。你只需要用C语言实现你的算法,其他较高层的windows编程大赛组委会会为你提供。当然了,如果学过面向对象的可视化编程是最好的了,推荐选修“面向对象与可视化程序设计”这门课。不仅对电设,对今后的学习都是非常有用的。

在大赛中获胜的另一个秘诀就是要及早动手。大学的学习生活都是很忙的,比赛的准备时间又很长,不少选手都在临比赛的前一两个周才开始动手,这样其实是很不利的。提前动手可以赢得更多的设计和调试时间,充分利用大赛提供给选手的平台进行现场调试,而这正是获胜的关键所在。现场调试可以发现许多想不到的问题,针对现场情况和模型特点调整参数。可以说,没有现场调试,就没有最后的胜利。而实际情况也证明,没有调试过的队伍基本上不能通过比赛。在临近比赛的时候,调试平台会被预约得很满,时间特别紧张,设备的疲劳程度和损坏频率也会加剧,选手的调试效率不高。所以一定要提早动手,抢占先机。

电子设计大赛主要是面向大三的学生,此时已经具备了足够的专业知识和技术,做起来比较得心应手。对于较低年级,特别是大一新生,完成题目可能会有较大困难。不过没有关系,许多高年级的ggjj都会很热心地帮助你们,你们也会学到许多课上所学不到的东西。你们会深切体会到大学与高中的不同,体会到什么叫做学以致用。大赛前期会有许多技术培训,届时大赛组委会会请命题组或其他有经验的师兄讲授一些简单而实用的技术,千万不要错过!

电设一届一届地过去,只有真正参与到当中去,才能了解到她,感受到她,而她的魅力已经远远超过参赛本身。我们得到的不仅仅是名次,是知识,是能力,她带给我们的还有许多许多。如一位参赛选手在感怀中写道:“没想到一次电设会带来如此多的喜怒哀乐,没想到一次电设让人如此投入如此难忘。”一段忘我的投入,一段为了同一个目标而共同奋斗的日子,一段充满自信与活力的青春时光。也曾为了预约半个小时的调试时间而在网上守上几个小时;也曾夹着被子,拎着水瓶,带着疲倦的双眼从调试现场撤下;也曾用彼此的微笑来表达失败时内心的感伤。相信每一位为了电设而真正投入过的人,都不会忘记那一段燃烧着激情的岁月,不会忘记那一段属于我们自己的回忆
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /1 下一条