基于LabVIEW的直流电机转向调速系统设计

2015-11-09 08:30张晓亮姜涛张桂林
机械工程师 2015年4期
关键词:直流电机计数器微分

张晓亮, 姜涛, 张桂林

(长春理工大学 机电工程学院,长春 130022)

0 引言

伴随自动化技术的产生,设备和检测技术得到了飞速的发展并且已经成为推动现代化生产和管理的主要环节,想要实现高水平的自动化,必须具有高精度、高性能、高质量的仪器来检测各种相关信息,同时还需要有智能式、嵌入式和网络式的检测技术。

虚拟图形化编程软件LabVIEW致力于解决工业生产中的检测与控制难题。LabVIEW可按照应用需求定制检测系统。手工测试速度慢,价格昂贵且容易出错,而基于软件设计的系统能够迅速地执行,并且软件编程时无需考虑如内存分配、语法等问题,通过专注数据分析与数据执行加快程序运行速度。本文在LabVIEW环境下设计了直流电机转向调速系统,实现对转速的采集与控制。系统有较好的人机交互界面,可以实现对转速的实时检测与控制。

1 设计原理与控制算法

1.1 转速测量原理

系统是用脉冲计数方式来实现对转速的测量。该方式主要有测周法和测频法,这里选择测周法。由于转速是单位时间内的转动次数,根据霍尔感应原理,在电机转轴上的转盘边缘放置一块永久磁钢,磁钢将随测轴同步旋转而产生感生磁场。在此磁场的影响下,霍尔转速传感器会产生脉冲输出信号,其频率与转速成正比。脉冲信号周期与电机转速之间的关系为

式中:n为电机转速;P为电机每转脉冲数;T为输出脉冲信号周期。

1.2 脉冲周期测量原理

系统使用NI的PCI-6221(37-Pin)数据采集卡的计数器对脉冲周期进行测量。PCI-6221(37-Pin)的参数有16路16位模拟输入,采样率250kS/s;2路16位模拟输出通道,更新速率83kS/s;10条数字I/O线,2路32位80MHz计数器;关联 DIO(2 条时钟线,1MHz);包含 NIDAQmx驱动软件。选择计数器CTR0对脉冲周期测量。计数器是由4部分组成:计数寄存器(Count register)、信号源端(Source)、信号门控端(Gate)、信号输出端(Output)。其中计数寄存器(Count register)用于存储当前的计数值,它的存储范围跟计数器的分辨率有关;Source端用于接入被计数的信号;Gate端用于接入开始计数的门控信号;Output端用于输出单个脉冲或脉冲序列。脉冲周期测量是使用频率已知的时基信号对未知信号进行测量,在物理连接上,Source端接入较高频的时基信号,而Gate端接入较低频的待测信号。图1为脉冲周期测量原理图。

1.3 PID控制算法设计

使用离散PID控制算法控制电机转速,离散PID控制算法分成3种,第一种为位置算法,直接输出u(k);第二种为增量算法,输出 Δu(k)=u(k)-u(k-1);第三种为速度算法,输出 v(k)=Δu(k)/Δt,式中 Δt为采样周期。系统控制程序采用位置算法输出。

图1 脉冲周期测量原理图

如果算法不改变,ΔuI(k)全部由e(k)确定,当测量值发生跳变,ΔuI(k)会产生较大变化。修改后,可使ΔuI(k)受噪声的影响较小,改变的PI算法如下改变为,该算法称为梯形积分。

对于具有微分环节的控制器,如果瞬间改变设定值偏差e(k)会发生阶跃变化,从而使输出u(k)产生大范围突变,给控制过程带来不利效果。改进办法是只对输出量u(k)进行微分,而对设定值不做微分,改进的微分算法如下,KD[e(k)-e(k-1)]改进为-KD[pv(k)-pv(k-1)],称为微分先行。这样,改进后的位置算法[4]为

式?中:k 为采样序号,k=0,1,2,3……;u(k)为第 k 次采样时刻的计算机输出值;e(k)为第k次采样时刻输入的偏差值;Kc为PID比例放大系数;Ti为PID积分时间参数;Td为PID微分时间参数;pv(k)为第k次采样时刻控制器的回馈值。

图2为位置式PID控制系统框图,对e(k)进行PID运算输出控制电压,其中输入量为电机设定转速与测量转速的差值,输出量为驱动电机电压。

图2 位置式PID控制系统框图

2 系统组成及工作原理

图3为直流电机场效应管驱动电路。其中数据采集卡模拟输出AO0口输出电压经三极管驱动后导通场效应管Q4与Q6,直流电机实现正转;模拟输出AO1口输出电压经三极管驱动后导通场效应管Q3与Q7,直流电机实现反转[5]。该电路能控制额定电压12V、最大电流不超过5A的直流电机,其它规格的电机可对电机驱动控制部分电压、场效应管型号进行调整。

