2012年2月15日
第35卷第4期
啊代电子技术
Modern Electronics Technique
Feb.2012
V01.35 No.4
基于LabVIEW的步进电机控制
庄瑞荣,昊先球
(华南师范大学物理与电信工程学院,广东广州510006)
摘要:为了实现PC机对步进电机的自动调节,设计了基于座扭仪嚣技术的步进电机控翻方囊.吞境秉用L298N芯
片进行驱动。以LabVIEW作为开发平台,井通过串口实现数据通信。蛄果王示.馕系统能够很方便地实现步进电机的转逢
转向控稍,而且刺用虚拟仅器开发平台LabVIEW壤写上位机程序,鼻有璃翟简单,技稍界面友好.程序可移植性强的静点.
关麓调:步进电机I串口·LabVIEWl VISA
中圈分类号:TN911-34
文敷标识码:A
文章编号:1004—373X(2012)04.0202一03
LabVlEW-based control of stepping motors
ZHUANG Rubrong,WU Xian-qiu
(Institute ot Physics and Teleurmmunieation Engineering,South china Normal Unlverslty,GuangsEou 510006.China)
Abstractl In order tO control the stepping motor automatically,墨I_b、佃聊二based omatrol system for stepping motors Was de-
sigTlecL L298N chip is adopted in the system to drive the stepping motors.The data cowanunication between LabVIEW and the micro-
controller is execttted via serial port.The software end hBrdware of the system are presented.The experimmtal results show that this
system has B convenient operational interlace。and is easy tO realize the control of rotate speed and direction.
Keywords z stepping motori serial port,LabVIEW VISA
步进电机是一种将电脉冲信号转换成角位移或线
步进电机进行调速。
位移的机电元件。它在在工业自动化控制、数控机床、
机器入等领域有着广泛的应用。在远程实验系统中,经
2步避电机控翻硬件电路
常有需要利用步进电机对一些旋钮、位置等进行自动调
2.1 串行接口电路
节。本文设计了基于虚拟仪器技术的步进电机控制方
卓行接口电路由RS 232串行接口、MAX232芯片
案。该方案采用虚拟仪器控制步进电机,编程简单,界
和AT89S51单片机三部分构成。其中,RS 232串行接
面友好.易于更改程序功能,控制灵活性得到了提高。
口用于连接PC的RS 232串行接口,MAX232芯片用
l步进电机工作原理
步进电机按其力矩产生原理可以分为反应式、永磁
式和混合式几种。本文采用的是反应式二相四线步进
电机,定子有两个线圈绕组,设其中一个线圈绕组为
A相,另一个线圈绕组为B相。当给A相绕组通电时·
该绕组即产生磁场,转子齿与A相绕组各齿对齐;当给
B相绕组通电时,转子齿将与B相绕组各齿对齐.这样.
转子就旋转了一个角度。依次给A相,B相绕组通电,
就可以实现步进电机的旋转,改变通电的顺序(即先给
B相绕组通电,再给A相绕组通电)就可以改变电机旋
转的方向。另外,由于步进电机是由脉冲信号进行控制
的,给电机发一个控制脉冲,它就转一步,再发一个脉
冲,它会再转一步。两个脉冲的时间间隔越短,步进电
机就转得越快。调整单片机发出的脉冲频率,就可以对
收疆日期:2011-09·11
·
基盒硬目:国家自然科学基金资助硬目(10575039)
万方数据
于衔接RS 232串行接口与AT89S51单片机,实现单片
机输入/输出的串口信息到PC的串行接口信息的转
换,即AT89s51单片机信号的TTL电平到RS 232电
平的转换.从而实现二者之间电气特性上的兼容。具体
串行接口硬件电路如图1所示。
2.2驱动电路
步进电机的驱动电路有多种方案,本文采用芯片
L298N进行驱动.该芯片是专用驱动集成电路.输出
电流大,输出功率强。其输出电流为2 A,最高电流
4 A,最高工作电压50 V,可以驱动感性负载,如大功率
直流电机、步进电机、电磁阍等,特别是其输入端可以与
单片机直接相连,从而很方便地受单片机控制。
采用L298N芯片可以直接控翩步进电机,并可以
实现电机正转与反转.实现此功能只需改变输入端的逻
辑电平.同时,为了避免电机对单片机的干扰,在驱动
电路中加入光耦TPL-521,进行光电隔离,从而使系统
能稳定可靠的工作.具体驱动电路如图2所示.
第4期
庄瑞荣,等:基于LabVIEW的步进电机控制
203
图1 串行接口硬件电路
=?
目2步进电机驱动电蓐
3步进电机控制程序设计
3.1下位机程序设计
命令字改变速度控制变量的值便可以实现转速的控制。
在main函数部分,先调用“串口初始化程序”,再调用
。控制命令字判断程序”以实现电机的速度和转向控制。
单片机接口程序采用C51语言编写。程序中,定
义了数组tablel和table2,用来存储脉冲信号对应的数
main函数的最后部分将单片机收到的命令字返回给
PC机,方便观察者查看通信的情况。下面给出main
据,并定义了一个控制转向的指针control mode,为该
函数及控制变量的程序段。
指针赋予不同的值,电机便实现正反转功能。另外,程
序中还定义一个速度控制变量mode,通过PC机发送
Uchar idata tablelCl一{0xfe。Oxfd.0xfb。0M7,0xff}l HiE转
万方数据
204
现代电子技术
2012年第35卷
Oxfb,0xfd,0xfe,Oxff/;//反转
交互界面友好、编程简单、效率高等特点,并且采用
/7篓竺鉴苎堂竺LaBVIEW编写的控制程序移植性较强,可以很方便地
……。
∥速度控制变蕈
被其他程序函诗西构。矗功琵釜鼻全磊磊序‘。
Uchar idata tahleZ(]={Oxf7
uehar idata。eomrol—mode;
static int mode;
void main()
{serinit();
while(1)
{display();
if(flag==1)
fIag=0;
ES一0:
SBUF=temp
while(!TI,
’F1—0;
ES=1;
//调用串口初始化程序
//控制命令字判断
//判断是否完成接收
//串口q,断芰闭
//将原先发送的值运叫
//判断是否发送完成
//是则硬件清0
//再次打开串口中断
3.2上位机程序设计
单片机和PC的通信屉通过单片机的串口和Pc串
口之间的硬什连接实现的。由于LabVIEW软件简洁
直观,功能强大灵活,该设计采用LabVIEW编写上位
机的控制程序。程序编写涉及VISA,它的实质是一个
标准的I/O函数库。这些库函数用于编写仪器的驱动
程序,完成计算机与仪器间的命令和数据传输,以实现
对仪器的程控。
在LabVIEW里使用VISA,必须安装NI—VISA程
序包,安装后,与串口通信相关的VISA函数位于
Functions—AI,I。Functions—Instrument I/O—Serial
I
: _ 一
@|i蠹面
习3前面板
匝量一●一
蓍曲
蓍2岛
醋’岛
四田
圈4程序框图
参考文献
[1]李扛全,刘息博,胡蓉,等1.abVIEW虚拟仪器数据采集与
串口通信冽控应用实战[M],北京:|人民邮电出版社,2010.
子模板上,其中,VISA配置串口函数用于设定一些参
[2]胡仁喜.王恒海,齐东明LabVIEw 8.2 1虚拟仪器实例指
数,并将指定的串口按特定设置初始化;VISA写入函
数将“写入缓冲区”的数据写入指定的串口;VISA读取
导教程[M].北京:机械工业出版社,2008.
[3]陈锡辉,张银鸿.I.abVIEW 8.20程序设计从入门到精通
函数从指定的串171中读取指定字节的数据,并将数据返
[M].北京:清华大学出版社.2007.
回至“读取缓冲区”;VISA关闭函数关闭指定串口的会
[4]杨将新,李华军,刘东骏.单片机程序设计及应用[M].北
话句柄或事件对象。
本文设计的步进电机控制程序采用上述的通信函
数结合事件结构进行编写,并通过程序调试,实现了步
进电机的转向和转速控制。程序前面板与程序框图分
别如图3和图4所示。
4结语
本文利用图形化编程语言LabVIEW编写程序实
现j’PC与单片机的串口通信,并结合单片机外围电路
对步进电机进行了转速和转向的控制。实验证明采
京:电子工业出版社,2006.
[5]陈诫.李肓武,葛立峰.基于LabVIEW的单片机串口通信设
计[J].现代计算机,2009(1):198—200.
[6]姜平,冯雪,方亮.基于LabVIEW的温度控制系统设计[J]
电子科学,2010(11):32—34.
[7]季晴基于LabVIEW的申口通信应用[J3.常州信息职业技
术学院学报.2009(3):8 11
[8]吕向峰,高洪林基于LahVIEW串IA通信的研究[J].理论
与方法,2009,28(12):27、30.
[93坂本正文步进电机应用技术[M].王自强,译.北京:科学
出版杜,2010.
[10]侯殿有单片机【:语言程序设计[M].北京:人民邮电出版
用l。abVlEW编写的程序对步进电机进行控制具有人机
社,201 0.
作者简介:庄瑞荣 男,1 986年出生,广东茂名人,在读硕士研究生。研究方向为物理实验课程与教学
万方数据
基于LabVIEW的步进电机控制
作者:
庄瑞荣, 吴先球, ZHUANG Rui-rong, WU Xian-qiu
作者单位:
刊名:
英文刊名:
华南师范大学物理与电信工程学院,广东广州,510006
现代电子技术
Modern Electronics Technique
年,卷(期):
本文链接:http://d.g.wanfangdata.com.cn/Periodical_xddzjs201204063.aspx
2012,35(4)