论文部分内容阅读
摘要:针对目前教学仪器昂贵,实验仪器设备紧张的情况,本文设计并制作了基于LabVIEW的半实物虚拟仿真实验平台。硬件系统以MSP430单片机为主控单元,设计了无刷直流电机信号采集模块、输出驱动模块和温度监测模块。软件系统包含MSP430单片机测控程序和基于LabVIEW的虚拟仪器应用程序。系统能够完成无刷直流电机相关的测试、测量和控制。实验结果表明:系统工作稳定,误差在设计允许范围内。
关键词:IabVIEW虚拟仪器:MSP430单片机:无刷直流电机
DOI: 10.3969/j.issn.1005-5517.2017.9.009
引言
传统仪器主要由信号采集与控制模块、分析与处理模块以及测量结果的表达与输出模块这三大功能模块组成。传统仪器的这些功能都是以硬件(或固化的软件)形式存在的。而虚拟仪器则是将这些功能移植到计算机上完成。运用计算机,使用数据采集卡,利用软件在计算机中生成仪器面板,并利用软件进行信号的分析与处理。相对于传统仪器,虚拟仪器具有性能高、扩展性强、开发时间短、集成功能优秀等特点。
随着经济持续快速发展,各个高校对实验室的要求也不断提高,然而,现在各种精密仪器的昂贵价格增加了学校的压力,也使一些学生得不到良好的实验条件。基于以上背景,本文设计了基于LabVIEW的半实物虚拟仿真平台,它采用虚拟仪器和实物相结合,将一些实物平台用虚拟仪器末代替,既节省了在仪器上的投入,也可以达到实验目的。
1 基于LabVIEW的半实物虚拟仿真平台系统总体方案设计
本设计中,各种被测信号经过传感器、放大整形滤波、现场单片机(MSP430)采集缓存等处理后,输送到单片机中,通过单片机计算处理后,实现与上位机的通信。同时,来自上位机的信号经RS232总线传输到采集节点,驱动数据采集。基于LabVIEW的半实物虚拟仿真平臺系统整体结构框图如图1所示。
其中电源电路使用24V稳压电源,保障电源的稳定,霍尔传感器的输出脉冲信号要先进行放大滤波处理后再送入A/D转换器转换成数字量。驱动电路通过隔离电路达到弱电控制强电,从而驱动电机。温度传感器输出的是数字量,直接被MSP430采集,采集到的数据缓存供单片机调用。采集节点通过RS232总线与上位机通讯,实现各项数据的实时显示、存储和越限报警等功能。
2 系统硬件设计
2.1 单片机控制部分
MSP430系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL和FLL+)时钟系统或DCO数字振荡器时钟系统。由时钟系统产生CPU和各功能模块所需的时钟,这些时钟可以在指令的控制下打开或关闭,从而使单片机执行相应的程序,达到控制目的。
2.2 电机驱动模块
BLD-300B直流无刷电机驱动器是针对中功率低压直流无刷电机的高性能无刷驱动产品。该直流无刷电机驱动器采用高性价比的解决方案设计而成,适用于功率为48V、440W,或24V、300W的三相直流无刷电机的转速调节。BLD-300B可提供内置电位器RV调速、外接电位器调速、外部模拟电压调速、上位机(PLC,单片机等)PWM调速等功能。同时该驱动器具备大转矩启动、快速启动及制动、正反转切换、手动及自动调速相结合、异常报警信号输出等特点。输入电压为DC 18-52V,输出电流为0-35A,适用电机转速为0-20000rmp,霍尔信号电压为4.5-5.5V,霍尔驱动电流20mA,外接调速电位器lOkΩ。输出信号如图2所示。
2.3 信号传输模块
串口通讯对单片机而言意义重大,且其所需电缆线少,接线简单,所以广泛应用于远距离传输中。如图3所示。
在串行通信中,数据通常是在两个站之间传送,按照数据在通信线路上的传送方向可分为3种基本的传送方式:单工、半双工和全双工,通讯方式如图4所示。
单工通信使用一根导线,信号的传送方和接收方有明确的方向性。也就是说,通信只在一个方向上进行。
若使用同一根传输线既作为接收线路,又作为发送线路,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式称为半双工。采用半双工方式时,通信系统每一端的发送器和接收器通过收发开关分时转接到通信线上进行方向的切换。
当数据的发送和接收分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工传送方式。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传输。全双工方式无须进行方向的切换。
3 系统软件设计
3.1 软件总体设计
根据系统总体方案的设计要求,系统软件程序主要实现功能为:2项被测数据的检测、处理和传输。软件结构框图如图5所示。
系统选用C语言编写程序,程序设计首先对传感器、单片机和上位机显示等进行初始化。MSP430控制启动数据采集,进行AD转换,转换完成后进行处理并存储在MSP430内部设计的RAM中,单片机读取RAM中的信号并显示。具体流程如图6所示。
3.2 串口通信
以下对串口通信中一些需要注意的地方作一点说明:
(1)波特率选择
波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。MSP430串行端口在四种工作模式下有不同的波特率计算方法。在选择波特率的时候需要考虑两点:首先需要考虑系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后需要考虑通信时钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。 (2)通信协议的使用
通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。
(3)硬件连接
进行串行通讯时要满足一定的条件,例如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路。
(4)通信数据显示
为了能够在计算机端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里利用一个免费计算机串口调试软件(串口调试助手)来观察。
3.3 上位机显示程序设计
上位机要实现与下位机的通信,实现不同节点的选择,参数数据的上传,数据的实时显示,以及不同参数的趋势图绘制。上位机的工作流程如图7所示。
3.4 PID控制
虚拟控制采用LabVIEW的虚拟仿真功能得到理想的PID图像的部分前面板如图8所示。在前面板中设置PID的输入控件,分别为比例参数、积分参数、微分参数和转速目标参数。参数经过PID子VI的运算得到输出值,通过LabVIEW的仿真波形图来显示模拟的PID图像。
在实物平台上采用位置式PID控制来调节电机的转速。使用MSP430单片机的定时器的比较模式输出经过PID调节所得到的占空比来调节电机转速,使电机转速稳定在一定的范围内,实现实物的PID控制。在模拟系统中,PID算法的表达式为:
式中,P(t)为调节器的输出信号,e(t)为调节器的偏差信号,它等于测量值与给定值之差,Kp为调节器的比例系数,K1为调节器的积分时间,TKD为调节器的微分时间。
在过程控制中,按偏差的比例(P)、积分(1)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。
PID调节器各个校正环节的作用:
(1)比例环节:及时成比例的反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减少偏差。
(2)积分环节:主要用于消除误差,以提高系统无差度。积分作用的强弱取决于积分时间常数,时间常数越大,积分作用越弱,反之越强。
(3)微分环节:能反映偏差的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个早期的有效修正信号,从而加快系统的动作速度,减少调节时间。
模拟信号r(f)、e(t)、u(t)、c(t)在第n次采样的数据分别用r(n)、e(n)、u(n)、c(n)表示,于是有e(n)=r(n)一c(n)。
从而可以推导出数字PID算法:
将此式代入程序中调节好Kp、K1、KD这三个参数,进而调节PWM使电机转速达到设定值。在实际应用中,数字PID算法的积分项可能会引起饱和现象,导致带幅度的超调,使系统不稳定。
为了消除饱和积分的影响,我们采用遇限削弱积分法:一旦控制量进入饱和区,则停止进行增大积分的运算。
3.5 LabVIEW的编制及界面
上位机数据的采集通过一个独立的子VI完成,通过子VI把串口的数据处理分类,用两个输出将数据送给下一个子VI,设置的串口参数必须匹配连接仪器或设备的参数“读数”参数可指定串口读取的字节数。如果端口字节超过指定的字节数,超出部分将不会被读取。如果端口字节数少于指定的字节数,将返回超时错误。
上一个子VI输出的数据被下一个子VI获取,通过LabVIEW的波形圖示实时的显示采集的数据。其部分数据如图9所示。
在虚拟平台的编制上我们使用了LabVIEW强大的数据处理功能,把实物用数据的形式模拟出来。设置参数和期望值,通过PID子VI模拟出图像显示出来。
对于电机虚拟图像,可通过前面板设计设置理想转速、PID参数,如图10所示。从而实现对虚拟电机转速的控制,进行误差分析。 误差分析表示当前实际转速和设定转速的差值,如图11所示。
4 结论
本文米用MSP430单片机进行数据采集,充分利用了单片机的高速性和高可靠性,从而解决了传统的单片机控制速度较慢的问题。该系统成功采集到各项数据并得到数据图像,是一套比较完整的虚拟仿真平台系统,通过软硬件结合实现仪器功能,具有较好的推广和应用价值。
参考文献:
[1]沈建华,杨艳琴,翟骁曙MSP430系列16位超低功耗单片机实践与系统设计[M]北京:清华大学出版社2004
[2]崔武子,付钪,鞠慧敏c语言程序设计实践教程[M].北京:清华大学出版社,2005
[3]魏小龙MSP430系列单片机接口技术及系统设计实佰[M]北京:北京航空航天大学出版社,2002
[4]马育锋,龚沈光基于MSP430单片机的多路信号采集系统[J]武汉理工大学学报(交通科学与工程版),2009,33(2A369-372
[5]李楠,腾飞基于LabVIEW的电机转速控制系统设计[J]计算机测量与控制,2006.14(6):794-796[6]丁元杰单片微机原理及应用(第3版)[M]北京机械工业出版社,2005
关键词:IabVIEW虚拟仪器:MSP430单片机:无刷直流电机
DOI: 10.3969/j.issn.1005-5517.2017.9.009
引言
传统仪器主要由信号采集与控制模块、分析与处理模块以及测量结果的表达与输出模块这三大功能模块组成。传统仪器的这些功能都是以硬件(或固化的软件)形式存在的。而虚拟仪器则是将这些功能移植到计算机上完成。运用计算机,使用数据采集卡,利用软件在计算机中生成仪器面板,并利用软件进行信号的分析与处理。相对于传统仪器,虚拟仪器具有性能高、扩展性强、开发时间短、集成功能优秀等特点。
随着经济持续快速发展,各个高校对实验室的要求也不断提高,然而,现在各种精密仪器的昂贵价格增加了学校的压力,也使一些学生得不到良好的实验条件。基于以上背景,本文设计了基于LabVIEW的半实物虚拟仿真平台,它采用虚拟仪器和实物相结合,将一些实物平台用虚拟仪器末代替,既节省了在仪器上的投入,也可以达到实验目的。
1 基于LabVIEW的半实物虚拟仿真平台系统总体方案设计
本设计中,各种被测信号经过传感器、放大整形滤波、现场单片机(MSP430)采集缓存等处理后,输送到单片机中,通过单片机计算处理后,实现与上位机的通信。同时,来自上位机的信号经RS232总线传输到采集节点,驱动数据采集。基于LabVIEW的半实物虚拟仿真平臺系统整体结构框图如图1所示。
其中电源电路使用24V稳压电源,保障电源的稳定,霍尔传感器的输出脉冲信号要先进行放大滤波处理后再送入A/D转换器转换成数字量。驱动电路通过隔离电路达到弱电控制强电,从而驱动电机。温度传感器输出的是数字量,直接被MSP430采集,采集到的数据缓存供单片机调用。采集节点通过RS232总线与上位机通讯,实现各项数据的实时显示、存储和越限报警等功能。
2 系统硬件设计
2.1 单片机控制部分
MSP430系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL和FLL+)时钟系统或DCO数字振荡器时钟系统。由时钟系统产生CPU和各功能模块所需的时钟,这些时钟可以在指令的控制下打开或关闭,从而使单片机执行相应的程序,达到控制目的。
2.2 电机驱动模块
BLD-300B直流无刷电机驱动器是针对中功率低压直流无刷电机的高性能无刷驱动产品。该直流无刷电机驱动器采用高性价比的解决方案设计而成,适用于功率为48V、440W,或24V、300W的三相直流无刷电机的转速调节。BLD-300B可提供内置电位器RV调速、外接电位器调速、外部模拟电压调速、上位机(PLC,单片机等)PWM调速等功能。同时该驱动器具备大转矩启动、快速启动及制动、正反转切换、手动及自动调速相结合、异常报警信号输出等特点。输入电压为DC 18-52V,输出电流为0-35A,适用电机转速为0-20000rmp,霍尔信号电压为4.5-5.5V,霍尔驱动电流20mA,外接调速电位器lOkΩ。输出信号如图2所示。
2.3 信号传输模块
串口通讯对单片机而言意义重大,且其所需电缆线少,接线简单,所以广泛应用于远距离传输中。如图3所示。
在串行通信中,数据通常是在两个站之间传送,按照数据在通信线路上的传送方向可分为3种基本的传送方式:单工、半双工和全双工,通讯方式如图4所示。
单工通信使用一根导线,信号的传送方和接收方有明确的方向性。也就是说,通信只在一个方向上进行。
若使用同一根传输线既作为接收线路,又作为发送线路,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式称为半双工。采用半双工方式时,通信系统每一端的发送器和接收器通过收发开关分时转接到通信线上进行方向的切换。
当数据的发送和接收分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工传送方式。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传输。全双工方式无须进行方向的切换。
3 系统软件设计
3.1 软件总体设计
根据系统总体方案的设计要求,系统软件程序主要实现功能为:2项被测数据的检测、处理和传输。软件结构框图如图5所示。
系统选用C语言编写程序,程序设计首先对传感器、单片机和上位机显示等进行初始化。MSP430控制启动数据采集,进行AD转换,转换完成后进行处理并存储在MSP430内部设计的RAM中,单片机读取RAM中的信号并显示。具体流程如图6所示。
3.2 串口通信
以下对串口通信中一些需要注意的地方作一点说明:
(1)波特率选择
波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。MSP430串行端口在四种工作模式下有不同的波特率计算方法。在选择波特率的时候需要考虑两点:首先需要考虑系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后需要考虑通信时钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。 (2)通信协议的使用
通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。
(3)硬件连接
进行串行通讯时要满足一定的条件,例如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路。
(4)通信数据显示
为了能够在计算机端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里利用一个免费计算机串口调试软件(串口调试助手)来观察。
3.3 上位机显示程序设计
上位机要实现与下位机的通信,实现不同节点的选择,参数数据的上传,数据的实时显示,以及不同参数的趋势图绘制。上位机的工作流程如图7所示。
3.4 PID控制
虚拟控制采用LabVIEW的虚拟仿真功能得到理想的PID图像的部分前面板如图8所示。在前面板中设置PID的输入控件,分别为比例参数、积分参数、微分参数和转速目标参数。参数经过PID子VI的运算得到输出值,通过LabVIEW的仿真波形图来显示模拟的PID图像。
在实物平台上采用位置式PID控制来调节电机的转速。使用MSP430单片机的定时器的比较模式输出经过PID调节所得到的占空比来调节电机转速,使电机转速稳定在一定的范围内,实现实物的PID控制。在模拟系统中,PID算法的表达式为:
式中,P(t)为调节器的输出信号,e(t)为调节器的偏差信号,它等于测量值与给定值之差,Kp为调节器的比例系数,K1为调节器的积分时间,TKD为调节器的微分时间。
在过程控制中,按偏差的比例(P)、积分(1)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。
PID调节器各个校正环节的作用:
(1)比例环节:及时成比例的反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减少偏差。
(2)积分环节:主要用于消除误差,以提高系统无差度。积分作用的强弱取决于积分时间常数,时间常数越大,积分作用越弱,反之越强。
(3)微分环节:能反映偏差的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个早期的有效修正信号,从而加快系统的动作速度,减少调节时间。
模拟信号r(f)、e(t)、u(t)、c(t)在第n次采样的数据分别用r(n)、e(n)、u(n)、c(n)表示,于是有e(n)=r(n)一c(n)。
从而可以推导出数字PID算法:
将此式代入程序中调节好Kp、K1、KD这三个参数,进而调节PWM使电机转速达到设定值。在实际应用中,数字PID算法的积分项可能会引起饱和现象,导致带幅度的超调,使系统不稳定。
为了消除饱和积分的影响,我们采用遇限削弱积分法:一旦控制量进入饱和区,则停止进行增大积分的运算。
3.5 LabVIEW的编制及界面
上位机数据的采集通过一个独立的子VI完成,通过子VI把串口的数据处理分类,用两个输出将数据送给下一个子VI,设置的串口参数必须匹配连接仪器或设备的参数“读数”参数可指定串口读取的字节数。如果端口字节超过指定的字节数,超出部分将不会被读取。如果端口字节数少于指定的字节数,将返回超时错误。
上一个子VI输出的数据被下一个子VI获取,通过LabVIEW的波形圖示实时的显示采集的数据。其部分数据如图9所示。
在虚拟平台的编制上我们使用了LabVIEW强大的数据处理功能,把实物用数据的形式模拟出来。设置参数和期望值,通过PID子VI模拟出图像显示出来。
对于电机虚拟图像,可通过前面板设计设置理想转速、PID参数,如图10所示。从而实现对虚拟电机转速的控制,进行误差分析。 误差分析表示当前实际转速和设定转速的差值,如图11所示。
4 结论
本文米用MSP430单片机进行数据采集,充分利用了单片机的高速性和高可靠性,从而解决了传统的单片机控制速度较慢的问题。该系统成功采集到各项数据并得到数据图像,是一套比较完整的虚拟仿真平台系统,通过软硬件结合实现仪器功能,具有较好的推广和应用价值。
参考文献:
[1]沈建华,杨艳琴,翟骁曙MSP430系列16位超低功耗单片机实践与系统设计[M]北京:清华大学出版社2004
[2]崔武子,付钪,鞠慧敏c语言程序设计实践教程[M].北京:清华大学出版社,2005
[3]魏小龙MSP430系列单片机接口技术及系统设计实佰[M]北京:北京航空航天大学出版社,2002
[4]马育锋,龚沈光基于MSP430单片机的多路信号采集系统[J]武汉理工大学学报(交通科学与工程版),2009,33(2A369-372
[5]李楠,腾飞基于LabVIEW的电机转速控制系统设计[J]计算机测量与控制,2006.14(6):794-796[6]丁元杰单片微机原理及应用(第3版)[M]北京机械工业出版社,2005