图3 直流电机场效应管驱动电路

图4 为系统结构框图。转速传感器测量电机转速,利用数据采集卡的计数器CTR0将采集信息反馈到计算机,计算机中的LabVIEW软件对其进行计算处理,利用数据采集卡模拟输出AO0与AO1口产生模拟电压经过驱动电路驱动较大功率电机。

图4 系统结构框图

3 系统软件设计

3.1 系统软件前面板

使用LabVIEW实现系统软件设计。系统软件程序由2部分组成:前面板、程序框图。在前面板上可以进行PID以及参数设置,波形图表能实时监控显示设定转速与测量转速的具体值与变化趋势。转速传感器测量电机转速,将转速模拟量转化为数字脉冲,通过PCI-6221(37-Pin)的计数器将脉冲信号的周期传递到计算机中,通过编写公式(1)程序即可得到电机转速。图5为直流电机控制系统前面板。图中波形图曲线中显示设定转速(由转速旋钮设定)和检测到的电机实时转速。

图5 直流电机控制系统前面板

3.2 系统软件程序框图

软件程序框图由以下3部分构成:数据采集部分、PID控制部分和模拟信号输出部分。数据采集部分采用PCI-6221(37-Pin)的计数器来实现,在NIDAQmx驱动软件的DAQmx函数中主要需要配置DAQmx创建虚拟通道函数、定时函数与读取函数。配置创建虚拟通道函数时,在测量方法节点上选择带1个计数器的低频,根据待测周期的大致范围,可设定最大值与最小值,这样驱动底层会按照这个范围选取适合的时基信号进行准确测量,在计数器节点上选择CTR0,在开始边沿节点上选择上升沿,表示在信号的上升沿开始计数,选择PFI0引脚为周期输入接线端;配置定时函数时,选择隐式(计数器),在采样模式节点选择连续采样;配置读取函数时,选择计数器DBL1采样,在超时节点上配置延迟时间常数。

图7 直流电机控制系统框图程序

PID控制部分使用LabVIEW PID控制工具包(PID Toolkit)中的 PID(SubVI).vi[6],图 6 为 PID(SubVI).vi算法程序。该算法程序主要由积分算法程序与微分算法程序构成。积分算法程序首先计算积分算法累加部分;然后计算积分算法与比例算法的和;最后是积分算法、比例算法与微分算法的和。最后的和作为整个算法的输出。微分算法程序计算的是程序将测量转速数据输入到系统回馈值(process variable)节点,将设定转速数据输入到实际期望值(setpoint)节点,在PID增益节点(PID gains)通过调整比例放大系数(Kc)、积分时间参数(Ti)和微分时间参数(Td)实现稳定控制,在输出范围节点控制输出值的范围。

图 6 PID(SubVI).vi算法程序

模拟信号输出部分使用DAQ Assistant,通过配置DAQ Assistant选择模拟输出通道AO0与AO1输出0~5V模拟电压信号。程序中使用了while循环确保数据的连续采集与处理,以及等待下一个整数倍毫秒函数用于控制循环执行速率。图7为直流电机控制系统框图程序。

4 结语

本文主要介绍了在图形化编程软件LabVIEW下进行数据采集与处理方法。选择相应传感器采集待测信号连接到数据采集卡的模拟/数字输入通道或计数器通道,使用NI-DAQmx函数或者DAQ Assistant将待测信号送入LabVIEW软件中通过编程进行运算处理,之后通过数据采集卡的模拟/数字输出通道或计数器输出通道输出控制信号。基于上述系统构建方法,设计了基于LabVIEW的直流电机转向调速系统,设计结果表明系统实现了对转速的监控显示,具有一定的应用价值。

[1] 周路平.虚拟仪器实现直流马达转速检测的研究与开发[D].上海:上海交通大学,2007.

[2] 田汉波,赵英俊.一种基于线性霍尔传感器的直流电机转速测量方法[J].机械与电子,2007(1):31-33.

[3] Travis J,Kring J.LabVIEW for Everyone:Graphical Programming Made Easy and Fun,Third Edition[M].New Jersey:Prentice Hall,2006.

[4] 陶永华.新型PID控制及其应用[M].北京:机械工业出版社,2000.

[5] 杨欣,张廷强,张铠麟,等.实例解读51单片机完全学习与应用[M].北京:电子工业出版社,2011.

[6] 金志强,包启亮.一种基于LabVIEW的PID控制器设计的方法[J].微计算机信息,2005,21(6):1-2,71.

猜你喜欢
直流电机计数器微分
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
采用虚拟计数器的电子式膜式燃气表
拟微分算子在Hp(ω)上的有界性
上下解反向的脉冲微分包含解的存在性
基于FPGA的双绕组无刷直流电机软件设计
借助微分探求连续函数的极值点
计数器竞争冒险及其处理的仿真分析
对不定积分凑微分解法的再认识
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法