摘要:本设计针对智能交通系统,采用STM32F103作为主控芯片,辅以路面检测模块、显示模块等外围器件,构成了一个完整的车载控制系统,能够在直线方向上完成调速、急刹车、停车、倒车返回等各种运动形式,并且可以自动记录、显示一次往返时间和行驶距离,同时用蜂鸣器提示返回到了起点。另外,经过MATLAB仿真后,成功地实现了从最高速降至低速的平稳调速。
关键词:循迹小车;反射式红外传感器;PWM;STM32F103;直流电机
智能车辆作为智能交通系统的关键技术之一,是许多高新技术综合集成的载体。它体现了车辆工程、人工智能、自动控制及计算机技术于一体的综合技术,是未来汽车发展的趋势。本文提出了一个基于STM32F103芯片为控制核心,附以红外传感器采集外界信息和检测障碍物的智能小车系统设计方案。充分利用该芯片高速运算、处理能力,来实现小车自动识别路线按迹行走、躲避障碍物,并且通过LCD显示器实时显示小车运动参数,使用芯片自带的PWM输出功能,步进调节占空比来调节电机的转速。通过模糊控制和PWM脉宽调制技术的结合,提高了对车位置控制精度。
1 系统硬件电路设计
根据题目中的设计要求,本系统主要由主控单片机模块、电源模块、电机驱动模块、黑线检测模块、液晶显示模块以及电源模块构成。本系统的方框图如图1所示。
1.1 主控单片机模块
控制器主要用于控制电机的运动,黑线的检测以及相关信息的显示。本设计采用STM32作为控制器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。本系统的核心控制板是STM32F103的最小系统,它由电源电路、实时时钟、系统时钟电路、JTAG接口电路、复位电路、用户LED和按键电路、串口电路等组成。
本小车由于需要倒车,为了倒车的准确性在小车的前后两端分别安装了两个红外传感器,小车前端两个红外传感器检测的到的信号输入单片机GPIOB12、GPIOB13,而后端两个红外传感器检测的到的信号输入单片机GPIOB12、GPIOB13,单机片经处理后通过GPIOE3-GPIOE6驱动电路控制直流电机的转向;显示模块以24寸tft为核心,对记录的结果进行显示。
1.2 路面黑线检测模块
该智能小车在贴有黑线的白纸“路面”上行驶,因此本模块设计需要检测铺在行驶区的黑胶带,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”——黑线。本文采用的是简单实用的检测方法,即红外探测法。采用红外线控制的反射式红外对管,红外对管只对红外线具有较高灵敏度,从而避免了外界光线的干扰;跑道黑带能够吸收红外线,而白色跑道能够反射红外线,从而检测到跑道黑带。
采用反射式光电开关来识别轨迹上的黑线标记信号,这种光电开关的红外发射管和接收管位于同一侧,光敏三极管只能接收反射回的红外光。当车身下面是黑线时,由于黑线吸收部分光,光敏三极管接收到的红外光不能使光敏三极管导通,光电开关输出高电平,经非门输出低电平。反之,当车身下面是白色的地面时,红外发射管发射的光经其反射后,被接收管接受,光电开关输出低电平,经非门整形后输出高电平。将非门的输出接至单片机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驱动芯片驱动触摸屏。该驱动芯片支持240RGBx320像素,可以显示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芯片,辅以各种传感器来检测路面、障碍物等周围环境,通过高可靠性的软件设计,来实现小型电动车的智能控制,具有很强的现实意义。