基于LabVIEW的智能车底盘PID调速

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《虚拟仪器技术》课程大作业
基于LabVIEW的智能车底盘PID调速
目录
1、设计目的及要求 (4)
1.1 设计的目的 (4)
1.2 课程设计的任务要求 (4)
1.3 国内外发展现状 (4)
2、方案选择 (5)
2.1 系统概述 (5)
2.2 系统方案的比较与选定 (6)
2.3 系统总体设计思路 (6)
3、系统设计 (7)
3.1 上位机LabVIEW设计 (7)
3.1.1 PID理论分析 (7)
3.1.2 LabVIEW程序分析 (8)
3.1.3 PID设计及其VI设计 (11)
3.1.4前面板设计 (12)
3.2 下位机小车底盘仿真设计 (14)
3.2.1 主控芯片 (14)
3.2.2 驱动芯片 (14)
3.2.3 串口配置 (15)
3.2.4 直流电机方面 (15)
3.2.5 扰动电路 (15)
3.2.6 总体电路 (16)
3.3虚拟串口设计及参数配置 (17)
3.3.1 虚拟串口设计 (17)
3.3.2 LabVIEW串口参数配置 (17)
3.4智能车底盘程序设计 (18)
3.4.1 串口配置 (18)
3.4.2 电机驱动 (19)
3.4.3 编码器配置 (19)
4、系统测试 (19)
4.1 给定速度值测试 (20)
4.2 变速测试 (20)
5 总结和展望 (21)
5.1 总结 (21)
5.2 展望 (22)
参考文献 (22)
1、设计目的及要求
1.1 设计的目的
在当前时代科技快速发展的背景下,以往的直流电机因为它的控制系统和驱动电路较为复杂、成本很高,完成后修改难度非常高,为减少在教学过程中的硬件损耗、提升智能车行走稳定性,具体化直流电机PID调速过程。

我们将开发一种交互式直流电机仿真调速系统。

采用LabVIEW 编写上位机底层控制程序和控制界面,以Proteus 为平台搭建下位机直流电机的控制电路仿真系统, 通过调节Arduino Mega2560单片机输出的PWM波占空比进行PID调速。

结合Arduino IDE实现了直流电机控制实验的联合仿真。

此设计使直流电机定位精度更高,具有更强的可靠性和运动性能,上位机对直流电机进行监控,可以更加直观地观察直流电机的运行情况。

有利于理论教学工作的开展,对于实验教学会起到一定的指导作用,对于教学实际具有非常现实的意义。

1.2 课程设计的任务要求
(1)控制系统仿真方案的选定;
(2)提出“基于LabVIEW的智能车底盘PID调速”的可行性方案;
(3)上位机LabVIEW设计;
(4)下位机仿真直流电机设计;
(5)下位机软件设计;
(6)数据传输及串口参数配置;
(7)进行系统调试,根据调试结果,改进并优化各部分功能的编程结构;
(8)系统正常运行。

发布应用程序。

1.3 国内外发展现状
仪器仪表技术既是现代科技的前沿技术,也是信息产业的关键技术,它是信息产业的基础与源头。

虚拟仪器技术史仪器仪表技术的最前沿技术,也是测试技术和计算机技术综合的产物,代表了现代测试技术和仪器技术的发展方向。

虚拟仪器的软件开发平台很多,目前最具代表性的虚拟仪器开发平台就是美国国家仪器(NI)公司的Lab Windows/CVI、LabVIEW和惠普公司的HP VEE(Agilent VEE)。

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是
采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

控制方法理论自从1940年以来,推出了许多先进控制方法,但PID控制器以其结构简单,对模型误差具有鲁棒性及易于操作等优点,仍被广泛应用于冶金、化工、电力、轻工和机械等工业过程控制中。

但是,参数单一不变的PID控制器,在负载、环境变化的条件下控制效果明显变差。

这时需要经验丰富的工程师重新设定PID参数以适应变化。

这样费时费力,不能满足现代化工业生产的需求。

因此,PID参数自整定技术受到越来越广泛的关注。

特别是在高品质的运动控制专用DSP出现后,使得在线实现PID参数自整定技术日益成熟。

在生产过程中为了提高产品质量,增加产量,节约原材料,要求生产管理及生产过程始终处于最优工作状态。

因此产生了一种最优控制的方法,这就叫自适应控制。

在这种控制中要求系统能够根据被测参数,环境及原材料的成本的变化而自动对系统进行调节,使系统随时处于最佳状态。

