摘要

本文设计了以 NI myRIO 作为核心控制器,用 LabVIEW 编程语言开发的两轮自平衡小车。根据加速度传感器的测量数据以及编码器的数据,通过PID算法,利用NI myRIO调节PWM从而获得平衡车稳定的姿态,并结合系统本身设计了串联PID 控制算法来实现两轮车模型的直立平衡 , 讨论了控制器参数的优化。测试数据表明,速度环与位置环在 PID 控制算法的参与下,两轮车实现了稳定的直立平衡。

关键词:

NI myRIO;LabVIEW;自平衡车;加速度传感器;串联 PID 控制

目录

第一章 绪论
1.1课题提出的背景
1.2 LabView图形化编程优势
第二章 总体方案分析
2.1模块方案比较与选择
2.1.1控制系统模块的论证与选择
2.1.2电机驱动模块的论证与选择
2.1.3角速度测量模块的论证与选择
2.2总体方案论述
第三章 系统硬件设计
3.1系统硬件整体方案
3.2各硬件模块选择
3.2.1核心控制器myRIO
3.2.2电源管理模块
3.2.3带电磁 ( 霍尔)编码器的直流减速电机
3.2.4 TB6612电机驱动电路
第四章 系统软件设计
4.1控制算法的选择
4.2程序流程图
4.3程序设计
第五章 系统总调试
5.1 PID参数整定
5.2系统测试及结果分析
结论
参考文献
致谢
附录

第一章 绪论

1.1课题提出的背景

近年来,两轮自平衡电动车以其行走灵活、便利、节能等特点得到了很大的发展,但其本身是一 种非线性、多变量和强耦合的类倒立摆系统,其控制难度大、算法复杂。两轮车保持直立平衡的前 提是要通过传感器获得车体稳定精确的姿态,但由于陀螺仪和加速度计等惯性传感器的固有特性,测量 的数值会随时间产生不同程度的偏差和漂移,本文通过使用互补滤波算法融合两者的数据解决这个问题。其次简单有效、健壮的控制算法是两轮车保持平衡的关键,本设计首先使用角度PD 控制器对车身 倾角进负反馈控制,实验结果显示单纯使用该控制算法不能让两轮车维持很好的平衡,因此又引入速度 PI 控制器,通过让车体保持速度为零,从而增强平衡性能。

1.2 LabView图形化编程优势

当今全世界已进入智能时代的探索和发展,将生 活中能够与芯片和电脑连接在一起的事物构建一种 控制联系方式,采用IOT(InternetofThings)技术来方 便人的生活。智能车辆的研究也在如火如荼的进行。2011年国际机器人展上推出的导盲犬机器人,采用车载3D图像传感器识别位置信息;也有低成本 STC单片机、红外接近开关和超声波传感器的设计的小车平台;在避障策略上相应的提出了群集协调 算法,Leader-follower和Leader-Leader等最优化自动 规划路径算法。但是单片机、ARM等低端控制器,在功能上局限性较大;同时避障策略不具有实时 性和自适应性,并且复杂度高和灵活性差。
LabVIEW 图形化的编程环境和模块化的软件设计流程,非常符合工程思维,配合NI 的硬件平台 myRIO 大大缩短了本设计的开发和调试周期。因此设计了基于NImyRIO和LabVIEW的智能系统。 结合了强大的FPGA编程能力、良好的兼容和用户界面,为低成本、多功能智能车应用发展提供新的决解方案。

第一章 总体方案分析

2.1模块方案比较与选择

2.1.1控制系统模块的论证与选择

方案一:采用传统的89C51芯片为控制核心。具有4KB的程序存储器,128KB的数据存储器,64KB的片外存储器寻址能力,64KB的片外数据存储器寻址能力,32根输入/输出线,1个全双工异步串行口,2个16位定时/计数器,5个中断源,2个优先级。但数学处理能力差,功能单一,运算速度慢,控制过程比较烦琐。
方案二:采用采用NI myRIO。NI myRIO内嵌Xilinx Zynq芯片,使学生可以利用双核ARM Cortex-A9的实时性能以及强大的计算功能,编程开发简单,支持用LabVIEW进行编程,图形编程,明了易懂,同时包含大量现成算法函数,方便快速调用。同时,myRIO自带三轴加速度传感器,可通过LabVIEW观察波形,进行自平衡小车测量时非常方便。
综合考虑采用方案二控制。

2.1.2电机驱动模块的论证与选择

方案一:采用步进电机为驱动源,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。且速度不是很快,不好操作。
方案二:使用MOSFET构成H桥式驱动电路,利用PWM波形来控制电机的转速,此电路驱动功率比较大耗能高,电机的转速较快。
方案三:使用直流电机驱动芯片TB6612来驱动电机,4 种电机控制模式:正转/ 反转/ 制动/ 停止。myRIO 控制器将一定频率、占空比的 PWM 信号输入到该模块,改模块继而控制电机转速和方向。
综合考虑采用方案三。

2.1.3角速度测量模块的论证与选择

