Beetle 树莓派RP2350 - 步进电机的 LabVIEW 控制与应用

Beetle 树莓派RP2350 - 步进电机的 LabVIEW 控制与应用

🧭 本文介绍了 DFRobot Beetle 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 格式的角度值;
  • 打印发送和接收的数据至前面板;
  • 显示旋转状态(静止或运动)等。
前面板
程序框图
功能实现

🔔 程序使用步骤

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

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

2 连续控制

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

子VI定义

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

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

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

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

应用案例

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

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

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

也可以通过旋转起偏器或检偏器实现光强的精细调节


参考:二分之一波片的四种用法 .

方案介绍

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

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

工作原理

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

🍓 马吕斯 (E. L. Malus) 定律
I = I 0 ⋅ cos ⁡ 2 θ I = I_0\cdot \cos^2{\theta} I=I0⋅cos2θ

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

中性密度滤光片

ND 滤光片大致分为两种

  • 不连续变化 🍿

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

  • 连续变化 🍟

详见:Round Continuously Variable Metallic Neutral Density Filters .

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

数据采集

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

参考:Power Meter Kits - Thorlabs .

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

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

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

项目工程

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

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

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

数据保存样式

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

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

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

总结

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

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

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

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

相关推荐
仰泳之鹅2 分钟前
【STM32F1标准库】理论——通信协议:串口
stm32·单片机·嵌入式硬件
焦佩奇1 小时前
STM32裸机开发问题汇总
stm32·单片机·嵌入式硬件
SZ1701102311 小时前
数据报(Datagram)与虚电路(Virtual Circuit)的区别
网络·单片机·嵌入式硬件
weixin_452813092 小时前
MCU怎么运行深度学习模型
单片机·嵌入式硬件·深度学习
每月一号准时摆烂2 小时前
数字电子技术基础(五十五)——D触发器
嵌入式硬件·fpga开发
努力做小白4 小时前
4.系统定时器&基本定时器
stm32·单片机·嵌入式硬件
AIGC方案4 小时前
基于STM32F103的智能机械臂识别与控制项目(课件PPT+源代码)
stm32·嵌入式硬件·powerpoint
二块烧肉4 小时前
STM32 CAN总线
stm32·单片机·嵌入式硬件
小智学长 | 嵌入式5 小时前
单片机-STM32部分:7、GPIO输入 按键
stm32·单片机·嵌入式硬件