一种物美价廉的基于LabVIEW的PID控制实验装置设计

2014-09-19 10:10董景新
实验技术与管理 2014年1期
关键词:计数器存储器上位

王 芃,高 震,董景新

(清华大学精密仪器系,北京 100084)

一种物美价廉的基于LabVIEW的PID控制实验装置设计

王 芃,高 震,董景新

(清华大学精密仪器系,北京 100084)

为了使学生掌握用LabVIEW实现计算机控制,用STC12单片机设计了一块接口卡,该卡将电机的位置数据反馈给上位机的LabVIEW程序,并接收LabVIEW程序发来的命令以控制电机转动,学生可任意、随时改变PID参数和采样时间,观察对应的现象,从而深入理解计算机控制原理。

PID控制实验;LabVIEW;物美价廉

接口卡在位置控制系统中的作用是采集电机的位置数据,然后将其发送给上位计算机(以后简称上位机),上位机通过运行LabVIEW,计算出控制量,然后向接口卡输出,控制量经接口卡转换为PWM信号,再经功放控制电机的转动[1]。

1 接口卡的软硬件设计

接口卡实物图见图1,接口卡的原理框图见图2。

1.1 CPLD内部的功能模块的设计

CPLD内部有3个功能模块:码盘计数器、地址锁存器和地址译码器。它们的设计全部用VHDL语言实现,以下分别简要说明。

图1 接口卡实物图

(1)码盘计数器:电机每转动一圈,光电编码器输出相位相差90°的两路脉冲信号A和B,各500个脉冲,计数器先根据A上跳沿时的B的电平判断电机是正转还是反转,然后据此对脉冲进行可逆计数,并将计数结果放在位置存储器中。为不出现负数(以方便处理)规定:零点时,位置计数器的初值是80000H(20位)[2],并且规定好位置计数器的地址。

(2)地址锁存器:STC单片机是一种8051单片机,因此其P0口分时复用地址总线的低8位是A0—A7和数据总线D0—D7。在其读写外部存储器时先发出A0—A7,同时使ALE跳到低电平以通知外部设备:现在P0口是A0—A7。据此可设计在ALE下跳触发的锁存器使它锁存A0—A7[2]。

图2 接口卡原理框图

(3)地址译码器:单片机P0口在发送完A0—A7后,开始收/发D0—D7,同时单片机还发出存储器读写信号RD/WR和P2口的地址总线的高8位(A8—A15)。因此,设计了一个有如下功能的地址译码器:当单片机输出已规定好的位置计数器的地址(A0—A15),并且RD(读)信号有效时,就将位置计数器的内容送到D0—D7总线上,则单片机将自动将此值读入,并按单片机中的程序作相应的处理[3-4]。

1.2 单片机的程序设计

单片机有2种工作方式:

第1种是单片机读取位置计数器中的数据,并将其发送给上位机显示,同时接收上位机发来的PID参数和指定位置参数;单片机求出指定位置与现在位置间的偏差和偏差的积分,以及现在的速度;然后用PID参数与偏差、偏差的积分、速度相乘,得到控制数据后再送到单片机的PWM的数据存储器中,产生相应占空比的PWM波。

第2种也是单片机将位置数据发送给上位机显示,但由上位机计算位置的偏差、偏差的积分和速度,并由PID参数和前述数据结合产生控制数据;然后将控制数据传给单片机,单片机再将其送给单片机的PWM 的数据存储器,并产生相应占空比的PWM波[5-6]。

经实践检验:第1种方式中单片机计算浮点数略慢,不如第2种方式效果好,因此本系统采用第2种方式。

1.3 单片机与上位机间的通信

本系统采用USB转串口线实现单片机与上位机间的通信。USB转串口的传输速率取决于串口的速率,而近距离内串口的传输速度波特率可以达到10 Mbit/s以上(距离15m)[3],若将位置采样数据通过串口传输给上位机处理,每个位置数据是3个字节,则串口可支持的采样频率高达300kHz,因为学生实验用的电机的机电时间常数都是10ms级的,加了控制机构的整个系统的机电时间常数也不小于3ms,即其本身的频率最高为350Hz[7-9]。因此为稳定可靠,本系统采用了115.2Kbit/s的串口波特率,则本系统的采样频率可达3.5kHz,足以满足奈奎斯特采样定理的采样频率应大于被采样信号频率的2倍的要求。

2 上位机的LabVIEW软件设计

