0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

步进电机的 LabVIEW 控制与应用

单片机/嵌入式开发 来源:单片机/嵌入式开发 作者:单片机/嵌入式开发 2025-05-05 16:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步进电机LabVIEW 控制与应用

本文介绍了树莓派 RP2350 开发板使用 LabVIEW 上位机串口发送指令,实现步进电机 单步连续 旋转指定角度的项目设计。进一步结合具体的应用场景,设计了开发板与仪器的联合调用、进而实现数据自动采集的应用案例。

项目介绍

在前面关于串口发送 json 指令使 RP2350 通过 ULN2003 驱动 28BYJ-48 步进电机旋转指定角度的项目设计的基础上,使用 LabVIEW 上位机串口发送指令,实现步进电机旋转指定角度。

LabVIEW 介绍

LabVIEW (Laboratory Virtual Instrument Engineering Workbench)是 National Instruments(NI)公司开发的一种图形化编程语言。主要用于数据采集、仪器控制、工业自动化以及测试测量系统的开发。

2023年,NI 被艾默生电气(Emerson)收购。

关键组件

  • 前面板(Front Panel)
    用户交互界面,包含按钮、图表、指示灯等控件。
  • 程序框图(Block Diagram
    图形化编程区域,通过连线连接函数、结构和子VI。
  • VI(Virtual Instrument)
    LabVIEW程序的基本单元,每个VI包含前面板和程序框图,可嵌套使用。
  • 工具包与模块
    • DAQmx :数据采集驱动;
    • Vision Development Module机器视觉处理;
    • LabVIEW NXG :新一代Web化设计工具。

详见:[艾默生旗下测试和测量系统 - NI] .

环境配置

下载并安装最新完整版 [LabVIEW] ;

安装时注意 VISA 串口驱动器的安装,后续测试将调用该模块。

工程设计

介绍了 LabVIEW 软件工程创建与程序设计的流程,实现上位机编写、旋转角度的串口发送、状态显示等。

1 单步控制

功能实现

  • 串口发送 json 格式的角度值;
  • 打印发送和接收的数据至前面板;
  • 显示旋转状态(静止或运动)等。

前面板

front-panel-step-motor.jpg

程序框图

block_labview.jpg

功能实现

程序使用步骤

  1. 选择目标串口对应的端口号,配置波特率等信息;
  2. 点击运行按钮,自动打开串口;
  3. 输入目标旋转角度值,点击 Send 发送按钮;
  4. 字符面板显示发送和接收的信息;
  5. State 指示灯将在完成旋转任务后(收到 OK)闪烁一次;

参考:[Labview 自动化测试信息转JSON字符串] 、[基于LabView开发的串口助手] 、[利用VISA进行串口通信]

2 连续控制

在实现单步控制的基础上,介绍了循环发送旋转角度指令,进而实现连续旋转的控制。

子VI定义

为了方便连续控制并旋转指定角度,采用模块化设计,定义步进电机旋转子 VI 程序。

前面板

SubVI_step-motor_moving.jpg

程序框图

SubVI_step-motor_moving_block.jpg

功能实现
  1. 输入端口:串口配置参数 (波特率等)、步进电机的旋转速度 velocity 和目标旋转角度 angle
  2. 运行程序;
  3. 待检测到串口反馈回 OK 字样,表明任务执行完毕;
  4. 打印字符串,点亮 State 状态指示灯。

连续运行

利用模块化设计的旋转子 VI 程序,结合 while 循环实现连续旋转控制。

前面板

front_continuous_running.jpg

程序框图

Block_continuous_running.jpg

功能实现
  1. 串口配置参数 (波特率等);
  2. 运行程序;
  3. 单步运行:
    • 输入旋转速度 velocity 和目标旋转角度 angle
    • 点击 Go To 按钮;
    • 待字符串面板显示 OK ,完成单步运行流程 .
  4. 连续运行:
    • 在步长 Step(单次旋转的角度)、最终需要的角度值 End 、延时 Delay 栏分别输入对应的数值;
    • 点击 START 按钮,开始运行程序;
    • Position 显示当前位置、loop 指示灯显示连续运行状态,同时输出提示字符串;
    • 待循环结束,到达目标角度,loop 指示灯熄灭,表明连续运行结束。
  5. 点击 Terminate 按钮终止程序。

应用案例

介绍了开发的 LabVIEW 上位机步进电机控制系统 的应用案例。

案例一:自动数据采集装置

实验中通常使用二分之一波片或中性密度滤光片(Neutral Density, ND)实现光束的强度和光功率的调节。

也可以通过旋转起偏器或检偏器实现光强的精细调节
Malus_law.jpg
参考:[二分之一波片的四种用法]

方案介绍

使用 LabVIEW 上位机通过串口向单片机循环发送指令,精确控制步进电机的旋转角度,进而机械驱动波片旋转,实现光强的精确控制。

介绍了两种实现光功率调节的方案,分别是采用二分之一波片和 ND 滤波片的解决方案。

工作原理

介绍旋转二分之一波片实现光强控制的基本原理。

马吕斯 (E. L. Malus) 定律

I = I_0cdot cos^2{theta}

light_strength_adjust.jpg

结合本项目设计,使用 LabVIEW 控制单片机驱动步进电机,进而旋转波片,实现光强的精确控制。

中性密度滤光片

ND 滤光片大致分为两种

  • 不连续变化

Variable_ND_Filter_noncontinue.jpg

详见:[Round, Step-Variable, Metallic Neutral Density Filters]

  • 连续变化

Variable_ND_Filter_continue.jpg

详见:[Round Continuously Variable Metallic Neutral Density Filters] .

两种滤波片均可通过控制旋转角度,调整光斑入射至 ND 的相对位置,进而实现光强的精确调控。

数据采集

实验室中的光强数据采集通常由 光敏探头 结合 光功率计 完成

power_meter.jpg

参考:[Power Meter Kits - Thorlabs]

或使用光电探测器(PD)、雪崩探测器 (APD)、光电倍增管 (PMT)、CCD 传感器等。

detector_light.jpg

参考:[平衡光电探测器] 、[光电倍增管] 、[雪崩光电二极管] 、[CCD]

这里使用混入噪声的锯齿波模拟旋转 ND 时,光强信号的变化。

项目工程

介绍了 LabVIEW 上位机联合调用设备实现自动化数据采集的项目设计,包括面板设计、程序框图、功能实现等。

前面板

data_labview-front_step-motor.jpg

程序框图

data_labview-block_step-motor.jpg

功能实现

  1. 选择目标串口对应的端口号,配置波特率等信息;
  2. 点击运行按钮,自动打开串口;
  3. 单次运行:
    (a)输入目标旋转角度值;
    (b)点击 Go To 按钮,字符面板显示发送和接收的信息;
    (c) Running 指示灯显示旋转状态(运行时点亮,静止时熄灭);
  4. 连续运行:
    (a)输入步长、目标角度、延时、文件保存路径;
    (b)点击 START 按钮开始运行;
    (c)实时显示位置、循环状态、提示字符串;
    (d)显示数据与角度演化曲线;
    (e)运行结束后,曲线数据自动保存至目标路径。
  5. 点击 Terminate 按钮终止程序。

效果演示

参数配置完成后点击 START 按钮运行程序

data_labview-front_step-motor.jpg

数据保存样式

data_saving-sample.jpg

至此完成了 RP2350 开发板结合 LabVIEW 上位机实现自动数据采集的项目。

案例二:自动雨刷(自动撑伞装置、自动浇水器、自动换水鱼缸)

结合雨滴传感器、土壤湿度传感器、水位传感器、光强传感器等,当检测到传感器模拟信号变化或达到阈值,旋转步进电机实现力矩传递和机械驱动目标装置,实现摆动、进动、旋动、开关等操作,自动完成设定任务。

sensors.jpg

总结

本文介绍了 DFRobot Beetle RP2350 开发板使用 LabVIEW 上位机串口发送指令,实现步进电机 单步连续 旋转指定角度的项目设计。

进一步结合具体的应用场景,设计了开发板与仪器的联合调用、进而实现数据自动采集的应用案例。

结合其他应用场景,有针对性地提出了工程设计思路与解决方案。

上述系统性的测试为电机驱动等相关类似项目提供了新思路,也为该型号开发板的应用提供了具有 LabVIEW 上位机控制的一系列有价值的参考。

审核编辑 黄宇

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

    关注

    2014

    文章

    3681

    浏览量

    344523
  • 步进电机
    +关注

    关注

    152

    文章

    3220

    浏览量

    151602
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ‌DRV8821 双路步进电机控制器与驱动器技术文档总结

    该DRV8821提供双微步进步进电机控制器/驱动器 打印机、扫描仪和其他办公自动化设备应用的解决方案。 两个独立的步进电机驱动电路包括
    的头像 发表于 10-21 11:27 430次阅读
    ‌DRV8821 双路<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器与驱动器技术文档总结

    ‌DRV8711 步进电机控制器技术文档总结

    DRV8711器件是一个步进电机控制器,它使用外部 N 沟道 MOSFET 驱动一个双极步进电机或两个有刷直流
    的头像 发表于 10-17 15:09 622次阅读
    ‌DRV8711 <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器技术文档总结

    伺服电机步进电机的核心区别

    大家在运动控制的时候是用伺服电机的还是用步进电机做定位控制了?为什么有时候用伺服电机,有时候又
    的头像 发表于 10-15 14:32 1411次阅读
    伺服<b class='flag-5'>电机</b>和<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的核心区别

    基于MT6835磁编码器IC的步进电机全闭环伺服控制策略

    步进电机作为一种常见的执行元件,因其结构简单、控制方便等优点被广泛应用于工业自动化、机器人、医疗设备等领域。然而,传统的开环控制方式存在失步、振荡等问题,难以满足高精度应用场景的需求。
    的头像 发表于 08-27 17:55 722次阅读

    单片机怎么控制步进电机

    步进电机作为一种将电脉冲信号转化为角位移的执行机构,其运转依赖于脉冲信号的控制,而单片机作为控制核心,通过输出特定的脉冲信号和方向信号,实现对步进
    的头像 发表于 07-24 13:41 431次阅读

    步进电机和伺服电机的区别是什么?

    启动速度不同 步进电机启动需要200-400毫秒而伺服电机只需要几毫秒是步进电机的上百倍 控制
    发表于 06-18 13:27

    数据采集卡与步进电机

    本文介绍了步进电机的工作原理,以及如何使用数据采集卡控制步进电机动作。
    的头像 发表于 05-26 15:53 1118次阅读
    数据采集卡与<b class='flag-5'>步进</b><b class='flag-5'>电机</b>

    如何应对步进电机的各种干拢问题

    步进电机的干扰问题是一个复杂且常见的话题,这些干扰可能来源于步进电机本身,也可能来自外部环境。为了有效地应对这些干扰,可以从以下几个方面进行考虑和解决。 一、
    的头像 发表于 05-11 17:38 913次阅读
    如何应对<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的各种干拢问题

    刹车步进电机的特点

    刹车步进电机作为一种结合了步进电机精确控制与制动功能的特种电机,其独特的设计和工作原理使其在需要
    的头像 发表于 04-25 15:34 1125次阅读
    刹车<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的特点

    步进电机—4线,6线,8线的电机怎么接线

    步进电机作为一种能将数字输入脉冲转换成旋转或直线增量运动的电磁执行元件,在自动化控制领域具有广泛应用。步进电机的接线方法因线数的不同而有所差
    的头像 发表于 02-26 09:08 1.2w次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>—4线,6线,8线的<b class='flag-5'>电机</b>怎么接线

    想让步进电机控制更顺滑?微步控制优势与挑战全揭秘

    步进电机依靠控制电脉冲信号的频率和数量来调控转动的步数与速度,具备分步控制的特性。为了让步进电机
    的头像 发表于 02-25 07:33 1022次阅读
    想让<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>更顺滑?微步<b class='flag-5'>控制</b>优势与挑战全揭秘

    想让步进电机控制更顺滑?微步控制优势与挑战全揭秘!

    电子发烧友网综合报道,电机控制和驱动的分类方式多种多样,若按电机类型划分,可分为直流电机驱动、交流电机驱动和
    发表于 02-19 00:47 2374次阅读

    步进电机控制实现方法

          步进电机,作为一种将电脉冲信号转换为相应角位移或线位移的电动机,是现代数字控制系统中不可或缺的重要组件。其工作原理基于电磁学原理,通过接收数字控制信号(电脉冲信号)并转化为
    的头像 发表于 01-21 16:43 2322次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的<b class='flag-5'>控制</b>实现方法

    中空轴步进电机概述

    中空轴步进电机是一种特殊设计的步进电机,其核心工作原理基于电磁感应定律。当导线线圈中的电流发生变化时,会在其周围产生磁场,这个磁场会对附近的线圈产生力,导致该线圈的运动。中空轴
    的头像 发表于 01-06 15:06 1590次阅读
    中空轴<b class='flag-5'>步进</b><b class='flag-5'>电机</b>概述

    步进电机的详解解答

    步进电机,别名脉冲马达,是一种将电脉冲信号转变为角位移或线位移的开环控制电机。它是现代数字程序控制系统中的主要执行元件,广泛应用于数控机床、
    的头像 发表于 12-29 09:41 1605次阅读