第三章 智能车硬件电路设计
本系统硬件结构主要由HCS12控制核心、电源管理单元、路径识别电路、车速检测模块、转向伺服电机控制电路和直流驱动电机控制电路组成,其系统硬件结构如图2.1所示。
3.1HCS12控制核心

同时考虑到稳压芯片LM2576的额定输出电流较小,故采用两片LM2576分别对单片机电路、车速检测电路供电,以保证系统正常运行,达到了显著的效果。
其稳压电路如图3.2所示:

3.3 路径识别单元

本系统核心控制单元采用主委会提供的MC9S12EVKX电路板。飞思卡尔公司的16位微处理器MC9S12DG128主要特点就是高度的功能集成,并且易于扩展。

图3.1 系统硬件结构图
本系统I/O[5]口具体分配如下:
PAD1——用于摄像头视频信号的输入口;
IRQ——用于摄像头行同步信号的输入捕捉;
PORTM0——用于摄像头奇-偶场同步信号的输入口;
PACN0——用于车速检测的输入口;
PORTB0——PORTB7用于显示小车的各种性能参数;
PWM01——用于伺服舵机的PWM控制信号输出;
PWM23,PWM45——用于驱动电机的PWM控制信号输出。
3.2电源管理单元
电源管理单元是本系统硬件电路设计中的一个重要组成单元。根据系统各部分正常工作的需要,本系统电压值分为2.5V、5V、6.5V、7.2V和12V五个档。根据智能车各部分正常工作的需要,本系统电源管理单元采用主委会提供的7.2V 1800mAh Ni-cd蓄电池进行电压调节。
其主要用于以下三个方面:
其主要用于以下三个方面:
(1)采用稳压管芯片LM2576将电源电压稳压到5V后,给单片机系统电路、车速检测的旋转编码器电路供电,且为后面的升压降压作准备;
(2)经过一个二极管降至6.5V左右后供给转向伺服电机;
(3)直接给直流驱动电机、驱动芯片MC33886电路供电;
(4)采用升压芯片B0512S将5V电压升压到12V后,给摄像头供电;
(5)采用稳压芯片LT1764将5V电压稳压到2.5V后,作为单片机A/D模块参考电压。
同时考虑到稳压芯片LM2576的额定输出电流较小,故采用两片LM2576分别对单片机电路、车速检测电路供电,以保证系统正常运行,达到了显著的效果。
其稳压电路如图3.2所示:

图3.2 电源管理图
3.3 路径识别单元
3.3.1摄像头选择
摄像头分黑白的和彩色的这两种,为达到寻线目的,只需提取探测画面的灰度信息,而不必提取其色彩信息,所以本设计中采用黑白摄像头(采用普通420×320系列CMOS 图像传感芯片即可),相较使用同等分辨率的彩色摄像头而言,这样可减少单片机采样摄像头输出视频信号的负担。
3.3.2采样电路设计

图3.3 摄像头采样电路图
摄像头视频信号端接LM1881 的视频信号输入端,同时也接入S12 的一个AD 转换器口(选用PAD1)。LM1881 的行同步信号端(引脚1)接入S12 的一个外部中断IRQ口。之所以选用外部中断IRQ口是因为,行同步信号(即对应摄像头信号的行同步脉冲)持续时间较短,为了不漏检到行同步信号,若使用普通I/O 口,则只能使用等待查询的方式来检测到行同步信号,这会浪费不少S12 的CPU 资源。LM1881 的奇-偶场同步信号输出端接S12 的普通I/O 口即可(选用PORTM0)。在此,本智能车选择奇-偶场同步信号来作为换场的标志信号,而不是选用LM1881 引脚3 输出的场同步信号。这样做的好处是,当摄像头信号处于奇场或偶场时,则奇-偶场信号整场都相应地处于高电平或低电平,只要用个普通I/O 口,若检测到该信号发生变化,就可以知道摄像头信号换场了。因为每场信号持续的时间相对较长,所以也不用担心漏检到换场的发生。若使用场同步信号,则需要用中断的方式来判断换场的发生,相对要麻烦一些。