方案一:使用三轴加速度传感器MMA7260Q可以测量小车加速度大小,选取最佳重心位置,将测量出的数据传入控制系统。
方案二:MPU-60X0系列是全球首例9轴运动处理传感器。它集成了3轴 MEMS陀螺仪 ,3轴MEMS加速度计, 以及一个可扩展的数字运动处理器 DMP(Digital Motion Processor)。能够同时输出x,y,z 三个轴上的加速度与角速度数字信号。但需要进行欧拉角度变换,算法较复杂。
方案三:使用myRIO自带三轴加速度传感器,由于是本身自带,便于使用与测量。
综合考虑采用方案三。

2.2总体方案论述

本系统主要包括控制系统模块、电机驱动模块、编码器模块和角速度测量模块四个模块,根据角加速度传感器测量出的数据以及编码器的数据,利用myRIO调节PWM占空比,调节电机的转速及方向,使小车能始终保持平衡。总方案框图如图2-2-1所示。

图2-2-1 总方案框图

第三章 系统硬件设计

3.1系统硬件整体方案

系统的硬件部部分主要包括核心控制器 myRIO、电源管理模块、mpu6050 六轴传感器、带电磁(霍尔)编码器的直流减速电机以及 TB6612 电机驱动模块。系统硬件的整体框图如图3-1-1所示。

图3-1-1 系统硬件框图

3.2各硬件模块选择

3.2.1核心控制器myRIO

NI myRIO 是 NI(美国国家仪器有限公司)针对教学和学生创新应用而推出的嵌入式系统开发平台,内嵌Xilinx Zynq 芯片,这款芯片集成了双核ARM  Cortex-A9 处理器以及 Xilinx FPGA,LabVIEW 程 序可以自动编译并在ARM实时处理器中执行。控制 器除了常见的模拟输入、模拟输出、数字I/O 之外,还包括I2C 总线、SPI 总线、PWM、编码器、UART 等接口,是一款强大的嵌入式实时处理器。

3.2.2电源管理模块

本模块的核心是DC-DC 升压电路,主要负责给各部分模块提供稳定供电。该模块输入电压为11.1v,由3S 航模锂电池提供;经过DC-DC升压后输出电压为12v,直接为 myRIO 控制器和 TB6612 电机驱动模块供电。

3.2.3带电磁 ( 霍尔)编码器的直流减速电机

直流减速电机为双轮平衡车提供动力,减速比为 30:1,电机尾部自带了 13 线的 AB 相增量式磁(霍尔)编码器车轮转一圈,电机可以输出390 个脉冲,编码器的额定工作电压是5V, 集成了上拉电阻和比 较整形功能可以直接输出方波,通过与 myRIO 的编码器接口相连,便可以获取平衡车的速度信息。

3.2.4 TB6612电机驱动电路

TB6612FNG 是东芝半导体公司生产的一款直流电机驱动器件,具有大电流 MOSFET-H 桥结构,双通道电路输出,每通道输出最高1A 的连续驱动电流,4 种电机控制模式:正转/ 反转/ 制动/ 停止。myRIO 控制器将一定频率、占空比的 PWM 信号输入到该模块,改模块继而控制电机转速和方向。

第四章 系统软件设计

4.1控制算法的选择

本系统的控制算法选用PID算法,PID调节器是指按偏差的比例、积分和微分进行控制的调节器,其调节实质是根据输入的偏差值,按比例、积分、微分的函数关系进行运算,其运算结果用于输出控制。在实际应用中,在多数情况下,根据具体情况,可以灵活地改变PID的结构,取其一部分进行控制。
PID控制器的输入输出关系为:
基于 NI myRIO 的平衡车设计

PID控制有模拟和数字控制方式:模拟方式采用电子电路调节器,在调节器中,将被测信号与给定值比较,然后把比较出的差值经PID电路运算后送到执行 机构,改变给进量,达到调节之目的。数字方式用计算机进行PID运算,将计算结果转换成模拟量,输出去控制执行机构。数字PID算法为用计算机实现,用数值逼近和连续信号离散化实现的PID控制规律。有两种实现方式:位置性数字PID、增量型数字PID。
本系统采用labVIEW自带的PID控制模块,此模块共包括六个输入参数和两个输出参数。六个输入参数分别是output range(输出范围)、setpoint(目标值)、process variable(输入量)、PID gains(P、I、D参数输入量)、dt(测量周期)、reinitialize(频率值),两个输出参数分别是output(输出值),dt out(输出显示周期)。
基于 NI myRIO 的平衡车设计

4.2程序流程图

基于 NI myRIO 的平衡车设计

4.3程序设计

加速度传感器模块
基于 NI myRIO 的平衡车设计
PWM 模块
基于 NI myRIO 的平衡车设计
数字输出模块
基于 NI myRIO 的平衡车设计
延时模块
基于 NI myRIO 的平衡车设计
PID滤波器
基于 NI myRIO 的平衡车设计
详细程序设计文件后续将上传此博客!

第五章系统总调试

5.1 PID参数整定

