智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: kxfc
打印 上一主题 下一主题

学做智能车——飞思卡尔智能车比赛亲身经历

    [复制链接]

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
11#
 楼主| 发表于 2011-3-17 03:23:46 | 显示全部楼层
这个是我后来总结的智能车驱动电路相关内容。

直流电机驱动电路直接左右小车的极限速度。其驱动控制效果影响直线路段速度及入弯速度。根据赛道的不同路段,可采用不同的速度控制策略,主要包括:直线段加速行驶、高速稳定行驶,入弯制动减速行驶、弯道低速行驶,S弯间断制动行驶。直流驱动电机的控制由单片机的PWM信号完成。小车的速度控制算法可采用PID或模糊控制算法,均能满足小车系统的控制要求。

通过电机驱动模块,控制驱动电机两端电压可以使小车加速或制动。常用电机驱动有以下三种方案:

1.集成方案:33886驱动

采用飞思卡尔公司的直流电机驱动芯片MC33886。其驱动能力强,有过流保护功能,状态监测功能,通过PWM调节可实现正反转。

1)单独使用一片33886
优点:应用电路简单,实现方便。缺点:芯片驱动电流小,内阻大,可能存在发热严重的问题,不好加散热片。

2)采用两片或者四片MC33886并联
优点:可以增大驱动能力,减少单片机发热量。缺点:存在均流不佳的问题,有碍提高整个装置的输出,甚至造成器件和装置的损害。

2.组合方案:33886 + 场效应管驱动

采用MC33886或其他驱动芯片与场效应管设计驱动。优点:驱动电流理论上能达到74A,解决了33886的散热问题,
充分发挥33886的性能,场效应管也不用加散热片,使小车发挥更好的加速性能。缺点:电路复杂。

3.分立元件方案:H桥驱动

采用大功率场效应MOS管自行搭建H桥电路对电机进行驱动。

优点:内阻极小、开关速度快、加散热片很方便,可发挥电机极限速度。缺点:电路连接和逻辑控制较为复杂,设计难度大。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
12#
 楼主| 发表于 2011-3-17 03:24:17 | 显示全部楼层
之前说过红外传感器我们是拿万用表测的,而且33886控制直流电机和舵机控制也没有进行实际的测试。
那时候,我们还是程序傻瓜。而且当时做车模的只有我和另一个班的那个人,我班的那个嘴子在接受我教训之后,还是当做耳旁风。接着上网到半夜,下午才起来。
另一个班的那人,他主要负责程序部分,我问他看得怎么样了,他说懂一点(确实,什么都懂一点,但什么都不是全懂。。。)
当时我们下了很多 各届比赛的技术报告,还有论坛里面的一些 程序设计资料。但还是一头雾水,需要拿个好一点的模板,来自己调试下,可惜当时没有,我们几次跑去 本部那里,找老师什么的,老师表示也无能为力,让我们联系本部做车模的,看他们的程序如何。我和本部他们车模的见面很少,也几乎不认识。我们做车模的地点是在自己的宿舍,什么  烙铁,工具箱,车模材料什么的都在宿舍放着。(乱的很,环境很差!),在一般的三本的宿舍里,大家有所不知,学习风气不是很好的,学生有不少是来混文凭的(有些不是,也有努力奋斗的人)。他们在学校主要就是玩游戏,上网(有些一天玩15个小时,吃饭都是打电话叫外卖的。)我的宿舍里十分乱,老是有人过来逛(他们没有什么事,就是闲的无聊,蛋疼这个词就是形容他们的!)。他们过来逛,你知道他们做什么吗? 只是来看看宿舍又没人,瞎聊一阵子。如何你忙的话,他们有些就会 问些傻B的问题, 我明明在宿舍做车模,在忙着。他们来了问一句,你在做车啊,我说恩,他们又乱七八糟问一堆,还问我原理,我真是操蛋了,想当初老师让参加比赛没有一个人来,看到我在做了好奇心来了。 那段时间一直有人过来。我在电脑上调试程序,有人来了我没理。那人突然直接就拍我一下,我一转头,人就走了,我只能说这些人真的蛋疼了。 无聊到那种地步了。。。有时候他们还在宿舍打牌,一直玩到很晚,和我在电脑前看车模资料形成鲜明的对比。。。 我的感觉是:仿佛我是一个另类,他们是正常的。。。真的是这样的。