自适应控制包括性能估计(辨别)、决策和修改三个环节。

2、方案选择
2.1 系统概述
PID控制是过程控制中广泛应用的一种控制,简单的说就是按偏差的比例(proportional)、积分(Integral)、微分(Derivative)进行的控制。

当今,尽管各种高级控制在不断的完善,但目前在实际生产过程中应用最多的仍是常规PID控制,PID控制器具有结构简单,参数易于调整等优点。

在长期的工程实践中,人们对PID控制己经积累了丰富的经验。

特别是在那些实际过程控制中,控制对象的精确数学模型难以建立,系统参数又经常发生变化,常采用PID控制器,并根据经验进行在线整定。

因此,利用LabVIEW进行PID控制器的设计具有重要的意义,它可以对比例系数、积分系数和微分系数进行调整,很快的确定PID的三个参数,实现对控制系统设定值的跟踪和快速消除扰动,使控制系统达到最佳控制效果。

而LabVIEW具有庞大的函数库,包括数据采集、串口控制、数据分析、数据显示及数据存储,LabVIEW也具有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试等等。

PID自动控制是基于反馈概念的一种技术。

反馈理论的包括三个要素:测量、比较和执行。

通过测量变量,并与期望值相比较,利用误差纠正调节控制系统的响应。

在实际使用中只需要利用比例K p、积分K i和微分K d计算出控制量,从而对目标进行控制。

2.2 系统方案的比较与选定
对常用的基于LabVIEW的智能车底盘PID调速可选用的方案进行分析:
直流电机的控制在日常生活和工业生产中是常见的器件,而直流电机的控制实验在电气控制,单片机控制等领域都是比较经典的实验。

不论在单片机控制直流电机软件设计的教学中,还是控制算法的科学研究过程中,都需要搭建硬件电路进行实验效果的观察,为此,第一种方案拟搭建实际的硬件平台,选用基于LabVIEW而设计PID控制系统作为上位机,选用单片机作为下位机,采集直流电机编码器返回脉冲,下位机计算电机转速,通过串口将速度值反馈给上位机,上位机的PID控制系统根据当前值和目标值的差值计算电机控制量,并将控制量通过串口发送给下位机,从而控制电机转速。

但实际的硬件平台具有不便携性,在一定程度上限制了教学与科研人员,使用不方便。

并且搭建硬件平台需要杜邦线,带编码器的直流电机,编码器连接线,直流电机控制板,单片机等一系列器件,由于疫情影响,学生在家无法获得足够的硬件器材,而且12V电源市场价格较高且不能邮寄。

经调查发现,Protues具有强大的仿真功能,可以实现下位机包括直流电机在内的MCU系统实时仿真;基于上述背景,结合仿真软件的Protues和虚拟仪器LabVIEW仿真方案可行性更高,针对单片机控制直流电机的软件卡法实验需求,本文设计了一种上位机与下位机可实时通信的实验仿真系统,控制系统搭建全部采用软件实现,无需搭建硬件平台,在一定程度上简化了硬件平台搭建工作,同时有助于节省实验成本。

2.3 系统总体设计思路
该系统由上位机LabVIEW系统和下位机MCU系统构成。

上位机PID调速系统基于LabVIEW构成,对直流电机的运行状态进行面板显示,通过计算直流电机的实际速度与给定速度差值,对下位机进行参数设置和命令传递,从而完成对直流电机的控制。

下位机基于Protues实现,选用软件中提供的Arduino uno R3芯片为控制中心,电机驱动采用L298直流电机控制板,通过控制高电平的周期占比来实现对直流电机的速度进行控制调节。

单片机控制程序由Arduino IDE编辑,并生成Hex文件后,加载到单片机芯片上。

下位机收集直流电机的运行信息,通过串口传输至上位机。

上位机和下位机在同一台PC上实现,除了以上软件之外,电脑上还安装了NI-VISA 17.0驱动和虚拟串口软件VSDP (Virtual Serial Port Driver)。

上位机和下位机通过虚拟的一对串口实现通信,系统总体结构图如图1所示。

图1系统总体结构图
3、系统设计
3.1 上位机LabVIEW 设计
3.1.1 PID 理论分析
PID 包括“比例(proportional )、积分(integral )、微分(derivative )”三个参数,是一种很常见的控制算法。

