基于stm32两轮自平衡车控制系统设计.docx
《基于stm32两轮自平衡车控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于stm32两轮自平衡车控制系统设计.docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于stm32两轮自平衡车控制系统设计 基于STM32的两轮自平衡车限制系统设计 Control system design of two wheel self balancing vehicle based on stm32 内容摘要 本论文主要探讨两轮自平衡车限制系统的设计与实现。两轮自平衡车的机械结构简洁,直立行驶的方式给予敏捷的操控方式,能在不同的场景中投入运用,如日常生活的代步、工业生产特别搬运需求等等。其限制系统的相关算法和相关理论具有广袤的应用前景。 本文以STM32单片机为主控芯片,提出了系统设计方案,讲解两轮自平衡车限制系统的需求、框架和设计思路。然后对须要硬件进行选型和电路
2、设计,并且对系统进行软件开发。通过两轮平衡小车的姿态分析并解算后,运用PID算法的PD、PI、P算法对两轮平衡车的直立环、速度环和转向环进行限制。并且运用蓝牙无线通讯技术,实现两轮自平衡小车的无线操控功能,实现其限制便捷性。最终对系统进行调试和测试,证明来该两轮平衡车限制系统的可行性与稳定性。 关键词:两轮自平衡车 限制系统 STM32单片机 PID算法 蓝牙无线通讯 Abstract This paper mainly studies the design and implementation of a two-wheel self-balancing vehicle control sys
3、tem. The mechanical structure of the two-wheel self-balancing car is simple, and the upright driving mode gives flexible control methods, which can be put into use in different scenarios, such as daily life mobility, special handling requirements for industrial production, etc. The related algorithm
4、s and related theories of its control system have broad application prospects. This article takes STM32 microcontroller as the main control chip, puts forward a system design plan, and explains the requirements, framework and design ideas of the two-wheel self-balancing vehicle control system. Then
5、select the required hardware and circuit design, and software development of the system. After analyzing and solving the attitude of the two-wheel balancing car, the PD, PI, and P algorithms of the PID algorithm are used to control the upright ring, speed ring, and steering ring of the two-wheel bal
6、ancing car. And the use of Bluetooth wireless communication technology to achieve two-wheeled self-balancing car wireless control function, to achieve its control convenience. Finally, the system was debugged and tested to prove the feasibility and stability of the two-wheel balance car control syst
7、em. Keywords: Two-wheeled self-balancing car Control system STM32 single-chip PID algorithm Bluetooth 书目 第一章 绪论 1 1.1 论文探讨背景和意义 1 1.2 国内外两轮平衡车探讨历史和现状 1 1.3 论文探讨内容和目标 2 1.4 论文结构支配 2 其次章 系统设计方案 3 2.1 需求分析 3 2.2 系统框架 3 2.3 设计思路 4 第三章 硬件系统设计 5 3.1 STM32最小系统设计 5 3.1.1 主控芯片 5 3.1.2 最小系统的设计 6 3.2 电源系统 6 3.
8、2.1 降压芯片选型 6 3.2.2 电源系统原理图 7 3.3 MPU-6050六轴陀螺仪传感器模块 7 3.3.1 MPU-6050概述 7 3.3.2 MPU-6050系统原理图 8 3.4 TB6612FNG电机驱动模块 9 3.4.1 TB6612FNG模块概述 9 3.4.2 TB6612FNG原理图 9 3.5 BT04-A蓝牙串口模块 10 3.5.1 BT04-A蓝牙串口模块概述 10 3.5.2 BT04-A蓝牙串口模块原理图 10 3.6 OLED显示屏模块 11 3.6.1 OLED显示屏概述 11 3.6.2 OLED显示屏接线图 11 3.7 电机编码器 12 3.
9、8 本章小结 12 第四章 软件系统开发 13 4.1 总体方案 13 4.2 MPU-6050读取姿态信息 13 4.2.1 读取原始数据 13 4.2.2 读取DMP并转换为欧拉角 14 4.2.3 IIC通讯方式 14 4.3 霍尔编码器测速 16 4.3.1 程序框图 16 4.3.2 编码器软件四倍频 16 4.4 蓝牙无线传输 17 4.4.1 STM32串口通讯 17 4.5 遥控终端的开发 18 第五章 两轮平衡小车关键算法 20 5.1 MPU-6050姿态解算 20 5.1.1 DMP输出四元数 20 5.1.2 欧拉角转换 20 5.2 两轮平衡车的PID限制算法 20
10、5.2.1 PID算法的概述和应用 20 5.2.2 基于PD限制的直立环 21 5.2.3 基于PI限制的速度环 21 5.2.4 基于PD限制的转向环 22 第六章 系统测试 23 6.1 测试目的与测试环境 23 6.2 电源系统检测 23 6.3 STM32最小系统测试 24 6.4 蓝牙无线通讯测试 25 6.5 陀螺仪测试 25 6.6 两轮自平衡车PID调试 27 6.6.1 直立环PD算法的调试 27 6.6.2 速度环PI算法的调试 28 6.6.3 转向环PD算法的调试 28 6.7 两轮自平衡车遥控测试 30 6.8 本章小结 30 结论 31 参考文献 32 致谢 33
11、 第一章 绪论 1.1 论文探讨背景和意义 人类的生存发展已经步入21世纪,这是一个高科技的时代,我们的日常生产生活中离不开数字技术、计算机技术和机械设计技术等高科技技术。两轮自平衡电动车,以两轮共轴为机械结构,通过自带精密电子陀螺仪(Solid-State Gyroscopes)的电子平衡系统,实现了自动平衡和直立行走的功能。其外形小巧、行动敏捷、环保便利的特点,得到了市场的广阔认同和发展。目前各种须要移动运输操作的传统机械设备,基本都以后驱四轮式或者履带式的形式存在。这些传统的机械的移动方式已经满意不了人们生产生活对人工智能的要求。因此,市场上急需一种更为便利敏捷的机械协助移动设备,直立式
12、两轮自平衡电动车的出现满意了这一需求。 两轮自平衡车系统运行时,自平衡限制规划、行驶操控等多种功能同时运行。最关键一点是实现自平衡的同时,还要在不同的环境中直立行驶,实现限制操作。两轮自平衡车的概念,以其不稳定的动态性能和系统非线性,快速成为各种限制理论的探讨平台,具有较大的科研意义。1.2 国内外两轮平衡车探讨历史和现状 近年来全球各国对两轮自平衡机器人的探讨越来越火爆,使其得到了快速的发展。多国纷纷研发了试验机,两轮平衡车的平衡限制的方案接连被研发设计出来,呈现出限制系统的多样性。两轮自平衡车有了稳定的行驶平衡系统,再经过改造,可快速便利地应用到不同的环境里,如工业生产所需的承载运输、日常
13、生活代步等。对于各国来说这是一个巨大的机遇,使得一些外国公司也在市场上生产研发相应的商业产品,并且投放到市场。2002年,一台名为“Segway HT”的两轮直立式自平衡载人设备问世,该设备由美国Segway公司研制。该设备以其行驶敏捷、体型小巧的特点,被用于人员密集的机场中。机场的安保警务人员站立在该两轮平衡车上,可在人群中敏捷快速地移动行驶,居高临下的行驶方式满意了视察机场各处的需求,能够刚好地发觉和处理可疑状况。2006年,一家位于德国的Transport公司,针对室内外的现场摄影工作者,研发了两轮摄像车,该设备后来广泛应用于电视节目的录制,甚至用于电影特别情节的拍摄之中。2007年,日
14、本丰田汽车公司研发了一台丰田机动机器人(MobilityRobot),这台只有15千克的机器人,最高行驶速度高达每小时20千米。哈尔滨工程高校的探讨人员,运用两块C8051单片机与人机交互上位机,组成了一个限制系统,通过不同传感器测量计算得出车体姿态信息,运用脉冲宽度调制(PWM)限制两台直流电机,外加人机交互和无线传输等技术,制造了一台两轮直立自平衡机器人。中国科技高校研发了一款两轮自平衡代步电动车。采纳了左右轮共轴的机械结构,通过建立系统数学模型建立限制算法,计算输出脉冲宽度调制(PWM)限制,来限制两个伺服电机的转矩,使电动车在行驶过程中保持直立平衡。1.3 论文探讨内容和目标 本论文探
15、讨内容: (1)两轮自平衡车的系统设计方案; (2)两轮自平衡车的硬件选型和电路设计; (3)两轮自平衡车的限制算法; (4)限制系统的调试及测试。依据本设计的功能要求,在实现两轮自平衡小车自平衡的状况下,完成遥控操作两轮自平衡车的前进、后退、转弯等行驶功能。1.4 论文结构支配 本论文的主要由以下六个章节构成: 第一章,绪论。探讨本论文的背景和意义,分析国内外两轮自平衡车的历史和现状,提出论文探讨的意义和目的。其次章,系统设计方案。对两轮自平衡车的需求进行分析并设计系统框架,提出设计思路。第三章,硬件系统设计。结合两轮自平衡车的功能需求,对所需硬件进行选型分析,并设计其原理图。第四章,软件系
16、统开发。提出软件系统总体方案,分析各模块的软件系统开发和流程。第五章,两轮平衡车关键算法。对陀螺仪输出的姿态数据进行解算。运用PID算法对电机进行限制,从而使两轮自平衡车保持直立、平衡。第六章,系统测试。对两轮平衡车的系统进行测试,PID算法的调试。验证了两轮平衡车限制算法的可行性与稳定性。 其次章 系统设计方案 2.1 需求分析 本系统要求在两轮自平衡小车自平衡的状态下,通过蓝牙无线传输技术,遥控实现两轮自平衡车移动行驶功能。本系统运用STM32F103C8T6作为平衡小车的主控芯片,实现以下功能要求: (1)获得小车的平衡姿态,并进行姿态解算; (2)运用PID算法限制两轮自平衡车,在静止
17、和行驶的状态下保持自平衡; (3)能够通过蓝牙无线传输技术运用手机APP蓝牙遥控操纵小车的行驶; (4)OLED显示屏显示电池电容量等小车状态信息; 2.2 系统框架 本系统其核心限制器选用STM32F103C8T6单片机。由LM2596和AMS1117芯片组成的电源系统,供应各硬件稳定平安的工作电压环境。MPU-6050六轴传感器可测量出小车的车体行驶姿态。电机编码器可得到小车的移动速度。OLED显示屏显示车体姿态信息和电池电压状况。TB6612电机驱动模块负责驱动大电流直流电机运转。BT04-A蓝牙模块实现了两轮自平衡车和遥控器之间的无线通讯功能。其系统结构如图2.1所示。 图2.1 系统
18、结构图 2.3 设计思路 依据各模块和传感器与STM32之间的连接通讯方式,系统设计思路图如图2.2所示。 图2.2 硬件设计思路 第三章 硬件系统设计 3.1 STM32最小系统设计 3.1.1 主控芯片 两轮自平衡车的系统工作时,需反复快速地读取陀螺仪、电机编码器等传感器的数据,并立刻经过算法处理,输出限制量反馈限制到直流电机。因此,限制系统对主控芯片的处理速度以及运行内存要求较高。 本限制系统的主控芯片选取意法半导体公司(ST)生产的STM32F103C8T6型号单片机。其内核Cortex-M3由ARM公司设计。主要参数如表3.1所示。表3.1 STM32C8T6参数表 工作电压 2V3
19、.6V 总线宽度 32位 速度 72 MHz FLASH容量 64KB RAM容量 20K 可以看到,其72MHz的速度和32位的总线宽度,满意了两轮平衡车限制系统对处理速度的要求,64 KB的FLASH存储器也是可以满意程序的存储。如图3.1为STM32F10x的系统构架图。该图供应了STM32F103C8T6单片机内部的结构关系,外设资源一目了然,对STM32的运用与开发供应帮助。 图3.1 STM32F10x系列系统构架图 3.1.2 最小系统的设计 单片机最小系统的定义为可满意单片机正常工作的系统。STM32单片机最小系统除了单片机之外,还有电源、复位、时钟三种电路和调试接口、boot
20、启动选项组。图3.2为本系统的最小系统原理图。 单片机选取LQFP-48封装的单片机。电源运用降压后的电源,电源系统的具体设计内容在下面章节中分析。复位电路设计为按键触发复位。将RST引脚通过按键S2。当按键按下后,引脚RST接地,RST引脚由高电平被拉低为低电平,触发单片机的复位功能。按键松开后,系统正常工作。复位电路中1uf电容和10k电阻,供应牢靠的复位时间。外置8MHz晶振时钟,并加入20uf的负载电容,该电容的作用是保证晶振的正常工作,使时钟电路供应精准时间。运用SWD下载模式,所需引脚较少,节约偏上资源。设置boot模式的设计较为简洁,只需把把boot0和boot1引脚引出,运用跳
21、线帽的方式设置即可。图3.2 STM32F103C8T6最小系统原理图。3.2 电源系统 3.2.1 降压芯片选型 由于直流电机的驱动电压、电流较大,本系统选取12V的锂电池来供电。但是12V的电压环境对单片机、各传感器和各模块来说电压太高,干脆供电会烧毁击穿各模块,所以还须要对电压进行降压处理。选用LM2596降压芯片,其最大可输入电压为40V,最大驱动电流达到3A,有热关断和限流爱护实力,负载调整实力强。12V的锂电池电压通过LM2596组成的降压电路后,输出稳定的5V电压。选用AMS111733正向低压降稳压器,把LM2596输出的5V电压进行降压,最终输出得到到3.3V的电压。3.2.
22、2 电源系统原理图 依据本设备所需电源要求,依据LM2596和AMS111733的数据手册,设计出本设备的电源系统如图3.3。图3.3 电源系统原理图 平衡车的输入电压为12V,经LM2596降压,输出电压为5V,最大负载3A。5V的电压经AMS111733降压后,输出3.3V电压。电源系统加入大电流开关S3,打开S3后系统电源开启,各降压模块起先工作,供应稳定电压,关闭S3后整个电源系统关闭。3.3 MPU-6050六轴陀螺仪传感器模块 3.3.1 MPU-6050概述 MPU-6050六轴陀螺仪传感器,内含MEMS 陀螺仪、MEMS加速度计各三轴。内嵌DMP(Digital Motion
23、Processor)数字运动处理器,其通讯方式为IIC协议或SPI协。VCC引脚接入3.3V或5V的电压,GND引脚接地。SDA和SCL两组引脚为IIC通讯引脚的信号线。当MPU-6050六轴陀螺仪传感器须要外接传感器时,XDA和XCL引脚分别接IIC主串行数据信号线和时钟信号线。AD0可通过接地或接电来设置AD0的值为0或1,AD0=0时MPU-6050的地址为0x68,AD0=1时MPU-6050的地址为0x69。INT引脚为中断输出引脚。MPU-6050六轴陀螺仪传感器的引脚及其说明如表3.2。 表3.2 MPU-6050引脚说明 引脚名称 说明 VCC 电源输入3.3V或5V GND
24、接地 SCL IIC从时钟信号线SCL SDA IIC从数据信号线SDA AUX_DA IIC主串行数据信号线,用于外接传感器 AUX_CL IIC主串行时钟信号线,用于外接传感器 AD0 接地、悬空时地址为0x68;接VCC地址为0x69 INT 中断输出引脚 3.3.2 MPU-6050系统原理图 翻阅MPU-6050数据手册,设计出接线原理图,如图3.4所示。 图3.4 MPU-6050原理图 MPU-6050的电源引脚3.3V的电压,并且在电源入口和器件旁边加入滤波电容,用来滤除沟通成分,使输出的直流更平滑,确保MPU-6050硬件稳定性,满意限制系统对高精度姿态数值的须要。 AD0引
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 stm32 平衡 控制系统 设计
限制150内