基于pid控制器的两轮自平衡小车设计.docx
- 文档编号:8841263
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:19
- 大小:30.30KB
基于pid控制器的两轮自平衡小车设计.docx
《基于pid控制器的两轮自平衡小车设计.docx》由会员分享,可在线阅读,更多相关《基于pid控制器的两轮自平衡小车设计.docx(19页珍藏版)》请在冰点文库上搜索。
基于pid控制器的两轮自平衡小车设计
基于pid控制器的两轮自平衡小车设计
基于pid控制器的两轮自平衡小车设计本科毕业设计基于PID控制器的两轮自平衡小车设计摘要两轮自平衡小车具有体积小、结构简单、运动灵活的特点,适用于狭小和危险的工作空间,在安防和军事上有广泛的应用前景。
两轮自平衡小车是一种两轮左右平衡布置的,像传统倒立摆一样,本身是一种自然不稳定体,其动力学方程具有多变量、非线性、强耦合、时变、参数不确定性等特性,需要施加强有力的控制手段才能使其保持平衡。
本文在总结和归纳国内外对两轮自平衡小车的研究现状,提出了自己的两轮自平衡小车软硬件设计方案,小车硬件采用陀螺仪和加速度传感器检测车身的重力方向的倾斜角度和车身轮轴方向上的旋转加速度,数据通过控制器处理后,控制电机调整小车状态,使小车保持平衡。
由于陀螺仪存在温漂和积分误差,加速度传感器动态响应较慢,不能有效可靠的反应车身的状态,所以软件使用互补滤波算法将陀螺仪和加速度传感器数据融合,结合陀螺仪的快速的动态响应特性和加速度传感器的长时间稳定特性,得到一个优化的角度近似值。
文中最后通过实验验证了自平衡小车软硬件控制方案的可行性。
关键词:
自平衡互补滤波数据融合倒立摆Two-wheeledSelf-balancingRobotMaXuedong(CollegeofEngineering,SouthChinaAgriculturalUniversity,Guangzhou510642,China)Abstract:
Thetwo-wheeledself-balancingrobotissmallinmechanism,withsimplestructureandcanmakeflexiblemotion,suitablefornarrowanddangerousworkspace.Soithaswiderangeofapplicationsinsecurityandmilitary.Thetwo-wheeledself-balancingrobotisanaturalunstablesystem.Thedeviceofthissystemisaparallelarrangementoftwosinglewheels,likeatraditionalinvertedpendulum.Itsdynamicsaremulti-variable,non-linear,seriouscouplinganduncertainparametersetc.Itmustbeexertedstrongcontroltomakeitstable.Inthispaper,studiesontwo-wheelself-balancingvehicleathomeandabroadaresummarized.Wedesignedthehardwareandsoftwareofourtwo-wheelself-balancingvehicle.Thecarusingrotationalaccelerometers,gyroscopesandaccelerationsensorstodetectbodyconditionandthestateinwhichthepitchchangerate.Thecentralprocessingunitcalculatetheappropriatedataandinstructions,andcontrolthemotortoachievethebodybalancing.BecauseofgyrodriftproblemsandIntegralerrorwithaccelerometersandslowdynamicresponseofaccelerationsensors.Itcan’tprovideeffectiveorreliableinformationtoreflecttherealstateofitsbody.Soweusingcomplementaryfiltertofusethedataoftwosensors,sothattheinclinationofitsbodycanbeapproximatedbetter.Finally,weverifiedthefeasibilityofthesystem’shardwareandsoftwarethroughexperiment.KeyWords:
Self-BalancingcomplementaryfilterDataFusionInvertedPendui目录1前言11.1研究意义11.2国内外研究现状11.2.1国外研究成果11.2.2国内研究成果11.3本文的研究内容22两轮平衡车的平衡原理22.1平衡车的机械结构22.2两轮车倾倒原因的受力分析32.3平衡的方法33系统方案分析与选择论证43.1系统方案设计43.1.1主控芯片方案43.1.2姿态检测传感器方案43.1.3电机选择方案53.2系统最终方案54主要芯片介绍和系统模块硬件设计64.1加速度传感器ADXL34564.2陀螺仪传感器L3G4200D84.3主控电路104.4电机驱动电路114.5供电电路115系统软件设计125.1系统初始化135.2滤波器145.2.1低通滤波器155.2.2互补滤波器155.3PID控制器175.3.1PID概述175.3.2数字PID算法175.3.3PID控制器设计186硬件电路196.1硬件制作与调试196.2硬件调试结果196.2.1姿态感知系统测试结果196.2.2PID控制器测试结果207结论21参考文献23附录24致谢26华南农业大学本科生毕业设计成绩评定表I1前言1.1研究意义应用意义。
自平衡车巧妙地利用地心引力使其自身保持平衡,并使得重力本身成为运动动能的提供者,载重越大,行驶动能也就越大,具有环保的特点(胡春亮等,2007)。
驾驶者不必担心掌握平衡,车体自身的平衡稳定性,使得原本由于平衡能力障碍而无法骑自行车的人群也同样可以驾驭。
车身小巧,转弯灵活,可以在狭窄、大转角的工作场合作业。
自平衡车的种种优点使其可以作为一种快速、环保、安全、舒适、小巧灵活的绿色交通工具,是未来汽车和自行车的替代品,其市场的广阔性与经济效益不言而喻。
理论研究意义。
自平衡车,在重力作用下车体姿态本征不稳定,需要电机的控制来维持姿态的平衡,通过电机驱动转动车轮,传感器、软件、微处理器及车体机械装置整体协调控制电动车平衡,是集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合复杂非线性系统,其控制难度大,控制算法复杂,给控制理论提出了很大的挑战,具有较强的理论研究价值。
1.2国内外研究现状美国、日本、瑞士等国家在研究自平衡车领域起步较早,目前已经达到了先进的水平。
国内的一些高校以及科研机构也对其有所研究,并取得了一定的成绩。
1.2.1国外研究成果美国Lego公司SteveHassenplug设计了两轮自平衡传感式机器人Legway。
实现了电机差动驱动方式,遥控操作,可以向前,向后和转弯时保持平衡,可以实现U型回转和零半径转弯。
Legway是第一个自平衡机器人。
采用了模块化的结构设计,安装和拆卸都很方便。
日本村田制作所的科学家研发了骑独轮车的机器人“村田顽童”和“村田婉童”。
保持左右平衡通过转动机器人体内配备的惯性轮来实现。
瑞士联邦工学院的工业电子实验室为模拟人类行走设计并制造了一个基于倒立摆理论的两轮小车,该小车使用DSP控制,车架上方附有重物模拟实际车中的驾驶员,该小车使用陀螺仪和电机编码器得到的信息来稳定系统。
1.2.2国内研究成果哈尔滨工业大学设计的HITBot两轮自平衡小车,采用Accodometry方法,通过融合码盘和加速度级数据对位置进行估计,有效解决了两轮自平衡小车在运行过程中遇到打滑、越障、碰撞等异常事件而导致的位置估计失败的问题,解决了非系统测程法误差对机器人位置估计的影响,降低了加速度级固有漂移的不利影响,提高了两轮自平衡车的定位精度。
深圳职业技术学院等设计的两轮自平衡小车Opyanbot,应用最优控制与两轮差动等控制方法设计了控制器,提出了针对两轮自平衡机器人平衡和行进的新策略。
为了提高两轮自平衡机器人的控制效果,利用基于DSP数字电路的全数字智能伺服驱动单元IPM100分别精确控制左右轮电机,并利用上位机实时控制机器人的运动状态,提高了控制精度、可靠度和集成度,得到了很好的控制效果。
1.3本文的研究内容本文研究内容有两轮自平衡小车的姿态检测算法,PID控制算法两方面。
姿态检测算法通过互补滤波器融合姿态传感器(加速度传感器和陀螺仪传感器)数据,得到小车准确稳定的姿态信息,PID调节器则利用这些姿态信息,输出电机控制信号,控制电机的转动,使小车得以平衡。
2两轮平衡车的平衡原理2.1平衡车的机械结构图1平衡车机械结构现有的自平衡车结构种类繁多,但都归根于图1的基本结构,因此,本设计将使用图1的结构,车体由三层组成,从上到下依次是电池层,主控层,电机驱动层,电池层用于放置给整个系统供电的6V锂电池,主控层由主控芯片最小系统和传感器模块组成,电机驱动层接受单片机信号,并控制电机。
每个层都是功能模块的电路路板之间用铜柱固定,电机外壳与电机驱动电路板固定,电机转轴与两只轮胎相连。
2.2两轮车倾倒原因的受力分析两轮车是一个高度不稳定系统,在重力作用下车体姿态本征不稳定,致使在没有外加调控下必然倾倒的现象(张三川,2011)。
其受力如图2所示。
图2平衡车受力分析图理想状态下,当M(车体重力)的方向与H(车轮支持力)的方向相差180°时,系统此时受力平衡,可以达到稳定不倒的状态,θ角度为0°。
但自然界存在各式各样的干扰,θ角度总不为0,只要产生θ角,即使角度很小,M的方向与H的方向亦产生了角度,合力不为0,根据牛顿运动定律可知,θ角度将越来越大,直至车体倾倒在地上。
2.3平衡的方法从以上分析可得,导致车体倾倒的最大因素是θ角度的产生,因此,欲使小车平衡,需要消除θ或者将θ角度控制在一个足够小的范围内。
其整体控制环路图3所示。
图3小车平衡原理流程图消除θ角度的有效方法,是通过电机的转动,带动车体下部的移动,以保持与车体上部在一水平垂直线上。
3系统方案分析与选择论证3.1系统方案设计3.1.1主控芯片方案方案一:
采用意法半导体(ST)公司的STM32单片机作为主控芯片。
此芯片是以ARM的Cortex-M系列为内核的单片机,相对其他单片机,外设丰富,主频高,价格便宜,有专门的软件库,操作简单,调试方便,低功耗。
强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
方案二:
采用ATMEL公司的AVR单片机AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。
提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能。
其中的一款单片机型号为Atmega128,有64个引脚,最高可达到16M主频,IIC,UART,SPI接口都比较丰富,但价格高。
方案三:
采用宏晶科技有限公司的STC12C5A60S2增强型51单片机作为主控芯片。
此芯片内置ADC(模数转换)和IIC总线接口,且内部时钟不分频,可达到1MPS。
性价比低。
考虑到此系统的复杂度,需要与传感器进行IIC通讯,输出灵活可控制的PWM信号,以及进行大量的数学运算。
从性能和价格上综合考虑选择方案一,即用STM32作为本系统的主控芯片,由于外设比较简单,只需要IIC和PWM通道,因此具体型号定位为STM32RBT6。
3.1.2姿态检测传感器方案方案一:
使用加速度传感器进行倾角。
重力加速度传感器(g-sensor)能过输出以其芯片为中心的三轴加速度,通过这三个轴的重力加速度便可以计算出芯片的倾角,即车体的倾角。
该方案的优点是重力加速度的静态性能很好,在车体静态下能测出准确稳定的倾角,而在动态下,三轴加速度各轴会受到其它加速度的影响,导致其数据并不稳定可靠。
方案二:
使用陀螺仪传感器进行测量。
陀螺仪传感器能输出围绕以芯片为中心的三个轴的角速度,通过读角速度的积分,即可得出倾角。
该方案的优点是陀螺仪的动态性能很好,在动态下测出的角速度没有太多的混杂成分,缺点是陀螺仪具有静态漂移,即静态下,陀螺仪仍然会输出数值,而积分却一直在进行,因此静态时,测出来的角度并不是0°。
方案三:
加速度传感器与陀螺仪传感器结合,通过融合算法,提取出加速度传感器的静态效果和陀螺仪的动态效果。
优点是能测出准确稳定的倾角,但融合算法比较复杂。
综上考虑,由于准确稳定的倾角正是本文要讨论的话题,因此最终选择方案三,即加速度传感器与陀螺仪传感器数据融合测量倾角。
并为了简化电路,最终选择了均为IIC接口的陀螺仪传感器L3G4200和加速度传感器ADXL345。
3.1.3电机选择方案方案一:
步进电机。
步进电机的选择角度正比于脉冲数,有较宽的调速范围,可以采用开环方式控制;步进电机有较大的输出转矩;有优秀的起制动性能;控制精度较高,误差不会累积。
但是步进电机步距角固定,分辨率缺乏灵活性,而且步进驱动时容易造成车体震荡,不利于小车的稳定。
步进电机虽然可以使用细分驱动方式克服上述缺点,但是细分驱动电路结构复杂,而且功耗增大不适合用于电池供电的应用上。
方案二:
直流无刷电机。
直流无刷电机具有直流有刷电机机械特性好、调速范围宽等优点,而且无刷电机没有换向器和电刷,可靠性高,寿命长。
但是无刷电机的驱动电路复杂,而且在本设计中小车为实验性质,车身较小,市面上很难找到大小合适的直流无刷电机。
方案三:
直流有刷电机。
直流有刷电机具有机械特性硬,响应速度快,调速范围宽的特点,满足两轮自平衡小车对灵敏性、快速性等要求,虽然电机的电刷会是电机的寿命缩短,还会引发电磁干扰。
但是由于本设计负载较轻,换向器和电刷的损耗较低。
小车采用多层机械结构,电机驱动电路与其他电路分离,有效降低电磁干扰。
综上所述,本设计使用两个6V带有减速齿轮的直流有刷电机驱动两轮自平衡小车。
3.2系统最终方案使用STM32RBT6为主控芯片,通过IIC接口读取陀螺仪传感器L3G4200和加速度传感器ADXL345的数据,再将两者数据融合测出小车的姿态,最终通过PID输出PWM电机控制信号,由电机驱动完成对电机的控制。
此外,为了调试方便,除了设计了上述给模块外,还扩展了JLINK接口,使用的是SWD模式,用于仿真调试,同时扩展了串口电路,在系统运行时将需要观察的数据通过串口传输到电脑上,以记录数据和绘出数据波形,查看滤波和PID效果。
系统方框图如图5所示。
图5系统方框图4主要芯片介绍和系统模块硬件设计4.1加速度传感器ADXL345MEMS(Micro-Electro-MechanicalSystems)微机电系统有一类传感器是加速度传感器。
ADXL345是一款由ANALOGDEVICES公司生产3轴加速度计,功耗低,包分辨率高(13位),测量范围达±16g。
数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。
该加速度传感器电路的应用电路如图6所示。
图6加速度传感器电路ADXL345非常适合移动设备应用。
它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度(张志强,2011)。
其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。
其集成式存储器管理系统采用一个32级先进先出(FIFO)缓冲器,可用于存储数据,从而将主机处理器负荷降至最低,并降低整体系统功耗。
低功耗模式支持基于运动的智能电源管理,从而以极低的功耗进行阈值感测和运动加速度测量。
数字接口让加速度传感器的外围电路变得很简单,主控芯片通过IIC即可初始化该芯片并读取三轴的加速度值。
表1ADXL345引脚功能管脚功能VDD电源1.9-3.6V输入GND地RESERVED厂家保留功能VS电源1.9-3.6V输入CS片选信号INT1中断引脚1INT2中断引脚2NC悬空SDAIIC数据线SCLIIC时钟线ADXL345的各引脚功能如表1所示。
图6所示为ADXL345的应用电路,图中INT1(Interrupt1)1号中断线与INT2(Interrupt)2号中断线与STM32的外部中断引脚连接,SDA(synchronousDataAdapter)同步数据衔接器与SCL(SerialCommunicationLoop)串行通信环路引脚通过上拉电阻与主控芯片的硬件IIC接口连接,进行IIC通讯。
当INT1或者INT2发生低电平时,表明传感器内部数据已经准备好,此时可通过IIC接口读出加速度计三个轴的数据。
在读取三轴加速度数据之前,应对ADXL345进行必要的初始化。
ADL345具有可设置的多个量程,即±2g,±4g,±8g,±16g这三个量程,在此应该设置为±16g满量程。
可采用固定的4mg/LSB分辨率模式,该分辨率可测得0.25°的倾角变化。
将转换速率设置为最小的12.5微秒。
将电源模式设置为低功耗模式,以减小对锂电池的消耗。
使能引脚中断,单片机可以通过此外部中断,触发对三轴加速度数据的读取,用中断触发的方式可以较少系统计算周期,提高电机有效控制频率。
图7加速度传感器测量角度原理图7是以传感器为基准简建立的三维坐标系,从传感器读出的数据通过一定的运行可以算出传感器的各类倾斜角,其中,θ正是平衡车要消除的角度,车身倾斜角度可以通过公式
(1)计算出。
式
(1)中,A是各轴输出的加速度分量。
(1)4.2陀螺仪传感器L3G4200D加速度计主要是用来测量静态加速度,而动态的加速度值对系统是一种干扰,用陀螺仪测量出车体的角速度信号能够有效的去除动态的干扰,两种装置并用可以在动态条件下实时的计算出自平衡车的倾角信息(冯智勇等,2011)。
本方案采用的陀螺仪传感器型号是L3G4200。
L3G4200D是意法半导体(ST)近日推出一款业界独创、采用一个感应结构检测3条正交轴向运动的3轴数字陀螺仪。
该3轴数字陀螺仪让用户可以设定全部量程,量程范围从±250dps~±2000dps,低量程数值用于高精度慢速运动测量,而高量程则用于测量超快速的手势和运动。
这款器件提供一个16位数据输出,以及可配置的低通和高通滤波器等嵌入式数字功能。
其应用引脚功能如表2所示。
表2L3G4200引脚功能管脚功能VDD电源1.9-3.6V输入GND地RESERVED厂家保留功能VS电源1.9-3.6V输入CS片选信号INT中断引脚NC悬空SDAIIC数据线SCLIIC时钟线与加速度传感器的数字接口一致,也是通过用SDA和SCL与主控芯片的硬件IIC接口进行通讯,采用3.3V供电,其应用电路如图8所示。
图8陀螺仪传感器电路从图8可看出L3G4200的应用电路比较简单,不需外接模数转换器等负责的电路,使用极其方便。
通过IIC接口即可读出三轴的角速度,再将读出的数据乘以所设置的量程对应的敏感度,即可得出每个周的角速度,单位为dps(degreepersecond)。
4.3主控电路本设计的两轮自平衡小车采用STM32F103R8单片机为主控芯片。
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。
STM32F103R8具有以下特点:
采用ARM32位Cortex-M3内核,最高时钟频率72MHz,1.25DMIPS/MHz,快速的指令执行速度使主控芯片能够运行复杂的滤波和控制算法。
提高控制器的实时控制能力。
片内高达64kBFlash和20kBSRAM,为复杂的算法程序提供足够的存储和运行空间。
两个12位的16通道模拟/数字转换器(ADC),转换速度高达1Msample/s,ADC支持规则转换序列和注入转换序列两种转换模式,支持DMA模式,转换结果的搬运不需要CPU干预,提高程序运行效率。
主控及其外围电路如图9所示图9主控芯片及其外围电路图9中控制电路包括主控芯片、时钟电路、复位电路、模拟电路供电电路。
时钟采用8MHz外部晶振作为时钟源,通过主控芯片内部PLL倍频后使主控芯片运行在72MHz。
主控芯片为低电平复位,复位电路通过阻容电路构成上电复位电路。
芯片采用3.3V供电。
最小系统还引出了不需要使用的SPI,IIC,UART等接口,方便后续功能的扩张和调试。
4.4电机驱动电路本设计中使用减速直流有刷电机作为两轮自平衡车的驱动电机,电机采用H桥驱动方式,使用脉宽调制方式调节电机两端电压有效值,达到调速的目的[7]。
电机驱动电路如图10所示。
图10所示电路只给出了半桥驱动电路,H桥左右两个桥臂电路完全相同。
图10电机驱动电路本设计采用MOSFET作为驱动电路的开关器件,MOSFET型号为IRFR1205,开启电压最大值为VGS=4.0V,适合电池供电的应用;在VGS=10V时,RDS=0.027Ω,低导通电阻一方面提高开关效率,另一方面降低开关器件的发热量,提高系统稳定性(康少华等,2011)。
由于主控芯片输出信号高电平电压值VOH=3.3V,不能直接驱动MOSFET导通,所以电路设计了半桥电路,高边驱动电路由U1、D1和C1组成。
U1使用InternationalRectifier公司的IR2302芯片,该芯片为专用的半桥驱动电路,IR2302支持输出5~20V的开启电压,支持3.3V、5V和15V逻辑输入。
硬件集成100ns死区控制电路。
4.5供电电路本设计使用锂电池供电,供电电压6.4V,供电电路将电源电压转换成3.3V供主控芯片和传感器电路使用。
由于电机的功耗较大,起制动时会引起电源电压的波动,所以电路设计滤波电路稳定电压输出。
供电电路如图11所示。
图11供电电路C1、L1、C2构成π型滤波器,对输入电压进行滤波。
滤波器截止频率为,可以有效滤除来自电源的噪声。
U1为低压差线性稳压源,将电源转化成3.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 pid 控制器 平衡 小车 设计