基于LabVIEW的步进电机控制方法设计详解

电子说

1.2w人已加入

描述

 

大家好,我是一名研二的在校学生,自学labview快一个学期了,这次实验室项目需要控制步进电机,于是我就用labview来实现这个实验。这个步进电机控制程序是我目前得学习成果,程序有些简单,今天就分享给大家,希望对有需要的同学有所帮助。

一、步进电机工作原理

步进电机按其力矩产生原理可以分为反应式、永磁式和混合式几种。本文采用的是反应式二相四线步进电机,定子有两个线圈绕组,设其中一个线圈绕组为A相,另一个线圈绕组为B相。当给A相绕组通电时,该绕组即产生磁场,转子齿与A相绕组各齿对齐;当给B相绕组通电时,转子齿与B相绕组各齿对齐。

       这样,转子就旋转了一个角度。依次给A相,B相绕组通电,就可以实现步进电机的旋转,改变通电的顺序(即先给B相绕组通电,再给A相绕组通电)就可以改变电机旋转的方向。另外,由于步进电机是由脉冲信号进行控制的,给电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的时间间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速[1]。

二、步进电机控制硬件

本次实验采用VSMD113-045T微型一体化步进电机控制驱动器对步进电机进行运动控制。输入电压为12-30VDC,最大输入电流为4.5A,支持最高256微步细分,通讯方式为RS485。

三、步进电机控制程序设计

1.VSMD113-045T驱动器动态链接库的调用

采用labview调用VSMD113-045T驱动器动态链接库的方式来编写控制程序。若要在labview中调用DLL,首先需要确定库的种类是C/C++ DLL还是Microsoft.NET程序集。.NET DLL也被称作.NET程序集,在.NET程序编写中被广泛地使用。.NET DLL使用公共语言运行库(Common Language Runtime,CLR)和.NET框架(.NET Framework)对DLL中的功能函数进行组织和管理。

(1)使用C/C++ DLL

1)找到头文件(* .h)或功能函数原型定义。

2)确定需要调用的功能函数。注意函数所使用的参数是否仅包含原始数据类型(如整型,字符型,双精度浮点型等)还是包含有其他复杂数据类型(如结构,数组或向量)。

3)如果功能函数的参数中不包含任何复杂数据类型且您有相应的头文件(* .h),那么可以使用导入共享库向导创建包含该头文件中功能函数的LabVIEW库。你可以在"工具→导入→共享库"中找到该工具。

4)如果没有头文件,那么需要使用调用库函数节点(Call Library Function Node)以及正确的.DLL文档以调用DLL中的功能函数。

5)双击调用库函数节点打开节点的配置窗口。在配置窗口的功能选项卡上,输入DLL的路径并选择需要调用的功能。

6)如果要调用的函数包含复杂数据类型的参数,那么需要在调用库函数节点的配置对话框中手动定义函数原型(如果当前DLL已使用类型库编译,参数数据和返回类型将被自动定义)。选择配置窗口中的参数选项卡,需要在该选项卡中添加相应的参数并修改返回值类型,直到窗口底部的函数原型与DLL中的函数定义相匹配。

(2)使用.NET程序集

1)若要在LabVIEW中使用.NET程序集,只需使用.NET功能选板即可找到所有可用的功能函数。(在程序框面板,函数→互联接口→.NET)

2)首先,需要使用构造器节点将.NET程序集中的类实例化。双击构造器节点以显示选择.NET构造器对话框。

3)只需将类的引用从构造器节点连接到属性节点或调用节点,便可以通过属性节点或调用节点简便地访问该类的属性和方法。

2.Labview程序设计

本文动态链接库为.NET程序集,因此采用.NET的构造器节点对运动控制驱动器的动态链接库进行调用。

(1)参数设置程序

首先在库中选择类creatvsmdinfo设置设备ID,即cid=1,然后选择类openseriaport设置串口和波特率,之后再次选择类creatvsmdinfo,调用里面的各类属性函数设置使能端、加速电流、匀速电流、加速度、减速度、速度和移动距离。参数设置程序流程图和程序框图如图1所示。动态链接库函数含义如表1所示。

LabVIEW

(a)参数设置程序流程图

LabVIEW

(b)参数设置程序框图

图1参数设置程序示意图

LabVIEW

(2)运动控制程序

运动控制程序采用while循环结构。流程图和程序框图如图2所示,前面板框图如图3所示。

LabVIEW

(a)while循环流程图 

LabVIEW

(b)程序框图

图2运动控制程序示意图

LabVIEW

图3前面板框图

LabVIEW

图4 完整程序框图

责任编辑:xj

原文标题:基于LabVIEW的步进电机控制方法设计

文章出处:【微信公众号:labview学习日记】欢迎添加关注!文章转载请注明出处。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分