基于STM32的智能循迹往返小车设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STM32的智能循迹往返小车设计

关键字:循迹小车反射式红外传感器PWM STM32F103直流电机

图为:STM32物联网智能控制云应用板

摘要:本设计针对智能交通系统,采用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芯片采用5V(VSS)与12V(VS)直流供电,EN A和ENB分别用STM32F103主控芯片的TIM3CH3和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通道门极驱动,其内部集成172800字节的GRAM(图形内存),以及高速内存脉冲写功能等功能。

1.5电源电路设计

由于各电路模块所需电压不同,本设计需多种电源供电。STM32F103主控芯片采用3.3V 供电,电机驱动采用5V与12V,红外收发检测电路采用5V,液晶显示与触角传感电路均采用3.3V供电。外部电源采用12V的直流电压,因此根据设计要求,本设计进行了电源

转换设计。

1)采用KA7805芯片实现12V到5V的转换。KA7805的作用是输入大于5V的直流电压,输出5V的直流电压,且管脚较少,易于连接和实现,稳定性高。图4为KA7805芯片引脚接线图。

2)本设计采用LM1117—3.3芯片将5V转换为3.3V,具体电路设计如图5所示。

2系统软件设计

系统软件设计采用C语言编程实现,利用单片机PWM输出模块和普通I/O模块,根据系统需求,对各个模块进行初始化配置,以实现其相应功能。主程序流程如图6所示。

3结论

文中根据设计内容和要求,制定了设计方案,并逐步完成了硬件和软件部分的设计。整

相关文档
最新文档