晋城内存卡价格交流组

无“飞卡”不青春~12-02日更新

杰杰开发2018-05-30 14:04:14

      大家好,我是杰杰。现在,第十三届的飞思卡尔规则已经初步成型,一批又一批的师弟师妹又来参加了,我参加了第十二届飞思卡尔智能车比赛,光电四轮组。现在分享下自己的心得和体会,希望能够师弟师妹带来点帮助。

      全国大学生智能车竞赛是一项以“立足培养、重在参与、鼓励探索、追求卓越”为指导思想,面向全国大学生开展的具有探索性的工程实践活动。它以在特定赛道上能自主行驶且具有优越性能的智能汽车这类复杂工程问题为任务,鼓励大学生组成团队,综合运用多学科知识,提出、分析、设计、开发并研究智能汽车的机械结构、电子线路、运动控制和经济成本等问题,激发大学生从事工程技术开发和科学研究探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神。

      声明:下面这些内容适合新手,有错误也是在所难免,请根据自己的情况鉴别。下文只对光电四轮组阐述,其他组别我不懂。谢谢。

        不管遇到什么事,平常心很重要。----请记住这句话。
我知道很多学校像我们学校一样,没啥传承的,在我们报名的时候,别的学校的车子都能跑上2.5m/s了,对于我们这种,我曾经也抱怨过,为什么我们学校那么迟才报名,为什么车模到手是那么迟。别的学校起步比我们早,传承比我们好。。。。。但是似乎都没什么用。还是不要抱怨了。其实做过车之后你才发现,自己动手做完,成就感是一回事,成长才是重要的,经验也是重要的。
        十一二月的时候,可以报名了,选择你们志同道合的队友,能分工明确的,能讨论解决问题的,这点很重要,我见过我们学校的队伍,大家都不想干活的,问我拿了块电路板的原理图,直接打板了。。。。。他们连用什么材料都不知道,就打了。。。。
        报名之后就可以准备了,把硬件搭起来,把车模组装好,就调试软件,我是一个寒假在家慢慢设计的电路板,其实,我觉得在寒假之前拿到车模是最好的,寒假在家可以直接做好板,就开始采集数据然后调试,毕竟调试是最难的,还得花超多的时间,而我,白白浪费了一个寒假。在设计电路板,其实这个在后期一周都不用就可以搞定的设计,不需要花太多时间在这上面。
        在调试的期间,你会遇到很多很多问题,比如车本来好好的,突然不能跑了,或者龟速了,突然某个器件烧了,电机不转动了,尤其是光电组的对环境依赖很大,有些光的干扰都影响车子。但不论什么时候都要保持一个积极向上的心态,小车虐我千百遍,我待小车如初恋。不乏很多人开始做车之前士气高昂,遇到困难也会尝试解决,但是如果一个问题长时间不能解决,就渐渐放弃了,我师兄就是,解决问题的长时间是多长时间,也许一周,一个月都是有可能的,特别是直立组的,调试陀螺仪,真的需要耐心,其实我很佩服我的师兄的,调了很久,站的很稳,关键是他们3个一直在解决问题,讨论,这点很重要。当你看到群上别人的车都跑的很快了,自己的车还是龟速,甚至连龟速都是不能跑,在雪上加霜的是,你还要上课,课程难,但是你上课又没有心思听,人在教室,心里却想着车,一学期快结束了,也快比赛了,大家都准备考试,你还在调车,担心各种挂科,白天上课,晚上调车调到深夜........各种情况也要有心里准备,这些都是我经历的,上学期基本没怎么听课与复习,有得必有失,有一个好的心态,去舍去,如果你很在意自己的期末成绩与奖学金,不能一心二用,那么,你可以放弃这次飞卡梦了。在比赛中也有不少大神的车6次机会都没有跑下来,我曾见过,六次都没跑完的,他们的车速比我们快多了,但是没跑完就是没成绩,看到他没跑完的心态爆炸,想一脚把他的心血毁掉的也有......这些你都要去考虑一下,如果,你不能接受,或者你心理承受压力很小,那么你可以好好学习,争取考个研,考个公务员,而不是做这种比赛,所以我们做车心里准备一定要做好,同时要保持一个好的心态,在自己遇到困难的时候,要时刻相信困难的解决就在下一秒,也要不断总结,思考问题可能出现在什么地方。另一点不得不说的就是要选择好队友了,一定要相互合作,队友不一定要多么多么牛,但是一定要是那种乐意付出,能吃苦的人,有困难大家一起扛才可以,遇到问题可以一起商量解决才可以,希望做车时一定要严以律己,绝对不能坑队友,以负责的态度去对自己的队伍,同时为了自己不被坑,选择自己信任的人。上面这些绝对是重要的,所以放在第一点,你可以不相信,但是别后悔。
