




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计基于 PID 控制器的两轮自平衡小车设计摘要两轮自平衡小车具有体积小、 结构简单、 运动灵活的特点, 适用于狭小和危险的工 作空间,在安防和军事上有广泛的应用前景。 两轮自平衡小车是一种两轮左右平衡布置 的,像传统倒立摆一样, 本身是一种自然不稳定体, 其动力学方程具有多变量、 非线性、 强耦合、时变、参数不确定性等特性,需要施加强有力的控制手段才能使其保持平衡。 矚慫润厲钐瘗睞枥庑赖。本文在总结和归纳国内外对两轮自平衡小车的研究现状, 提出了自己的两轮自平衡 小车软硬件设计方案, 小车硬件采用陀螺仪和加速度传感器检测车身的重力方向的倾斜 角度和车身轮轴方向上的旋转加速度, 数据通
2、过控制器处理后, 控制电机调整小车状态, 使小车保持平衡。 由于陀螺仪存在温漂和积分误差, 加速度传感器动态响应较慢, 不能 有效可靠的反应车身的状态, 所以软件使用互补滤波算法将陀螺仪和加速度传感器数据融合,结合陀螺仪的快速的动态响应特性和加速度传感器的长时间稳定特性, 得到一个 优化的角度近似值。 聞創沟燴鐺險爱氇谴净。文中最后通过实验验证了自平衡小车软硬件控制方案的可行性。关键词: 自平衡互补滤波 数据融合 倒立摆Two-wheeled Self-balancing RobotMa Xuedong(College of Engineering, South China Agricultu
3、ral University, Guangzhou 510642, China残) 骛楼諍锩瀨濟溆塹籟。Abstract:The two-wheeled self-balancing robot is small in mechanism, with simple structure and can make flexible motion, suitable for narrow and dangerous work space. So it has wide range of applications in security and military. The two-wheeled se
4、lf-balancing robot is a natural unstable system. The device of this system is a parallel arrangement of two single wheels, like a traditional inverted pendulum. Its dynamics are multi-variable, non-linear, serious coupling and uncertain parameters etc. It must be exerted strong control to make it st
5、able.酽锕极額閉镇桧猪訣锥。In this paper, studies on two-wheel self-balancing vehicle at home and abroad are summarized. We designed the hardware and software of our two-wheel self-balancing vehicle. The car using rotational accelerometers, gyroscopes and acceleration sensors to detect body condition and the s
6、tate in which the pitch change rate. The central processing unit calculate the appropriate data and instructions, and control the motor to achieve the body balancing. Because of gyro drift problems and Integral error with accelerometers and slow dynamic response of acceleration sensors. It can t pro
7、vide effective or reliable information to reflectthe real state of its body. So we using complementary filter to fuse the data of two sensors, so that the inclination of its body can be approximated better彈. 贸摄尔霁毙攬砖卤庑。Finall y, we verified the feasibility of the system hsa rdware and software throug
8、h experiment.謀荞抟箧飆鐸怼类蒋薔。Key Words: Self-Balancing complementary filter Data Fusion Inverted Pendui厦礴恳蹒骈 時盡继價骚。1 前言 0 茕桢广鳓鯡选块网羈泪。1.1 研究意义 0 鹅娅尽損鹌惨歷茏鴛賴。1.2 国内外研究现状 0 籟丛妈羥为贍偾蛏练淨。1.2.1 国外研究成果 0 預頌圣鉉儐歲龈讶骅籴。1.2.2 国内研究成果 1 渗釤呛俨匀谔鱉调硯錦。1.3 本文的研究内容 1 铙誅卧泻噦圣骋贶頂廡。2 两轮平衡车的平衡原理 1 擁締凤袜备訊顎轮烂蔷。2.1 平衡车的机械结构 1 贓熱俣阃歲匱阊
9、邺镓騷。2.2 两轮车倾倒原因的受力分析 2 坛摶乡囂忏蒌鍥铃氈淚。2.3 平衡的方法 2 蜡變黲癟報伥铉锚鈰赘。3 系统方案分析与选择论证 3 買鲷鴯譖昙膚遙闫撷凄。3.1 系统方案设计 3 綾镝鯛駕櫬鹕踪韦辚糴。3.1.1 主控芯片方案 3 驅踬髏彦浃绥譎饴憂锦。3.1.2 姿态检测传感器方案 3 猫虿驢绘燈鮒诛髅貺庑。3.1.3 电机选择方案 4 锹籁饗迳琐筆襖鸥娅薔。3.2 系统最终方案 5 構氽頑黉碩饨荠龈话骛。4 主要芯片介绍和系统模块硬件设计 5 輒峄陽檉簖疖網儂號泶。4.1 加速度传感器 ADXL345 5 尧侧閆繭絳闕绚勵蜆贅。4.2 陀螺仪传感器 L3G4200D 8 识饒
10、鎂錕缢灩筧嚌俨淒。4.3 主控电路 9 凍鈹鋨劳臘锴痫婦胫籴。4.4 电机驱动电路 10 恥諤銪灭萦欢煬鞏鹜錦。4.5 供电电路 11 鯊腎鑰诎褳鉀沩懼統庫。5 系统软件设计 12 硕癘鄴颃诌攆檸攜驤蔹。5.1 系统初始化 13 阌擻輳嬪諫迁择楨秘騖。5.2 滤波器 14 氬嚕躑竄贸恳彈瀘颔澩。5.2.1 低通滤波器 15 釷鹆資贏車贖孙滅獅赘。5.2.2 互补滤波器 15 怂阐譜鯪迳導嘯畫長凉。5.3 PID 控制器 17 谚辞調担鈧谄动禪泻類。5.3.1 PID 概述 17 嘰觐詿缧铴嗫偽純铪锩。5.3.2 数字 PID 算法 18 熒绐譏钲鏌觶鷹緇機库。5.3.3 PID 控制器设计 1
11、8 鶼渍螻偉阅劍鲰腎邏蘞。6 硬件电路 19 纣忧蔣氳頑莶驅藥悯骛。6.1 硬件制作与调试 19 颖刍莖蛺饽亿顿裊赔泷。6.2 硬件调试结果 19 濫驂膽閉驟羥闈詔寢賻。6.2.1 姿态感知系统测试结果 19 銚銻縵哜鳗鸿锓謎諏涼。6.2.2 PID 控制器测试结果 20 挤貼綬电麥结鈺贖哓类。7 结论 22 赔荊紳谘侖驟辽輩袜錈。参考文献 23 塤礙籟馐决穩賽釙冊庫。附录 24裊樣祕廬廂颤谚鍘羋蔺。致谢 26仓嫗盤紲嘱珑詁鍬齊驁。华南农业大学本科生毕业设计成绩评定表1 前言1.1 研究意义应用意义。自平衡车巧妙地利用地心引力使其自身保持平衡, 并使得重力本身成为 运动动能的提供者, 载重越大
12、,行驶动能也就越大, 具有环保的特点 (胡春亮等, 2007)。 驾驶者不必担心掌握平衡, 车体自身的平衡稳定性, 使得原本由于平衡能力障碍而无法 骑自行车的人群也同样可以驾驭。车身小巧,转弯灵活,可以在狭窄、大转角的工作场 合作业。自平衡车的种种优点使其可以作为一种快速、环保、安全、舒适、小巧灵活的 绿色交通工具,是未来汽车和自行车的替代品,其市场的广阔性与经济效益不言而喻。 绽萬璉轆娛閬蛏鬮绾瀧。理论研究意义。 自平衡车, 在重力作用下车体姿态本征不稳定, 需要电机的控制来 维持姿态的平衡,通过电机驱动转动车轮,传感器、软件、微处理器及车体机械装置整 体协调控制电动车平衡, 是集环境感知、
13、 动态决策与规划、 行为控制与执行等多种功能 于一体的综合复杂非线性系统, 其控制难度大, 控制算法复杂, 给控制理论提出了很大 的挑战,具有较强的理论研究价值。 骁顾燁鶚巯瀆蕪領鲡赙。1.2 国内外研究现状美国、日本、瑞士等国家在研究自平衡车领域起步较早, 目前已经达到了先进的水 平。国内的一些高校以及科研机构也对其有所研究,并取得了一定的成绩。 瑣钋濺暧惲锟缟 馭篩凉。1.2.1 国外研究成果美国 Lego 公司 Steve Hassenplug设计了两轮自平衡传感式机器人 Legway。实现了 电机差动驱动方式,遥控操作,可以向前,向后和转弯时保持平衡,可以实现 U 型回 转和零半径转弯
14、。 Legway 是第一个自平衡机器人。采用了模块化的结构设计,安装和 拆卸都很方便。 鎦诗涇艳损楼紲鯗餳類。日本村田制作所的科学家研发了骑独轮车的机器人 “村田顽童 ”和“村田婉童 ”。保持 左右平衡通过转动机器人体内配备的惯性轮来实现。 栉缏歐锄棗鈕种鵑瑶锬。瑞士联邦工学院的工业电子实验室为模拟人类行走设计并制造了一个基于倒立摆 理论的两轮小车,该小车使用 DSP 控制,车架上方附有重物模拟实际车中的驾驶员, 该小车使用陀螺仪和电机编码器得到的信息来稳定系统。 辔烨棟剛殓攬瑤丽阄应。1.2.2 国内研究成果哈尔滨工业大学设计的 HITBot 两轮自平衡小车,采用 Accodometry 方
15、法,通过融 合码盘和加速度级数据对位置进行估计, 有效解决了两轮自平衡小车在运行过程中遇到 打滑、越障、 碰撞等异常事件而导致的位置估计失败的问题, 解决了非系统测程法误差 对机器人位置估计的影响, 降低了加速度级固有漂移的不利影响, 提高了两轮自平衡车 的定位精度。 峴扬斕滾澗辐滠兴渙藺。深圳职业技术学院等设计的两轮自平衡小车 Opyanbot,应用最优控制与两轮差动 等控制方法设计了控制器 ,提出了针对两轮自平衡机器人平衡和行进的新策略。为了提 高两轮自平衡机器人的控制效果 ,利用基于 DSP 数字电路的全数字智能伺服驱动单元 IPM100 分别精确控制左右轮电机 ,并利用上位机实时控制机
16、器人的运动状态 ,提高了控 制精度、可靠度和集成度 ,得到了很好的控制效果。 詩叁撻訥烬忧毀厉鋨骜。1.3 本文的研究内容本文研究内容有两轮自平衡小车的姿态检测算法, PID 控制算法两方面。 姿态检测 算法通过互补滤波器融合姿态传感器 (加速度传感器和陀螺仪传感器 )数据,得到小车准 确稳定的姿态信息, PID 调节器则利用这些姿态信息,输出电机控制信号,控制电机的 转动,使小车得以平衡。 则鯤愜韋瘓賈晖园栋泷。2 两轮平衡车的平衡原理2.1 平衡车的机械结构图 1 平衡车机械结构现有的自平衡车结构种类繁多, 但都归根于图 1的基本结构, 因此,本设计将使用 图 1 的结构,车体由三层组成,
17、从上到下依次是电池层,主控层,电机驱动层,电池层用于放置给整个系统供电的 6V 锂电池,主控层由主控芯片最小系统和传感器模块组成, 电机驱动层接受单片机信号, 并控制电机。 每个层都是功能模块的电路路板之间用铜柱 固定,电机外壳与电机驱动电路板固定,电机转轴与两只轮胎相连。 胀鏝彈奥秘孫戶孪钇賻。2.2 两轮车倾倒原因的受力分析两轮车是一个高度不稳定系统, 在重力作用下车体姿态本征不稳定, 致使在没有外 加调控下必然倾倒的现象 (张三川, 2011)。其受力如图 2 所示。 鳃躋峽祷紉诵帮废掃減。T mgH图 2 平衡车受力分析图理想状态下,当 M(车体重力)的方向与 H(车轮支持力 )的方向
18、相差 180时,系统此 时受力平衡,可以达到稳定不倒的状态, 角度为 0。但自然界存在各式各样的干扰, 角度总不为 0,只要产生 角,即使角度很小, M 的方向与 H 的方向亦产生了角度, 合力不为 0,根据牛顿运动定律可知, 角度将越来越大,直至车体倾倒在地上。 稟虛嬪 赈维哜妝扩踴粜。2.3 平衡的方法从以上分析可得, 导致车体倾倒的最大因素是 角度的产生,因此,欲使小车平衡, 需要消除 或者将 角度控制在一个足够小的范围内。其整体控制环路图3 所示。 陽簍埡鲑罷規呜旧岿錟。不为零 车体倾斜转动车轮变小=0 车体平衡2图 3 小车平衡原理流程图消除 角度的有效方法, 是通过电机的转动, 带
19、动车体下部的移动, 以保持与车体 上部在一水平垂直线上。3 系统方案分析与选择论证3.1 系统方案设计3.1.1 主控芯片方案方案一:采用意法半导体 (ST)公司的 STM32 单片机作为主控芯片。此芯片是以 ARM 的 Cortex-M 系列为内核的单片机,相对其他单片机,外设丰富,主频高,价格便宜, 有专门的软件库,操作简单,调试方便,低功耗。强型系列时钟频率达到72MHz ,是同类产品中性能最高的产品; 基本型时钟频率为 36MHz,以 16 位产品的价格得到比 16 位产品大幅提升的性能,是 16 位产品用户的最佳选择。 沩氣嘮戇苌鑿鑿槠谔應。方案二:采用 ATMEL 公司的 AVR
20、单片机 AVR 单片机硬件结构采取 8 位机与 16 位机的折中策略,即采用局部寄存器存堆 (32 个寄存器文件 )和单体高速输入 / 输出的方 案 (即输入捕获寄存器、输出比 较匹配寄存器及相应控制逻辑 )。提高了指令执行速度 (1Mips/MHz),克服了瓶颈现象,增强了功能。其中的一款单片机型号为Atmega128,有 64 个引脚,最高可达到 16M 主频, IIC , UART ,SPI 接口都比较丰富,但价格高。 钡嵐縣緱虜荣产涛團蔺。方案三:采用宏晶科技有限公司的 STC12C5A60S2增强型 51 单片机作为主控芯片。 此芯片内置 ADC(模数转换)和 IIC 总线接口,且内
21、部时钟不分频,可达到 1MPS。性价 比低。 懨俠劑鈍触乐鹇烬觶騮。考虑到此系统的复杂度,需要与传感器进行 IIC 通讯,输出灵活可控制的 PWM 信 号,以及进行大量的数学运算。从性能和价格上综合考虑选择方案一,即用 STM32 作 为本系统的主控芯片,由于外设比较简单,只需要 IIC 和 PWM 通道,因此具体型号定 位为 STM32RBT6 。 謾饱兗争詣繚鮐癞别瀘。3.1.2 姿态检测传感器方案方案一:使用加速度传感器进行倾角。 重力加速度传感器 (g-sensor)能过输出以其芯 片为中心的三轴加速度, 通过这三个轴的重力加速度便可以计算出芯片的倾角, 即车体 的倾角。该方案的优点是
22、重力加速度的静态性能很好, 在车体静态下能测出准确稳定的 倾角,而在动态下, 三轴加速度各轴会受到其它加速度的影响, 导致其数据并不稳定可 靠。 呙铉們欤谦鸪饺竞荡赚。方案二:使用陀螺仪传感器进行测量。 陀螺仪传感器能输出围绕以芯片为中心的三 个轴的角速度, 通过读角速度的积分, 即可得出倾角。 该方案的优点是陀螺仪的动态性 能很好, 在动态下测出的角速度没有太多的混杂成分, 缺点是陀螺仪具有静态漂移, 即 静态下,陀螺仪仍然会输出数值,而积分却一直在进行,因此静态时,测出来的角度并 不是 0。 莹谐龌蕲賞组靄绉嚴减。方案三:加速度传感器与陀螺仪传感器结合, 通过融合算法, 提取出加速度传感器
23、 的静态效果和陀螺仪的动态效果。 优点是能测出准确稳定的倾角, 但融合算法比较复杂。 麸肃鹏镟轿騍镣缚縟糶。综上考虑, 由于准确稳定的倾角正是本文要讨论的话题, 因此最终选择方案三, 即 加速度传感器与陀螺仪传感器数据融合测量倾角。 并为了简化电路,最终选择了均为 IIC 接口的陀螺仪传感器 L3G4200 和加速度传感器 ADXL345 。納畴鳗吶鄖禎銣腻鰲锬。3.1.3 电机选择方案 方案一:步进电机。步进电机的选择角度正比于脉冲数,有较宽的调速范围,可以 采用开环方式控制; 步进电机有较大的输出转矩; 有优秀的起制动性能; 控制精度较高, 误差不会累积。 但是步进电机步距角固定, 分辨率
24、缺乏灵活性, 而且步进驱动时容易造 成车体震荡,不利于小车的稳定。步进电机虽然可以使用细分驱动方式克服上述缺点, 但是细分驱动电路结构复杂,而且功耗增大不适合用于电池供电的应用上。 風撵鲔貓铁频钙 蓟纠庙。方案二: 直流无刷电机。 直流无刷电机具有直流有刷电机机械特性好、 调速范围宽 等优点,而且无刷电机没有换向器和电刷,可靠性高,寿命长。但是无刷电机的驱动电 路复杂,而且在本设计中小车为实验性质, 车身较小, 市面上很难找到大小合适的直流 无刷电机。 灭嗳骇諗鋅猎輛觏馊藹。方案三:直流有刷电机。直流有刷电机具有机械特性硬,响应速度快,调速范围宽 的特点, 满足两轮自平衡小车对灵敏性、 快速性
25、等要求, 虽然电机的电刷会是电机的寿 命缩短,还会引发电磁干扰。但是由于本设计负载较轻,换向器和电刷的损耗较低。小 车采用多层机械结构,电机驱动电路与其他电路分离,有效降低电磁干扰。 铹鸝饷飾镡閌赀 诨癱骝综上所述,本设计使用两个 6V 带有减速齿轮的直流有刷电机驱动两轮自平衡小车。3.2 系统最终方案使用 STM32RBT6 为主控芯片,通过 IIC 接口读取陀螺仪传感器 L3G4200 和加速 度传感器 ADXL345 的数据,再将两者数据融合测出小车的姿态,最终通过 PID 输出 PWM 电机控制信号,由电机驱动完成对电机的控制。此外,为了调试方便,除了设计 了上述给模块外,还扩展了 J
26、LINK 接口,使用的是 SWD 模式,用于仿真调试,同时扩 展了串口电路, 在系统运行时将需要观察的数据通过串口传输到电脑上, 以记录数据和 绘出数据波形,查看滤波和 PID 效果。系统方框图如图 5 所示。 攙閿频嵘陣澇諗谴隴泸。图 5 系统方框图4 主要芯片介绍和系统模块硬件设计4.1 加速度传感器 ADXL345MEMS(Micro-Electro-Mechanical Systems)微机电系统有一类传感器是加速度传感 器。ADXL345 是一款由 ANALOG DEVICES 公司生产 3 轴加速度计,功耗低,包分辨 率高(13 位),测量范围达 16g。数字输出数据为 16 位二
27、进制补码格式,可通过 SPI(3 线或 4 线)或 I2C 数字接口访问。该加速度传感器电路的应用电路如图 6 所示。 趕輾雏纨颗 锊讨跃满賺。图 6 加速度传感器电路ADXL345 非常适合移动设备应用。 它可以在倾斜检测应用中测量静态重力加速度, 还可以测量运动或冲击导致的动态加速度 (张志强, 2011)。其高分辨率 (3.9mg/LSB),能 够测量不到 1.0 的倾斜角度变化。其集成式存储器管理系统采用一个 32 级先进先出 (FIFO)缓冲器,可用于存储数据,从而将主机处理器负荷降至最低,并降低整体系统功 耗。低功耗模式支持基于运动的智能电源管理, 从而以极低的功耗进行阈值感测和运
28、动 加速度测量。数字接口让加速度传感器的外围电路变得很简单,主控芯片通过 IIC 即可 初始化该芯片并读取三轴的加速度值。 夹覡闾辁駁档驀迁锬減。表 1 ADXL345 引脚功能管脚功能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 的外部中断引
29、脚连接, SDA(synchronous Data Adapter)同步数据衔接器与 SCL(Serial Communication Loop)串行 通信环路引脚通过上拉电阻与主控芯片的硬件 IIC 接口连接,进行 IIC 通讯。当 INT1 或者 INT2 发生低电平时,表明传感器内部数据已经准备好,此时可通过 IIC 接口读出 加速度计三个轴的数据。 视絀镘鸸鲚鐘脑钧欖粝。在读取三轴加速度数据之前,应对 ADXL345 进行必要的初始化。 ADL345 具有可 设置的多个量程,即 2g, 4g, 8g, 16g 这三个量程,在此应该设置为 16g满量 程。可采用固定的 4 mg/LSB
30、分辨率模式,该分辨率可测得 0.25的倾角变化。将转换 速率设置为最小的 12.5 微秒。将电源模式设置为低功耗模式,以减小对锂电池的消耗。 使能引脚中断, 单片机可以通过此外部中断, 触发对三轴加速度数据的读取, 用中断触 发的方式可以较少系统计算周期,提高电机有效控制频率。 偽澀锟攢鴛擋緬铹鈞錠。图 7 加速度传感器测量角度原理图 7 是以传感器为基准简建立的三维坐标系, 从传感器读出的数据通过一定的运行 可以算出传感器的各类倾斜角,其中, 正是平衡车要消除的角度,车身倾斜角度可以 通过公式 (1)计算出。式 (1)中, A 是各轴输出的加速度分量。 緦徑铫膾龋轿级镗挢廟。Axout22
31、A yout A zout(1)1tan4.2 陀螺仪传感器 L3G4200D加速度计主要是用来测量静态加速度, 而动态的加速度值对系统是一种干扰, 用陀 螺仪测量出车体的角速度信号能够有效的去除动态的干扰, 两种装置并用可以在动态条 件下实时的计算出自平衡车的倾角信息 (冯智勇等, 2011)。本方案采用的陀螺仪传感器 型号是 L3G4200。L3G4200D 是意法半导体 (ST)近日推出一款业界独创、 采用一个感应 结构检测 3 条正交轴向运动的 3 轴数字陀螺仪。该 3 轴数字陀螺仪让用户可以设定全 部量程,量程范围从 250 dps2000 dps,低量程数值用于高精度慢速运动测量,
32、而 高量程则用于测量超快速的手势和运动。这款器件提供一个16 位数据输出,以及可配置的低通和高通滤波器等嵌入式数字功能。其应用引脚功能如表2 所示。 騅憑钶銘侥张礫阵轸蔼。表 2 L3G4200 引脚功能管脚功能VDD电源 1.9-3.6V 输入GND地RESERVED厂家保留功能VS电源 1.9-3.6V 输入CS片选信号INT中断引脚NC悬空SDAIIC 数据线SCLIIC 时钟线与加速度传感器的数字接口一致,也是通过用 SDA 和 SCL 与主控芯片的硬件 IIC 接口进行通讯,采用 3.3V 供电,其应用电路如图 8 所示。疠骐錾农剎貯狱颢幗騮。从图 8可看出 L3G4200的应用电路
33、比较简单, 不需外接模数转换器等负责的电路, 使用极其方便。通过 IIC 接口即可读出三轴的角速度,再将读出的数据乘以所设置的量 程对应的敏感度,即可得出每个周的角速度,单位为 dps(degree per second。) 镞锊过润启婭 澗骆讕瀘。4.3 主控电路本设计的两轮自平衡小车采用 STM32F103R8单片机为主控芯片。STM32 系列基于 专为要求高性能、低成本、低功耗的嵌入式应用专门设计的 ARM Cortex-M3 内核。 STM32F103R8 具有以下特点: 榿贰轲誊壟该槛鲻垲赛。采用 ARM 32 位 Cortex-M3 内核,最高时钟频率 72MHz,1.25DMIP
34、S/MHz, 快速的 指令执行速度使主控芯片能够运行复杂的滤波和控制算法。提高控制器的实时控制能 力。片内高达 64kB Flash和 20kB SRAM ,为复杂的算法程序提供足够的存储和运行空 间。两个 12位的 16通道模拟/数字转换器(ADC),转换速度高达 1Msample/s,ADC 支持 规则转换序列和注入转换序列两种转换模式,支持 DMA 模式,转换结果的搬运不需要 CPU 干预,提高程序运行效率。 邁茑赚陉宾呗擷鹪讼凑。主控及其外围电路如图 9 所示图 9 中控制电路包括主控芯片、时钟电路、复位电路、模拟电路供电电路。时钟采 用 8MHz 外部晶振作为时钟源,通过主控芯片内部
35、 PLL 倍频后使主控芯片运行在 72MHz 。主控芯片为低电平复位, 复位电路通过阻容电路构成上电复位电路。 芯片采用 3.3V 供电。最小系统还引出了不需要使用的 SPI,IIC ,UART 等接口,方便后续功能 的扩张和调试。 嵝硖贪塒廩袞悯倉華糲。4.4 电机驱动电路本设计中使用减速直流有刷电机作为两轮自平衡车的驱动电机,电机采用 H 桥驱 动方式,使用脉宽调制方式调节电机两端电压有效值,达到调速的目的7 。电机驱动电路如图 10所示。图 10所示电路只给出了半桥驱动电路, H 桥左右两个桥臂电路完全 相同。 该栎谖碼戆沖巋鳧薩锭。10图 10 电机驱动电路本设计采用 MOSFET 作
36、为驱动电路的开关器件, MOSFET 型号为 IRFR1205,开 启电压最大值为 VGS=4.0V,适合电池供电的应用;在 VGS=10V 时,RDS=0.027 ,低导 通电阻一方面提高开关效率,另一方面降低开关器件的发热量,提高系统稳定性(康少华等, 2011)。 劇妆诨貰攖苹埘呂仑庙。由于主控芯片输出信号高电平电压值 VOH=3.3V ,不能直接驱动 MOSFET 导通,所 以电路设计了半桥电路,高边驱动电路由 U1、D1 和 C1 组成。 臠龍讹驄桠业變墊罗蘄。U1使用 International Rectifier 公司的 IR2302芯片,该芯片为专用的半桥驱动电路, IR230
37、2 支持输出 520V 的开启电压, 支持 3.3V、5V 和 15V 逻辑输入。 硬件集成 100ns 死区控制电路。 鰻順褛悦漚縫冁屜鸭骞。4.5 供电电路本设计使用锂电池供电,供电电压 6.4V,供电电路将电源电压转换成 3.3V 供主控 芯片和传感器电路使用。 由于电机的功耗较大, 起制动时会引起电源电压的波动, 所以 电路设计滤波电路稳定电压输出。供电电路如图 11 所示。 穑釓虚绺滟鳗絲懷紓泺。图 11 供电电路11C1、L1、 C2 构成 型滤波器,对输入电压进行滤波。滤波器截止频率为f 15.5kHz ,可以有效滤除来自电源的噪声。 U1 为低压差线性稳压源,将电LC源转化成
38、3.3V 后向传感器和主控制器供电。 隶誆荧鉴獫纲鴣攣駘賽。5 系统软件设计系统软件总体流程如图 12 所示系统初始化取出传感器数据传感器互补滤波器PID调节器控制输出 PWM电机控制信号否定时 16ms?发送串口数据图 12 系统软件总流程图系统上电复位后便开始初始化各个功能模块,并启动了1ms 定时,每 1ms 进行一次姿态估算和 PID 控制,即 1s内系统进行了 1000次姿态调整。同时为了前期调试已经 查看数据,使用了主控的串口将程序中产生的数据如估算出的最终角度等, 上传到电脑, 以观察数据的特性,上传周期为 16ms。浹繢腻叢着駕骠構砀湊。125.1 系统初始化系统初始化完成 S
39、TM32 单片机的初始化设置,初始化程序流程图如图 13 所示。上电复位中断系统初始化时钟系统初始化I/O 引脚配置IIC 接口配置串口配置间隔定时器配置返回图 13 系统初始化流程图STM32 单片机支持在 RAM 和 Flash中运行, 所以程序启动时必须配置中断向量表 到对应的地址, RAM 运行时中断向量表地址为 0 x20000000;Flash 运行时中断向量表 地址为 0 x08000000。 STM32 单片机的中断优先级有抢断优先级和从优先级两种。两种 优先级的级数可以通过软件设置。本系统设置 16 级抢断优先级, 0 级从优先级。系统 使用外部 8MHz 晶振作为外部时钟源
40、, 通过 STM32 内部的锁相环 (PLL) 倍频至 72MHz。 STM32 有两条外设时钟总线, APB1 总线时钟频率最高为 36MHz ,APB2 总线时频率最 高为 72MHz。软件设置两个外设时钟至其最高频率,开启 ADC 、定时器、 DMA 、串口 和 GPIO 的时钟源。 鈀燭罚櫝箋礱颼畢韫粝。本设计为了减少调试信号线对车体的影响,采用 SWD 调试模式,此模式下只需要3 条线即可进行调试。 I/O 配置程序禁用 JTAG 调试模式, 使能 SWD 调试模式; 另外本13 设计中配置了 4个LED ,用于显示小车当前运行状态,引脚配置程序配置 LED 引脚为 推挽输出模式。
41、惬執缉蘿绅颀阳灣熗鍵。本设计中串口用于输出加速度传感器、陀螺仪采集到的倾角信号和Kalman 滤波器的输出信号到上位机。串口配置波特率 1152000、8 位数据位、 1 位停止位、无奇偶检 验位。 贞廈给鏌綞牵鎮獵鎦龐。定时器用于产生控制电机的 PWM 信号。 STM32 的 1个定时器可以同时产生 4 路 PWM 信号。程序设定 PWM 信号的频率为 20kHz,3600 级占空比输出。 嚌鲭级厨胀鑲铟礦毁 蕲。间隔定时器 (Systick)产生 8kHz 信号用于产生 ADC 和 Kalman 采样频率。间隔定时 器为一个 24位递减定时器,仅有 3个寄存器,使用固件库仅需一个语句即可完
42、成配置。 薊镔竖牍熒浹醬籬铃騫。5.2 滤波器 单独使用加速度计或者陀螺仪, 都无法提供一个有效而可靠的信息来保证车体的平 衡(谢芳等, 2010)。陀螺仪动态性能良好,不受加速度变化的影响,但是存在累积漂移 误差,不适合长时间单独工作;加速度计静态效应好,但受到动态加速度影响较大,不 适合跟踪动态角度运动。 采用一种简易互补滤波方法来融合陀螺仪和加速度计的输出信 号,补偿陀螺仪的漂移误差和加速度计的动态误差, 便可以得到一个最优的倾角近似值。 该滤波器的实现算法如图 14 所示。 齡践砚语蜗铸转絹攤濼。Filter图 14 互补滤波器算法流程图145.2.1 低通滤波器在使用互补滤波器前,
43、先对加速度的值进行低通滤波。 加速度的值里包含了一些短 时性快速变化的信号, 这些信号对计算角度有较大的干扰, 因此应使用低通滤波器将其 滤除掉,滤除后的加速度值具有长时性缓慢变化的平滑效果。 绅薮疮颧訝标販繯轅赛。5.2.2 互补滤波器由图可看出该滤波器的输入有两个数据, 一是加速度计测得的角度, 二是陀螺仪测 得的角速度, 两者经过一定的融合运算后得出一个稳定可靠的倾角。 以下将介绍数据的 融合过程。首先建立一个以主控板为基准的空间坐标系,如图15 所示。 饪箩狞屬诺釙诬苧径凛。图 15 传感器直角坐标系R 代表电路板的加速度矢量, Rn(n 可以是 x ,y,z)代表 R 在各个轴的分量
44、, Ann(A 代表角度 angle,nn 可以是 xz, yz,如 Axz) 代表 R 与各个平面的夹角。因此,从加速 度计测出来的 RxAcc, RyAcc, RzAcc(acc 代表 accelerometer)便可合成矢量 Racc,即 Racc=Raccx,Raccy,Raccz。由 Racc 的分量即可计算出 Axz ,Ayz ,但如前文讨论的, 此时的 Axz ,Ayz 并不稳定可靠。 烴毙潜籬賢擔視蠶贲粵。15假设最后计算出的稳定可靠的矢量 (实际上是单纯的重力加速度矢量 ) 为 Rest = RxEst,RyEst,RzEst(Est 代表: estimate)。程序中,第一
45、次计算 Rest 直接取值于加速度 计的 Racc,即: 鋝岂涛軌跃轮莳講嫗键。Rest (=0R) a c c ( 0) (2) 此后的Rest(如Rest(1),Rest(2),Rest(3) Re则st(由n)陀) 螺仪参与调整。在计算 Rest(n) 时,可以通过 RxEst(n-1) 和 RzEst(n-1)计算出 Axz(n-1), 即: 撷伪氢鱧轍幂聹諛詼庞。Axz(n -1)= atan2( RxEst(n -1) , RzEst(n -1)(3)接着由 Axz(n-1) 和 RateAxz(n)可计算出 Axz(n) ,即:Axz(n) = Axz(n -1)+RateA x
46、 z*(Tn) (4)其中 RateAxz(n)为绕 y 轴的陀螺仪角速度, T 为计算 Axz(n-1)到计算 Axz(n) 的时间 差值。同样道理可得: 踪飯梦掺钓貞绫賁发蘄。Ayz(n) = Ayz(n -1)+ R at eA y z* T( n ) (5) 再由以下公式可得:RxGyro = sin(Axz(n) ) / SQRT (1 + cos(Axz(n) )2 * tan(Ayz(n )2 )(6)同理得:RyGyro = sin(Ayz(n) ) / SQRT (1+c o s( A y)z(2*nt)an( A x) )z ()2n(7)RzGyro = Sign(RzG
47、yr o)* S Q R T-(R1x G y r o- R 2y G y ro 2)(8)到此,计算出了两个单位为 1 的向量: Racc(n),Rgyro(n),通过一个加权平均公式便可得到 Rest(n),即: 婭鑠机职銦夾簣軒蚀骞。Rest(n) = (Racc * w1 + Rgyro * w2) / (w1+ w2)(9)令 w2/w1 = wGyro ,可得Rest(n) = (Racc + Rgyro * wGyro ) / (1+ w G y r o (10) 即:RxEst(n) = (RxAcc + RxGyro * wGyro ) / (1+ wGyro)(11)RyE
48、st(n) = (RyAcc + RyGyro * wGyro ) / (1+ wGyro)(12)RzEst(n) = (RzAcc + RzGyro * wGyro ) / (1+ wGyro)(13)16而小车的倾角为:RzEst(n) = (RzAcc + RzGyro * wGyro ) / (1+ w G y r o(14)5.3 PID 控制器5.3.1 PID 概述PID 调节器是指按偏差的比例、 积分和微分进行控制的调节器, 其调节实质是根据 输入的偏差值,按比例、积分、微分的函数关系进行运算,其运算结果用于输出控制。 在实际应用中,在多数情况下,根据具体情况,可以灵活地改变
49、 PID 的结构,取其一 部分进行控制 (杨德刚等, 2010)。 譽諶掺铒锭试监鄺儕泻。u(t) KPe(t) K I0t e(t)dt KD ded(tt)(15)PID 控制器的输入输出关系为:PID控制有模拟和数字控制方式:模拟方式采用电子电路调节器,在调节器中,将 被测信号与给定值比较,然后把比较出的差值经 PID电路运算后送到执行 机构,改变 给进量,达到调节之目的。 数字方式用计算机进行 PID运算,将计算结果转换成模拟量, 输出去控制执行机构。 俦聹执償閏号燴鈿膽賾。比例控制对系统动态性能的影响: K p增大时,将使系统响应速度加快, K p 偏大时, 系统振荡次数增多,调节时
50、间加长; K p 偏小时,系统响应速度缓慢。 Kp 选择以输出响 应产生 4:1衰减过程为宜。在系统稳定的前提下,加大 Kp可以减少稳态误差,但不能消 除稳态误差。 缜電怅淺靓蠐浅錒鵬凜。积分时间 Ti 对系统性能的影响: 积分控制通常影响系统的稳定性。 Ti 太小使, 系统 不稳定,且震荡次数较多; Ti 太大时,对系统的影响将削弱; Ti 合适时,系统的过度过 程特性比较理性。积分控制有助于消除系统稳态误差。 骥擯帜褸饜兗椏長绛粤。微分时间 TD 对系统性能的影响:微分作用的增强可以改善系统动态特性,如减少 超调量,缩短调节时间等,适当加大比例控制,可以减少稳态误差,提高控制精度;另 一方
51、面微分作用会放大系统噪声, 降低系统抗干扰能力。 微分环节的加入可以在误差出 现或变化瞬间, 按偏差的变化的趋势进行控制。 引进一个早期的修正作用, 有助于提高 系统稳定性。 癱噴导閽骋艳捣靨骢鍵。175.3.2 数字 PID 算法数字 PID算法为用计算机实现,用数值逼近和连续信号离散化实现的 PID控制规律。 有两种实现方式:位置性数字 PID、增量型数字 PID。 鑣鸽夺圆鯢齙慫餞離龐。对于位置式 PID算法,由于 e(t ) dt T ej , de(t) ek ek 1 位置性数字 PID控制0 j 0 j dt T算法如公式 (16)所示:ukuk uk 1 K P(ek ek 1
52、)ek(ek 2ek 1 ek 2)(18)TkTDukK Pekej(ek ek 1) u0(16)k P k TI j 0 jT对于增量式 PID算法,由公式 ()可知:T k 1TDuk 1K Pek 1ej(ek 1 ek 2 ) u0(17)k 1 P k 1 TI j 0 jT结合公式 (3-12)和 (3-13),可以得到增量式数字 PID控制算法如公式 (3-14)所示:增量式数字 PID算法不需要做累加运算,计算误差和计算精度问题对控制量的计算 影响较小; 位置性数字 PID算法要用到过去偏差的累加值, 容易产生较大的累积误差 (王 效杰, 2006)。 榄阈团皱鹏緦寿驏頦蕴
53、。5.3.3 PID 控制器设计本设计中使用双环 PID 控制实现小车的平衡控制。信号流图如图 16所示。图 16 PID 控制流图18本设计采用双环 PID 控制,内环为速度环,用于控制电机输出,使车轮转速与角 度环输出值保持一致; 外环为角度环, 用于保持小车倾斜角度为 0。图中U 为系统输入, 即小车倾斜角度的目标值,该值一直为 0。 X0 为系统角度环输出值,即小车电机转速 目标值。 X1为轮子转速, Y 为小车实际的倾斜角度。 Z 为系统扰动输入由于本设计采 用锂电池供电, 电源的输出功率有限, 而且调整小车倾角时电机需要频繁起制动, 对电 源功率要求较高, 会引起电源较大幅度的扰动
54、, 所以在本系统中主要的扰动为电源电压 的扰动。内环 PID 控制器控制流图如图 17 所示。 逊输吴贝义鲽國鳩犹騸。6 硬件电路Y6.1 硬件制作与调试首先通过 Altium Designer 画图软件设计出电路 PCB,然后发去 PCB 制造产打样,得 到 PCB 空板。从元器件市场购买所需零器件,将其焊接于打样所得的 PCB 空板上。接 着分别测试电源电路,主控芯片最系统,传感器模块,电机驱动模块是否能正常工作。 至此,硬件调试完成。 幘觇匮骇儺红卤齡镰瀉。6.2 硬件调试结果6.2.1 姿态感知系统测试结果为了方便测试, 将传感器数据通过串口输出到电脑, 用串口波形软件将数据以波形 的形式在电脑显示器上显示。如图 18 是由加速度计测出来的未经过滤波处理的角度波 形图。 誦终决懷区馱倆侧澩赜。19图 18 未经过滤波的倾角值波形度角从图 18 中看出,在第 7秒之前静放系统,此时测出来的倾角为 0,波形基本稳定 不变,但在 7 秒后人为摇动电路板, 其波形开始发生剧烈的变化。 此波形说明了仅由加 速度计计算出来的倾角存在太多干扰,没法使用。因此,需要一种有效的滤波器接入, 滤除非重力加速度成分。而如图 19 所示,在加入了低通滤波器和互补滤波器后得到的 波形与未经过滤波的波形进行比较,很明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道路方案简约模板
- 二零二五版产品包装标志定制设计合同
- 2025年宗教活动场地租赁合同范本
- 二零二五年国际物流包装运输合同模板
- 电泳工厂管理方案模板
- 车辆延长保修服务方案
- 2025年度材料采购合同补充协议:风险评估
- 2025年度安全生产技术改造与升级服务合同规范版
- 2025版北京电力行业劳动合同规范文本下载
- 2025版家政服务公司保洁员劳动合同
- 医疗机构中药饮片采购流程优化
- 脊髓肿瘤的护理查房
- 2025年医师三基考试题及答案
- 中远海运招聘笔试题库2025
- 中小学小班化教学模式与支持体系构建研究
- 礼来公司销售讲座
- 甲苯甲醇烷基化法年产30万吨对二甲苯车间设计分析
- SHR-500A高速混合机
- 挤密夯实水泥土桩复合地基工程监理细则
- 会计分岗实训教案
- 国家开放大学电大专科《农村社会学》期末试题及答案
评论
0/150
提交评论