控制流程为:MC33886的OUT1和OUT2分别与RS380-ST电机的两个输入相连,IN1和IN2分别与MC9S12DG128的PWM5和PWM3相连。当根据控制算法计算出来的PWM输出值为非负时,PWM3输出的PWM信号占空比为零,PWM5输出的PWM信号占空比与计算值的绝对值相同,则PWM信号占空比越大,OUT1的电平越高于OUT2的电平,电机为正转趋势,小车正向行驶;反之,当根据控制算法计算出来的PWM输出值为负时,PWM5输出的PWM信号占空比为零,PWM3输出的PWM信号占空比与计算值的绝对值相同,则PWM信号占空比越大,OUT2的电平越高于OUT1的电平,电机为反转趋势,小车减速。
上述摄像头、LM1881 电路和S12 就构成了本智能车定位系统的图像采样模块。该图像采样模块要达到的目的就是得到符合本智能车精度要求的图像数据。
3.4车速检测模块
本系统车速检测单元采用日本OMRON公司的E6A2-100-3-3型旋转编码器作为车速检测元件。其精度达到车轮每旋转一周,旋转编码器产生100个脉冲,不仅硬件电路简单,而且信号采集速度快、精度高,满足智能车车速控制精度要求。其硬件电路如图2.5所示。旋转编码器的工作电压为5—24伏,输出为一系列脉冲

图3.4 车速检测硬件电路图
因为E6A2-100-3-3型旋转编码器的输出方式为电压输出,所以本系统将旋转编码器的输出接一个2K上拉电阻再与MC9S12DG128的I/O口PT0相连。PT0采用8位输入脉冲累加模式对旋转编码器的输出脉冲进行累加计数。车速检测单元安装如图3.4所示,在旋转编码器的中轴上安装一个直径为1cm,齿数18,传动比1:4.22的齿轮,并将该齿轮与同轴于后轮的传动齿轮咬合。如此则后轮旋转的同时将通过传动齿轮带动旋转编码器一同旋转。此时只需要测量一定时间(20ms)旋转编码器输出的脉冲数就能准确计算出车速。车速的计算公式如2.1所示:
式中(d为小车后轮直径,n为采样时间内旋转编码器产生的脉冲数,T为采样周期)。
3.5舵机控制单元
本系统舵机控制单元采用组委会提供的Futaba公司S3010型舵机作为智能车方向控制部件。舵机控制采用电压反馈闭环控制时,由于采用电位器检测反馈电压作为反馈回路,其检测精度不高,达不到较好的控制效果,故舵机采用PWM信号开环控制。实验证明:舵机的开环转向力矩足够,可以满足给定PWM信号与角度的一一对应,控制电路简单且能满足控制要求。其硬件电路如图3.5所示。舵机的工作电压为6.5伏左右,输出为PWM信号,相应输出一定转角。

图3.5 转向伺服电机控制电路
舵机的控制信号线与MC9S12DG128的PWM1口相连,为提高舵机的精度,加大PWM信号控制范围,将2个8位PWM信号寄存器合并作为一个16位的寄存器进行输出。本系统采用PWM0和PWM1合并当作PWM01给舵机作控制信号输入口,同时为保证整个小车的重心在小车的中心线上,故将舵机安装在前轮靠后的部位,使得整个小车行驶时更加平稳可靠。
3.6直流驱动电机控制单元
本系统直流驱动电机控制单元采用组委会提供的RS380-ST型直流电机,并采用MC33886电机驱动H-桥芯片作为电机的驱动元件。通过MC9S12DG128输出的PWM信号来控制直流驱动电机。考虑到智能车由直道高速进入弯道时需要急速降速,而使用MC33886的半桥驱动时,在小车需要减速时只能通过自由停车实现。取旋转编码器在一定采样时间内检测到的脉冲数作为本系统的速度的量纲。当小车速度值由80降至50时,响应时间约为0.3秒,效果不佳,所以需要直流电机反向制动,因此本系统利用了MC33886的全桥。采用MC33886的全桥驱动时,其响应时间约为0.1秒。为了提高PID控制的精度,将PWM2和PWM3两个8位寄存器合成PWM23,PWM4和PWM5两个8位寄存器合成PWM45。其硬件电路如图3.6所示。VCC为电源电压7.2伏,IN1和IN2分别为MC33886的PWM信号输入端口。MC33886的输出端口OUT1和OUT2分别接驱动电机的两端。D1、D2为芯片的使能端。考虑到实际驱动电流可能很大,故采用3片MC33886并联方式驱动电机。

图3.6 电机驱动硬件电路图
控制流程为:MC33886的OUT1和OUT2分别与RS380-ST电机的两个输入相连,IN1和IN2分别与MC9S12DG128的PWM5和PWM3相连。当根据控制算法计算出来的PWM输出值为非负时,PWM3输出的PWM信号占空比为零,PWM5输出的PWM信号占空比与计算值的绝对值相同,则PWM信号占空比越大,OUT1的电平越高于OUT2的电平,电机为正转趋势,小车正向行驶;反之,当根据控制算法计算出来的PWM输出值为负时,PWM5输出的PWM信号占空比为零,PWM3输出的PWM信号占空比与计算值的绝对值相同,则PWM信号占空比越大,OUT2的电平越高于OUT1的电平,电机为反转趋势,小车减速。