11/24日更新:
      
  现在,你们应该已经找好队友并且报名参加了,我这里给个建议:
认真看比赛规则,别在小地方被坑了,我曾经就是一个打板被坑了,师兄没告诉我,队伍名字与学校名字不能打在丝印层,以前是可以打在丝印层的,,,,害得我们重新打一次板子,当然我们的第一批板子是可以用的,毕竟那是我花了一个寒假的心血,我不建议花太多时间用在设计硬件电路上,软件是最重要的,硬件只是次要的,因为以后你要学很多算法,处理各种不同的赛道。话说我大二上学期就是很菜的人,只是做过简单的小东西,对于硬件设计,我只是一个初学者,但是参加了这个比赛之后,我的成长很快,所以,一些比赛我还是建议你们去参加一下。拿个奖也是不错的。
现在初学51的也不要担心,其实飞思卡尔不难,只要安安心心的,慢点学,多打点代码就行。
首先,讲下硬件吧,毕竟软件的调试要基于硬件的基础上,不然,再怎么说软件都没有用。
硬件我个人将其分为3部分:
1):电源模块;
2):控制模块;
3):电机驱动模块;
下面将分别讲述这几部分的内容,可能图就没多少,都是一些经验或者见解吧。
      1:电源模块。此处为很重要的一部分,单片机需要稳定的电压来工作,这毋容置疑的,假如电压不稳定,车跑着跑着就复位了,这岂不是很尴尬啊。所以单片机的稳压电路是一个重要的租车部份。 我用的是处理器是MK60FN1M0VLQ15,简称K60FN(兼容FX),为什么选择这块芯片呢,原因主要是其主频是150MHz,与其有4个FTM模块,一个用来做s3010舵机转向,一个用来做电机pwm输出,两路用来做编码器的正交解码,还有就是其浮点运算是K60DN的5倍(卖板子商家说的)我不清楚,但是初学者不需要了解这些,你们选择自己需要的芯片就行,能做驱动舵机与电机的芯片即可。回到稳压电路,说道设计电路,其实我不会,我是参考网上的电路设计与datasheet的基本电路进行设计的,你们要学会看datasheet。一般的元器件都配有基础电路,可以用的,对于选材,是我自己选择的。
      传感器更是一个重要的选择部分,稳定的电压,可以使得传感器工作更加稳定,采集的数据更稳定。只有采集到正确的数据,才有机会跑的起来,不然,再好的算法都没有用。我使用的传感器是鹰眼摄像头,60*80分辨率的,当然可调整分辨率的,3.3v供电。
      舵机也是很重要的组成部分,可以看看s3010的舵机参数,我用6v供电,就需要为其设计一个6v供电的稳压电路。然后单片机输出的pwm是3.3v的,也需要一个光耦隔离与电平转换一下。(后面我会提供一种我使用到的方案)
我们需要知道的是飞思卡尔专用电源充满电的电压是8.2——8.7v,具体多少v自己去测。所以要对器件进行稳压设计。

5v稳压电路芯片:   LM2940.
6v稳压电路芯片:   LM2941.
3.3v稳压电路芯片: AMS1117.
这些基本的芯片都有基本的电路,可以参考,当然,我这边会分享我的电路,仅供参考。
然后呢,电机驱动那边,由于我选择了驱动芯片驱动MOS管,驱动芯片的电压为12v,我还需要做一个12v的升压电路,这以后再说。
主控板这边的稳压电路就是很简单的,单纯的对各个模块进行稳压供电处理而已,没什么大电流大功率器件,选的稳压芯片就够了,当时也没考虑噪音什么的,电压稳定就足够了。
下面给一个我的稳压电路:V-OUT为飞思卡尔专用电池输出电压
3.3v:(需要将8v左右的电压转为5v后再转3.3v,不然芯片会有点烫)

