星空综合体育app下载 基于 NI myRIO 的平衡车设计

概括

本文设计了一款以NI myRIO为核心控制器,采用LabVIEW编程语言开发的两轮自平衡车。根据加速度传感器的测量数据和编码器的数据,通过PID算法,使用NI myRIO调节PWM以获得平衡车的稳定姿态,并在此基础上设计了一系列PID控制算法。系统本身实现了两轮车辆模型的直立平衡。讨论控制器参数的优化。测试数据表明,在速度环和位置环中PID控制算法的参与下,两轮车实现了稳定的直立平衡。

关键词:

NI myRIO;虚拟仪器;自平衡车;加速度传感器;串联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(物联网)技术来便利人们的生活。智能汽车的研究也正如火如荼地进行。 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 个优先级。但数学处理能力差、功能单一、计算速度慢、控制过程繁琐。

选项 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测量小车的加速度,选择最佳重心位置,并将测量数据传输至控制系统。

选项2:MPU-60X0系列是世界上第一个9轴运动处理传感器。它集成了3轴MEMS陀螺仪、3轴MEMS加速度计和可扩展数字运动处理器DMP(数字运动处理器)。可同时输出x、y、z三个轴上的加速度和角速度数字信号。但需要进行欧拉角变换,算法较复杂。

选项3:使用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(美国国家仪器公司)推出的一款面向教学和学生创新应用的嵌入式系统开发平台。它嵌入了 XilinxZynq 芯片。该芯片集成了双核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控制器的输入输出关系为:

PID控制有模拟和数字控制方法:模拟方法使用电子电路调节器。在调节器中,将测量信号与给定值进行比较,然后将比较的差值经PID电路计算后送至执行机构,改变进给量以达到调节的目的。数字方式是利用计算机进行PID计算,将计算结果转换成模拟量,输出来控制执行器。数字PID算法是利用计算机并利用数值逼近和连续信号离散化来实现的PID控制律。有两种实现方法:位置式数字PID和增量式数字PID。

本系统采用labVIEW自带的PID控制模块。该模块包括六个输入参数和两个输出参数。六个输入参数分别是Output range(输出范围)、Setpoint(目标值)、Process Variable(输入量)、PID增益(P、I、D参数输入量)、dt(测量周期)、reinitialize(频率值)、两个输出参数是output(输出值)和dt out(输出显示周期)。

在这里插入图片描述

4.2 程序流程图

在这里插入图片描述

4.3 编程

加速度传感器模块

脉宽调制模块

数字输出模块

延时模块

PID过滤器

详细的编程文档稍后会上传到本博客!

第五章系统一般调试 5.1 PID 参数整定

本设计中有两个PID控制环星空·综合体育官网入口,但引入速度PI控制器只是为了辅助角度PD控制,以增强系统的平衡性能。首先调整角度PD控制器的参数,实际调试时遵循先比例后微分的流程。调整公式中的比例参数不断增大,直至车身出现往复低频抖动。此时引入微分参数将其增大,直至车体能够保持平衡但出现较高频率的抖动。至此,P就确定了。 ,D参数的最大值,最后将每个系数乘以0.6星空体育app下载入口,得到理想的参数值。

由于机械结构的缺陷,经过测试发现,无论如何调整角度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。

综上所述

文章首先设计了两轮平衡车的整个硬件系统,然后阐述了基于LabVIEW2017开发的软件系统及其工作流程。基于加速度传感器和编码器输出的数据,对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。在课程设计的过程中我遇到了无数的困难和障碍,但在导师和同学的帮助下,我顺利地度过了。无论是平衡车的组装问题、硬件损坏,还是编程上的障碍,导师们都耐心指导,帮助他们克服困难。在此,我向指导和帮助过我的老师们表示最衷心的感谢!

同时,我也要感谢参考本课程的学者们的设计方案。如果没有这些学者研究成果的启发和帮助,我不可能完成最后的调试。在此,我还要感谢在本次课程设计过程中提供了很多帮助的朋友和同学!最后,再次表示最衷心的感谢!

附录

在这里插入图片描述

在这里插入图片描述

关键词:

客户评论

我要评论