基于虚拟仪器技术实现步进电机控制系统的设计

发布时间:2023-05-31  

步进电机是一种将电脉冲信号转换成角位移或线位移的机电元件。它在在工业自动化控制、数控机床、机器人等领域有着广泛的应用。在远程实验系统中,经常有需要利用步进电机对一些旋钮、位置等进行自动调节。本文设计了基于虚拟仪器技术的步进电机控制方案。该方案采用虚拟仪器控制步进电机,编程简单,界面友好,易于更改程序功能,控制灵活性得到了提高。


1、步进电机工作原理

步进电机按其力矩产生原理可以分为反应式、永磁式和混合式几种。本文采用的是反应式二相四线步进电机,定子有两个线圈绕组,设其中一个线圈绕组为A相,另一个线圈绕组为B相。当给A相绕组通电时,该绕组即产生磁场,转子齿与A相绕组各齿对齐;当给B相绕组通电时,转子齿将与B相绕组各齿对齐,这样,转子就旋转了一个角度。依次给A相、B相绕组通电,就可以实现步进电机的旋转,改变通电的顺序(即先给B相绕组通电,再给A相绕组通电)就可以改变电机旋转的方向。另外,由于步进电机是由脉冲信号进行控制的,给电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的时间间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。


2、步进电机控制硬件电路

2.1 串行接口电路

串行接口电路由RS 232串行接口、MAX232芯片和AT89S51单片机三部分构成。其中,RS 232串行接口用于连接PC的RS 232串行接口,MAX 232芯片用于衔接RS 232串行接口与AT89S51单片机,实现单片机输入/输出的串口信息到PC的串行接口信息的转换,即AT89S51单片机信号的TTL电平到RS 232电平的转换,从而实现二者之间电气特性上的兼容。具体串行接口硬件电路如图1所示。

基于虚拟仪器技术实现步进电机控制系统的设计

a.jpg

2.2 驱动电路

步进电机的驱动电路有多种方案,本文采用芯片L298N进行驱动。该芯片是专用驱动集成电路,输出电流大,输出功率强。其输出电流为2 A,最高电流4 A,最高工作电压50 V,可以驱动感性负载,如大功率直流电机、步进电机、电磁阀等,特别是其输入端可以与单片机直接相连,从而很方便地受单片机控制。


采用L298N芯片可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。同时,为了避免电机对单片机的干扰,在驱动电路中加入光耦TPL-521,进行光电隔离,从而使系统能稳定可靠的工作。具体驱动电路如图2所示。


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

3.1 下位机程序设计

单片机接口程序采用C51语言编写。程序中,定义了数组table1和table2,用来存储脉冲信号对应的数据;并定义了一个控制转向的指针control mode,为该指针赋予不同的值,电机便实现正反转功能。另外,程序中还定义一个速度控制变量mode,通过PC机发送命令字改变速度控制变量的值便可以实现转速的控制。在main函数部分,先调用“串口初始化程序”,再调用“控制命令字判断程序”以实现电机的速度和转向控制。main函数的最后部分将单片机收到的命令字返回给PC机,方便观察者查看通信的情况。下面给出main函数及控制变量的程序段。

b.jpg

c.jpg

3.2 上位机程序设计

单片机PC的通信是通过单片机的串口和PC串口之间的硬件连接实现的。由于LabVIEW软件简洁直观,功能强大灵活,该设计采用LabVIEW编写上位机的控制程序。程序编写涉及VISA,它的实质是一个标准的I/O函数库。这些库函数用于编写仪器的驱动程序,完成计算机与仪器间的命令和数据传输,以实现对仪器的程控。


在LabVIEW里使用VISA,必须安装NI-VISA程序包,安装后,与串口通信相关的VISA函数位于Functions→ALL Functions→Instrurnent I/O→Serial子模板上,其中,VISA配置串口函数用于设定一些参数,并将指定的串口按特定设置初始化;VISA写入函数将“写入缓冲区”的数据写入指定的串口;VISA读取函数从指定的串口中读取指定字节的数据,并将数据返回至“读取缓冲区”;VISA关闭函数关闭指定串口的会话句柄或事件对象。

d.jpg

本文设计的步进电机控制程序采用上述的通信函数结合事件结构进行编写,并通过程序调试,实现了步进电机的转向和转速控制。程序前面板与程序框图分别如图3和图4所示。


4 、结语

本文利用图形化编程语言LabVIEW编写程序实现了PC与单片机的串口通信,并结合单片机外围电路对步进电机进行了转速和转向的控制。实验证明采用LabvIEW编写的程序对步进电机进行控制具有人机交互界面友好、编程简单、效率高等特点,并且采用LabVIEW编写的控制程序移植性较强,可以很方便地被其他程序凋用以构成功能更齐全的程序。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    基于51单片机的舞蹈机器人步进机仿真设计;程序运行图: 仿真原理图: 部分程序: #include "reg51.h" #include "intrins.H" //8步式步进电机......
    系统包括两只转臂,这样可以提高实验的效率,同时也可以构成对称形式,形成对比训练,极大提高了数据的采集效率;复合运动运动载人系统主要由座舱、摆动步进电机、位移步进电机,舱内......
    的控制驱动方案。 4:步进电机的控制驱动方案介绍。 步进电机驱动器设计教程 1:常见步进电机的接线形式(两相四线,四相五线 ,四相六线,四相八线,三相步进电机 )以及运行原理。 2:详细介绍步进电机......
    步进电机的控制原理是什么?如何实现步进电机的控制?;实验原理 先来看一下硬件原理图,可看到控制步进电机的管脚分别为:GPIO6[2]、GPIO6[3]、GPIO6[4]和GPIO1[15]。使用的是一路四相五线步进电机......
    制器在变工况的条件下能提供令人满意的瞬态特性。文献根据步进电机的数学模型 ,设计了步进电机的PID 控制系统 ,采用 PID 控制算法得到控制量 ,从而控制电机向指定位置运动。最后 ,通过仿真验证了该控制具有较好的动态响应特性。采用 PID......
    基于51单片机的步进电机控制性系统;功能: 控制步进电机实现加速、减速、正转,反转,停止,并用LCD12864显示相关信息。 程序运行图: 仿真原理图: 部分程序: #define......
    采用LPC2132控制步进电机实现康复机器人系统的设计;引言 LPC2132 是基于一个支持实时防真的嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制器,并带有32 KB,64......
    STM32单片机步进电机控制系统设计案例;一、功能简介 本项目使用Proteus8.12仿真STM32单片机控制器,使用ULN2003电机模块、LCD1602模块、按键模块等。 主要功能: 系统......
    采用AT89S52和VC++的实现步进电机实时显示控制系统设计;1 引言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下, 电机的转速、停止......
    步进电机控制器的应用设置;步进电机控制器是一种专门用于控制步进电机的设备,可以用来控制步进电机的转速和方向。步进电机控制器通常包括一个驱动电路板和一个控制板,驱动......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>