1 / 6
文档名称:

基于STM32的两轮自平衡小车研究.doc

格式:doc   大小:15KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于STM32的两轮自平衡小车研究.doc

上传人:wz_198613 2019/11/1 文件大小:15 KB

下载得到文件列表

基于STM32的两轮自平衡小车研究.doc

文档介绍

文档介绍:基于STM32的两轮自平衡小车研究摘要:本文以STM32单片机为核心控制器,以MPU-6050为姿态读取模块,实现两轮自平衡小车的设计,能够使小车的控制效果得到提高,以电池为电源,设计两轮自平衡小车的硬件和软件设计;用卡尔曼滤波算法作为数据的平衡滤波,用PID算法作为控制算法,提高控制精度,从而设计和实现了小车的自平衡。关键词:STM32;自平衡;卡尔曼滤波;PID 中图分类号:TP273+.4文献标识码:A文章编号:1007-9416(2017)01-0035-02 微控制器STM32的内核为Cortex-M3,CPU为32位,存储器为SRAM,大小为6-64kB。以STM32为基础,实现对姿态检验传感器等系统各方面数据的控制,能够使小车的姿态更加合理,控制精度高,控制速度快。 1基于STM32的两轮自平衡小车的硬件设计基于STM32的两轮自平衡小车的硬件设计包括电源模块、主控制器模块、姿态读取模块与驱动模块四个部分。 。本设计以电池作为电源,为小车的行驶提供能量[1]。小车电机电压须要12V,。控制器STM32和MPU-。本设计以3节锂电池的12电压进行降压供电。采用LM2596-。 ,是ST公司突出的一款微控制器。内核为Cortex-M3,CPU为32位,存储器为SRAM,6-64kB。其增强型系列处理速度能达到72MHz,具有高性能,低成本等特点。在上述主控制器的支持下,实现对两轮自平衡小车的控制,使其能够在控制下平衡行驶[2]。 ,保证其在控制下能够平衡行驶。系统以MPU-6050为姿态读取模块与STM32内的运动处理器程序相结合。为了保证姿态读取时实性,将陀螺仪与加速计联合使用,两者均选为3轴,共同构成姿态读取模块,可以有效提高姿态读取的实时性。 。小车采用L298N组成的双H桥作为电机驱动模块。对两轮自平衡小车可以起到良好的自动化控制。为了使电机驱动模块的功能能够得到有效发挥,以直流电机作为驱动的来源。 2基于STM32的两轮自平衡小车的软件设计在硬件设计完成之后,以STM32作为核心控制,实现对两轮自平衡小车软件的设计。用卡尔曼滤波算法做姿态数据的平滑滤波;用PID控制算法做控制数据输出。 ,需要完成系统的初始化过程。系统初始化包括的流程如图1所示。时钟初始化:由于主程序的运行过程中,需要判断定时是否已经达到了5ms,因此系统中需要设置时钟,且时钟功能的发挥十分重要。鉴于主程序的上述特点,在系统初始化过程时,需要首先进行时钟的初始化。 NVIC中断初始化:为了保证按时中断的准确性,并使5ms到达之后,能够实现中断,并开始读取MU-6050所采集的小车姿态数据的过程,必须保证将定时中断初始化。定时器初始化:该初始化实现的目的同样在于保证在5ms时间达到时,使定时中断能够顺利实现,并开始姿态数据读取过程。通信初始化:又称I2C初始化,其功能在于使数据采集能够有效的实现,并使所采集的数据,能够被有效传输。测速模块