具有避障及循迹功能的智能小车系统设计
2020-12-28彭登峰
彭登峰
(湖北职业技术学院机电工程学院,湖北孝感 432000)
0 引言
随着人工智能技术的不断发展,各种关于智能小车的研究也就备受关注。文中以四驱小车为结构载体,设计了一款能够自动避障及循迹功能的四驱智能小车。
1 系统总体设计
智能小车系统设计框图如图1所示,本系统由单片机控制模块、电源及电机驱动模块、循迹模块及超声波模块组成。
电源及电机驱动模块,由电源电路及电机驱动电路组成。
循迹模块采用8路循迹,通过8个反射式红外光电传感器对循迹线(黑线)进行检测,实现四驱小车循迹功能。
避障模块利用超声波测距模块测距,可检测前方是否存在障碍物以及障碍物的距离,由单片机控制电机转向和速度,可实现避障功能。
2 系统硬件电路设计
2.1 单片机控制模块原理图
单片机控制模块由STC12C5A60S2单片机、复位电路、时钟电路、USB转串口通信电路、电源开关及指示电路、液晶显示接口电路、声光报警电路、超声波传感器接口等组成。
2.1.1 单片机最小系统
单片机最小系统包括STC12C5A60S2单片机电路及时钟与复位电路。STC12C5A60S2单片机具有两路可编程计数器阵列(PCA)模块,通过编程可用作脉宽调制(PWM)输出。本设计中,智能小车的速度控制就是通过改变单片机输出两路P W M 信号的占空比来实现的。
图1 系统设计框图
2.1.2 USB转串口通讯电路
单片机有一个全双工的串行通讯口,为了实现单片机与计算机之间的通信,在电路设计中采用USB转串口芯片CH340T[1]。如图2所示,通过USB接口,可以实现程序的在线下载,方便单片机程序下载与调试。
2.1.3 液晶显示电路
本模块采用LCD1602液晶作为显示器。单片机与LCD显示模块数据传输形式可分为8位和4位。本设计中采用4位连接方式,如图3所示:单片机的P1.0-P1.3与液晶显示器的4条数据线连接,P2.6、P2.5、P2.4分别于液晶的3个控制端RS、R/W、E连接。LCD1602的3脚为液晶显示器对比度调整端,将第3脚接入一个10K的电位器,用来调整液晶显示器对比度。
2.1.4 发光二极管及蜂鸣器电路
本设计中,采用发光二极管来显示小车的各种运行状态,如前进、后退等,状态指示可根据需要自行设定。蜂鸣器发声,可用于起步、停车,或报警提示等。发光二极管及蜂鸣器驱动电路如图4所示。
2.2 小车循迹模块电路原理
循迹传感器采用TCRT5000红外光电传感器进行设计[2]。本设计中,共有8路循迹模块,采用8个红外对管对循迹线(黑线)进行检测,8路检测信号接到单片机P0口的8个I/O口。8路循迹电路完全相同,以其中一路为例进行说明。
某一路四驱小车循迹模块电路原理图如图5所示,当施加电源后,光电发射二极管由R3限流后导通,不断发射红外光。当循迹传感器检测到黑线时,由于黑色吸光,光电晶体管因接收不到光线而截止,传感器输出高电平, 此时,比较器LM339的“+”端电压大于“-”端电压,比较器输出高电平。当红外光照射到非黑线时,光电晶体管因接收到反射光线而导通,传感器输出低电平。此时,比较器LM339的“+”端电压小于“-”端电压,比较器输出低电平。调节电位器Rp1,可以调节传感器的灵敏度。
单片机对8路传感器的输出信号进行接收和处理,判断四驱小车是否沿黑色循迹线行驶,实时调整小车的运行方向,可以实现循迹功能。
2.3 电源及电机驱动模块电路原理图
2.3.1 电源电路原理图
系统电池提供的电源为+12V,考虑到为单片机提供稳定的+5V电源,并为循迹模块提供电源,利用LM2596设计了如图6所示的电源电路。
电源电路由开关型电源芯片LM2596构成,并由12V可充电锂电池提供电源。LM2596开关电压调节器具有良好的线性和负载调节特性。其5V固定输出端,能稳定的输出5V直流电压,为其他模块提供5V电压。
2.3.2 电机驱动电路原理图
电机驱动模块电路如图7所示,整个电路以L298N为核心。STC12C5A60S2单片机P1.3、P1.4引脚输出两路PW M信号控制L 29 8N 的使能端实现两路电机的转速控制;P1.1、P1.2、P1.5、P1.6输出四路开关量信号实现两路电机的正反转运行控制。
图2 USB 转串口电路
图3 液晶显示电路
图4 发光二极管及蜂鸣器电路
图5 某一路小车循迹模块电路原理图
图6 电源模块电路原理图
2.4 超声波测距传感器
避障模块采用超声波测距传感器HC-SR04。超声波测距传感器与单片机的接口电路如图8所示:超声波测距传感器的TRIG端(2脚)与ECHO端(3脚)与单片机的P3.4、P3.3连接。利用超声波测距模块测距,可检测前方是否存在障碍物以及障碍物的距离,由单片机控制电机转向和速度,可实现避障功能[3]。
图7 电机驱动模块电路原理
图8 超声波测距传感器与单片机的接口
图9 主程序流程图
3 系统软件设计
实现循迹及避障功能的智能小车主程序流程图如图9所示,系统上电后,执行PWM模块、液晶显示及定时器初始化处理,然后进入主循环。在主循环中,60ms执行一次超声波测距,以判读前方是否存在障碍物,若存在障碍物,则进行避障处理。若无障碍物,则采集循迹模块信号执行循迹动作。程序设计中,可根据小车循迹线(黑线)及行驶路线要求,调整控制程序。
4 结语
本文介绍了具有避障及循迹功能的智能小车硬件电路及软件设计方案,硬件电路设计简单,程序下载及调试方便,电机运行速度及方向控制容易实现,能够实现避障及循迹功能。在此基础上,可增加其他功能的传感器,如声音传感器、温湿度传感器,颜色传感器等,可设计更加复杂的智能小车控制系统。