PID 主要是通过计算设定值与目标值的偏差error ,然后将error 分别进行比例、积分、微分,运算,再分别将比例分量、微分分量、积分分量乘以比例系数K p 、积分系数K i ,微分系数K d ,将三者累加最后作用于输出上。

底盘电机作为驱动机构,可以采用PID 算法调节小车速度,直流电机位式PID 控制原理如下:
(1)通过输入速度target 作为目标值。

(2)通过Arduino 上的定时计数器可以直流电机编码器统计电机转一圈所反馈的脉冲数来计算我们所得到的当前速度值value 。

(3)利用value 与target 相减得到我们的偏差err 。

(4)以err 作为控制直流电机PWM 波的基础,通过对于err 的比例,积分,微分,我们能够的到在PID 中的P,I,D 三者的分量。

比例分量就等于err ,积分分量等于∫(err)dt ,微分分量等于此次偏差减去上一次偏差,即(err-lasterr)。

(5)根据实际,调节三者的权重,以及调节对应的K p ,K i ,K d 可以得出我们得最终输出量output 作为我们得电机控制量。

PID 公式如下:
p d output=K err+(err)dt+K (err-lasterr)⨯⨯⎰
3.1.2 LabVIEW程序分析
(1)流程设计
LabVIEW在此课程设计中的任务就是接受Protues仿真的下位机发过来的电机速度信号,需要实现的就是LabVIEW与下位机之间的串口通信,通过串口打包和接受数据,把接收到的数据拿来进行绘制速度曲线图,并且将数据在LabVIEW中进行PID运算,获得Protues中电机下一个单位时间内所需要的速度,然后将该速度打包成数据反馈回去,在Protues仿真的Arduino中解开并且用作于输出。

(2)程序流程图
图2信号发生器程序流程图
(3)串口通信的程序部分
为了使得上位机与下位机之间能够实现通信首先需要解决的就是串口通信部分,需要在LabVIEW上实现串口通信。

在此课程设计中使用的是VISA (Virtual Instruments Software Architecture)虚拟仪器软件架构,实现串口通信。

该PID控制系统具体由如下部分构成:
①串口配置函数(用于配置串口通信的波特率,奇偶校验位,数据位数,结束符),如图3所示:
图3串口配置函数
利用该函数对串口进行配置,如图4所示:
图4对串口进行配置
②配置完之后等待Arduino发送电机速度,LabVIEW利用VISA读取函数读取串口发送的数据如图5所示:
图5
进一步判断发送过来的数据是否为空,如果不为空便进行读取操作:
图6判断
③由于Arduino发送过来的数据是{A+电机1的速度+B+电机2的速度+C+电机3的速度+D+电机4的速度+E}(E是数据包的结束符),在LabVIEW上对该数据包进行处理,分离电机速度后再分别进行PID计算,数据包分离程序如图7所示(分离电机1的速度):
图7数据包分离程序
④利用LabVIEW中正则匹配字符串,书写需要的正则表达式(‘^A[0-9]{1,3}’)分离匹配成功的字符串,如果成功匹配的字符串不为空,说明匹配到了正值的电机1速度,只需要将所有匹配的字符串再进行数字匹配,获得电机速度,并且将匹配之后的字符串传给局部变量current,在层叠式顺序结构的下一步再对current变量进行处理分理出电机2的速度。

若匹配字符串为空,说明此时电机速度为负值,需要再对负值进行匹配,将匹配之后的字符串再传给current并进行处理然后再进入下一步电机2速度的分离操作。

分离操作完成后对电机速度进行PID运算,将运算结果打包成{A+电机1的速度+B+电机2的速度+C+电机3的速度+D+电机4的速度}的格式发送回去,此处运用到了VISA的发送函数以及,字符串的拼接函数如图8所示:
图8字符串拼接函数
⑤在处理完成之后对于在层叠式最后一层把数据打包并且利用VISA写入函数写进去,程序图如图9所示:
图9数据打包程序
串口通信一共分别为四个部分:“初始化、等待连接、接收数据、退出”,串口通信利用移位寄存器进行状态判断,在按钮的触发下进入不同的状态,同时利用while循环不断地接受数据并且对数据进行处理,打包等等。

3.1.3 PID设计及其VI设计
除了串口之外,LabVIEW另一个目的就是为了利用PID算法处理电机速度数据,将运算得出的结果发送给Protues上的Arduino,再做出响应。

程序如图10所示
图10
LabVIEW上的PID设计主要是LabVIEW使用PID功能包,LabVIEW的PID功能包中有将过程变量也就是我们的当前速度代入函数,通过调节K p、K i、K d、来使得PID 曲线更加可观。