在本部的话,那里学生做车模有专门固定的实验室,还有实验仪器设备,我们的仪器只有一个数字万用表,还是和本部实验室借的。(我们这边没有实验室。)本部的学生下课了直接可以去实验室去做。我们如果需要用到仪器的话,每次先做30-40分的车到了本部,然后在和本部的公用仪器,有时得排队等。 后来我们去的次数多了,以至于一个星期去四次。那实验里面做车模的和我们也比较熟了。他们开始进度也是很慢的,连我们快都没有(主要原因是只有一个学生在认真做,其他两个也是心不在焉的,)我们硬件已经完了,他们硬件才刚做到传感器。
我问他们程序的事情,他们说还没做到那里。我们后来又去了好几次,他们程序还是没有。
后来事情发生了变化。。。突然有一天本部实验室里的那组,开始调试程序了,并且已经到了后期。。
回复 支持 4 反对 0

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
13#
 楼主| 发表于 2011-3-19 01:28:47 | 显示全部楼层
本帖最后由 kxfc 于 2011-3-19 01:45 编辑

之前说到本部实验室里的那组程序突然到了后期。。。这根本不是我们所能理解的。他们的车马上就可以试跑了,我们车的还没“灵魂”。我在想难道那个组的主抗是无敌的存在?硬件和软件一人搞定?那个组的主抗是个看起来很文弱的样子,戴个眼镜。其貌不扬,但很有内涵。还是人外有人,山外有山。这个实力差距太大,刚开始是我大意了吗?那我眼力也太差了吧。。。  我这种想法没有持续多久,实验室来了一个戴眼镜的帅哥,个子一米七左右。他进了实验室直接坐在了那组主抗的旁边,问那个主抗程序怎么样?他要再看看程序什么的。我顿时明白了,原来有外援。后来我才了解到那个帅哥是本部大四的,有过车模制作的经验,专门做程序的。我们当时没好意思直接去问要程序,就去找了老师,通过老师,我们终于得到了两部分程序:一是:PWM调试程序;二是AD转换的部分程序。当时感觉天上掉馅饼了,我们当时在想,不出假以时日,也可以跑了。可是这远远没有我们想的那样,我们拿到程序之后先弄的PWM程序进行调试,这个时候迎来了我们一个大的失败。在我们连接好线后,运行程序,发现电机并没有转,舵机倒是可以转。这说明PWM没有问题,问题出在了33886上,我们仔细检查,电路完全正确,我们为此还检查了N遍,真的是N遍!当时让别人来看,也没发现什么问题。我们就回去了,仔细想,乃至于晚上还在想,还是不明白。我们于是又做了一个33886,去试验,结果还是不行。我们实在无能无力了,就找到了我们的学长,目前已经在读研究生了,他也是我们三本这边的,他是摄像头组(和我们同时参加比赛)的,车也已经可以跑了。我们就去仔细观摩了一番。真是大开眼界啊!第一次见到赛道,第一次看到有车模可以在跑道上跑,我们就这样看了不知多长时间才想起去问33886的事情。我们叙述了情况之后,就问我们学长用的什么电路,他说用的就是典型电路,就是芯片的典型电路。我恍然大悟,以前一直以 学做智能车 那本书为模板参考,这次得自己去好好琢磨了。我们随后又查看了他们的车,再对比典型电路。。。我真恨不得骂自己傻B。。。  FS那个引脚要接一个电阻(一般都是1.3K)再接到5V电源上!还有D1和D2,我后来才知道这几个是控制输出状态的!!!33886后面的那个真值表,大家都知道吗?

D1和D2一个置高电平,一个得接低电平。我们当时就是这三个引脚都没接!!!就这样,前前后后浪费了2个星期!!当时是最无奈的日子,像个猴子一样被困于笼子里面,几乎问遍了所有人。我们那会着急的很,因为四月多就是学校的比赛,如果跑不起来就彻底没资格了。33886的问题解决之后,我们之后开始测试AD转换,当时我真不知道怎么想的,为什么33886测试失败后不直接弄AD转换呢?非得卡在一个问题上!我现在也得不出答案。 测AD转换的时候我们非常快,想节约时间。AD转换调试后发现,传感器工作良好!这也许是对我们的一个安慰吧,我们接上8个AD转换后,发现工作的只有四个,原来他们给我们的调试程序只有四个AD转换,这还不简单,加呗!结果加上去出错了,我们急了。看书查资料,发现好像少了两个相关的定义。。。就因为这个我们两个去查书,看程序。。。我到这个时候才知道,我们组那个另一个班的,之前说搞程序的。他竟然也是什么都不会,和我一起在学习。。。。。。大家知道这个时候我的心情能用什么来形容吗???我们组三个人啊,大哥!!!一个是说要好好做,但什么都不做(嘴子),另一个是说了做,实际上也在做,但做了好像什么都没做! 就剩下我一个人了啊!!! 当时真的是什么话都说不出来了! 那种好像一开始就设计好了的,不知道谁把我给玩了。玩得那么顺其自然。我后来有种感叹造物主的伟大命运安排的神力。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
14#
 楼主| 发表于 2011-3-19 13:52:39 | 显示全部楼层
回复 40# tj3525467


    随时欢迎,有事直接来找我!
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
15#
 楼主| 发表于 2011-3-19 13:56:31 | 显示全部楼层
历届所有智能车比赛技术报告合集,希望能对你们有所帮助!
帖子地址:http://www.znczz.com/thread-24994-1-1.html
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
16#
 楼主| 发表于 2011-3-19 14:41:15 | 显示全部楼层
回复 43# tyj19891126


    晚上进行更新,谢谢大家支持!
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
17#
 楼主| 发表于 2011-3-19 19:29:02 | 显示全部楼层
回复 50# 2008145228


    赛道识别和控制,明天就可以看到了。主程序部分还没开始,呵呵
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
18#
 楼主| 发表于 2011-3-20 03:02:38 | 显示全部楼层
本帖最后由 kxfc 于 2011-3-21 00:59 编辑

之前说到,那个做程序的那个组员和我一样,才开始学AD转换,准备修改程序。我随后问了他之前的一段时间在做什么。他说他之前一直在看单片机,网上的例程一类。之前我们自己也调试过PWM一次,由于当时硬件没能成功,搁置失败了。我问他看到哪了,他说东西太多了,只看了个基本的。AD,什么的还没涉及到。。。接下来的时间里,我和他一道,查找相关资料。确实如此,光是飞思卡尔单片机的技术文档就复印了三大本,垒起来差不多有五厘米了!而且全是英文的,我们根据中文的一些例程和英文技术文档,也没花费多少时间(大概是半天内吧?)就搞定了。最后测试成功。当时是感叹了良久!一是:我们终于做出来了,二是:学习的方法的问题。在之前的制作中我自己犯了很多错误。。。现在总结下: 一:自以为是,当时太相信别人的方案了,自己没有什么主见。导致认识受限,走进了死胡同。二:我们对车模制作没有一个整体的规划,总是自己按照自己的步子在走,有两个在做,但是合不到一起,力量分散。三:平时时间安排不恰当,作息不大规律,我们有时9点至10点起床,晚上一两点睡觉。四:学习方法错误,应该直接面向车模,而不是应该一步步从单片机、模拟电路、数字电路学起。。。我们时间紧迫,根本没有时间来让你从头看起!要让车跑,就学车模跑起来需要的东西!你不需要学习数电、模电,只需要知道用到的电路有哪些芯片,元件,该怎么连。你不需要看完单片机所有的东西,只需要学 时钟频率设置 、AD转换PWM、和相关控制算法就好了,时间充足学习计数和中断等。 。。我们就在此刻统一了意见和想法。此后我们两个就天天在一起做车模,不遗余力的做。虽然整体控制程序还差得远,但我们两个一直在想办法,每天都想,要创造自己的路。眨眼又过了大概二天吧,学校里通知某个早上全校第一次试跑。那天我们起得很早,早早地就去了实验室,开始弄程序。就在开始比赛前3,40分钟,做程序的那个组员突然有了灵感。急忙开始写,临近比赛了,程序还没写完,我们撤离了比赛场地(那个实验室),他接着写,我去抽号,按号上场。我抽了号,又回到实验室去,他还在写,我们的号在前面,马上就轮到我们了。我问他写好没,他说控制的好了,但是延时的没写好(按了小车开关后,两秒后开始跑)。我说不写那个了,直接去比赛场地。我们去了之后很快轮到我们了,第一次试跑竟然是在学校的初次比赛上,这个也太滑稽了。不过更滑稽的是,还完整地跑下了一圈,没有冲出赛道和走错。当时围观的有很多老师。还有我们的领导在,我们有三组参加比赛,当时竟然只有我们可以跑起来! 我学长他们的那个临时出了问题,我们班另一组做车模的还压根没做(也不是完全没做,焊好了一个电源板,仅此而已)。。。(他们三个人闹矛盾,做不到一起,都指望着有人可以做。一个等一个,最后谁都不管了。。。)  看着车第一次可以跑完,我们很是兴奋!一切都很清楚了,清楚了什么事智能车,如何能让车实现自动寻线,不是看书,或者通过相关理论。而是真正知道它是如何运作的。一切都是那么简单,掌握在手中。做车模根本不难,让车跑起来很简单。如果我们不是零基础,或许这个过程就可以称之为玩。这个过程打破了我们之前的无知,渐渐地进入了状态。。。

下面就是我们第一次参加学校比赛时的程序,让全国的学生都见笑了,我称之为万能程序(光电和电磁可以直接使用),最简单,最基本的程序,只能让车跑,什么算法都没有。    之前的不完整,少了个AD转换。现在加上,望大家原谅!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
19#
 楼主| 发表于 2011-3-20 04:17:08 | 显示全部楼层
本帖最后由 kxfc 于 2011-3-20 04:39 编辑

一般初学者可能对于飞思卡尔单片机的调试和下载程序很模糊,不知道怎么做。我这里将所有步骤一一列出,希望对大家有所帮助!

大家都知道飞思卡尔单片机调试及下载要用到codewarrior和BDM。
codewarrior5.0 下载地址:http://down.qiannao.com/space/file/zqdsqycx/CW_S12_v5.0_Special(3).rar/.page
BDM驱动  :   
这里先介绍它们的安装。9S12XS128-80单片机为例,选择调试软件codewarrior5.0   
一:codewarrior5.0的安装
解压压缩文件后是.exe格式。双击开始安装。



单击NEXT,

此时的这个安装不是真正安装,这个相当于.exe的解压。默认存在了临时文件夹中,再点NEXT,稍等片刻,出现如下:





这个才是真正开始安装,点击NEXT,选择I  accept .....






选好后点NEXT,再点NEXT,出现如下:
这里要选择安装目录,默认为C盘,不过不建议装到C盘(C盘为系统盘,装了可能会使系统变慢),单击 changge,如下

将C改为其他盘,如D,E,F。只需要将C改为D,E,F 即可。也可另选文件夹或者新建。选好后点OK。再点NEXT,出现如下:






这里强烈建议新手选择complete(完全安装)!!!(如果选典型,可能漏选安装项目,造成BDM无法使用!!)。选择后点NEXT,




到这里,要注意了,你们要用到哪些文件类型,就选哪些,不用的完全可以不选。
例如只用C语言的话,就只选第一个和第二个,其他都不选。
单击next,再点击Install。
注意!!!这里出现的一切对话话,都选择允许!(不少人安装防护软件,可能会弹出提示,要注意)等一会后,出现如下:



点掉那个勾,check  for  那个什么的。 然后点Finish.完成安装!
在开始菜单里的程序里,找到Freescale CodeWarrior , 打开CodeWarrior IDE,即可运行。




二:BDM驱动的安装

详细可以参见    新款三合一BDM调试器说明书   
这里大概讲述下, 驱动得自己安装,而且一定要将相关的.dll文件 拷到相应的目录!


安装好BDM驱动后,打开CodeWarrior IDE ,出现如下:


选择第一个  creat new project ,出现如下:

选择好相应的单片机(MC9SXS128),并选择TBDML。点击下一步。之后就是选择新建项目的地址了。也可以直接点完成。


双击main.c  就可以编写自己的程序了。

写好后,点击 Make , 看检查有无错误,没有错误的话,可以进行调试。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368430

优秀会员奖章资源大师奖章论坛元老奖章活跃会员奖章

QQ
威望
102025
贡献
266159
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
20#
 楼主| 发表于 2011-3-21 00:23:59 | 显示全部楼层
本帖最后由 kxfc 于 2011-3-21 00:26 编辑

之前说到程序写好后,点击 Make 下载 (903 Bytes)
19 小时前

, 看检查有无错误,没有错误的话,可以进行调试
下载 (848 Bytes)
19 小时前








单击OK,再单击OK,出现如下:


打开里面的Data1,运行程序(绿色箭头,运行;红圈里黑箭头,停止。)

就可以查看相关变量的数值:





比如这个里面,_PWMPER01  WORD (值)为:20000  (舵机控制周期:20ms);_PWMDTY01  WORD (值)为:1800 (当前占空比为1800:1.8ms)  

此时可以随意更改PWMDTY01 的 WORD ,舵机即转相应角度。同理可更改PWMDTY23 的word , 即可改变直流电机速度。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-8 09:51 , Processed in 0.097930 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表