智能车辆作为智能交通系统的关键技术之一,是许多高新技术综合集成的载体。它体现了车辆工程、人工智能、自动控制及计算机技术于一体的综合技术,是未来汽车发展的趋势。本文提出了一个基于STM32F103 芯片为控制核心,附以红外传感器采集外界信息和检测障碍物的智能小车系统设计方案。充分利用该芯片高速运算、处理能力,来实现小车自动识别路线按迹行走、躲避障碍物,并且通过LCD 显示器实时显示小车运动参数,使用芯片自带的PWM 输出功能,步进调节占空比来调节电机的转速。通过模糊控制和PWM 脉宽调制技术的结合,提高了对车位置控制精度。
1 系统硬件电路设计
根据题目中的设计要求, 本系统主要由主控单片机模块、电源模块、电机驱动模块、黑线检测模块、液晶显示模块以及电源模块构成。本系统的方框图如图1 所示。
1.1 主控单片机模块
控制器主要用于控制电机的运动,黑线的检测以及相关信息的显示。本设计采用STM32 作为控制器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。本系统的核心控制板是STM32F103 的**小系统,它由电源电路、实时时钟、系统时钟电路、JTAG 接口电路、复位电路、用户LED 和按键电路、串口电路等组成。
本小车由于需要倒车, 为了倒车的准确性在小车的前后两端分别安装了两个红外传感器, 小车前端两个红外传感器检测的到的信号输入单片机GPIOB12、GPIOB13,而后端两个红外传感器检测的到的信号输入单片机GPIOB12、GPIOB13,单机片经处理后通过GPIOE3-GPIOE6 驱动电路控制直流电机的转向;显示模块以2.4 寸tft 为核心, 对记录的结果进行显示。
1.2 路面黑线检测模块
该智能小车在贴有黑线的白纸“路面”上行驶,因此本模块设计需要检测铺在行驶区的黑胶带,由于黑线和白纸对光线的反射系数不同, 可根据接收到的反射光的强弱来判断“道路”———黑线。本文采用的是简单实用的检测方法,即红外探测法。采用红外线控制的反射式红外对管,红外对管只对红外线具有较高灵敏度, 从而避免了外界光线的干扰;跑道黑带能够吸收红外线,而白色跑道能够反射红外线,从而检测到跑道黑带。
采用反射式光电开关来识别轨迹上的黑线标记信号,这种光电开关的红外发射管和接收管位于同一侧[3],光敏三极管只能接收反射回的红外光。当车身下面是黑线时,由于黑线吸收部分光,光敏三极管接收到的红外光不能使光敏三极管导通,光电开关输出高电平,经非门输出低电平。反之,当车身下面是白色的地面时, 红外发射管发射的光经其反射后,被接收管接受,光电开关输出低电平,经非门整形后输出高电平。将非门的输出接至单片机IO 口。车在前进和后退过程中,小车每过一道黑线,便产生一次电平变化,主程序从而调用相应的子程序,随着小车的不断行驶,相应的程序依次被调用执行,使小车在跑道上按设计要求时快、时慢、时前进、时后退。
1.3 电动机驱动模块
采用双H 桥驱动芯片L298。其内部包含4 通道逻辑驱动电路,可以方便的驱动两个直流电机,或一个两相步进电机。控制芯片的驱动使能端就可以控制驱动电机的速度。L298 芯片采用5 V(VSS)与12 V(VS)直流供电,EN A 和ENB 分别用STM32F103 主控芯片的TIM3_CH3 和PB1/ADC_IN9/TIM3_CH4 控制, 产生PWM1 和PWM2 两路PWM波输出,IN1-IN4 分别用PE3-PE6 实现I/O 输出控制电机转动方向。在L298 与电机之间加入二极管,以保护电路。
其基本电路图如图3 所示。
如图2 所示,小车运动状态通过电机A 和B 的不同方向转动来实现,电机有正转、反转和停止3 种状态,每个电机由一对I/O 口进行控制。表1 是I/O 端口状态与电机制动对照表。
1.4 液晶显示模块
液晶显示模块使用2.4 寸TFT 触摸屏, 由STM32 的FSMC 接口通过ILI9325 驱动芯片驱动触摸屏。该驱动芯片支持240RGB×320 像素, 可以显示262144 真色彩。支持MVA(Multi_domain Vertical Aligement 多范围垂直队列)宽视角显示,组合720 通道源极驱动和320 通道门极驱动,其内部集成172 800 字节的GRAM(图形内存),以及高速内存脉冲写功能等功能。
1.5 电源电路设计
由于各电路模块所需电压不同, 本设计需多种电源供电。STM32F103 主控芯片采用3.3 V 供电,电机驱动采用5 V与12 V,红外收发检测电路采用5 V,液晶显示与触角传感电路均采用3.3 V 供电。外部电源采用12 V 的直流电压,因此根据设计要求,本设计进行了电源转换设计。
1)采用KA7805 芯片实现12 V 到5 V 的转换。KA7805的作用是输入大于5 V 的直流电压, 输出5 V 的直流电压,且管脚较少,易于连接和实现,稳定性高。图4 为KA7805 芯片引脚接线图。
2)本设计采用LM1117-3.3 芯片将5 V 转换为3.3 V,具体电路设计如图5 所示。
2 系统软件设计
系统软件设计采用C 语言编程实现, 利用单片机PWM输出模块和普通I/O 模块,根据系统需求,对各个模块进行初始化配置,以实现其相应功能。主程序流程如图6 所示。
3 结论
文中根据设计内容和要求,制定了设计方案,并逐步完成了硬件和软件部分的设计。整个系统以STM32 为主控芯片,实现对小车简单运动的控制,完成各部分电路设计并使用PROTEL 画出电路设计原理图;软件部分在STM32 集成开发环境IAR EWARM 5.3 下编写各模块程序,包PWM 波输出模块、液晶显示模块自由行走避障模块和红外循迹模块,并通过主控制程序将各模块融合一起。整个设计将硬件与软件相结合,实现对小车的控制,使小车能够做出前进、后退、左转、右转等动作,并通过液晶显示器实时显示小车的运动参数,及对小车速度进行调节,并且能够在不同模式下通过传感检测电路实现简单的避障和循迹功能,在本次设计中将PWM 波占空比控制在1/2 以下,使小车不会因速度过高而导
致转弯过程中其方向不易控制。论文基本完成了硬件和软件的设计,并使之符合设计要求。本设计与实际应用相结合,利用高性能的STM32F103 芯片,辅以各种传感器来检测路面、障碍物等周围环境,通过高**性的软件设计,来实现小型电动车的智能控制,具有很强的现实意义。