PID函数如下:
每次进行数据分离之后紧接着将分离之后的数据进行PID处理,这个过程也是在层叠式的顺序结构中执行。

根据PID公式,将error(偏差)进行比例,微分,积分处理后直接产生输出也就是output。

将output反馈给arduino改变电机速度使得电机速度能够达到设定值setpoint,同时我们也可以调节输出上下限,比例增益,积分时间和微分时间。

该部分控制图如图11所示下(以下只是轮4部分,其他部分相同)
图11 3.1.4 前面板设计
(1)总体布局
图12总体布局
(2)串口通信部分
设计前面板使得我们可以根据下拉菜单来选择VISA资源,选择波特率,有无奇偶校验位,停止位,数据位数,超时时间,终止符以及控制流。

图13 图14
(3)速度曲线部分
图15速度曲线面板
根据LabVIEW的GUI特性,可以很直观的观测出数据曲线,调节设定值,输入输
出范围,比例增益,积分时间和微分时间。

PID特性显示:电机存在速度抖动是难以避免的,但是PID能使速度每往上抖动一次的时候,会调节轮子向下抖动一次,同理,每往下抖动一次的时候,会调节轮子向上抖动一次。

误差一正一负使得总体误差为0。

曲线图如下所示:
3.2 下位机小车底盘仿真设计
3.2.1 主控芯片
图16主控芯片示意图
主控芯片方面,我们选择了Arduino Mega 2560 作为主芯片,因为在proteus中针对于Arduino的仿真,相较于stm32要更加方便。

同时Mega 2560有六个外部中断口,可以满足我们对四个电机编码器的操控。

同时,Mega 2560含有15个PWM输出引脚,方便我们对电机输出速度。

串口通信方面,Mega 2560含有六个串口,方便我们将其和labVIEW进行通信,并同时能用串口监视助手进行查看。

3.2.2 驱动芯片
驱动芯片方面,我们选择了L298,驱动编码器直流电机。

因为L298为双H桥电机驱动芯片,即一个L298即可驱动两个电机,节约空间和成本。

输入方面,L298有ENA 和ENB两个PWM波输入口,并同时有四个高低电平输入口,分别为IN1,IN2,IN3,IN4。

输出方面,有四个输出口,分别为OUT1,OUT2,OUT3,OUT4。

可同时控制两部直流电机,且使用方便,输出效率高。

图17 L298芯片
3.2.3 串口配置
串口配置方面,由于没有实物芯片,我们采用了虚拟串口进行串口配置。

用虚拟串口软件配置两个成对的串口COM3,COM4,COM3分配给labVIEW,用来接收下位机发送的数据并发送控制命令。

COM4分配给下位机proteus,用于接收控制命令并返回电机的实时速度。

下位机proteus的串口配置,我们采用了COMPIM,一种标准的RS232端口,可直接使用电脑的物理串口进行通信,也可通过虚拟串口进行通信。

图18 COMPIM
3.2.4 直流电机方面
我们选择了编码器直流电机。

编码器直流电机有五根线,左右两侧两根线接电源。

在上面三根线中,左右两侧两根线输出相位差90度的脉冲,每旋转一圈输出多少个脉冲可以在设置对话框中设置,中间那根线,每圈输出一个脉冲。

同时,编码器直流电机的电源电压可以在设置框中设置。

由于我们采用了L298芯片进行驱动,所以我们将直流电机的电压设置为12V。

在这里我们选择了左侧的线,通过读取脉冲,进行计算,从而得到轮子的转速(r/min),公式如下:
60
rpmA=flag_A(float)encoderA
⨯⨯
40
3.2.5 扰动电路
由于在仿真状态下,电机处于理想状态,不会受到阻力和电池电压大小的影响,所
以基本不会出现速度偏差的状态,不能很好地体现PID调速的稳定性。

所以我们利用滑动变阻器设计一个扰动电路。

我们在L298芯片的输出口OUT1处利用滑动变阻器设置了一个分流电路,从而使电流改变,达到扰动直流电机速度的目的。

图19扰动电路
3.2.6 总体电路
在总体电路中,我们采用了一块Arduino芯片、两块L298电机驱动芯片、四部编码器直流电机、一个RS232端口。

模拟组装了智能小车的底盘,通过接收labVIEW上位机的命令进行仿真运动。

