武汉工程大学毕业设计(论文)说明书
图3 基于Lab view开发的模型车监控平台
2.2.基于VB开发的模型车监控平台
VB是使用较为广泛的工具软件,可以作为上位机监控平台,具有界面明晰、编程简易方便的优点,功能比较强大,然而由于VB作为面向对象的编程工具不够完全,效率比VC低,提供的命令语言环境较弱,通过串口设备一次最多只能交换16B的数据,对较大数据量的传输存在很大的局限性,很难实现较为复杂的数据处理!
2.3.基于Matlab开发的模型车监控平台
MATLAB是一套功能强大的商业数学软件,在信号处理、语音处理、数据采集、数值运算、图像处理、电子仿真、金融分析等领域应用广泛,程序操作极其简单,用Matlab不仅能提高工作效率,处理数据的能力足够对模型车上传的数据进行即时处理、分析!
8
武汉工程大学毕业设计(论文)说明书
图2 .基于Matlab开发的模型车监控平台 ――摘自《与非网》
2.4方案选择
2.4.1 上位机编程方案选择
在上位机软件编程语言的选择上,着重考虑的是便于界面的编写及可进行方便的串行通讯。在控制系统中,上位机与下位机之间实现通信的方法和应用平台很多. 目前 ,以VB 和 VC开发的通信软件较多,这类软件虽然功能完善 ,但是数据采集到计算机后要进行各种处理例如滤波、系统辨识、曲线拟合等就显得不方便 ,编程比较复杂. MATLAB 具有强大的数据处理能力及功能丰富的工具箱 ,被广泛地应用于信号处理、自动控制等领域. 它编程语言简单易学 ,利用简单的命令就可以代替复杂的代码 ,极大地提高了开发效率。Matlab有专门面向仪器的 Instrument Control Toolbox工具箱 ,该工具箱提供了对仪器仪表的直接访问,通过 serial port、GPIB、VISA 或 TCP和 UDP等接口访问外部设备 ,读取数据和信息,该能极大地拓展了Matlab在工程控制领域的应用 ,也为用户更好地使用 Matlab 计算功能进行数据处理与分析提供了方便。
此外,Matlab为用户提供了丰富的Windows图形界面设计方法,使用户能够在利用其强大数值计算功能的同时设计出友好的图形界面。在编程效益、可读
9
武汉工程大学毕业设计(论文)说明书
性、可移植性和可扩充性上,Matlab有着自己独特的优势。因此,本文将介绍一种基于MATLAB和单片机的调速测控系统,该系统通过MATLAB的Serial设备控制箱访问串口设备实现上位机和下位机之间的通信,借助MATLAB友好的图形界面和单片机直接面向设备的特点实现对直流变频调速系统的监测和电机转速的开闭环控制,将图档呼叫出来作深入的分析。
3系统设计
本系统软件的整体结构如图4-1所示。
串口参数设置和 工作状态控制 数 电机运行状态控制 据 处 理 转速等实时数据显示 上位 机 串口 通信 程序 转速等实时数据存储 下位 机 串口 通信 程序 电机运行状态控制子程序 数 据 处 理 PWM波输出子程序 PID调节子程序 转速计算子程序 PCA\\T0\\T1\\INT0中断 给定转速\\kp\\ki\\kd 参数设定和 开闭环控制 转速等历史数据查看和显示 图4-1 直流调速测控系统软件整体结构框图
由上图可知,本系统的软件部分由串行通信程序、单片机程序和MATLAB程序三大部分构成,显然,串行通信程序负责实现上位机和下位机之间的实时通信;
10
武汉工程大学毕业设计(论文)说明书
单片机程序负责实现对电机开闭环控制等具体控制过程,直接面向控制对象,协调上位机和控制对象之间的关系;MATLAB程序完成用户图形界面的设计、完成用户设定信息和命令的接受与发送、完成数据的存贮、分析和显示,从而实现用户与本测控系统的良好信息交互
本系统是由单片机和MATLAB软件相结合搭建的直流电机变频调速测控系统,能够对电机的转速、正反转进行调节控制。
3.1界面设计
MATLAB_GUI测控界面:本界面构成的测控系统可以方便直观地完成电机运行工况的实时监测以及电机转速、正反转、启动停止、开闭环运行的实时调节控制。界面相关控件包括电机给定转速的输入,PID调节之比例系数、积分系数和微分系数的输入,电机正反转和停止控制按钮,电机开环/闭环运行控制按钮,以及开启和关闭系统的按钮,此外还包括显示电机转速变化情况的坐标轴和文本框,以及保存和查看相关数据和信息历史记录的菜单项。用户从GUI界面中直接给定电机转速给定值、PID调节参数值并电机运行控制命令;MATLAB软件通过串行口将相关参数和命令传给单片机;单片机将这些数据和命令接收后,处理相关数据、执行相关命令。比如根据上位机发送来的调节参数、转速给定值和单片机测量的实际转速值进行PID运算,然后利用单片机所附带的PWM功能和简单的外围电路,将运算结果转换成模拟电压量传输给变频器,控制变频器输出频率,改变电机转速,实现电机转速闭环运行;比如测量和上传实时转速;又比如执行正反转、停止命令,通过单片机数据口结合简单的外围电路将该信号传输给变频器,以控制变频器的运行状态,从而使电机正转、反转或停止。此外,上位机实时接收单片机上传的转速信号,用波形图和数字的方式在GUI界面上显示出来,以供监测。MATLAB用户图形界面(GUI)是程序的图形化界面。它提供用户一个常见的界面,还提供一些控件,例如,按钮,列表框,滑块,菜单等。
应用matlab的用户图形界面设计向导GUID设计了本系统的人际交互界面效果图如图4-7所示。
11
武汉工程大学毕业设计(论文)说明书
该用户界面由给定参数设定、串口设置、电机运行状态控制、转速和时间显示、显示实时转速变化曲线的坐标轴以及标准菜单选项等部分组成。在编写各个控件的回调函数之前先在GUI的OPENNING_FUCTION里定义保存用户在界面上输入的参数和发布的命令的数组command,这些数据和命令正是将要由上位机通过串行通信发送给下位机的15字节数据包;command数组格式:
1握手信号,2上传转速命令,3给定转速高8位,4给定转速低8位,5开闭环控制命令,6正反转控制命令,7停止控制命令,8KP高8位,9KP低8位,10KI高8位,11KI低8位,12KD高8位,13KD低8位,14采样时间常数T高8位,15采样时间常数T低8位。
图4-7 基于matlab和单片机的变频调速测控系统用户界面效果图
1. 给定参数设置
可直接在面板上的相应文本框输入转速给定值,比例系数、积分系数、微分系数和下位机采样周期5个PID调节参数,开闭环控制由“开闭环”开关按钮实现,将开关按钮的状态转换成表示开闭环命令的一个字节数据保存在comand数组的第5位即可。在“点击确定“按钮的回调函数里用get函数分别获取5文本框的“string”属性值,并将每个参数转换成2字节数据存贮到command数组相应位置从而完成了用户给定参数的保存。
2. 串口设置
“上位机采样周期”文本框用于接受用户设定的采样周期值,“端口选择”
12