LabVIEW程序主要包含2部分:第1部分从串口读取位置数据、计算位置偏差、速度及偏差的积分,程序如图3所示。

图3 读取位置数据、计算位置偏差、速度、偏差的积分

LabVIEW程序依次读取20位计数器的最低8位、中间8位和最高的4位,它们都是U8(无符号8位数),然后把它们分别转换为U32(无符号32位数),并分别乘以其对应的权值,最后合成为一个U32数字。由于需要把它减去原点(0x80 000)才可得到相对原点的位置,结果是有符号数,所以应把它先转换为I32(有符号32位整数)再减去原点,即可得到现在的位置;现在的位置减去上次的位置就可得到速度;指定位置减去现在的位置即得到偏差,对偏差作累加可得到偏差的积分[10-12]。

LabVIEW程序的第2部分是用PID参数和第1部分得到的偏差等计算出控制数据,然后通过串口发给单片机,以P控制为例(如图4所示)。

P一般是带小数点的单精度浮点数(SGL),所以应将位置误差e(I32)转换为SGL,然后才可以与P相乘,由于单片机的PWM数据存储器只能接收16位整数,所以将P×e的值限幅在(-32767,32767)范围内,然后将其转换为I16。由于计算机中的数都是用补码表示的,而PWM存储器(包括所有16位DA)需要用原码减去8000H表示的数据,所以应将计算机中的数异或8000H才能得到此数;然后将得到的16位数据右移后只取低8位就得到了原数据的高8位,将原数据直接只取低8位就得到了原数据的低8位,再将它们送入数组,通过数组转换成字符串才能通过串口发出[11-12]。本系统运行时电机的位置、速度的波形如图5所示。

图4 计算控制数据并从串口输出

图5 电机的位置、速度波形界面图

3 结论

本卡的单片机仅4元,CPLD仅40元,USB转串口电缆仅10元,总成本不超过100元,所以便于在实验室中大量使用。本实验室就用它教授计算机控制课程,学生一致反映通过设置不同的PID参数和采样时间观察相应的实验现象,加深了对原理的理解。

综上所述,本卡在本计算机控制实验系统中的应用是成功的。

(References)

[1]董景新,赵长德,熊沈蜀,等.控制工程基础[M].北京:清华大学出版社,2003.

[2]赵长德,董景新,王芃.控制工程基础实验教材[M].北京:清华大学出版社,2007.

[3]李江全,刘恩博.LabVIEW与串口通信测控应用[M].北京:人民邮电出版社,2010.

[4]刘刚.LabVIEW 8.20编程及应用[M].北京:电子工业出版社,2008.

[5]刘书智.VC串口通信与工程应用实践[M].北京:中国铁道出版社,2011.

[6]杨恒.CPLD/FPGA快速入门[M].北京:北京航空航天大学出版社,2002.

[7]陈桂友.增强型8051单片机实用开发技术[M].北京:北京航空航天大学出版社,2009.

[8]周功业.现代微机系统与接口技术 [M].北京:高等教育出版社,2004.

[9]裘雪红.微型计算机原理与接口技术[M].西安:西安电子科技大学出版社,2007.

[10]洪志全.现代微机原理与接口技术 [M].北京:机械工业出版社,2008.

[11]徐晓东.LabVIEW 8.5常用功能与编程[M].北京:电子工业出版社,2009.

[12]林静.LabVIEW虚拟仪器程序设计从入门到精通[M].北京:人民邮电出版社,2010.

Design of a cheaper and price low experimental device for PID contol experiment based on LabVIEW

Wang Peng,Gao Zhen,Dong Jingxin
(Department of Precision Instrument,Tsinghua University,Beijing100084,China)

For the purpose of making students handle the technology of computer controlling with LabVIEW,an interface card is designed with STC12.The card can feed the motor’s position back to a computer which is running LabVIEW,and the card can also receive the order from LabVIEW to control the motor.Students can change the parameters and observe the phenomena so as to understand the theory deeply.

PID control experiment;LabVIEW;nice matter and low price

TP391;G434

A

1002-4956(2014)1-0107-03

2013-05-09

王芃(1970—),男,北京,硕士,工程师,研究方向为机电控制系统设计.

猜你喜欢
计数器存储器上位
采用虚拟计数器的电子式膜式燃气表
静态随机存储器在轨自检算法
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
计数器竞争冒险及其处理的仿真分析
以新思路促推现代农业上位
存储器——安格尔(墨西哥)▲
任意N进制计数器的设计方法
基于Nand Flash的高速存储器结构设计