本设计中存在两个PID 控制环,但速度PI 控制器的引入仅仅是辅助角度PD 控制,增强系统的平衡性能。首先调节角度PD 控制器的参数,在实际调试中遵循先比例后微分的过程。调节式中的比例参数让其一直增加,直到车体出现往复的低频抖动,此时引入微分参数使其不断增加,直到车体能够保持平衡但有频率较高的抖动出现,至此便确定了 P、D 参数的最大值,最终将每个系数乘以 0.6 得到理想的参数值。
由于机械结构的缺陷,经过测试发现无论怎样调节角度PD 控制器的参数,系统始终不能达到一个理想的直立平衡效果,总是产生一定速度的前后摇摆。此时引入速度PI 控制器辅助直立平衡的控制,同样遵循先比例后积分的原则,找到合适的Kp2 之后可把Ki2 的值设置为Ki2=Kp2/200。实验结果表明使用角度 PD 控制器配合速度 PI 控制器,本系统能够很好的实现直立平衡,并且具有一定的抗干扰能力。

5.2系统测试及结果分析

本系统基本功能为能让小车稳定不倒在原地3秒以上,经过几天调试,本系统能够成功实现基本功能,但是根据地面条件的不同,相应的PID参数将会不同,例如,在砂纸上,由于摩擦力较大,所以P参数应相应减小,否则将会由于比例过大而使小车回量过大而翻倒;在略光滑的地板上,相应的P应加大,否则小车将没有足够的加速度而向前趴到。
由于本系统采用的是串联PID调节,速度环和位置环相互协调,实现小车平衡不倒。首先调节速度环,在实验室略光滑地板上,最终理想PID参数为:P=18.6、I=0.005、D=0;在速度环稳定的基础上,调节位置环,最终理想的PID参数为:P=21.3、I=0、D=0.0001。

结论

文中首先设计了二轮平衡车的整个硬件系统,之后又讲解了基于LabVIEW 2017 开发的软件系统及其工作流程。针对加速度传感器和编码器输出的数据,深入的研究了PID算法,从原理以及实现过程上都做了较为详细的讲解。实验数据直观的展示了PID算法的有效性,它能为位置环和速度环提供稳定、实时的控制信号。为了实现系统的直立平衡,引入了角度 PD 控制器和速度 PI 控制器,在选择了合适的参数后,实验结果表明该系统实现了稳定的直立平衡。随着两轮平衡小车的普及,本文设计的串联 PID 控制算法会有更广的应用价值。
双轮自平衡小车的运动方程具有多变量、非线性、强耦合、时变、参数不确定性等特点,是一种理想的控制理论和控制技术研究的实验平台。通过这次自平衡小车的设计,我学到了许多知识,特别是PID算法的运用。自己手动调节PID,更加深入了解了PID算法的控制作用,但是限于时间与精力,自平衡小车的平衡还欠佳,以后有空余时间,我们一定会慢慢改进。

参考文献

[1] 杨世勇,徐莉苹,王培进 . 单级倒立摆的 PID 控制研究 [J]. 控制工程,2007(B05):23-24.
[2] 薛凡,孙京诰,严怀成 . 两轮平衡车的建模与控制研究 [J]. 化工自动化及仪表, 2012,39(11):1450-1497.
[3] 傅忠云,陈秋阳,刘文波 . 基于直接转矩控制的两轮自平衡车系统设计 [J]. 压电与声光, 2014, 36(6): 967-971
[4] 赵杰,王晓宇,秦勇,等.基于 UKF 的两轮自平衡机器人姿态最优估计研究 [J].机器人,2006,28(6):605-609
[5] 王建群,南金瑞,孙逢春,等 . 基于 LabVIEW 的数据采集系统的实现 [J]. 计算机工程与应用, 2003, 39(21): 122-125.
[6] 杨忠仁, 饶程, 邹建,等 . 基于 LabVIEW 数据采集系统 [J]. 重庆大学学报(自然科学版), 2004, 27(2): 32-35.
[7] 茅颖 . 基于 myRIO 控制器的自平衡车的 PID 算法实现 [J]. 福建电脑,2016,32(12):107-109.
[8] 谢斌,张超,毛恩荣,等 . 基于 myRIO 的电动拖拉机驱动控制器设计与室内试验 [J]. 农业工程学报,2015,31(18):55-62.

致谢

历时三周的LabView课程设计即将结束,第一次接触LabView 开发平台,第一次接触NI myRIO 。在课程设计过程中遇到无数的困难和障碍,在指导老师和同学的帮助下,顺利度过。无论是平衡车的组装问题还是硬件出现损坏问题以及程序编写障碍,指导老师都耐心指导,帮助渡过难关。在此,我向指导和帮助过我的老师表示最衷心的感谢!
同时,我也要感谢本次课设所参考的各位学者的设计方案,如果没有这些学者的研究成果的启发和帮助,我将无法完成最终调试。至此,我也要感谢我的朋友和同学,他们在此次课设过程中提供了很多帮助!最后,再一次表达最衷心的感谢!

附录

基于 NI myRIO 的平衡车设计

基于 NI myRIO 的平衡车设计

相关文章: