智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

学做智能车,——车模比赛亲身经历

  [复制链接]

2

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
威望
237
贡献
35
兑换币
0
注册时间
2011-3-5
在线时间
8 小时
71#
发表于 2011-3-18 23:18:48 | 只看该作者
顶,太受用了
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368562

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

QQ
威望
102135
贡献
266181
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
72#
 楼主| 发表于 2011-3-19 01:34:26 | 只看该作者
本帖最后由 kxfc 于 2011-3-19 01:46 编辑

之前说到本部实验室里的那组程序突然到了后期。。。这根本不是我们所能理解的。他们的车马上就可以试跑了,我们车的还没“灵魂”。我在想难道那个组的主抗是无敌的存在?硬件和软件一人搞定?那个组的主抗是个看起来很文弱的样子,戴个眼镜。其貌不扬,但很有内涵。还是人外有人,山外有山。这个实力差距太大,刚开始是我大意了吗?那我眼力也太差了吧。。。  我这种想法没有持续多久,实验室来了一个戴眼镜的帅哥,个子一米七左右。他进了实验室直接坐在了那组主抗的旁边,问那个主抗程序怎么样?他要再看看程序什么的。我顿时明白了,原来有外援。后来我才了解到那个帅哥是本部大四的,有过车模制作的经验,专门做程序的。我们当时没好意思直接去问要程序,就去找了老师,通过老师,我们终于得到了两部分程序:一是: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
回复 支持 反对

使用道具 举报

8

主题

187

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3683

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

威望
619
贡献
2776
兑换币
18
注册时间
2010-11-20
在线时间
144 小时
73#
发表于 2011-3-19 10:14:12 | 只看该作者
继续期待~~
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368562

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

QQ
威望
102135
贡献
266181
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
74#
 楼主| 发表于 2011-3-20 04:51:16 | 只看该作者
本帖最后由 kxfc 于 2011-3-21 01:00 编辑

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

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368562

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

QQ
威望
102135
贡献
266181
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
75#
 楼主| 发表于 2011-3-20 04:59:45 | 只看该作者
本帖最后由 kxfc 于 2011-3-20 05:01 编辑

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

大家都知道飞思卡尔单片机调试及下载要用到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
回复 支持 反对

使用道具 举报

8

主题

187

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3683

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

威望
619
贡献
2776
兑换币
18
注册时间
2010-11-20
在线时间
144 小时
76#
发表于 2011-3-20 09:40:29 | 只看该作者
向楼主学习!!!
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
181
贡献
41
兑换币
0
注册时间
2010-10-18
在线时间
8 小时
77#
发表于 2011-3-20 14:46:06 | 只看该作者
感谢楼主!期待更多~
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
328
QQ
威望
248
贡献
40
兑换币
0
注册时间
2011-3-19
在线时间
20 小时
78#
发表于 2011-3-20 21:28:53 | 只看该作者
非常感谢楼主!!!
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
328
QQ
威望
248
贡献
40
兑换币
0
注册时间
2011-3-19
在线时间
20 小时
79#
发表于 2011-3-20 21:28:59 | 只看该作者
非常感谢楼主!!!
回复 支持 反对

使用道具 举报

16

主题

456

帖子

2

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
368562

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

QQ
威望
102135
贡献
266181
兑换币
19
注册时间
2010-3-8
在线时间
123 小时
80#
 楼主| 发表于 2011-3-21 00:33:27 | 只看该作者
之前说到程序写好后,点击 Make , 看检查有无错误,没有错误的话,可以进行调试


下载 (86.71 KB)
13 分钟前



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



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


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






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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 16:33 , Processed in 0.087406 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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