双轮自平衡车设计报告
两轮自平衡小车实习报告

实习报告:两轮自平衡小车设计与实现一、实习背景及目的随着科技的发展,机器人技术在各领域中的应用越来越广泛。
两轮自平衡小车作为一种具有自平衡能力的新型轮式车,能够在工业生产、安防系统、智能家居、物流网等领域发挥重要作用。
本次实习旨在学习和掌握两轮自平衡小车的设计原理和技术,培养实际动手能力和创新能力。
二、实习内容与过程1. 理论研究在实习开始阶段,我们对两轮自平衡小车的基本原理进行了深入研究。
通过查阅相关资料,了解了两轮自平衡小车的运动学模型、控制算法以及硬件系统设计等方面的知识。
2. 硬件设计根据实习要求,我们设计了两轮自平衡小车的硬件系统。
主要包括STM32单片机、陀螺仪、蓝牙模块、电机驱动模块、电源管理模块等。
在设计过程中,我们充分考虑了系统的稳定性和可靠性,选择了合适的硬件组件,并完成了各模块之间的电路连接。
3. 软件设计在软件设计阶段,我们采用了PID控制算法,实现了直立控制、速度控制和方向控制等功能。
通过编写程序,使得两轮自平衡小车能够在一定时间内自助站立并保持平衡。
同时,利用蓝牙模块实现了手机APP远程控制功能,方便用户对小车进行操作和控制。
4. 系统调试与优化在系统调试阶段,我们通过对小车的实际运行情况进行观察和分析,不断调整PID 参数,优化控制策略,提高了小车的平衡控制精度和稳定性。
同时,针对小车在实际运行中可能遇到的各种问题,我们采取了相应的措施,保证了系统的可靠性和安全性。
三、实习成果与总结通过本次实习,我们成功设计和实现了两轮自平衡小车。
小车具备了自平衡能力,能够在不同地形环境中灵活运动。
同时,通过手机APP远程控制功能,用户可以方便地对小车进行操作和控制。
总结:本次实习让我们深入了解了两轮自平衡小车的设计原理和技术,锻炼了实际动手能力和创新能力。
通过实习,我们掌握了PID控制算法在实际控制系统中的应用,学会了如何优化系统参数,提高了系统的控制精度和稳定性。
同时,我们也认识到在实际设计和实现过程中,需要充分考虑系统的可靠性和安全性,以满足实际应用需求。
两轮平衡小车实习报告

两轮平衡小车实习报告一、前言随着科技的不断发展,机器人技术逐渐应用于各个领域,其中两轮平衡小车作为一种具有自平衡能力的新型轮式车,引起了广泛的关注。
本次实习报告主要介绍了两轮平衡小车的原理、设计及实际操作过程。
二、两轮平衡小车原理两轮平衡小车主要由控制系统、传感器、执行器等部分组成。
其工作原理是通过传感器实时检测车体姿态,将车体姿态信息传输给控制系统,控制系统根据车体姿态信息计算出相应的控制策略,并通过执行器实现对车轮的动态调整,使小车保持平衡。
三、两轮平衡小车设计1.硬件设计本次设计的两轮平衡小车采用STM32单片机作为控制核心,配备有MPU6050传感器用于姿态检测,使用TB6612FNG电机驱动模块实现车轮的控制。
此外,还使用了OLED显示屏用于显示实时数据。
2.软件设计在软件设计方面,主要采用了PID控制算法来实现车体的平衡控制。
首先,对MPU6050传感器采集到的数据进行处理,计算出车体的倾角;然后,根据倾角信息计算出控制电压,通过TB6612FNG电机驱动模块对车轮进行控制,以保持车体的平衡。
四、两轮平衡小车实际操作过程1.调试过程在实际操作过程中,首先需要对小车进行调试。
通过调整小车的重心位置,使其能够稳定站立。
调试过程中,发现小车在高速运动时容易失去平衡,通过减小驱动电压,提高小车的稳定性。
2.平衡控制实现在平衡控制实现方面,通过实时检测车体姿态,并根据姿态信息计算出控制电压,实现对车轮的控制。
在实际操作中,发现小车在平衡状态下运行平稳,能够实现前进、后退、转向等基本功能。
3.避障功能实现为了提高小车的实用性,我们为其添加了避障功能。
通过使用HC-SR04超声波传感器,实时检测小车前方的障碍物距离,并在检测到障碍物时,自动调整小车方向,实现避障。
五、总结通过本次实习,我们对两轮平衡小车的原理、设计及实际操作过程有了深入的了解。
两轮平衡小车作为一种具有自平衡能力的新型轮式车,具有占地面积小、转弯灵活等优点,其在未来的应用前景广阔。
两轮独立驱动电动平衡车设计

