基于STM32的智能小车控制系统设计
- 格式:pdf
- 大小:1.25 MB
- 文档页数:3
www�ele169�com | 21
电子电路设计与方案
0 引言
移动机器人已经渗透到工业生产、物流、搬运、医疗等
社会的每个方面[1]。智能小车作为一种轮式机器人也得到了广泛的应用研究[2]。控制系统是智能小车的关键构成部分,能够在较为复杂的环境中,将小车按照预定的轨迹运行,或者运行到预先设定的位置,实现小车精确的速度与位置的控制,对智能小车系统起着至关重要的作用[3]。因此,本文以四轮轮式结构智能小车为研究对象,采用STM32系列单片机作为控制核心,结合CAN 总线通信接口,设计一种基于
STM32的智能小车控制系统,该系统功能强大且扩展性好,
具有一定的实用价值。
1 系统介绍
智能小车的控制系统是整个智能小车设计过程中最为重
要的一环。智能小车是在它的统一协调控制下完成行走、避障、自主循迹等任务,它的好坏直接关系着智能小车的性能好坏,
控制系统的设计方法也决定着智能小车的功能特点。
图1 控制系统结构框图
通常,智能小车应具备自主定位、障碍物实时检测、自
动避障、速度检测以及无线通信等功能。根据上述功能的要
求,本文所设计的控制系统的硬件模块主要包括:主控模块、障碍物检测模块、速度检测模块、无线通信模块、电源模
块以及电机驱动模块等部分。控制系统的结构如图1所示。为了方便后续的功能的扩展,在实际设计过程中,各模块的软硬件设计均采用相对独立的模块化设计方法。
2 系统硬件设计
■2.1 电源模块
电源模块主要为控制系统提供工作的电压。根据各个
组成部分的功能,电源模块应提供电机驱动所需的12V、STM32主控核心所需的3.3V、其他芯片工作所需的5V 三种幅值的电压。因此,采用12V 的航模电池作为供电电源,5V 与3.3V 电源转换电路如图2所示。为了增加电源的可靠性,减少外界扰动的影响,在稳压芯片7805和LM1117的
输入和输出两侧均布置有电容。
图2 电源模块电路
■2.2 障碍物检测模块
智能小车要具备自主避障的能力,必须在其行进过程中
能够时刻检测到障碍物的信息,为此就需要设计相应的障碍物检测模块。常用的传感器主要有超声波、激光以及红外测
距传感器。鉴于超声传感器使用方便、实时性强和性价比高等优点,本文选用型号为HC-SR04的超声测距模块,得到智能小车在行进过程中遇到的障碍物的信息。所使用的测距模块如图3所示。其中VCC 为5V 电源输入接5V 电源即可,GND 为接地线,回响信号输出ECHO 与触发控制信号输入
TRIG 与STM32的I/O 口连接即可。
基于STM32的智能小车控制系统设计
王嘉俊
(山西省清徐梗阳中学,山西清徐,030400)
摘要:本文设计一种基于STM32的智能小车控制系统。该系统采用STM32单片机作为控制核心,通过HC-SR04超声波传感器实时检测障碍物信息,采用光电编码器得到转速信息构成闭环控制系统,使得智能小车的控制更为精确,通过CAN总线和无线通信模块实现操作人员对智能小车的有线和无线通信。该系统设计简单、可扩展性好且控制精度高,具有一定应用价值。关键词:智能小车;STM32;转速检测;避障
22 | 电子制作 2018年9月
3 超声测距模块
2.3 电机驱动模块
电机驱动模块主要驱动直流电机实现小车的前进、后
退、转向等运动能力。通常,通过STM32单片机输出的
脉冲配合直流电机驱动芯片,实现智能小车的运动能本文选用型号为L293D 专用直流电机驱动芯片来实现。
该芯片具有抗噪能力强、驱动电流大、且内部集成护等优点,非常适合类似本文的设计要求。所设计的电机驱
4所示。2.4 速度检测模块
为了提高智能小车的控制精度,采集电机的转速作为反
馈,构成一个基于速度信号的闭环控制系统。本文采用增量式光电编码器获取实时的转速信息,测速的基本原理是对脉冲进行计数。常用的方法主要有测频法、周期法以及频率/周期法三种,本文采用频率/周期法,通过光电编码器和
STM32单片机的内部计数器想配合得到实时的转速。 ■2.5 通信扩展模块
控制系统的通信扩展模块主要包括CAN 总线和无线
通信两部分,用来实现与外界信息交换。CAN 总线通信主
要利用STM32单片机内部的CAN 总线控制器,与型号为
T JA1050的CAN 总线高速接收芯片相连接来实现。具体的
图5 CAN 总线电路
图6 无线通信接口电路
无线通信模块主要用于操作人员对智能小车发动运动
指令,本文选用射频模块PTR2000作为无线通信端口,与
STM32控制器自带的USART 收发器端口连接,从而实现操
作者与智能小车之间的无线通信。该射频模块具有接收和发
图4 电机驱动电路
图7 系统软件流程图(下转第25页)
www�ele169�com | 25
电子电路设计与方案
相图是多个变量之间的相关关系图,这里我们观察变量为三个,对于非混沌行为,三个变量之间没有相关关系,这
里没有给出图示,而对于出现混沌行为的三个变量之间我们可以清晰的观察到系统的混沌行为,任意两个变量的相图可以是双涡旋、单涡旋、周期等模型,这里我们可以利用相图进一步判断一个新的系统是否能产生混沌现象。蔡氏电路系统的相图具体情形如图2第二行的三张图所示,其中每组小
图用横向变换坐标放置在同一个图上,以便更清楚的比较观察、分析和研究系统的吸引子性质。我们可以看到变量与变量之间有相互作用,并不是没有关系,变量与变量随着时间演化的相图形成了双旋涡模型,两个变量之间相互吸引的同
时,但是在空间的演化过程中不会相遇。
图2 混沌电路系统的时序图与相图
在进行非线性电路中混沌现象的仿真过程中,微分方程
组的求解算法是核心算法,四阶龙科库塔算法是工程上应用广泛的高精度单步算法,同时,如果想要更加提高精确度的可以利用五阶龙科库塔算法。对于没有编程基础的高中生来
说龙科库塔算法的编程比较困难,这里可以利用MATLAB 程序的扩展程序包中的已有的算法ODE(45),通过命令语句直接调用,方便快捷,其中ODE(45)是结合四阶与五阶龙
科库塔之间的算法,精确度高。
4 结论
本文利用MATLAB 建模仿真实现了混沌电路的数值模
拟,这里学习研究的是一个经典的蔡氏混沌电路,通过仿真学习,我们知道通过加入非线性元件和储能元件,在一定的参数下,可以实现电路的混沌行为。如果改变电路参数和初始值,蔡氏混沌电路在仿真过程中呈现各种混沌动态行为。是与高中课本中常见的电路的完全不同的动力学行为。同时对混沌现象有了更加直观深入的理解,理解了混沌电路应用于现代保密通信的理论依据所在,利用了混沌对初始条件敏感、随机性,同时具有整体有界性。通过理论学习到电路仿真和数值结果分析,培养自身的学习兴趣和激发自身的创新精神,为今后进一步学习研究设计专用的混沌电路奠定基础。
参考文献
* [1]王宏.精通MATLAB 6.5即其在信号处理中的应用[M].北京:清华大学大学出版社.2004年.
* [2]王改云;马姝靓.典型混沌系统的MATLAB 仿真[J].物理学报.2003年.
* [3]梁虹;梁洁.陈跃斌等编著.信号与系统分析及MATLAB 实现[M].北京:电子工业出版社.
* [4]Galias Z; Maggio G M. Quadrature Chaos-Shift Keying: Theo ry and performance analysis[J]. IEEE Transactions on Circuits and Systems; 2001; 48(12): 1510.射数据的功能,可与单片机的串口进行通信连接,且具有接收灵敏度高、工作速率快、稳定性高等特点。它与主控制模块的接口电路如图6所示。
3 系统软件设计
系统软件的设计主要包括系统的初始化、超声波测距数
据采集与处理、电机PWM 信号驱动、转速检测数据的采集
与处理、CAN 总线数据收发以及外部无线通讯指令接收等几个部分。当小车检测到外部指令时,执行相应动作;当无外部指令时,则在行进过程中实时检测障碍物,所设计的系统软件流程如图7所示。
4 结束语
本文设计的基于STM32的智能小车控制系统,详细介
绍了系统的硬件与软件设计过程。该系统利用超声波传感器检测障碍物信息,通过光电编码器采集速度信号构成闭环控
制系统,从而提高小车的控制精度和稳定性。
参考文献
* [1]刘艳霞.多转向驱动拖挂式移动机器人的运动规划与跟踪控制[D]. 天津: 南开大学, 2016.* [2]袁新娜.基于多传感器信息融合技术的智能小车避障系统研究[D]. 太原: 中北大学, 2010.
* [3]翁卓,熊承义,李丹婷. 基于光电传感器的智能车控制系统设计[J]. 计算机测量与控制, 2010, 18(8):1789-1791.
(上接第22页)