虚拟仪器通过串行接口控制步进电机的设计
2012-01-19吴本科袁自钧
蒋 敬,吴本科,高 健,袁自钧
(合肥工业大学电子科学与应用物理学院,安徽合肥 230009)
虚拟仪器通过串行接口控制步进电机的设计
蒋 敬,吴本科,高 健,袁自钧
(合肥工业大学电子科学与应用物理学院,安徽合肥 230009)
为了便于为步进电机驱动控制系统提供驱动信号和控制步进电机精确定位。通过对PC机的串行接口设备中各个信号线的传输特点的分析,利用虚拟仪器LabVIEW开发平台、编程控制PC机的RS-232C串行接口、TxD数据发送信号线和RTS流控制信号线,提供了步进电机驱动器控制信号精确控制步进电机的步进运行。该设计避免了复杂的文本式编程语言、简化了程序设计过程、并已成功应用于HB型两相步进电机的定位控制,且运行控制效果良好。
LabVIEW;虚拟仪器;串行接口;步进电机
随着控制电机在动力应用机械加工、精密仪器控制领域的广泛应用,其控制设计也在不断优化。尤其是步进电机这种不使用反馈回路,就能进行速度控制和定位控制的电机[1],对其进行优化设计尤为重要。以往对步进电机的控制多采用C/C++、VC++、汇编等编程[3-11],而利用 LabVIEW 虚拟仪器平台编程较少。文中运用LabVIEW编程技术对PC机串行接口控制,为步进电机驱动器发送行进脉冲和正反转的控制信号,从而达到对步进电机的灵活控制。在虚拟仪器编程过程中,运用LabVIEW平台内的VISA串口配置、VISA写入、属性节点等控件,采用图形化编程方式进行编程,避免复杂的文本式语言编程过程。此方法灵活,且编程简单,有利于促进步进电机控制系统的广泛应用。该步进电机的控制方法可应用于精密切割、精密焊接、云台定位等控制系统领域。
1 步进电机控制的可行性分析
采用LabVIEW平台设计对RS-232C串行接口的传输信号线进行设置,实现对步进电机的行进控制。关键涉及到如何按照控制系统和步进电机类型的硬件要求发送脉冲信号和控制信号[2-3]。
串行接口有多个标准,实验采用RS-232C标准,规定逻辑1的电平为-3~-15 V,逻辑0的电平为3~15 V,RS-232C串行接口设备通常情况下仅使用数据发送端TxD、数据接收端RxD和信号地GND进行串行通信,串口剩余的引脚在通讯过程中进行流控制与检测MODEM信号,也可作为I/O端口使用。
通过分析串行接口通信过程可知,从TxD端所发出的脉冲能够满足步进电机的控制需要[6],改变RTS信号线电平输出可以控制步进电机的方向[6]。具体应用设置方法:
(1)改变发送的字节数及所发送的字节内容,在TxD端产生一定数量的脉冲,可用TXD发送脉冲信号(Pulse)作为控制步进电机行进信号。
(2)改变波特率可动态改变发送脉冲的频率,从而改变步进电机行进速度。
(3)以 RTS作为方向控制信号(Dir),通过LabVIEW中VISA的属性节点来控制RTS信号的高低电平输出,控制步进电机的步进方向。
因此在VISA中写入控件控制TxD脉冲输出数量和RTS高低电平输出便可控制步进电机的运转。
2 控制系统和软件硬件设计
步进电机控制中的数据自动采集处理和驱动控制系统由软件和硬件两部分组成。硬件部分提供驱动细分设置,使步进电机精确平稳运行。软件部分提供步进电机控制的行进控制信号和处理系统的运行平台,完成对虚拟仪器的构建和数据获取与处理。下面分别对设计的硬件及软件进行说明。
2.1 硬件设计
如图1所示是硬件控制系统,串口设备为RS-232C串行接口,SM为步进电机。数据采集设备采集数据通过串口设备送到PC机,PC机对采集到的数据进行处理转换成脉冲信号,与其正反转信号并通过串口设备送入驱动器,以完成根据数据采集信号的要求转换成相应数量的脉冲信号和对应的正方转控制信号对步进电机行进进行控制。步进电机驱动器的接线端子CP+、CW+、CP-、CW -分别与串口的 GND、GND、TxD、RTS端连接,TxD提供步进电机行进脉冲信号,而RTS提供步进电机行进方向信号。
图1 步进电机驱动硬件连接示意图
系统选取的步进电机是42BYG系列HB型两相步进电机,其定子相数P=2,主极mP=4,m=2,n=6,转子极对数Nr=25,步距角θs由式θs=(360°/mP)-(360°n/Nr)进行计算,将上述数据代入后得步距角θs=3.6°,步距 0.04 mm/步。
所用的驱动器为HB202M型,其能将步进电机步距角θs作进一步细分,从而使转子运行效果光滑,保证步进电机平稳运行。驱动器CP+和CW+接线端子为正输入端,CP-和CW-接线端子为负输入端。细分设置有2细分、4细分、…、64细分。文中使用4细分,即400脉冲数/圈,此细分模式下步距角可达到θs=0.9°,步进电机行进定位更精确。
2.2 软件设计
软件设计部分包括数据获取、数据处理和数据发送3个模块:数据获取模块是从数据采集设备获得原始数据并简单处理;数据处理模块是对原始数据处理得到脉冲数量和正反转信号;数据发送模块是通过串口设备将脉冲和正反转信号发送到细分驱动器。下面对各模块进行详细说明:
(1)数据获取模块。如图2所示,由数据获取控件从指定路径获得原始数据,然后经过转换从数据输出端发出。
图2 数据获取模块
(2)数据处理模块。如图3所示,数据读入控件从前面模块读入数据,经过处理送入“减”控件得到差值,该值一方面送入“>0?”控件比较得到正反转信号由“方向数据输出端”发出,另一方面经过计算处理得到步进电机需要转动的脉冲数量,然后送入“脉冲转换.vi”得到脉冲由脉冲输出端输出。
图3 数据处理模块
表1 实验数据
(3)数据发送模块。如图4所示。由数据处理模块得到的脉冲通过VISA写入控件发送到TxD端,并用脉冲计数控件记下发送脉冲数量并和转换得到的脉冲数量进行比较,判断转换得到的脉冲数量与发送的数量是否一致。同时由方向数据输入得到的方向信号对RTS状态进行相应设置并发送至RTS信号线上。
图4 数据发送模块
以上程序设置完成后,需要再对前面板的显示控件适当调整,以方便观察。
2.3 实验结果及分析
在实验过程中提取以下数据:原数据、处理数据、理论脉冲数、发送脉冲数和RTS State的10组数据,如表1所示。表中的原数据是数据采集设备得到的位置数据,其是数据获得模块的数据输出端数据;处理数据是在数据处理模块中“减”控件输出端输出的位置差值;理论脉冲数是步进电机行进到确定位置需要的步进脉冲,是数据处理模块中脉冲转换输出的由“位置差值”转换得到的数据(理论脉冲数=|位置差值|/步距);发送脉冲数是串行接口实际发送的脉冲数,是由脉冲计数控件得到;RTS State是数据发送模块中对应方向数据输入信号设置的RTS状态,Asserted状态正转、Unasserted状态反转。
由表1可知,实验数据和实际观察步进电机行进情况得到的实际运行结果和实际数据在误差范围内吻合。实验结果表明这种控制的步进电机的方法切实可行。
3 结束语
使用虚拟仪器开发平台编程实现计算机RS-232C串行接口提供控制信号,对步进电机的控制是可行的。图形化模块的编程,特别是VISA属性节点控制RTS信号线的运用,从而无需用CLF调用dll文件借用其他文本式编程文件调用Windows API设置RTS控制线信号,可避免复杂的文本式编程语言的编程,节约编程时间,有利于提高研究人员的工作效率。该控制系统设计已成功控制HB型两相步进电机运行,控制效果良好。
[1]坂本正文.步进电机应用技术[M].王自强,译.北京:科学出版社,2010.
[2]刘乐善.微型计算机接口技术及应用[M].武汉:华中理工大学出版社,2004.
[3]李景峰,杨丽娜,潘恒,等.串口通信技术详解[J].北京:机械工业出版社,2010.
[4]谢其德,张云云.利用串口实现步进电机的控制[J].现代电子技术,2004,29(17):9 -11.
[5]陈慧超,陈永明.一种用VB实现并口控制步进电机的方法[M].科技创新导报,2010(7):23.
[6]王继业.用串口控制步进电机的两维运动系统[J].微计算机信息:测控自动化,2007,23(3):131 -148.
[7]陈家凤,彭其圣.基于V C++的步进电机控制方法探讨[J].工控技术,2005(9):52 -55.
[8]周明刚.基于V C++的步进电机控制方法[J].微特电机,2002(6):34-35.
[9]陈满生,田辉鹏.基于LabVIEW与单片机的步进电机控制系统[J].企业科技与发展,2008(22):72-76.
[10]HANY M H.FPGA implementation of adaptive ANN controller for speed regulationof permanent magnet stepper motor drives[J].Energy Conversion and Management,2011,25(6):1252-1257.
[11]QUY N L,JAE -WOOK J.Neural-network-based Low -speed-damping controller for stepper motor with an FPGA[J].IEEE Transactions on Industrial Electronics,2010,57(9):197-205.
Design of Stepper Motor Control by Virtual Instrumentation via Serial Interface
JIANG Jing,WU Benke,GAO Jian,YUAN Zijun
(School of Electronics and Applied Physics,Hefei University of Technology,Hefei 230009,China)
For convenient supply of driving signal to driving and controlling system of stepper motor and accurate positioning of controlling stepper motor,the paper analyses the signal line of a personal computer serial interface equipment special conveying,using Virtual Instrumentation LabVIEW Development Platform to program control the signal line of TxD and RTS supplying signal of PC serial interface RS-232C This method avoids complicated text programing language,thus simplifying the process of devising program.The design of control system has been used in controlling fixed position of Hybrid two phrase stepper motor with good performance.
LabVIEW;virtual instrumentation;serial interface;stepper motor
TP273
A
1007-7820(2012)08-046-03
2012-02-10
安徽省科技厅基金资助项目(08-111)
蒋敬(1985—),男,硕士研究生。研究方向:激光技术应用。吴本科(1961—),男,副教授,硕士。研究方向:物理学,计算物理学,激光技术应用。高健(1987—),男,硕士研究生。研究方向:激光应用。袁自均(1963—),男,讲师,硕士。研究方向:电子科学。