APP下载

智能小车的软件控制设计与实现

2020-12-28宋音来陆嘉鑫

数字技术与应用 2020年11期
关键词:循迹按键小车

宋音来 陆嘉鑫

(南京师范大学泰州学院电力工程学院,江苏泰州 225300)

0 引言

智能小车具有环境监测、数据处理和运行规划等多种功能,是将计算机、传感器和自动控制技术融为一体的一门学问,是新时代下一个极具发展前景的产业。

现如今随着汽车行业的迅猛发展,推动着车辆从基本驱动功能向智能化方向发展,无人驾驶、快速响应、自动避让等都是世界各国想要攻克的难题,世界各大汽车公司也正致力于“高度自动驾驶技术”的实用化研发与产业化发展。日本日产和三菱汽车公司发布了一款汽车防撞装置,基本实现了汽车正前方防止碰撞和自动躲避障碍物的功能。在汽车安全性能上,日本的日产、丰田和本田等汽车公司推出的汽车产品就做得非常突出,具有车距离控制、车道定位和障碍物报警等专门为行车安全设计的功能[1]。

智能小车是一个复杂而又庞大的系统,其控制核心是内部的控制芯片。用多种传感器来采集外部环境信息并将接收到的信息传给主控制器,然后由控制器来控制其各个模块执行相应的动作。智能小车的制造成本相对来说比较低廉,在我们的日常生活中有着十分广泛的运用。

图1 智能小车的硬件总设计框图

1 智能小车的硬件设计

智能小车设计的硬件结构,其主要包括STC89C52单片机、电机驱动调速模块、电源设计与小车对应三大功能的功能模块设计。硬件总设计框图如图1所示。

采用STC89C52单片机,其功耗低、性能高,具有32个I/O端口[2]。电机驱动模块L298其内部结构为双H桥电路,通过I N P U T 1 和I N P U T 2 口控制输出口O U T P U T 1 和O U T PU T 2 的输出电平,即可控制小车左侧两个电机的正、反转与停止。若高电平为1,低电平为0,INPUT1和INPUT2对应01时左电机正转,10时左电机反转,00时左电机停转。L298芯片的INPUT3和INPUT4口则控制小车右侧电机。循迹模块和避障模块使用LM393芯片,当小车越来越靠近障碍物时,单片机接受到低电位,则表示避障红外传感器感应到有障碍,反之,高电位时,则右避障红外传感器没有感应到有障碍。红外遥控模块主要负责接收红外遥控器发射的红外信号, 并将信号传送至单片机,单片机通过处理分析接收到数据值来判断相应的遥控器按键值,实现对小车不同运动状态的控制。电源模块采用LM7805降压芯片,通过该芯片将7.4V的电压降到5V,用于满足芯片的供电要求。

2 智能小车的软件设计

小车的运行方式主要包括自动循迹、自动避障、遥控、沿壁功能等四种[3]。其功能选择是依据小车档位调节转换功能,即通过手动按压按钮的方式调节小车档位,1档对应循迹功能,2档对应避障功能,3档对应遥控功能。只需要判断按键所按次数,1次为循迹档,2次为避障档,3次为遥控档,4次又返回循迹档,以此往复,对应的档位再调用对应功能的函数。

图2 自动循迹

图3 红外避障

图4 红外遥控

自动循迹,小车沿着黑线行驶,当黑线位于车头两侧传感器的中间时,则小车直行;当小车头部左边的红外传感器压到黑线时,右边没有压线,小车将会向左转微转一定角度,左右两侧红外传感器并不断检测是否已经不再压线,直到不再压线小车才会停止左转,而变为直行;当左右两侧传感器同时接收不到红外信号时,小车立即停车,防止小车误操作而损坏。Left_1_led与Right_1_led分别为小车底盘左右两边传感器检测信号,分别用0和1表示,0为有信号(即未能检测到有黑线),1为无信号(即检测到有黑线),流程设计如图2所示。

自动避障,自动避障传感器位于车头两侧,当车头左右两侧的红外传感器都无信号时,则表示小车前方无障碍,此时小车直行;当小车左侧传感器接收到信号,右侧无信号时,则表示小车左侧有障碍,右侧没有障碍,此时小车右转一定角度,直到左边传感器不再有信号后小车直行;当左右两侧传感器都接收到信号时,则表示小车左右两侧都有障碍,此时小车应当后退,并通过左右两个传感器检测小车两侧是否有障碍,如果左侧无障碍,小车左转,右侧无障碍,右转。LeftIRBZ与RightIRBZ分别为小车左右两侧红外传感器检测信号,用0和1表示,0表示检测到有障碍,1表示没有检测到信号,如图3所示。

红外遥控是通过对应按键码值完成相应动作,按下不同的按键就可以控制小车前后左右移动和停止了。在ControlCar( )函数中定义Type参数的某一值表示的是红外遥控器上的某一按键的码值。Type=1时,按键码值为46,控制小车前进;Type=2时,按键码值为15,控制小车后退;Type=3时,按键码值为44,控制小车左转;Type=4时,按键码值为43,控制小车右转;Type=5时,按键码值为40,控制小车停止,如图4所示。

改变小车红外感应装置的方向,将方向改为相对正前方向外45度角,即此时的红外感应装置不仅可以感应前方是否有物体,又可感应两侧是否存在物体。检测到左边存在墙壁时,右转一定角度,并直行一定时间,再左转检测墙壁是否存在变化,若无变化则重复以上操作,从而实现检测左边是否沿着墙壁。LeftIRBZ与RightIRBZ分别为小车头部左右两侧红外传感器信号,0表示检测到有障碍,1表示没有检测到有信号。通过设置一变量值来判断小车的状态,小车未碰到墙壁应直行;小车右边有墙,小车沿着右边墙壁行驶;小车左边有墙,小车应当沿着左边墙壁行驶,详见图5所示。

图5 沿壁程序

3 结语

智能小车是一个可以自由移动的智能机器人,比较适合在人们无法工作的地方工作,也可取代人们完成一些繁杂或危险性质的工作。作为现代自动控制领域内十分伟大的一项发明,智能小车已经和我们的生产生活密不可分。

智能小车是由STC89C52单片机控制,来实现循迹、避障、遥控以及沿壁这四项功能,是智能汽车未来自动驾驶的发展趋势,推动未来智能汽车的发展。

猜你喜欢

循迹按键小车
基于DFT算法的电力巡检无人机循迹检测系统设计
基于有限状态机的按键检测程序设计
大车拉小车
自制小车来比赛
刘老师想开小车
基于单片机的智能循迹小车的设计
两轮自平衡小车的设计与实现
智能差分循迹小车设计
基于MC9S12XS128处理器的智能循迹小车分析研究
一种多方向导光按键结构设计