打印
[N32G45x]

基于RT-Thread和N32G457的电机振动检测仪

[复制链接]
2800|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
安小芯|  楼主 | 2022-4-21 17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 安小芯 于 2022-4-21 18:09 编辑

基于RT-Thread和N32G457的电机振动检测仪

作品出处:RT-Thread

作者:潘大伟

  • 一、背景
  • 电机是各行业重要的动力设备,但是如果电机产生故障会严重影响生产,因此有必要对电机故障进行预判,及时采取措施。
  • 电机发生异常时,电机会产生不同的振动信号,因此通过对电机振动情况的检测可以了解电机运行情况。本项目基于RT-Thread Nano操作系统和国民技术开发板开发了一套电机振动检测装置,对电机故障进行诊断,
  • 二、硬件框架
  • 本装置硬件包括N32G457开发板、振动传感器、组态屏。硬件框图如图所示。
  • 图1 硬件框图
  • 振动传感器黏贴于电动机表面,将电动机的振动情况转换为模拟量送至单片机的PC2口,单片机对模拟量进行AD转换,转换为数字量,连续采集完1024个数字量后,对其进行FFT变换,并将转后的结果显示于组态屏,通过组态屏的显示结果了解振动情况,以帮助工作人员对电机故障进行判断。
  • 三、软件框架
  • 本软件采用RT-Thread Nano操作系统,共共有三个线程,一个中断,软件框架如下图所示。
  • 图2 软件框图
  • 1、led_thread。该线程控制一LED定时闪烁,表明系统的工作状态。
  • 2、sample_start_thread。该线程用来启动定时器2,实现每隔2.5秒对电机的振动量进行检测。
  • 3、analysis_thread。该线程用来对采样数据进行分析,并将分析结果上传至组态屏。该线程在接收到信号量后才开始执行。
  • 4、TIM2中断。该定时器中断的定时时间为1/1024s,每次中断采集一个AD至,采集完1024个数据后,发出信号量,启动analysis_thread进行数据分析。
  • 5、AD采样程序。该程序将PC2口设置为AD口,并通过DMA将AD转换结果直接存放于变量。
  • 6、FFT程序。为便于计算,直接采用ARM DSP库中的实数FFT程序。
  • 四、运行
  • 程序完成实际运行时,发现使用的12V直流电机振动太小,振动模块根本无法检测出数据,因此为了保正该项目的完成性,在程序中添加了一些随机数据产生代码,用来代替AD转换的结果。由于是随机数,一次FFT的输出不是那么美观。组态屏显示横轴是频率值,纵轴表示不同频率点数据的对比。

图3 电路图

图4 开发板

图5 电机振动检测模块

图6 显示模块
代码地址:GITEE
视频地址:Bilibili

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:国民技术股份有限公司
简介:国民技术股份有限公司(简称:国民技术)2000年源于国家“909”集成电路专项工程成立,2010年创业板上市(股票代码:300077),是通用MCU、安全芯片领先企业和国家高新技术企业。

137

主题

191

帖子

15

粉丝