L298通过输出端OUT1、OUT2、OUT3、OUT4对两部直流电机进行驱动,输入端ENA、ENB连接到主控芯片Arduino Mega 2560的PWM波输出口控制电机的速度,输入端IN1、IN2、IN3、IN4连接到主控芯片的数字信号输出口,控制电机的正转和反转。

RS232端口连接到Arduino板的UART0,进行通信。

图20总体电路
3.3 虚拟串口设计及参数配置
3.3.1 虚拟串口设计
下位机和上位机之间采用串口通信方式,在仿真环境下,可以通过虚拟串口实现这种功能。

本设计中虚拟串口的设计是通过虚拟串口VSDP实现的,计算机有一个至两个RS232串口,使用此软件可根据用户自身的需求,在计算机上产生多个虚拟的串口,产生的虚拟串口用法与实际串口用法一致。

串口设计界面如图21所示:
图21串口设计界面
在图中的“Add pair”中添加需要生成的虚拟串口,点击“Add pair”或“Delete pair"即可添加或删除虚拟串口,左侧框中显示已经产生的串口,在设备管理器中可查看虚拟串口当前通信状态,如图22所示,可以看出COM3和COM4设计正确并且连接正确。

图22
3.3.2 LabVIEW串口参数配置
LabVIEW中串口通信是通过VISA驱动实现的,其中常用的VISA模块包括串口初始化、串口写、串口读、串口关闭四个模块。

使用时,要通过串口初始化模块设置串口波特率、数据位、停止位、奇偶校验位等参数,使用芯片Arduino Mega2560 的晶振频率是11.0592MHz,波特率是9600bps,数据位为8,停止位为1,奇偶校验位为0。

上位机在LabVIEW前面板的串口中设置,这里选用COM4,下位机在RS232中进行设置,
选用COM3,各参数值应与下位机的设置一致。

Arduino单片机的TXD和RXD分别连接RS232的TXD和RXD,从而保证串口的正确使用,RS232端口具体配置如图23所示。

图23 RS232端口具体配置图
3.4 智能车底盘程序设计
3.4.1 串口配置
串口使用部分代码注释
Serial.begin(9600);
Serial.print("A");
Serial.print(rpmA);
Serial.print("B");
Serial.print(rpmB);
Serial.print("C");
Serial.print(rpmC);
Serial.print("D");
Serial.print(rpmD);
Serial.print("E");
motor_true[i] = Serial.parseInt();//设置串口波特率为9600;
//串口发送数据的格式(A+电机速度....B+...)//返回电机A的速度
//返回电机B的速度
//返回电机C的速度
//返回电机D的速度
//串口发送结束符
//接收labVIEW返回的电机速度,并赋值给数组
3.4.2 电机驱动
电机驱动部分代码注释
analogWrite(9,abs(motor_A)); analogWrite(10,abs(motor_B)); analogWrite(6,abs(motor_C)); analogWrite(11,abs(motor_D)); digitalWrite(15,LOW); digitalWrite(16,HIGH); digitalWrite(17,LOW); digitalWrite(18,HIGH);//输出一定占空比的PWM波;
//输出高低电平,控制电机正转反转
3.4.3 编码器配置
编码器配置主要代码注释
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
attachInterrupt(0,encoderAISR,FALLING); attachInterrupt(1,encoderBISR,FALLING); attachInterrupt(4,encoderCISR,FALLING); attachInterrupt(5,encoderDISR,FALLING); void encoderAISR()
{
encoderA++;
time1=millis();
}
detachInterrupt(0);
attachInterrupt(0,encoderAISR,FALLING);//配置外部中断接收口,设置为输入模式;
//配置电机A的中断模式为下降沿触发中断事件
//中断事件函数,累加脉冲,同时计算时间
//关闭外部中断0;
//重新开启外部断0
4、系统测试
针对智能车在实际运行中需要PID调速的问题,本文在定速以及变速的情况下对该系统进行了测试。

4.1 给定速度值测试
在LabVIEW中设置智能车需要达到的速度,调整比例增益,积分时间和微分时间,启动LabVIEW程序,点击控制面板中的open按钮,将程序通过Arduino IDE生成的HEX文件加载到Arduino控制板中,运行Protues仿真电机。

仿真实验中,我们将速度值设定在18.000,调节比例增益为5.000,积分时间为0.000,微分时间为0.000,如图24所示,可以从面板中看出基于LabVIEW的PID控制系统控制电机速度快速增加,阶跃响应达到设定值的时间较少,约为6.000ms,但当前噪声较多。