两轮独立驱动电动平衡车的设计摘要两轮电动平衡车是一种能够载人直立行走的交通工具,依靠电能提供动力。
它突破了传统意义上的车的概念,其特点是:两个车轮共轴放置,差动式运动,零半径转向,依照倒立摆的原理达到动态平衡。
近年来国内外的研究方向主要是两轮平衡机器人的控制系统,针对其机械结构的研究却较少,有关平衡车机械结构的文献更少。
本文总结了国内外相关领域的研究成果,在此基础上对平衡车的平衡原理进行了介绍,建立了平衡车的动力学模型,并对平衡车的机械结构进行了设计。
所做的具体工作如下:(1)先介绍平衡车姿态测量的传感器以及为减少传感器的测量误差所常用的方法。
然后对平衡所需的驱动力矩进行了推导,为后续的机械结构设计提供理论依据。
(2)设计平衡车的机械结构。
本文所设计的平衡车由车轮、悬架、车架和操纵杆四部分组成。
轮毂电机和减速器集成在车轮内部,提高了电动车的动力性能和工作效率。
操纵杆用来控制平衡车的转向和车速。
(3)对平衡车进行动力学分析,建立了平衡车的三维动力学模型。
模型建立过程中的大部分计算由数学软件Mathematica进行。
关键词 平衡车;驱动力矩;机械结构;动力学模型;AbstractTwo‐wheeled self‐balancing electric vehicle is a way to walk upright manned vehicles , rely on electricity to power. Self‐balancing vehicle breaking the concept of vehicle in the traditional sense, it is characterized by two wheels that in one line , differential movement , zero turning radius and in accordance with the principle of inverted pendulum dynamic equilibrium. In recent years, research at home and abroad are mainly on two balancing robot control system, studies of its mechanical structure has less literature ,studies on self‐balancing vehicle’s mechanical structure even less. This paper summarizes the research results in related fields, then the principle of balancing of the vehicle was introduced,a dynamic model of the vehicle was derived,and the mechanical structure of the vehicle was designed. Specific works are as follows:(1)Describing the self‐balancing vehicle attitude measurement sensor and a method to reduce the measurement error of the sensor common .Then the required drive torque has been derived to provide a theoretical basis for the subsequent mechanical design .(2) Mechanical design of the vehicle. The vehicle is designed in this paper combined by four parts, means wheels, suspensions, frame and lever. Wheels motor and reducer integrated in the wheels inside , improve dynamic performance and efficiency of the vehicle. Joystick to control the balance of the car 's steering and speed.(3) The self‐balancing vehicle dynamics analysis, three‐dimensional dynamic model of the balance of the vehicle was derived. Most of calculations in the modeling process done by the mathematical calculation software Mathematica.Keywords: Self‐balancing vehicle; Driving torque; Mechinics structure; Dynamic model目录第1章 绪论 (1)1.1 研究的目的及意义 (1)1.2 国内外研究现状 (2)1.2.1 国外研究现状 (2)1.2.2 国内研究现状 (3)1.3 论文主要内容 (4)第2章 平衡车的平衡原理 (6)2.1 简介 (6)2.2 平衡车的姿态测量和平衡控制 (7)2.2.1 平衡车的姿态测量 (7)2.2.2 平衡车的平衡控制 (10)2.3 平衡车行驶时所需的驱动力矩 (11)2.3.1 平衡车要克服的行驶阻力 (11)2.3.2 平衡车保持平衡所需的驱动力矩 (15)2.4 本章小结 (17)第3章 平衡车的机械结构设计 (18)3.1 平衡车总体方案 (18)3.2 车轮设计 (20)3.2.1 车轮结构方案设计 (20)3.2.2 车轮详细设计 (23)3.3 悬架设计 (34)3.4 车架和操纵杆设计 (36)3.5 平衡车各部件的装配 (38)3.6 本章小结 (38)第4章 平衡车的动力学模型 (40)第5章 总结 (48)致谢 (49)参考文献 (50)第1章 绪论1.1 研究的目的及意义随着我国工业水平的提高,近年来汽车产业迅速发展。
两轮自平衡小车毕业设计

