第三届全国大学生智能汽车大赛
一般的PID调节难以满足要求,这时使用大的超调量可以使小车有一个加速或刹车的过程,使之更好的达到要求速度。
6.1 Codewarrior 开发环境
在整个开发调试过程中,使用Metrowerks公司为MC9S12 系列专门提供的全套开发工具(Freescale Codewarrior IDE 4.6)。这是一套用C语言进行编程的集成开发环境——本文智能车定位系统的软件设计部分就是在此开发环境下完成的。
Codewarrior 是由Metrowerks 公司提供的专门面向Freescale 所有MCU 与DSP 嵌入式应用开发的软件工具。其中包括集成开发环境IDE、处理器专家、全芯片仿真、可视化参数显示工具、项目工程管理、C 交叉编译器、汇编器、链接器以及调试器。
CodeWarriorIDE 能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序。每个应用程序都经过了使用象CodeWorrior 这样的开发工具进行编码、编译、编辑、链接和调试的过程。Metrowerks Codewarrior IDE 中的mc9s12dg128.h 文件对所有寄存器对应的存储映射地址都 进行了宏定义,开发者在软件开发时直接调用这些宏就可以了。
6.2 软件仿真
为了更好的定量分析影响小车行驶的各个因素,而且最大限度的节约时间和成本。我们采用了软件仿真和实际调试相结合的办法。仿真软件使用了清华的PLAST2。 通过仿真,我们发现:
1、 小车传感器的探测距离对速度有着决定的影响。所以传感
器应该尽量的探测更远。但是传感器的探测距离不能超过
10
第三届全国大学生智能汽车大赛
最小转弯的半径。否则会出现盲区。
2、 适度增加舵机的灵敏度,可以使转弯更加灵活。所以我们
在实际调试中,加长了舵机的力臂。
6.2 实际调试
实际调试过程中,我们发现小车在直道上会出现左右抖动的现象,通过软件设置死区或其他处理方法,效果都不是很明显,最后发现小车舵机和前轮的间隙是罪魁祸首,通过把前轮设置为内八形,完美的解决了这个问题。
在调试过程中,我们加了液晶显示,还设置了蜂鸣器,这些辅助设备在比赛中为了减轻小车的重量,都是不需要的。但是在调试过程中,通过这些设备,可以及时的了解小车运行的情况,达到事倍功半的效果。
11
第三届全国大学生智能汽车大赛
表7.1模型车技术参数统计:
项目 参数 路径检测方法(赛题组) 光电组 车模几何尺寸(长、宽、高)(毫米) 车模轴距/轮距(毫米) 车模平均电流(匀速行驶)(毫安) 电路电容总量(微法) 传感器种类及个数 385*220*60 200/150 200 430 红外对管 15个 新增加伺服电机个数 0 赛道信息检测空间精度(毫米) 9 赛道信息检测频率(次/秒) 200 主要集成电路种类/数量 9s12单片机最小系统/1 33886电机驱动电路/4 速度检测电路/1 车模重量(带有电池)(千克) 0.9 12
第三届全国大学生智能汽车大赛
参考文献
[1] 黄开胜、金华民、蒋狄南,韩国智能模型车技术方案分析,北京:清华大学汽车安全与节能国家重点实验室,2004.3
[2] 邵贝贝著,单片机嵌入式应用的在线开发方法,北京:清华大学出版社,2004.2
[3] ‘LM2940 datasheet’, July 2000, National Semiconductor [4] ‘LM7806 datasheet’ National Semiconductor [5] ‘RPR220 datasheet’, ROHM
[6] 'Semiconductor Technical Data MC33887' Aug 2002 Motorola Inc [7] 大赛车模拼装手册
[8] CodeWarrior IDE 3.1 help datasheet
[9] 'MC9S12DG128 Device User Guide', October 2002 Motorola Inc [10] 'HCS12 CORE datasheet', Augt 2000 Motorola Inc [11] 'S12PWM8B8CV1 datasheet', Mar 2002 Motorola Inc [12] 'S12ATD10B8CV2 datasheet', Augt 2002 Motorola Inc [13] 'S12ECT16B8V1 datasheet', July 2002 Motorola Inc [14] www.smartcar.au.tsinghua.edu.cn [15] www.freescale.com.cn [16] www.21icsearch.com
13
第三届全国大学生智能汽车大赛
程序
电机PID控制程序
typedef unsigned char BOOL;
typedef unsigned char INT8U; //无符号8位数 typedef signed char INT8S; //有符号8位数 typedef unsigned int INT16U; //无符号16位数 typedef signed int INT16S; //有符号16位数 typedef unsigned long INT32U; //无符号32位数 typedef signed long INT32S; //有符号32位数 typedef float FP32; //单精度浮点数 typedef double FP64; //双精度浮点数
#define MAX_32 (signed long)0x7fffffffL #define MIN_32 (signed long)0x80000000L
#define MAX_16 ( signed int)0x7fff #define MIN_16 ( signed int)0x8000
14
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能车程序(3)在线全文阅读。
相关推荐: