版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本次设计以STM32单片机为设计主体,配合电机霍尔传感器、倾角测量模块、车轮动力模块、距离测量模块、蓝牙等模块,使得双轮自平衡车在上电后,各个模块相互配合,通过自身的两个电机不断改变自身移动的方向和速度,从而实现把小车放在平面上,使其可以自己调节自身的平衡,保持直立行走。当有外部作用力的影响下,小车还可以保持原有的平衡状态。本次设计主要通过使用stm32单片机以及对单片机进行编程,实现双轮自平衡小车的一系列功能。关键词:STM32;单片机;平衡车1绪论1.1双轮自平衡车的背景1.2双轮自平衡车选题的目的和意义目的:将自己所学的理论知识与实践相结合并将其制作成实物。意义:双轮自平衡机器人具有两个线圈,一个独立驱动,其主体中心在轮轴上方,可以通过运动垂直移动,且可以保持平衡,由于其特殊的结构对地形变化旋转,具有更灵活的轨道,弥补了传统多轮系统的不足:(2)它有占地面积小的优点,可运用于场地面积小或运动要求灵活的场合;(3)车身设计大大简化,机器人可以变得更轻更小;(4)有着较小的驱动功率,可以长时间为电池供电,这为环境友好型世界市场提供了一个新概念。两轮自平衡机器人是一个综合集成的系统,集成了动态决策,规划,环保意识和行为控制。重要的是要确保自身的平衡并适应不同环境中的控制任务,并使用了速度传感器,超声波传感器,倾斜传感器,防撞开关等。它可以实现复杂的校车跟踪功能和轨道规划独立障碍。GPS和惯性导航也可以使用内置的机器人导航装备。因此,两轮自平衡机器人看似复杂难懂,但是实现起来其实是相对简单的,世界各地的科学家们也对它的发展非常关注,它具有相当重要的学术研究意义。也正是因为它的这些显著优势,两轮自平衡机器人在通过一定改造后,可制作成为用于战斗工作的战斗机器人,它的发展前景也是非常广阔的。1.3双轮自平衡车的设计要求此次设计以stm32C8T6单片机为主体,通过机器传感器、偏角检测模块、车轮功率模块、测距模块、蓝牙等模块,完成该车的设计以及生产。2.1平衡小车原理控制对象|控制对象|眼睛眼睛状态观测平衡小车也是这样的过程,通过负反馈实现平衡。与上面保持木棒直立比较则相对简单,因为小车有两个轮子着地,车体只会在轮子滚动的方向上发生倾斜。控制轮子转动,抵消在一个维度上倾斜的趋势便可以保持车体平衡了。■车体垂直车轮保持车体向左倾斜,车轮向左加速运行。车体向右倾斜,车轮向右加速运行。所以根据上述的原理,通过测量小车的倾角和倾角速度控制小车车轮的加速度来消除小车的倾角。因此,小车倾角以及倾角速度的测量成为控制小车直立的关键。我所设计的平衡小车使用了测量倾角和倾角速度的集成传感器陀螺仪-MPU6050。m控制平衡小车,使得它作加速运动。这样站在小车上(非惯性系,以车轮作为坐标原点)分析倒立摆受力,它就会受到额外的惯性力,该力与车轮的加速度方向相反,大小成正比。这样倒立摆(如图2)所受到的回复力为:公式1F=mgsinθ-macosθ≈mgθ-mk1θ式1中,由于θ很小,所以进行了线性化。假设负反馈控制是车轮加速度a与偏角θ成正比,比例为k1。如果比例k1>g,(g是重力加速度)那么回复力的方向便与位移方向相反了。按照上述倒立摆的模型,可得出控制小车车轮加速度的算法:a=k1θ+k2θ’;式中控制保持稳定的条件(这里需要对控制理论有基本了解)。假设外力干扰引起车模产生角加速度x(t)。沿着垂直于车模地盘方向进行受力分析,可以得到车模倾角与车轮运动加速度以及外力干扰加速度a(t)x(t)之间的运动方程。如图3Lmg称为微分控制(角速度是角度的微分)。因此上面(1)能够精确测量车模倾角θ的大小和角速度θ’的大小;(2)可以控制车轮的加速度。(1)如何测量小车速度?(2)如何通过小车直立控制实现小车倾角的改变?(3)如何根据速度误差控制小车倾角?终是跟踪重力加速度Z轴的角度。因此小车的倾角给定值与重力加速度Z轴角度相减,便样会引起车轮速度下降(因为车轮往负方向运动了)。由于负反馈,使得小车往前倾角需要更大。如此循环,小车很快就会倾倒。原本利用负反馈进行速度控制反而成STM32C8T6单片机采用ARM32位的CorteTM-M3CPU,这款芯片能在很高的频率下运作,同时STM32C8T6单片机有丰富的I/O□,以提供给设计者们使的通讯接□。STM32C8T6单片机因为它有着简易的操作,优秀脚连接着电机,通过这两个引脚控制电机转动的速度。PB下图3.1为STM32C8T6主控模块与其他模块的接线定义:STM32C8T6主控模块I图3.1MPU6050陀螺仪在双轮平衡车的主要功能为收集小车运动过程中偏转角度该款陀螺仪使用了集成设计结构,从而极大的减少了占用PCB板的空间,如图3.2NCAUxDA[NCNC下图3.3为与STM32C8T6的连接图:陀螺仪的SCL和SDA脚与主控芯片工3.3蓝牙模块蓝牙模块双轮平衡的设计采用的是普通的固定波特率的蓝牙模块。初始密码默认为:123。接线定义如下图3.4:其中RDX与TDX和主控芯片的PB10和PB11脚蓝牙模块3.4TB6612FNG驱动模块TB6612是双驱动,这种结构可以驱动两个电机的工作,使用时要将其与STM32C8T6单片机对应接口进行连接,接线时应严格遵守接线定义。接线定义如下图3.5: 驱动电路8AIN1BIN14其中11,12,14,15号管脚与主控芯片的PB12~PB15脚连接,PWMA和PWMB与主控芯片的PA2~PA3脚连接。逻辑真值表3.3如下输出模式状态HHHLL制动LHHHLH反转LHLHLL制动HLHHHL正转HLLL制动LLH停止L待机GB37电机是一种体积很小的直流减速电机,轻巧的体积和重量可以极大减速比为1:30的520的电机。这种电机的额定电压为12V,减速前转速330rpm,空转电流为50ma,功率为4.8w,堵转最大电流为6.5A,减速箱长度为22mm。其中电机的M2A,M2B脚与主控芯片的PB6,PB7脚相连接。超声波测距模块(HC-SR04)通过两个接口电平的改变,记录计时器接收到接线定义如下图3.6:模块的2,3号管脚与主控芯片的PB1,PBO脚相连。HC-SR04超声波模块在上述硬件准备完备后.开始小车的组装与调试,各个模块按照接线定义与图3.7小车硬件系统组成结构图电路划分为以下几个模块:(1)单片机最小系统:包括DSC处理器,程序下载调试接口等;(2)蓝牙模块:接收手机蓝牙控制信号,在这里用蓝牙模块充当无线串□用,由手机蓝牙作为蓝牙母机,通过手机上位机软件发送一系列的ASCII数据给蓝牙模块,蓝牙模块再以串□发送给单片机,单片机接收到数据后通过一定的数据处理,然后得到方向的信息,控制小车加减速或者转弯等系列动作。、(4)速度检测:检测电机光码盘脉冲的频率,实际上包括两个光码盘的传感器:(7)设置于调试:显示系统运行状态、速度设定、程序下载和监控。4系统的软件设计4.1软件的设计分析双轮平衡车的软件部分是在keil的编译环境下运行的。软件方面主要的任务是收集陀螺仪发送回STM32C8T6的信号,对其进行滤波处理,再由单片机进行计算,分析小车目前的运动状态,最后把信号输出给电机,让电机转动,改变小车的运动方向,维持平衡。程序的运行流程如图4.1系统初始化传感器采集角度、角速度控制器计算PWM,输出到驱动器否4.2平衡车的PID算法4.2.1PID的原理PID(比例积分微分)英文全称为ProportionIntegrationDifferentiation,它是一个数学物理术语。目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接□、执行机构,加到被控系统上;控制系统的被控量,经过传感器不同的控制系统,其传感器、变送器、执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整过智能化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。可编程控制器(PLC)是利用其闭环控制模块来实现PID控还有可以实现PID控制功能的控制器,如Rockwell的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。(1)开环控制系统开环控制系统(open-loopcontrolsystem)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路。(2)闭环控制系统闭环控制系统(closed-loopcontrolsystem)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出,形成一个或多个闭环。闭环控制系统有正反馈和负反馈,若反馈信号与系统给定值信号相反,则称为负反馈(NegativeFeedback),若极性相同,则称为正反馈,一般闭环控制系统均采用负反馈,又称负反馈控制系统。闭环控制系统的例子很多。比如人就是一个具有负反馈的闭环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后作出各种正确的动作。如果没有眼睛,就没有了反馈回路,也就成了一个开环控制系统。另例,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净,并在洗净之后能自动切断电源,它就是一个闭环控制系统。(3)阶跃响应阶跃响应是指将一个阶跃输入(stepfunction)加到系统上时,系统的输出。稳态误差是指系统的响应进入稳态后,系统的期望输出与实际输出之差。控制系简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其双轮平衡车是一个闭环系统,为了使车身能可以十分有效的让小车保持平衡。因为采用了PID算法,所以intbalance(floatAngle增大Kd,直至小车能够十分迅速的感受的倾角的变化,震荡现象逐渐消失,这时PD调节器的参数整定就完成了。5结论上述内容介绍了基于STM32C8T6单片机的双轮自平衡小车设计,简要说明了双轮平衡车的历史来源以及发展前景,对小车平衡的物理条件进行了详细的分析,介绍了所需外设硬件的基本参数以及使用方法,熟悉了对STM32C8T6单片机进行编程和对STM32C8T6单片机功能的熟练运用。初步掌握了如何用单片机实现某一种特定的功能,以及复杂算法的编写思路。期间在硬件电路的选择上,我们采用了集成电路模块,减小了小车的体积,使其更加易于组装和调试。当然,双轮自平衡小车是现在先进的平衡车中最简单的一种款经过不断的学习探究才能明白,自己的永远不是最好的,总有更好的在未知的前方,总有更优秀的设计和编码等着自己去发现,去探索。我要去学习挖掘的内容还有在软件部分,先用软件对串口部分进行调试,然后进行编码,本系统使用了一些其他代码的结构框架,还使用了一些封装好的自定义函数,这样可以简化代码的长度和字符数。综上所述,通过本次设计主要学习了双轮自平衡车的工作原理,了解了stm32的基本功能及其使用方法,真正了解了平衡车的设计理念,这样的一次自身设计机会是难得的,值得反复琢磨。6附录6.1电路原理图低电压保护低电压保护电压检测CH340G烧录蓝牙模块超声波模块STM32C8T6主控模块STM32智能平衡小车6.2程序(1)时序总算法BST_u8SpeedControlC//脉冲计算函数BST_u8SpeedControlPeriod++;BST_u8DirectionControlAngleControl();//角度PD控制PWNM输出UltrasonicWave_StartMeasuif(BST_u8SpeedContro//当计数值8时,即总系统运行40ms时候(每10个角度PWM输出中融入1个速度PWM输出,这样能保持速度PID输出不干扰角度PID输出,从而影响小车平衡)BST_u8SpeedControlPeriod=0;//平滑输出比例值清零[1]基于MPU60
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 暖气安装改造的施工设计方案
- 植树节活动植树节的活动方案主题总结植树节主题
- 食品安全管理制度
- 二级建造师矿业工程模拟真题及答案
- 2026年员工考勤管理制度员工关系处理技巧
- 诚信经营食品企业评选规范
- 豪能股份深度报告:汽车%26航空航天%26机器人三维布局驱动持续成长
- 第7章 首页模块开发
- 商业银行同业业务发展及风险探析
- A Report on the E-C Translation of 英语论文作业
- 国防科工局直属事业单位面试指南
- 外墙金属压型板施工方案
- 临时施工占道施工方案
- 2025广东深圳市罗山科技园开发运营服务有限公司高校应届毕业生招聘笔试参考题库附带答案详解
- 中信银行合肥市肥西县2025秋招信息科技岗笔试题及答案
- 养老院食堂安全培训内容课件
- 血站清洁消毒培训课件
- 妊娠合并肺栓塞
- 数据压缩课件
- 人体动静脉课件
- 作风建设培训课件民航
评论
0/150
提交评论