两轮自平衡小车毕业设计毕业设计题目:两轮自平衡小车设计一、毕业设计背景与意义目前,智能机器人技术已经在各个领域得到广泛的应用,其中自平衡小车是一种非常具有代表性的机器人。
自平衡小车能够通过自身的控制系统来保持平衡姿态,并能够实现各种转向和动作。
因此,自平衡小车不仅能够广泛应用于工业生产中,还可以成为搬运、巡逻和助力等领域的优秀协助工具。
本毕业设计的目标是设计和实现一种能够自动控制、实现平衡的两轮自平衡小车。
通过这个设计,进一步探究并研究自平衡技术的原理及应用,增加对机器人控制系统和传感器的理解,提高对计算机控制和嵌入式系统的应用能力。
二、毕业设计的主要内容和任务1.研究和调研a)研究两轮自平衡小车的构造和原理;b)调研目前市场上相关产品,并分析其特点和存在的问题。
2.模块设计a)根据研究结果,设计自平衡小车的主要模块,包括平衡控制模块、动作控制模块和传感器模块;b)设计相关控制算法和策略,使小车能够保持平衡并能够实现转向和动作。
3.硬件搭建和调试a)根据模块设计的结果,搭建小车的硬件系统,包括选择适用的电机、陀螺仪、加速度计等;b)进行相应的调试和优化,保证小车的平衡和动作控制能力。
4.软件开发和系统集成a)开发小车的控制系统软件,包括实时控制系统和传感器数据处理等;b)将硬件系统和软件系统进行有机地集成,实现小车的平衡和动作控制。
5.实验和测试a)进行实验测试,验证设计的有效性和稳定性;b)进行相关的性能测试和比较研究。
三、设计预期成果1.自平衡小车的系统设计和实现,能够平衡姿态并能够实现转向和动作控制;2.控制系统软件的开发和优化,实现小车的实时控制和数据处理;3.相关模块和算法的设计和实现,如平衡控制模块和动作控制模块;4.实验和测试结果的总结和分析;5.毕业设计报告的撰写。
四、设计周期和工作安排1.阶段1:研究和调研阶段(1周)2.阶段2:模块设计阶段(2周)3.阶段3:硬件搭建和调试阶段(2周)4.阶段4:软件开发和系统集成阶段(2周)5.阶段5:实验和测试阶段(1周)6.阶段6:总结和报告撰写阶段(2周)五、预期解决的关键问题和技术难点1.小车平衡控制算法的设计和优化;2.小车动作控制算法的设计和优化;3.小车硬件系统与软件系统的有效集成;4.多个传感器数据的处理和融合。
两轮自平衡小车设计报告

两轮自平衡小车设计报告设计报告:两轮自平衡小车一、引言二、设计理念本设计希望实现一个简洁、稳定和高效的两轮自平衡小车。
考虑到小车需要快速响应外界环境变化,并迅速做出平衡调整,因此采用了传感器、控制器和执行机构相结合的设计思路。
通过传感器获取小车倾斜角度和加速度等数据,通过控制器对采集的数据进行处理和判断,并通过执行机构实时调整车身的倾斜角度,以实现平衡行走。
三、原理四、硬件结构1.车身结构:车身由两个电机、一个控制器、一个电池和一个平衡摆杆组成。
2.电机:采用直流无刷电机,具有较高的转速和输出功率。
3.控制器:采用单片机控制模块,能够对传感器数据进行处理和判断,并输出控制信号给电机。
4.传感器:主要包括陀螺仪、加速度计和倾斜传感器,用于感知小车的倾斜角度和加速度等数据。
5.电池:提供小车的电力供应,保证小车正常运行。
五、软件控制小车的软件控制主要包括数据处理和判断、控制信号生成和输出三个方面。
1.数据处理和判断:通过获取的传感器数据,包括倾斜角度和加速度等信息,根据预设的控制算法进行数据处理和判断。
2.控制信号生成:根据处理和判断得出的结果,生成相应的控制信号。
控制信号包括电机的转动方向和速度。
3.控制信号输出:将生成的控制信号输出给电机,实现倒立摆的平衡。
六、小车性能测试为了验证小车的设计和功能是否符合预期,进行了多项性能测试。
1.平衡行走测试:将小车放在平坦的地面上,通过传感器检测到小车的当前倾斜角度并进行调整,实现小车的自平衡行走。
2.转向测试:在平衡行走的基础上,通过控制信号调整两个电机的速度差,从而实现小车的转向。
3.避障测试:在平衡行走和转向的基础上,添加超声波传感器等避障装置,实现小车的避障功能。
七、总结通过本设计报告的详细介绍,我们可以看出两轮自平衡小车具备平衡行走、转向和避障等功能,为用户提供了一个稳定、高效的移动平台。
未来,我们将进一步优化小车的设计和控制算法,提高小车的性能和应用范围。
毕业设计(论文)-两轮自平衡小车的设计

