毕业设计 STM32平衡车设计与实现

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

毕业设计 STM32平衡车设计与实

1 简介

Hi,大家好,学长今天向大家介绍一个单片机项目,大家可用于课程设计或毕业设计

基于STM32的平衡车设计与实现

1 课题描述

课题的研究主要是为了设计出可以在小范围内活动的轻巧灵活的绿色代步工具,并且在自平衡的功能上加上一些新功能,如自跟随功能和遥控功能,这样平衡车不仅可以当作交通工具来使用还可以作为人们的助手,如可以制造出平衡车形式的拉杆箱、平衡车形式的超市购物车等。平衡车技术起源于国外被叫作摄位车(Segway),在国内有被叫做平衡车、思维车、体感车,平衡车易于放置,便于携带。公共场所、汽车、火车上都可以随意携带,平衡车不需要专用的场地,可以在马路、公园、林间小路甚至室内都可以骑行,所以它相比传统的四轮车是有很大的优势的。

两轮平衡车和单轮平衡车都可以在小范围内移动,不像传统的四轮车在小范围内很难转弯。随着电子技术的不断发展,人们对行走功能的需求越来越高,平衡车应运而生。电动平衡车的小巧轻便也给人们带来了很多便利。同时,电动平衡车的电力驱动赋予了它绿色交通的使命,它的广泛普及对文明城市的建设和人居环境的改善具有重要意义。电动平衡车为人们节省了大量的油费和时间。与其他交通工具相比,它还具有价格优

势,这使得大多数人都负担得起,维护起来也相对简单。在平衡车上增加一些传感器,可以让人更好的控制它,同时还具有操控、墙障等功能。比如增加自走功能,可以避免人们需要用手携带的缺点。

市面上常见的平衡车

2 课题设计内容

这个项目的核心是平衡车的控制系统,在平衡车稳定平衡的基础上对自跟随和无线遥控进行研究,

并且计划使用 STM32 作为主处理器进行开发制作,由对倒立摆控制系统的分析进而分析平衡车的控制理论,其中包括直立行驶和转弯,还有自跟随的控制理论分析。

该项目的重点首先是要对 STM32 单片机的各个硬件系统有熟练使用的能力,这样才能对各模块进行正确的驱动设计。其中,需要对 MPU6050 原始数据进行滤波处理,所以要通过对滤波算法的分析对 MPU6050 中的陀螺仪和加速度数据进行融合,使滤波后的结果可以满足设计要求。

对 PID 算法进行分析,为闭环控制系统找到合适的 PID 控制器模型,其中参数的确定属于本次设计的难点。遥控部分计划由触摸屏和 51 单片机进行设计,所以需要 51 单片机和 STM32 进行正确通信,才能完成触摸遥控功能。

3 平衡车控制原理

两轮平衡小车则与颠倒着的单摆系统类似,倒立摆与单摆有着很大的不同了,当倒立摆离开平衡位置时它受到的重力作用与运动方向相同,不是抑制它的变化反而促使它向偏离平衡点更远的地方运动,也就是它向着不稳定方向发展,而空

气阻力则是时刻与它的运动相反,所以摆杆要想平衡就必须有其它形式的外力作为辅助,所以这就引出了速度,给小车一个与摆杆运动方向相同的速度使摆杆因自身的惯性产生一个回复力,这个回复力就可以使摆杆具有向着稳定状态运动的趋势,这个回复力的大小为:

如果不考虑空气阻力,那么若要摆杆具有回复的趋势,摆杆底部的平台相当于小车车轮的加速度要足够大,而且是随着偏离平衡的角度的增大而增大

平衡车的控制任务可以分解为三个基本的控制任务。

•首先是控制小车的平衡,可以通过控制小车两个轮子的正反转来实现。小车可以获得在两个方向产生回复力的

加速度,从而完成平衡任务。

•然后控制车速。从上面的分析可以看出,汽车的速度与倾斜度密切相关,所以汽车的速度变化应该与倾斜度相

对应。

•最后控制车的方向,可以通过两个车轮的速度差来控

制,转向速度要和速度差成正比。

4 关键算法

4.1 PID控制算法

PID 算法在工业控制中有着重要的地位,是现今最常用的模糊控制算法之一, PID 其实是比例控制、积分控制和微分控制,简称 PID 控制。在闭环控制系统中 PID 控制器更是必不可少, PID 控制器之所以被应用这么广泛主要是因为它的结构简单、工作稳定性好、调整方便的特点,在实际研究中经常会遇到被控对象的具体参数不能精确的建立出数学模型,其它控制理论技术难以采用时,系统的控制器和具体参数必

须要根据实验现象来现场调试,在这种情况下 PID 控制器是最能体现优势了, PID 在实际应用中 PI 控制和 PD 控制较为常见,甚至有的直接只有一个比例 P 控制就可以完成整个系统的控制。

4.2 卡尔曼滤波

卡尔曼滤波器由系统的输入和输出观测数据,对系统状态做出最优估计,它的依据是系统的线性状态方程,因系统分析数据大部分存在噪声和干扰,所以最优估计又被看成是滤波过程。卡尔曼滤波器首次被实现 Stanley Schmidt,卡尔曼滤波处理数据其实是去除数据中的噪声还原真实数据的数据处理技术,在方差已知的情况下从存在噪声的系统数据中,把系统的动态状态估计出来。由于卡尔曼滤波容易被计算机编程实现,并且能对现场的数据及时的进行更新和处理,所以卡尔曼滤波成为目前应用非常广泛的滤波方法。

5 硬件设计

硬件电路是软件的基础。如果把软件比作人脑,那么硬件就是各种器官。只有硬件的各个部分设计得当,我们的软件算法才能显示出它的优势。硬件电路部分主要

包括:

•电源供电部分

•MPU-6050 传感器部分

•STM32 主控芯片部分

•电机驱动部分

•编码器测速部分和

•蓝牙传输部分

本项目学长以流行的平衡车为控制背景平台。陀螺传感器、电机速度编码器和超声波传感器用于数据采集。以 STM32 处理器为控制中心,利用姿态反馈和算法输出对传感器数据进行处理。采用集成 H 桥驱动的直流电机进行输出控制,形成完整的闭环控制系统。

5.1 stm32部分

最小系统电路设计:单片机引脚与外部设备的连接要做到与功能相适应,外部设备尽可能的靠近 MCU 的引脚,使信号走线最短。使用 Keil MDK 进行 STM32 的程序开发,下载调试方式采用 2 针的 SWD 串行接口,下载接口采用 micro USB 接口(不是采用 USB下载,只是提供接口) 更加方便调试。

5.2 电机驱动电路设计

这里的学长选择DC汽车,如下图所示。DC电机的转速可以由施加在其两端的电压决定,其转向也与电流方向有关,所以控制相对简单,只需控制连接在其两端和正负两极的电压就可以控制电机的转速和转向,可以满足本项目的要求。

但,由于单片机 IO 口输出电流能力有限,但是直流电机的驱动需要大电流,所以我们要用电流放大模块将单片机输出功率放大,这里我们选用了 TB6612 芯片,该芯片广泛应用于直流电机驱动,它具有大电流 H 桥结构,双通道电路输出,可以同时驱动两个电机。电机驱动电路接线如图所示。

5.3 蓝牙通信

蓝牙模块用于实现模块化小车与手机的通信,这里我们选用的是蓝牙 HC-05,如下图所示。蓝牙 HC-05 可以用于实现处理器与移动应用终端之间的通信,移动应用终端可以通过

相关文档
最新文档