基于MC9S12XS128单片机的多功能智能小车系统设计
扫描二维码
随时随地手机看文章
摘要:利用嵌入式技术和图像处理技术,设计制作了基于MC9S12XS128单片机的多功能智能小车。智能小车可以在包含岔口的路面进行自主择路行进。到达终点后,在显示屏上显示路口选择方案、行进距离、行驶时间、行进速度。该系统通过CMOS摄像头OV5116检测路面信息,使用比较器对图像进行硬件二值化,用于路面识别,通过光电编码器检测智能小车的实时速度,使用PID控制算法调节驱动电机的转速和转向舵机的角度,实现了对智能小车运动速度和运动方向的闭环控制。整个系统的电路结构简单,成本低廉,可靠性高。经实际测试,智能小车各项指标均达到预期的设计目标。
智能汽车是智能系统与汽车工业相结合的产物,它是一个集计算机、传感器、自动控制、人工智能等多种高新技术于一体的综合系统。它在保证行驶安全、提高驾驶体验、节能环保等方面发挥着越来越重要的作用。作为未来汽车行业的发展方向,它的发展势必促进其他行业的发展,并在一定程度上代表了一个国家在智能控制方面的水平。
智能小车系统在环境感知、数据处理、控制策略及系统搭建上与智能汽车系统有很多相似之处,可以为科考、抢险救灾提供安全路径,未来也可以用在军事探测、运动目标跟踪预警等方面。智能小车系统的研究可以推动智能汽车行业更快更好地发展。
文中对智能小车的各个模块进行了深入的分析,从系统总体概述、硬件设计、软件设计等方面介绍了以摄像头为传感器的智能小车的设计方法:在现有车模的基础上,通过加装摄像头、殖度检测器,比较器,实现对小车速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后通过单片机对小车实施智能控制,最终实现了小车的自主行进功能。
1 系统的总体概述
智能车系统的总体工作模式为:利用CMOS图像传感器拍摄路面图像,输出PAL制式的图像信号,采用LM1881芯片进行控制信号分离,得到行、场同步信号,再依据给定的阈值,通过比较器进行硬件图像二值化;图像信号、场同步信号、行同步信号输入到MC9S12XS128单片机,经过算法优化处理后获得主要的路面信息;通过光电编码器来检测车速,并利用MC9S12XS128单片机的计数器进行脉冲计算,获得速度和路程;根据路面信息、速度信息得到舵机的转向角和电机的转速,把决策后得到的控制信号输出给舵机和电机,以控制小车的行进。此外,通过LED显示屏显示小车的行驶状态,使用按键对小车的各个模块进行微调,系统结构如图1所示。
2 系统的硬件设计
智能车以MC9S12XS128处理器为核心,通过CMOS模拟摄像头OV5116获取行进路径,对道路信息进行提取,根据小车的姿态与道路之间的偏差产生控制量,控制舵机进行转向,编码器实时反馈电机转速,使速度控制更精确,实现对小车更好的控制。本系统的硬件设计主要包括以下4个模块。
2.1 图像采集模块
摄像头有CCD和CMOS两种:CCD摄像头具有对比度高的优点,但需要工作在12 V电压下,为了保证小车的灵活性,小车的电源容量不会很大,用小型电源为CCD摄像头供电对于整个系统来说过于耗电,并且CCD摄像头在小车高速移动的过程中容易产生模糊和重影,影响图像质量CMOS摄像头不但体积小,耗电量小,并且在高速运动下图像稳定,不易产生失真。因此,本系统采用CMOS摄像头,如图2所示。OV5116采集到的模拟信号经由LM1881分离出场中断和行中断信号,模拟信号经由比较器LM393后得到二值化的路径信息,芯片阵列大小为352 x 288,有效光敏面为312 x 215像素,电源是6 V(DC)。摄像头输出的黑白全电视信号为PAL制式模拟信号,每秒25帧,电视扫描线为625线,奇场在前,偶场在后。
2.2 速度检测模块
为了得到智能车的实时速度,采用200线的编码器对小车进行时时测速,编码器与小车采用齿轮咬合,使速度测量更加精确。
2.3 主板控制模块
智能车的控制系统电路由三部分组成:MC9S12XS128为核心的最小系统板、LED显示屏、键盘。MC9S12XS128处理器插在系统板上,并在系统板上集成了信号采集、信号处理、电机控制、舵机控制等单元。为了减小电机驱动电路带来的电磁干扰,把主板控制模块和电机驱动部分分开来,排布在小车的两端。主板上连接了本系统的主要电路:电源稳压电路、最小系统板插座、视频同步分离电路、比较器集成模块、摄像头接口、舵机接口、电机驱动模块、编码器模块、键盘接口、LED显示屏等,如图3所示。
2.4 电源驱动模块
本系统中电源稳压电路有两路,一路为+5 V稳压电路,另一路为+12 V稳压电路。+5 V给单片机、摄像头、LM1881、LED显示屏模块供电。+12 V给电机驱动电路供电。系统中+5 V电路功耗较小,并且都是用于数字信号的处理,使用线性稳压器即可。需要特别注意的是,小车加速行进时,驱动电机会产生非常大的电流,为提高系统工作稳定性,必须使用大功率的驱动芯片,并且保证稳压芯片有良好的散热环境。
3 系统的软件设计
高效的软件系统是智能小车的灵魂,是小车快速稳定行进的保障。本系统采用CMOS摄像头进行路面识别,图像采集处理就成了整个软件的核心内容,图像采集流程如图4所示。
3.1 路径提取及优化处理
相比红外传感器、电磁传感器而言,摄像头传感器具有视野范围大的特点,并且会受到杂点、交叉连线、反光以及各种干扰物的影响,因此必须对得到的图像进行进一步的优化,排除干扰因素,对路面进行更有效地识别,提供更准确的路面信息供单片机进行优化决策。在图像信号处理中提取的路面信息主要包括:路面中心位置,路面宽度,路面曲率。
经过分析和验证后发现,对于智能车而言,由于行驶路径具有一定的连续性,并不需要逐行采集图像,间隔若干行采集就可较好地获取路径信息。那么在图像采集的同时就可以进行数据的处理和优化,这种方法的优势在于:把图像处理嵌入到图像采集的过程中,有效解决了单片机处理图像信号能力不足的缺陷。
3.2 转向舵机的PID控制算法
系统通过把测得的路面函数与已知函数进行对比,判断出前方道路的类型。因此根据黑线位置动态改变PID参数,就得到了较好的控制效果。
为了提高智能小车在直道或者小弯道的前进速度,系统采用了与大弯道不同的控制算法:利用图像中路面两侧的面积比控制舵机的转向角。这种算法的优势在于:由于图像信息是数字矩阵,单片机可以非常迅速的完成面积的计算,利用面积比作为参量控制小车转向角,缩短了数据处理时间,提高了行驶速度。
3.3 驱动电机的PID控制算法
对于速度控制,采用了增量式PID控制算法,基本思想是直道加速,弯道减速。经过反复调试,将每场图像得到的黑线位置与速度PID参考速度值构成二次曲线关系。在实际测试中,小车直道和弯道相互过渡时加减速比较灵敏,与舵机转向控制配合得较好。
4 系统调试
作为整个智能小车系统的核心,图像采集模块必须经过严格的测试以确保其可靠性。智能小车完成行进后,通过串口调试工具提取出储存的路面数字图像信息,如图5所示。
此外,摄像头的安装位置也直接影响着小车的性能,为了能更好的掌握前方路径信息,以便让单片机提前做好控制量的计算,应尽量让摄像头看得更远。采用隔行处理数据和直道独立优化的算法极大提高了单片机的处理能力,每行图像采集点增加到120个,成功地增大了CMOS摄像头采集图像的视野宽度。在综合考虑了道路反光的影响后,适当增加了视场长度(视场最远处和最近处的距离),达到1.40 m,最远前瞻达到1.60 m,足以覆盖各种路面类型。智能车系统的整体实现如图6所示。
5 结束语
文中介绍了CMOS摄像头智能小车的总体设计方案,从系统的架构设计,硬件设计,软件设计和系统调试4个部分详细介绍了智能小车的设计方案和一些创新之处。经过测试,该系统能够做到高效、准确、实时地采集图像,具备良好的抗干扰能力,能够有效的为小车的决策系统提供较为准确的输入,可以在复杂的路径上自主、快速行进。同时也为将来的廉价导航系统提供了软硬件架构的解决方案。
未来,通过研究带有网络联接的多传感器、多处理器的综合导航系统,可以为自动驾驶、智能导航、抢险救灾提供更加丰富的解决方案,使智能汽车在生活中得到更广泛的应用。