Key Words: Two-Wheel Self-Balance; Gyroscope; Gesture detection; Kalman filter; Data fusion
II
目
录
1.绪论·························································································································· 1
2.系统原理分析·········································································································· 5
2.1 控制系统要求分析··············································································································· 5 2.2 平衡控制原理分析··············································································································· 5 2.3 自平衡小车数学模型··········································································································· 6 2.3.1 两轮自平衡小车受力分析···························································································· 6 2.3.2 自平衡小车运动微分方程···························································································· 9 2.4 PID 控制器设计··················································································································10 2.4.1 PID 控制器原理···········································································································10 2.4.2 PID 控制器设计···········································································································11 2.5 姿态检测系统····················································································································· 12 2.5.1 陀螺仪·························································································································· 12 2.5.2 加速度计······················································································································ 13 2.5.3 基于卡尔曼滤波的数据融合······················································································ 14 2.6 本章小结····························································································································· 16
双轮自平衡小车项目设计报告

电子与信息工程学院项目设计报告项目名称双轮自平衡小车设计专业电子信息科学与技术目录一自平衡小车的总体方案设计 (4)1、自平衡小车的设计方案 (4)2、自平衡小车的总体框图 (4)二系统的具体设计与实现 (5)1、单片机控制模块 (5)2、陀螺仪加速度计模块 (5)3、光码盘测速模块 (7)4、稳压模块 (8)5、电机驱动模块 (9)6、LCD1602显示模块 (12)三软件系统设计 (18)1、设计思想 (18)(1)PID技术 (18)(2)应用现状 (18)(3)PID调节规律 (19)(4)极点配置 (20)(5)极点配置条件 (20)(6)极点配置控制器 (23)2、程序流程图 (24)3、程序代码 (25)摘要随着科技进步,生活水平的提高,人们追求智能与舒适的愿望也日益强烈。
从而催生了许多智能化的产品。
如智能电视、智能小车等。
如何实现小车的小车的自动快捷驾驶,也成为人们心中的向往与疑问,基于这种趋势与需求,着眼于实际情况。
本文介绍了基于STC90C51单片机的自平衡小车系统的设计。
系统基于陀螺仪等传感器,利用PID平衡算法,对小车的速度倾斜角度平衡状态来进行检测,并通过单片机来控制电机来实现双轮小车自如平衡地运动。
从而实现小车智能自主控制的目的。
关键词:STC90C51 自平衡PID算法该自平衡小车,采用STC90C51单片机和各种传感器的组合,构成了自平衡小车系统。
其系统主要由以下几个部分组成:单片机控制系统、陀螺仪加速度检测模块、光码盘测速模块、稳压模块、电机驱动模块、LCD1602显示模块组成。
本设计的自平衡小车工作原理:给小车通电,平衡放在地上,当小车开始倾斜时,陀螺仪及时地采集的小车倾斜角度数据传给单片机,而加速度计将车子倾斜的瞬时加速度采集后也传给单片机,同时,光码测速仪也将车子的实时速度采集后传给单片机。
单片机系统收集到以上三组数据,对数据进行量化处理后,在PID 平衡算法的控制下,控制电机及时地做出前进或后退或加速或减速的反应,使车子在一个小角度范围内做平衡地来回摆动,以保持车子的不倒。
两轮自平衡小车设计