5v:

6v

整体电路板图片:

12-02日更新:

   下面来说说飞思卡尔主板的核心部分-----控制部分电路设计

    对于摄像头,采集的数据需要稳定的,在高速跑的小车上,采集的图像的深度要快、稳定,才能更好的处理采集的图像。

     那么,摄像头的采集数据的电路设计是必须的,我们使用山外的鹰眼与K60,那么就按照他们给的设计来模仿就行了,因为那是他们已经多年的经验积累的产品。

    鹰眼转接板的接口原理图:(因为我使用的是软排线,需要买一个转接板)


    电路的设计很简单,PCB走线尽可能圆滑,尽可能不要出现90°角,锐角走线,不然对信号还是有干扰的。

    还有就是编码器信号的采集,需要正交解码功能,我用上了2ftm模块,作为编码器的正交解码输入,对于是哪两路FTM,请自行看手册设计,看是哪些io口(我的是PTA10-PTA13。正交解码之后得到小车的实时速度,以备我们用来作为对小车的各种转弯控制,由于是我自己当时不知道编码器是怎样的,我就多预留了一个接口,可以正反接。


信号采集的完成了,那么就看控制的,说白了就是舵机与电机的控制,舵机作为转向,电机就是让小车跑起来了。

先说舵机吧。

    舵机型号:S3010,此手册在网上一大堆,就不介绍了。

    舵机就是3跟线,电源,地,信号线。信号线是什么东西,其实也是PWM,不懂的自行百度什么是PWMPWM肯定是单片机输出啊,但是在电路设计的时候,我们要考虑了,舵机的工作电压是6V,上面已经说了我是6v给舵机供电的。但是K603.3v供电的,所以输出的PWM信号最大也是3.3v的。而且舵机转动的时候产生电动势,(你们可以试试从舵机左右来回转动,可以看到电路板上的LED会亮,本人亲测的),所以为了保护将近200块的K60,还得做个隔离的电路啊,隔离,用什么隔离。这怎么考虑?

    首先实现每个功能,肯定要选材啊,隔离,那就是隔离芯片、光耦作为隔离了,对于作为设计者的我们来说,电路越简单越好啊,那就用光耦隔离吧,简单方便,连电平都转换了。光耦,顾名思义,实现单向的信号转换:电—光—电。电信号转换为发光二极管的光信号,再转换为电信号。实现了防止反向电动势的电流流入单片机。


    知道原理,就说说光耦隔离的选型吧。市场上很多光耦,怎么选择呢,实现肯定要根据其工作的频率来选择的,我们知道S3010舵机的工作频率是在50-300Hz(好像是,我也忘了,具体多少看手册)然后光耦的工作频率要比他的工作频率大。但是在实际中,我们用到的舵机频率不过是100Hz,因为我测试过单片机采集一帧图像并处理完大概是9点多ms,算是比较快的了,那么1s就能采100帧图像,也是比较快了。光耦的工作电压是6v,那就满足了我们的要求。

    舵机的工作状态:频率越高越灵活,但是力矩越小,反之则是力矩越大,灵敏度越小。请自行选择需要的工作频率与光耦。

    对于电机,一路ftm模块,4pwm通道输出即可。 对于隔离电路,我放在了电机驱动模块。


拨码开关必须要设计的,在比赛的时候要调节档位,调节不同的速度。


蓝牙接口



SD接口,可以使用来保存图像,但是我没用上。


    然后一些外设你们都可以接上,例如蓝牙模块,OLED屏幕,蓝牙模块就是用来看小车跑起来的速度的数据的。OLED屏幕作为人机交互界面,人机交互在调试时候是一个重要的部分,能实时显示出小车当前的各种参数,通过按键调试即可,由于当时水平有限,就没有搭载OLED屏幕。再搭载一些按键在板子上,为了节省空间,我们使用贴片的按键即可,方便调试与设置参数,而不用经常擦写代码。

然后留出一些备用的io接口与电源接口,以便我们调试。

 

未完待续~~~



Copyright © 晋城内存卡价格交流组@2017