继续调节比例增益为5.000,积分时间为0.010,微分时间为0.000,如图25所示,可以看出平均波动仍然较大。

继续调节比例增益为5.000,积分时间为0.010,微分时间为0.001,如图26所示,可以由面板曲线测得出输出速度平均波动在10%以内,符合目前经典的PID控制方法的要求,证明了改系统具有较高的可行性。

仿真效果如图24、25、26所示。

图24 效果图1 图25效果图2 图26 效果图2
4.2 变速测试
智能小车在实际竞赛或者作业过程中,需要针对不同的路况采取不同的速度,即需要能够快速而平稳的实现变速功能,为此在智能小车运行过程中,我们将设定值由18调整至-18,调节比例增益为5.000,积分时间为0.000,微分时间为0.001,如图27所示,可以从面板中看出基于LabVIEW的PID控制系统其阶跃响应速度较快,时间为12.000ms,但波动较大。

继续调节比例增益为5.000,积分时间为0.000,微分时间为-0.001,如图28所示,可以测得波动比例低于10%,可以很好的控制Protues中直流电机的转动,满足在竞赛或者作业等实际环境中的需求。

图27效果图1 图28 效果图1
5、总结和展望
5.1 总结
本课题对仿真智能车底盘PID调速意义与研究现状作了较为详细的介绍,在此基础上提出并确定了基于LabVIEW的控制系统仿真的具体实施方案。

应用NI公司的LabVIEW,以及LabVIEW控制设计工具包,作为软件开发工具。

以Proteus 为平台搭建下位机直流电机的控制电路仿真系统。

利用模拟单片机发出PWM模拟调速。

实现了控制系统的建模、分析与设计这一系列过程的计算机仿真,最终开发出了一种交互式实验教学系统。

在这次的课程设计中,我们较为综合的利用了我们所学的知识。

将不同的学科知识结合运用与此设计中。

在实践中发现检验我们所学的知识。

当新学科新知识无法单独解决所遇问题时,我们要灵活运用以往的知识。

这次课程设计不仅是对所学知识的一种综合检验,而且也是对自己动手能力的一种提高。

学会一门知识可能相对容易,如何将不同的模块知识综合运用到一个系统之中所遇到的困难是很多的。

看似简单的数据传输会因为许多协议、规定的不同导致结果和预想的大相径庭。

通讯问题是我们这次课程设计的最大难题,但也是我们从中获取知识和经验最多的地方。

只是学习书本知识还是远远不够的,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。

这次课程设计很好的巩固了我们现学的知识,锻炼了我们的实践能力和探索能力。

感谢老师的辛勤教导和耐心解答。

5.2 展望
尽管已经基本完成了本课题最初的规划,本设计仍存在一些不足之处,需要继续地改进和完善。

对后续工作的展望如下:
系统用户界面可操作值和响应值比较单一。

缺少一些具象化动画。

等因此在后续的改进过程中。

我们拟加入小车动画模型,将干扰值设定为用户鼠标点击选择。

可选择干扰力的方向和力度。

从而更加切合实际,获得不同情况下的底盘PID调速过程图形。

同时优化用户操作界面,加入用户鼠标点击获得数据信息的功能。

参考文献
[1] 黄松岭, 吴静. 虚拟仪器设计基础教程[M]. 北京: 清华大学出版社, 2008.
[2] 吕显瑞, 黄庆道. 最优控制理论基础[M].北京: 科学出版社, 2008.
[3] 陈飞, 陈惠侠. 基于LabVIEW和Matlab的自动控制虚拟实验系统[J]. 实验科学与
技术, 2009(2):75-77.
[4] 程键. 倒立摆系统的稳定控制[D]. 长春: 长春理工大学, 2008.
[5] 雷振山,魏丽,赵晨光,等LabVIEW高级编程与虚拟仪器工程应用[M].北京:中
国铁道出版社, 2009
[6] 袁战军.基于Proteus的直流电机PWM调速系统研究[J].电子设计工程, 2013,21(15):113-116.
[7] 周春明. 基于LabVIEW与Proteus的测控仿真实验系统设计[J]. 辽东学院学报(自然科学版),2016,23(4):261-265.
[8] 汤佳明, 安伟. 基于LabVIEW的上位机串口通信程序设计[J]. 电子设计工程, 2018,31(3):37-40.。

相关文档
最新文档