由于今年组委会光电管和摄像头分开比赛。所以传感器部分我们选择了光电
管,比赛以小车的速度记成绩,为了让小车更快更稳得跑完全程,传感器的探
测距离必须要远,既要有大的前瞻,普通的红外对管由于功率较小,探测距离
增大时,干扰严重,所以我们自制了大功率对管,同时采用了程序控制脉冲发
光的办法,有效的降低了发热,提高了系统的稳定性。
系统采用采用了 7.2V 2000mAh Ni-Cd 蓄电池作为系统能源,并且通过稳压
电路分出 6 伏,5 伏已分别给舵机和单片机供电。
直流电机驱动模块接收速度控制信号控制驱动电机运行,达到控制车速目
的。转向伺服模块控制舵机转向,进而控制智能车转弯。速度测量模块实时测
量智能车车速,用于系统的车速闭环控制,以精确控制车速。
系统充分使用了 MC9S12DG128 单片机的外围模块,具体使用到的模块包括:
ADC 模拟数字转换模块、定时器模块、PWM 脉冲宽度调制模块、中断模块、I/O
端口和实时时钟模块等。
系统调试过程中,使用了组委会提供的代码调试环境 CodeWarrior IDE,同
时使用了清华的 Plastid2 软件进行了仿真试验。
图 1.1 系统结构框图
第三届全国大学生智能汽车大赛
3.1 舵机部分
为了使转弯更加灵活,对舵机相关部分作了部分改动。首先,我们将舵机力臂加长 85mm。
这样,对于同样的转弯角度值,只需更小的舵机转角,减小了舵机转弯时惯性带来的弊端。
其次,我们将舵机反装,使舵机连杆水平,因为此时舵机提供的力全部用在转弯上。
3.2 前轮部分
为了增加前轮转弯时的稳定性,对前轮相关部分进行了部分改动。首先,更改前后垫片
的数量,使前轮主销后倾,这样,车轮具有更好的自动回正功能。其次,更改连杆的长度,
使车轮外倾,车轮转弯时,前半部分重心上移,促使赛车转弯更加稳定。再次,我们通过
更改舵机连杆的长度,增加前轮前束,同样增加了前轮的稳定性。
3.3 底盘部分
为了提高赛车运行时的稳定性,对地盘相关部分作了部分改动。首先,前轮相关位置加
垫片,降低了前轮重心。其次,更改后轮车轴处的调节块,使后轮重心升高,这样,车身
前倾,一定程度上,增加了车的稳定性。
3.4 后轮部分
首先,更换后轮轮距调节块,使后轮两轮之间间距加大。这样,车在转弯时不容易产生
侧滑。其次,调节后轮差速,使赛车转弯更加灵活。
4.1 电源部分
为了能使智能车系统能正常工作,就需要对电池电压调节。其中,单片机系
统、车速传感器电路需要 5V 电压,路径识别的光电传感器和接收器电路电压工
作为 5V、伺服电机工作电压范围 4.8V 到 6V(或直接由电池提供),直流电机可
以使用 7.2V 2000mAh Ni-cd 蓄电池直接供电。考虑到由于驱动电机引起的电压
瞬间下降的现象,因此采用低压降的三端稳压器成为必然。我们在采用 lm7805,
和 lm7806 作为稳牙芯片。经试验电压纹波小,完全可以满足要求。
电池(7.2v)
2000mAh Ni-cd
1
第三届全国大学生智能汽车大赛
稳压电路
5V
6V
7.2V
单片机
对管
测速板
舵机
电机
图 4.1 系统电压调节图
图 4.2
7805 电路图
图 4.3 电源模块示意图
2
第三届全国大学生智能汽车大赛
4.2 电机驱动电路
电机驱动使用飞思卡尔专用电机驱动芯片 MC33886。驱动电路如图 4.4 所示。
为了增大驱动能力,减少单片发热量,电路采用两片 MC33886 并联的方案。系
统使用 PWM 控制电机转速,充分利用单片机的 PWM 模块资源。电机 PWM 频
率设定为 8KHz。
MC33886 芯片的工作电压为 5-40V,导通电阻为 140 毫欧姆,PWM 频率小于
10KHz,具有短路保护、欠压保护、过温保护等功能。
电机驱动芯片安装在制作的电机驱动 PCB 板上,在 PCB 板设计时,考虑到芯
片散热问题,在芯片腹部设计了方型的通孔,实际运行效果表明芯片散热均匀,
设计合理。为了防止电动机突然停止时产生的电磁干扰,在电动机的两端焊接
了一个 0.1μF 滤波电容。
+7.2V
1 S2
3
2
SW-SPDT
R15
Res2
1K
PWM3
PWM5
VCC
R5
Res2
1K
DS2
LED2
R10
Res2
1K
3
19
13
18
20
1
9
10
11
12
3
19
13
18
20
1
9
10
11
12
U3
IN1
IN2
D2
D1
OUT1
OUT1
OUT2
OUT2
DNC
DNC
AGND
PGND
PGND
PGND
PGND
MC33886
V+
V+
V+
Ccp
FS
U5
IN1
IN2
D2
D1
OUT1
OUT1
OUT2
OUT2
DNC
DNC
AGND
PGND
PGND
PGND
PGND
MC33886
V+
V+
V+
Ccp
FS
6
7
14
15
8
4
5
16
17
2
6
7
14
15
8
4
5
16
17
2
C12
Cap
47pF
R4
Res2
1.3K
C14
Cap
47pF
R7
Res2
1.3K
P14
2
1
Header 2
图 4.4 两片 MC33886 并联使用
3
第三届全国大学生智能汽车大赛
图 4.5 两片 MC33886 并联使用的实物图
在图中可以看到,我们使用 PWM23 和 PWM45 作为电机驱动 PWM 信号,两个
PWM 通道级联可以使其输出更加精确。在程序中,我们把 PWM 值直接转换成
了以米/秒为单位的绝对速度,这样使智能车的速度更加直观切易于调试。
4.3 测速电路
由于考虑到成本需要,我们采用了红外对管和黑白码盘作为测速模块的硬件构
成。其中码盘为 32 格的黑白相间圆盘,如下图所示:
图 4.5 码盘
红外传感器安装在正对码盘的前方,虽然这样做精度比编码器要低很多,但是
成本低廉制作容易,如果智能车速度较快,可以考虑再减少码盘上黑白色条的
数量即可。
当圆盘随着齿轮转动时,光电管接收到的反射光强弱交替变化,由此可以得到
一系列高低电脉冲。设置 9S12 的 ECT 模块,同时捕捉光电管输出的电脉冲的
4
第三届全国大学生智能汽车大赛
上升沿和下降沿。通过累计一定时间内的脉冲数,或者记录相邻脉冲的间隔时
间,可以得到和速度等价的参数值。
测速电路使用自行研制的红外反射式光电测速传感器。速度测量电路使用
红外反射式光电对管 RPR220,自行制作的编码盘,比较电路等组成。
速度测量电路图 2.8 所示。红外反射式光电对管的光敏三极管信号通过比
较器处理后输入单片机的计数
器模块,利用单片机的输入捕捉
功能,处理智能车速度信息。自
制的编码盘有 24 道黑色条纹,
VCC
10K
VCC
5.1K
VCC
电机旋转一周将产生 24 次输入
RPR220
捕捉中断。
单片机记录两次中断的时
300
33K
8
A
1
5.1K
LM358
3
2
4
IOC0
间间隔 T。两次中断对应于智能
车前进的距离 S 为:16.5/24 cm,
即 0.6875cm,其中 16.5cm 为智
图 4.6 测速电路
能车后轮实测周长[7]。智能车实时速度 V(cm/s)的计算公式如下:
V
S
T
24/5.16
T
.0
6875
T
cm
/
s
4.4 红外对管检测电路
由于我们采用了大功率对管,所以红外对管的电路是整个电路中要求最高的,
不紧要保证对管正常工作,而且还要考虑整个电路的能耗和发热问题。经测试
我们发现单个对管在通以 100mA 到 170mA 电流时可以。保证抬高 20 到 30 厘
米的距离。
此时每个对管的管压降为 1.2 到 1.5 伏。为了进一步加大发光量,我们采用了双
发射管的办法,即一个接受管对应两个发射管。为了降低整体的能耗。我们让
同一对的发射管串联,14 对发射管再并联。同时使用了 irf540 进行开关控制。
控制对管脉冲发光。开关频率为 200HZ。这样既保证了大前瞻探测的需要,又
降低了整体的能耗和对电源的冲击
5
第三届全国大学生智能汽车大赛
图 4.7 先串联再并联的脉冲发光对管电路图。
图 4.8 对管实物图反面
图 4.9 对管实物图正面
4.5 拨码开关电路
由于在智能车比赛开始后,不能够对智能车硬件及软件进行修改,在保证了硬件有效可靠
的同时,软件有可能不能够适应新场地,所以设计拨码开关对智能车有关参数进行设置也
是必要的。拨码开关电路如下图所示:
6
第三届全国大学生智能汽车大赛
R1
Header 9
1 2 3 4 5 6 7 8 9
VCC
SW7
SW6
SW5
SW4
SW3
SW2
SW1
SW0
S1
1
2
3
4
5
6
7
8
SW-DIP8
16
15
14
13
12
11
10
9
这是一个八段的拨码开关,我们把它成成上下连个部分,显然,每个部分都有 16 种状态,
前四个来改变舵机参数,后四个改变直流电机参数,这样对于适应新的场地很有好处。
图 4.9 拨码开关
5.1 路径搜索算法
对于本控制系统采用 14 对光电对管的方案,单排排列在车体头部 10cm 处。
编号为 6、7 的光电对管处于正中央位置。利用 14 对传感器进行道路识别。传
感器对白色的反射率比黑色的大。单片机 ADC 读入值相应也大。在程序中对传
感器信号进行处理,判断传感器是否检测到黑色引导线。
将单个传感器对白色和黑色路面的 ADC 值之差分为平均的两段,每次处理
实时传感器信号时,判断本次采样的 ADC 值与黑色路面 ADC 值之差落在两段中
的哪一段。如果在靠近黑色的一段,则判定该传感器检测到黑线,将该传感器
对应的变量置为判定值 1;如果在靠近白色的一段,则判定该传感器检测到白线,
将该传感器对应的变量置为判定值 1;为了增强判断的准确性,在对 ADC 值采样
时,采用了中值滤波方法,以去除瞬间的干扰。
路径检测完后,将测的的路径值暂时存储,然后将路径信息传递给舵机和
电机控制部分,以选择给定合适的转角和速度。
7