两轮自平衡小车设计一、任务要求图1两轮自平衡车两轮自平衡车结构原理如图1所示,主控制器(DSP)通过采集陀螺仪和加速度传感器得到位置信号,通过控制电机的正反转实现保持小车站立。
1、通过控制两个电机正反运动,实现小车在原地站立。
2、实现小车的前进、后退、转弯、原地旋转、停止等运动;二、方案实现2.1电机选型图2直流电机两轮自平衡车由于需要时刻保持平衡,对于倾角信号做出快速响应,因此对电机转矩要求较大。
在此设计中选用国领电机生产的直流电机,其产品型号为GB37Y3530,工作电压6v-12v。
为增大转矩,电机配有1:30传动比的减速器。
2.2电机测速方案图3霍尔测速传感器在电机测速方案上主流的方案有两种,分别是光电编码器和霍尔传感器。
光电编码器测量精度由码盘刻度决定,刻度越多精度越高;霍尔传感器精度由永磁体磁极数目决定,同样是磁极对数越高精度越高。
由于两轮自平衡车工作于剧烈震动环境中,光电编码器不适应这种环境,因此选用霍尔传感器来测量速度。
电机尾部加装双通道霍尔效应编码器,AB双路输出,单路每圈脉冲16CPR,双路上下沿共输出64CPR,配合1:30的减速器传动比,可以计算出车轮转动一圈输出的脉冲数目为64X30=1920CPR,完全符合测速要求。
2.3电机驱动控制系统概述本平台电机驱动采用全桥驱动芯片L298N,内部包含4通道逻辑驱动电路,两个H-Bridge的高电压、大电流双全桥式驱动器。
本驱动桥能驱动46V、2A 以下的电机。
其输出可以同时控制两个电机的正反转,非常适合两轮自平衡车开发,其原理图如下图所示图4L298N原理图采用脉宽调制方式(即PWM,Pulse Width Modulation)来调整电机的转速和转向。
脉宽调制是通过改变发出的脉冲宽度来调节输入到电机的平均电压,即通过不同方波的平均电压不同来改变电机转速。
图5PWM脉宽调节示意2.4倾角位置采集倾角和角速度采集是两轮自平衡车控制的重点,选用MPU6050模块作为其采集模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双轮自平衡车设计报告学院…………..........班级……………………姓名………………..手机号…………………..姓名………………..手机号…………………..姓名………………..手机号…………………..目录一、双轮自平衡车原理二、总体方案三、电路和程序设计四、算法分析及参数确定过程一.双轮自平衡车原理1.控制小车平衡的直观经验来自于人们日常生活经验。
一般的人通过简单练习就可以让一个直木棒在手指尖上保持直立。
这需要两个条件:一个是托着木棒的手掌可以移动;另一个是眼睛可以观察到木棒的倾斜角度和倾斜趋势(角速度)。
通过手掌移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。
这两个条件缺一不可,让木棒保持平衡的过程实际上就是控制中的负反馈控制。
图1 木棒控制原理图2.小车的平衡和上面保持木棒平衡相比,要简单一些。
因为小车是在一维上面保持平衡的,理想状态下,小车只需沿着轮胎方向前后移动保持平衡即可。
图2 平衡小车的三种状态3.根据图2所示的平衡小车的三种状态,我们把小车偏离平衡位置的角度作为偏差;我们的目标是通过负反馈控制,让这个偏差接近于零。
用比较通俗的话描述就是:小车往前倾时车轮要往前运动,小车往后倾时车轮要往后运动,让小车保持平衡。
4.下面我们分析一下单摆模型,如图4所示。
在重力作用下,单摆受到和角度成正比,运动方向相反的回复力。
而且在空气中运动的单摆,由于受到空气的阻尼力,单摆最终会停止在垂直平衡位置。
空气的阻尼力与单摆运动速度成正比,方向相反。
图4 单摆及其运动曲线类比到我们的平衡小车,为了让小车能静止在平衡位置附近,我们不仅需要在电机上施加和倾角成正比的回复力,还需要增加和角速度成正比的阻尼力,阻尼力与运动方向相反。
5 平衡小车直立控制原理图5.根据上面的分析,我们还可以总结得到一些调试的技巧:比例控制是引入了回复力;微分控制是引入了阻尼力,微分系数与转动惯量有关。
在小车质量一定的情况下,重心位置增高,因为需要的回复力减小,所以比例控制系数下降;转动惯量变大,所以微分控制系数增大。
在小车重心位置一定的情况下,质量增大,因为需要的回复力增大,比例控制系数增大;转动惯量变大,所以微分控制系数增大。
二.总体方案■小车总框图三.电路和程序设计1.主要元器件选型A. STM32F103RCT6最小核心板■小容量增强型,32位基于ARM核心的带16或32K字节闪存的微控制器USB、CAN、6个定时器、2个ADC 、6个通信接口功能。
■内核:ARM 32位的Cortex™-M3 CPU−最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHz(Dhrystone2.1)。
−单周期乘法和硬件除法。
■存储器−从16K到32K字节的闪存程序存储器。
−从6K到10K字节的SRAM。
■时钟、复位和电源管理− 2.0~3.6伏供电和I/O引脚。
−上电/断电复位(POR/PDR)、可编程电压监测器(PVD)。
− 4~16MHz晶体振荡器。
−内嵌经出厂调校的8MHz的RC振荡器。
−产生CPU时钟的PLL−带校准功能的32kHz RTC振荡器■低功耗−睡眠、停机和待机模式− VBAT为RTC和后备寄存器供电■2个12位模数转换器,1μs转换时间(多达16个输入通道)−转换范围:0至3.6V−双采样和保持功能−温度传感器■DMA:− 7通道DMA控制器−支持的外设:定时器、ADC、SPI、I2C和USART■多达80个快速I/O端口− 26/37/51个I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号B. L298N双直流电机驱动模块■板载一个L298N马达控制芯片和一个7805稳压芯片。
■模块可以同时驱动2个直流电机或者一个五线四相式步进电机。
■模块输入电压6~12V■常用的电机驱动功能够用切资料也很好找。
C.传感器MPU6050模块■此六轴模块采用先进的数字滤波技术(卡尔曼滤波),能有效降低测量噪声,提高测量精度。
模块内部集成了运动引擎DMP,获取四元数得到当前姿态。
姿态测量精度0.01度,稳定性极高,性能甚至优于某些专业的倾角仪!采用高精度的陀螺加速度计MPU6050通过IIC协议输出保证数据的准确性。
■电压:3V~6V 。
电流:<10mA 。
体积:17.8mm X 17.8mm 重量:1.1g■测量维度:加速度:3 维,角速度:3 维,姿态角:3 维■量程:加速度:± 16g,角速度:± 2000°/s。
■分辨率:加速度:6.1e-5g,角速度:7.6e-3°/s。
■稳定性:加速度:0.01g,角速度 0.05°/s。
■数据输出频率 100Hz(波特率 115200)/20Hz(波特率 9600)。
■波特率 115200kps/9600kps。
D.HC-05蓝牙主从一体模块■供电电压3.3V~3.6V;■支持AT指令集配置模块;■采用CSR主流蓝牙芯片,蓝牙V2.0协议标准;■波特率最高为1382400bps;■配对以后当全双工串口使用,无需了解任何蓝牙协议,但仅支持8位数据位、1位停止位、无奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。
2电路设计■STM32核心板原理图叮叮小文库■电机驱动原理图■MPU6050原理图■蓝牙模块原理图四.算法分析及参数确定■小车直立环使用PD(比例微分)控制器,其实一般的控制系统单纯的P 控制或者PI 控制就可以了,但是那些对干扰要做出迅速响应的控制过程需要D (微分)控制。
直立控制的PD代码int balance(float Angle,float Gyro){float Bias,kp=300,kd=1;int balance;Bias=Angle-0; //计算直立偏差balance=kp*Bias+Gyro*kd; //计算直立PWMreturn balance; //返回直立PWM}参数是平衡小车倾角和Y 轴陀螺仪(这个取决于MPU6050 的安装),调试过程包括确定平衡小车的机械中值、确定kp 值的极性(也就是正负号)和大小、kd 值的极性和大小等步骤。
在调试直立环的时候,我们要在定时中断服务函数里面屏蔽速度环和转向环。
■确定平衡小车的机械中值把平衡小车放在地面上,绕电机轴旋转观察小车什么时候平衡用量角器量大概中值在哪。
本小车为2度。
■确定kp 值的极性(令kd=0)首先我们估计kp的取值范围。
我们的PWM设置的是7200代表占空比100%,假如我们设定kp 值为720,那么平衡小车在±10°的时候就会满转。
根据我们的感性认识,这显然太大了,那我们就可以估计kp 值在0~720 之间,首先大概我们给一个值kp=-200,我们可以观察到,小车往哪边倒,电机会往那边加速让小车到下,就是一个我们不愿看到的正反馈的效果。
说明kp 值的极性反了,接下来我们设定kp=200,这个时候可以看到平衡小车有直立的趋势,虽然响应太慢,但是,我们可以确定kp 值极性是正的。
具体的数据接下来再仔细调试。
■确定kp 值的大小(令kd=0)确定参数的原则是:kp 一直增加,直到出现大幅度的低频抖动。
定kp=200,这个时候我们可以看到,小车虽然有平衡的趋势,但是显然响应太慢了。
定kp=680,这个时候我们可以看到,小车的响应明显加快,而且来回推动小车的时候,会有大幅度的低频抖动。
说明这个时候kp 值已经足够大了,需要增加微分控制削弱p 控制,抑制低频抖动。
■确定kd 值的极性(令kp=0)我们得到的MPU6050 输出的陀螺仪的原始数据,通过观察数据,我们发现最大值不会超过4 位数(正常应用在平衡小车上的时候),再根据7200 代表占空比100%,所以我们估算kd 值应该在0~3 之间,我们先设定kd=-0.5,当我们拿起小车旋转的时候,车轮会反向转动,并没有能够实现跟随效果。
这说明了kd 的极性反了。
接下来,我们设定kd=0.5,这个时候我们可以看到,当我们旋转小车的时候,车轮会同向以相同的速度跟随转动,这说明我们实现了角速度闭环,至此,我们可以确定kd 的极性是正的。
具体的数据接下来再仔细调试。
■确定kd 值的大小(令kp=500)确定参数的原则是:kd 一直增加,直到出现高频抖动。
设定kd=0.5,这个时候我们可以看到,低频大幅度频抖动已经基本消除。
设定kd=1,这个时候我们可以看到,整体性能已经非常棒。
设定kd=3.8,这个时候我们可以看到,小车开始出现剧烈抖动至此,我们可以确定得到kp=500,kd=1.7 是P、D 参数的最大值。
然后我们进行最关键的一步,对每个系数乘以0.6,取整得到kp=680,kd=2,这就是最终我们需要的参数,这样做的原因是,我们之前得到的参数是kp、kd 最对每个数据乘以0.6 得到。
这个时候我们可以看到,小车没有任何的抖动,非常平稳,但是依然无法保持长时间的直立,直立很短一段时间后会往一个方向加速倒下。
这个等我们下面加上速度环才能得到更好的性能。
只有直立环是很难让小车达到很好的直立效果的。
■平衡小车速度控制调试平衡小车速度环使用PI(比例积分)控制器,这也是速度控制最常使用的控制器。
PI 控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差,将偏差的比例(P)和积分(I)通过线性组合构成控制量对被控对象进行控制。
■计算速度偏差根据公式偏差=测量值-目标值测量值我们使用左右编码器之和表示,我们没有必要纠结于是否要除以2,因为这样就引入舍去误差,我们需要的其实是一个可以表示速度变化的变量。
另外,我们的目标速度设置为零。
所以,可以得到Encoder_Least =(Encoder_Left+Encoder_Right)-0;然后,我们对速度值进行低通滤波,具体的系数由工程经验得到。
这样做的目的是为了减缓速度值的变化,防止速度控制对直立造成干扰,因为平衡小车系统里面,直立控制是主要的,其他控制对于直立来说都是一种干扰。
■确定kp 与ki 值的极性为了调试方便,接下来我们先关闭之前已经调试好的直立控制部分,积分项由偏差的积分得到,所以积分控制和比例控制的极性是相同的。
的平衡小车速度控制系统里面,一般我们可以把ki 值设置为ki=kp/200;这样,只要我们可以得到kp 值的大小和极性,就可以完成速度控制部分的参数整定了。
显然,这样大大缩短了PID 参数整定的时间。
另外要说明的是,虽然这里的PI 控制器是速度控制常用的一种控制器,但是和普通的调速系统不一样,这里的速度控制是正反馈的,当小车以一定的速度运行的时候,我们要让小车停下来,小车需要行驶更快的速度去“追”,小车运行的速度越快,去“追”的速度也就越快,所以这是一个正反馈的效果。