1、基于16位单片机智能车控制系统设计时间:-12-02 16:53:29 起源:机器人智能网 作者:1 引言中国自起举行全国大学生“飞思卡尔杯”智能汽车竞赛融科学性、趣味性和观赏性为一体,是一项以迅猛发展、前 景宽广汽车电子为背景,涵盖了自动控制、模式识别、传感技术、电子、电气、计算机、机械和汽车等多个学科专业科技创新比赛。参赛队伍在车模平台基础 上,制作一个能够自主识别路线智能车,在专门设计赛道上自动识别道路行驶 1。本文所述智能车就是依据比赛规则要求设计并 制作而成,该智能车控制系统采取飞思卡尔半导体企业生产16位MC9S12DG128单片机作为数字控制器,由安装在车前部黑白CMOS摄像头负
2、责 采集赛道信息,并将采集到信号经二值化处理后传入单片机,单片机对信号进行判定处理后,由PWM发生模块发出PWM波对转向舵机进行控制,完成智能车 转向。另外,智能车后轮上装旋转编码器,用来采集车轮速度脉冲信号,单片机使用PID控制算法处理后控制量去改变电机驱动模块PWM波占空比,从而 控制智能车行驶速度。2 控制方案设计和硬件电路组成设计有效智能车控制系统必需首先掌握控制对象特征。依据对智能车特点分析,能够认为智能车转向控制系统传输函数近似为一阶积分加纯滞后,速度控制对象传输函数近似为一阶惯性加纯滞后结论。 转向控制系统关键是要求响应速度快,对稳态控制精度要求不高。而且控制对象只有积分和滞后步
3、骤,没有常见惯性步骤。依据以上特点,转向控制采取PD控制器。对速度进行检测和控制意义在于尽可能使智能车根据道路条件许可最高速度行驶。在 弯道应将车速限制为不脱轨最高速度,在直道应该合适进行急加速以缩短单圈运行时间,提升比赛成绩。同时,对速度信号进行积分求和能够得到赛道长度信息, 为道路识别和记忆模块提供数据。智能车速度控制系统精度不需要太高,关键是怎样快速响应赛道路况改变。所以速度控制采取PID控制器。针对不一样道路 情况快速正确地改变车速,实现稳定过弯。 智能车硬件电路关键由视频处理模块、方向控制模块和车速控制模块组成。各模块和单片机之间关系图1所表示。3 模块功效(1)视频处理模块。视频处
4、理模块由CMOS摄像头、二值化电路和同时分离电路组成。(2)转向控制模块。转向控制模块关键由舵机完成。舵机转动会转化为车模转向拉杆横向移动,从而带动车模前轮转动,控制智能车行驶方向。舵机转向控制采取PD控制,依据赛道中央黑线位置,单片机向舵机输出对应占空比PWM信号。(3) 车速控制模块。车速控制模块关键由直流电机、驱动电路和旋转编码器组成。依据CMOS摄像头所检测路径信息判定智能车目前所处赛道情况,并依据旋转编 码器所检测实际车速形成对智能车行驶速度闭环控制,合理地调整数字PID控制算法Kp、Ki、Kd三个参数,达成车速响应快速并消除静态误差目标。4 电路设计(1)电源模块设计。电源模块要为
5、单片机、传感器、舵机和驱动电机供电。所以需要提供多个电源满足各个模块 要求。电池在完全充满以后空载电压只有8v左右,并伴随电池消耗,电压逐步降低。电机开启及反接制动时电流很大,也有可能将电池电压拉得比较低。为了 避免电源电压不稳定,影响摄像头视频处理电路和单片机工作不正常,在本设计方案中使用了DC-DC变换芯片MC34063和低差压稳压器LM2940。 MC34063输出稳定8伏电压提供给CMOS摄像头,LM2940为16位MC9S12DG128单片机、视频放大及二值化电路提供稳定5伏电源, 确保了系统在多种情况下稳定运行。电源模块原理图图2所表示。(2)直流电机驱动模块设计。直流电机驱动采取
6、飞思卡尔企业5A 集成H桥芯片MC33886。MC33886芯片内置了控制逻辑、电荷泵、门驱 动电路和低导通电阻MOSFET输出电路,适适用来控制感性直流负载(比如直流电机)。能够提供连续5A电流,而且集成了过流保护、过热保护、欠压 保护。经过控制MC33886 四根输入线能够方便地实现电机正转、能耗制动及反接制动。图3为经过简化H桥电路,当S1、S4 导通且S2、 S3 截止时,电流正向流过直流电机,智能车前进;当S2、S3 导通且S1、S4 截止时,电流反向流过直流电机,合适利用这个过程能够使车模处于反接 制动状态,快速降低车速;当S3、S4导通且S1、S2 截止时,没有电源加在直流电机上
7、,直流电机电枢两端相当于短接在一起。因为电机轴在外力作用下 旋转时,电机能够产生电能,此时能够把直流电动机看作一个带了很重负载发电机,电机上会产生一个阻碍输出轴运动力,这个力大小和负荷大小成正比, 此时电机处于能耗制动状态。本设计方案中采取两片MC33886并联,首先减小导通电阻对直流电机特征影响,其次减小MC33886内部过流保护电路对电机开启及制动时影响。直流电机驱动模块电路原理图图4所表示。(3)传感器电路设计。智能车采取CMOS摄像头作为图像传感器,确保赛道信息采集正确有效。CMOS摄像头输出信号是PAL制式复合全电视 信号,每秒输出50帧(分为偶场和奇场)。当CMOS摄像头采集图像时
8、,偶场和奇场不是同时采集,所以,能够在每场信号全部对路径进行识别。(4) 无线数据传输模块设计。智能车加装了基于射频收发芯片nRF403无线数据传输模块,并在此基础上实现了MODBUS 通信协议,在测试智能车参数及程 序调试过程中很有帮助。在运行过程中能够将智能车各项参数实时地发送上来,分析智能车运行状态能够更有针对性地对控制程序进行改善。在调试运动参 数过程中,能够经过上位机软件改变如Kp、Ki、Kd 等参数,而不用重新烧写程序,快速而方便。5 软件设计智能车控制 系统程序结构图5所表示,这是一个两层分级控制系统。底层控制系统包含“转向控制系统”和“车速控制系统” ,上层主控程序经过改变底层
9、控制系统设定 值、控制参数和约束条件方法,对整个控制系统进行调度。设计这种分层结构控制系统是参考了集散控制系统DCS结构特点,程序各部分功效明确、结构清 晰,便于调试和维护。为了调试方便,主控程序中添加了基于无线信道MODBUS通讯协议,对智能车行驶参数监视和调整提供了很大便利。软件所实现功效有:初始化。数据采集及滤波处理。为了尽可能降低引入纯滞后时间,本文提出 了一个独特含有创新性视频信号采集方法,即用MC9S12DG128 单片机提供SPI 口直接读取经过二值化处理视频信号。大赛规则中指定了赛 道上黑色引导线宽度为2.5 厘米,故摄像头中采集到引导线宽度在正常情况下也应该落在一定范围内。能
10、够用试验方法测得引导线对应像素宽度,然后 在滤波程序中对采集到引导线线宽进行控制,假如超出正常范围即认为是无效数据。试验证实,这种方法能够有效地将干扰滤除。道路识 别。智能车分层控制系统关键是赛道识别。实际测试发觉因为CMOS摄像头可视范围比较小而且视野范围呈梯形,在快速运动中常常发生赛道部分甚至全部 脱离视野范围情况,给赛道识别带来很大困难,所以完整识别赛道模式几乎是不可能。为了简化问题,本方案只识别赛道中直线段,依据直线段数量和长 度将赛道分割成不一样区域,在一个区域中对控制参数进行优化。电机控制。单片机经过接收旋转编码器检测智能车后轮转动所产生脉冲数,采取位置式PID控制算法递推形式对直
11、流电机转速进行快速正确地控制。位置式PID控制算法递推形式: u(k) =Kpe(k) -e(k-1) +Kie(k) +Kde(k) -2e(k-1) +e(k-2),u(k) =u(k-1) +u(k) 式中:u(k)为k时刻控制器输出; e(k)为k时刻偏差;Kp、Ki、Kd分别为位置式PID控制算法百分比系数、积分常数和微分常数7。舵机控制。单片机经过CMOS摄像头检测到路径信息,采取不完全微分PD控制算法控制舵机转角,实现路径跟踪。6 结语本文介绍了一个智能车控制系统设计和实现。图5为已制作完成智能车实物照片。经过大量试验测试证实该智能 车能快速平稳地在制作赛道上跟踪黑色引导线行驶,寻迹效果良好,速度控制响应快,动态性能良好,稳态误差较小,系统稳定性和抗干扰能力强。在 举行全国大学生“飞思卡尔杯”智能汽车竞赛中取得了华北赛区二等奖好成绩, 充足证实了设计方案有效性和稳定性。