致 谢
在我们研究智能车的过程中,得到了很多人的帮助。十分感谢南航自动化学院的刘剑慰老师、孙永荣老师给予我们的大量指导和帮助;十分感谢在我们参加华东赛区比赛时,安徽省能源技术学校给予了我们很多方便;十分感谢安徽省能源技术学校的郑克超老师、周玉霞老师给予我们的大量的支持;感谢南航工程训练中心陈钰老师的指导;感谢南航自动化学院任明波同学在调试电路时给予我们的帮助;最后,衷心的感谢我的队友,在我们的共同努力、相互协作和激烈的讨论下才有了我们的进步。
再次对上述老师和同学表示感谢!再次衷心地感谢我的队友!相信在我们共同的努力下,我们会更上一层楼!
30
参考文献
[1] 卓晴,黄开胜,邵贝贝,学做智能车[M].北京:北京航天航空出版社,2007 [2] 邵贝贝,单片机认识与实践[M].北京:北京航天航空出版社,2006
[3] 邵贝贝,Motorola(Freescale)16位微控制器及其嵌入式应用[M].北京:清华大学出版
社,2006
[4] 胡寿松,自动控制原理[M].北京:科学出版社,2001
[5] 王威,HCS12微控制器原理及其应用[M].北京:北京航空航天大学出版社,2007
[6] 吴建平,殷战国,曹思榕等.红外反射式传感器在自主式寻迹机器人导航中的应用[J],
中国测试技术,2004,30(6).
[7] 陈杰,黄鸿.传感器与检测技术[M],北京:高等教育出版社,2002
[8] 谭浩强.C语言程序设计(第二版)[M],北京:清华大学出版社,2003.
[9] 王明顺,沈谋全.传感器与智能车路径识别[J],电子产品世界,2007,4(04). [10] 孙浩,程磊,黄卫华.基于HCS12的小车智能控制系统设计[J],单片机与嵌入式 系
统应用,2007,2(03).
[11] [12]
.
李世华,田玉平.移动小车的轨迹跟踪控制.控制与决策,2000,15(5)::626~628 TPS7350Q LOW-DROPOUT VOLTAGE REGULATORS WITH INTEGRATE
-D DELAYED RESET FUNCTION SLVS124F – JUNE 1995 – REVISED JANUARY 1999
31
附 录
附件A LM2907 F/V转化数据表
频率(Hz) 99 224 308 463 600 762 865 980 1098 1207 1329 1454 1558 1660 1770 1869 1987 2091 2200 2353 2461 2564 2720 2850 2949 3073 3155 3276
转化电压(V) 0.12 0.26 0.37 0.54 0.68 0.85 0.96 1.09 1.22 1.35 1.48 1.63 1.75 1.86 2.01 2.11 2.22 2.33 2.46 2.62 2.74 2.86 3.02 3.18 3.29 3.43 3.51 3.66 32
附件B 源程序
#include
#include
#pragma LINK_INFO DERIVATIVE \
#define PID_P 340 #define PID_I 3 #define PID_D 32
#define PID_P_A 40 #define PID_D_A 10
#define VMAX 90 #define Kangle 50 #define Kacc 13
uint average[14]; uint max[14]; uint min[14]; uint state[14]; int position;
uint value[14]; uchar real_speed; uchar given_speed; uchar accelarator; byte AD_wData0[8]; byte AD_wData1[8]; uint start_line_number; uchar start_line_cnt; void ADC0Init(void) {
ATD0CTL2=0xC2; ATD0CTL3=0x00; ATD0CTL4=0x85; ATD0CTL5=0xB0; ATD0DIEN=0x00; }
void ADC0Shutdown() {
ATD0CTL2=0x00; ATD0CTL3=0x00; ATD0CTL4=0x00; ATD0CTL5=0x00; ATD0DIEN=0x00; }
void ADC1Init(void) {
ATD1CTL2=0xC2; ATD1CTL3=0x00;
33
ATD1CTL4=0x85; ATD1CTL5=0xB0; ATD1DIEN=0x00; }
void ADC1Shutdown() {
ATD1CTL2=0x00; ATD1CTL3=0x00; ATD1CTL4=0x00; ATD1CTL5=0x00; ATD1DIEN=0x00; }
void AD_wData_Init() {
uchar j;
for(j=0;j<8;j++) {
AD_wData0[j]=0; AD_wData1[j]=0; } }
void max_Init() { uchar i;
for(i=0;i<14;i++) max[i]=1;//?33??μ }
void min_Init() { uchar i;
for(i=0;i<14;i++) min[i]=254; }
void get_every_state() {
uchar j;uchar i;uint temp[14]; DisableInterrupts; AD_wData_Init();
for(j=0;j<14;j++) {
temp[j]=0; }
ADC0Init();ADC1Shutdown(); for(i=0;i<3;i++) {
EnableInterrupts; _asm \
DisableInterrupts; for(j=0;j<8;j++) {
temp[j]=temp[j]+AD_wData0[j];
34