☰
嵌入式状态监测与故障诊断装置:从信号链到轴承诊断的MCU实现
2026/10/18 22:44:16 网站建设 项目流程

简介:面向工业自动化与设备监控领域的嵌入式状态监测与故障诊断装置设计文档,以三十二位处理器AT91RM9200为核心,重点阐述工业以太网技术如何提升机电设备监控的实时性与可靠性。内容涵盖EtherNet/IP协议在嵌入式Linux下的移植、DeviceNet与以太网的互联、BOA网络服务器的部署,以及基于动态网页与UDP Socket通信的B/S架构实时监测方法;系统由数据采集、数据存储与处理、在线监测三大模块组成,并借助IDE接口扩展大容量硬盘,形成类似飞机“黑匣子”的运行数据记录能力,便于事后故障溯源。文档还涉及硬件平台的接口配置、软件架构设计以及关键代码移植思路,适合从事DCS/FCS、远程状态监控或嵌入式网关开发的研发人员学习参考。资源共1个PDF文件,大小276KB,已有159人学习浏览,可作为自动化工程课程设计、毕业设计或工业设备智能化改造的实用参考资料。

1. 嵌入式状态监测与故障诊断装置:它不是采集器,而是边缘诊断节点

设备停机一小时,产线损失按万甚至十万计,做过设备维护的同行都懂。传统方案是“采集器+上位机”,把原始波形抛给远端做故障判断,现场只剩哑巴采集器;断网、丢包、延迟一叠加,故障往往等不到算法出结论。嵌入式状态监测与故障诊断装置要解决的正是这个问题:把“采信号、提特征、判故障”整条链路压进一块MCU板卡,让诊断结论在设备旁边直接产生。

它面向预测性维护工程师、产线设备科室和想做低成本诊断节点的小团队,核心不是“采集”而是“就地判断”。后面按可实现顺序讲:硬件信号链怎么搭、时域和频域特征怎么在MCU上落地、滚动轴承诊断怎么做、现场有哪些翻车点。照着一路做下来,你能搭出一套自己说了算的小装置。

2. 硬件信号链与主控选型:先定采集精度,再谈算法

信号链是整台装置的命门。算法再漂亮,前端采集的电噪声把信号淹没,后面全白搭。这一章先解决两件事:传感器和调理电路怎么选、采样率和ADC精度怎么定。

2.1 IEPE加速度计与信号调理

工业状态监测里最常用的传感器是压电式加速度计,市面上大量产品采用IEPE(内置放大)接口。它的特点是传感器内部集成了电荷放大电路,外部只要提供一个2~4mA恒流源和一根信号线,就能从信号线上读出叠加了直流偏置的交流振动信号。因为内部有放大,远距离走线抗干扰能力比电荷型好,这也是它在现场被优先选用的原因。

选型先把频率范围和工作温度卡住。一般电机、风机、泵的轴承故障特征频率落在几十赫兹到几千赫兹之间,用频率上限10kHz左右的传感器足够;如果要测齿轮箱,建议选上限20kHz的型号。灵敏度方面,100mV/g是通用档,幅值较大的低速重载设备选50mV/g,防止信号削顶。下表是三种主流传感器类型的取舍:

类型供电/接口适用频段噪声水平现场易用性
IEPE压电恒流源2~4mA0.5Hz~10kHz以上低单线走线,最常用
电荷型压电外置电荷放大器0.1Hz~20kHz最低对线缆和接头要求高
MEMS电容式3.3V/5V供电0~1kHz相对高便宜但低频为主

很多入门踩坑都出在IEPE的直流偏置上。IEPE输出通常在2~4V直流偏置上叠加交流振动信号,如果直接送进ADC,直流成分会白白吃掉大半输入范围,小信号细节全被压缩。我一般会在调理链路里先做AC耦合(隔直)再接增益级,让交流信号尽量占满ADC量程。经验值:振动幅值在1g以内的小设备,增益放5~10倍能拿到干净波形;大设备(如破碎机)先按1倍增益试采,再根据波形峰值调整,避免削顶导致峭度计算虚高。

提示:AC耦合的截止频率不要设太高。多数设备振动有效频率从10Hz甚至更低开始,高通截止设到100Hz以上,转子不平衡这类低频成分会被削掉,FFT频谱低频段会“塌陷”。

2.2 采样率、抗混叠与ADC有效位数

采样率不是拍脑袋定的。先估算目标故障特征的最高频,再留3~5倍余量。比如滚动轴承内圈故障特征频率算出来约1500Hz,故障冲击还会带出一批高次谐波,工程上采样率取10kHz以上比较稳。我做电机类设备时习惯固定25.6kHz采样率,这个值和工业采集器的常用档一致,做FFT时谱线频率和工频、特征频率容易对整齐,分析边带方便。

抗混叠滤波是容易被省掉的一环。ADC前没有低通滤波器时,高于fs/2的噪声和干扰会折叠回低频段,表现为无规律的杂散谱线,这种错误很难靠软件消除。我的习惯是每个通道在ADC前放一阶或二阶有源低通,截止频率设在0.4~0.45倍采样率,比理论奈奎斯特频率再低一点,给过渡带留余量。判断抗混叠有没有失效的方法很简单:设备停机状态下看频谱,如果高频段出现大片随机谱峰,基本就是混叠。

ADC分辨率方面,多数MCU内置12位ADC够用。关键不是“位数”而是有效位数ENOB,很多内置ADC在输入阻抗和参考噪声影响下实际只有10位出头。信号调理好的前提下,10位有效分辨率足够区分轴承早期故障的微弱冲击。千万别为了高位数盲目上外部24位ADC,成本翻倍且PCB面积变大,前端没做好时反而测出一堆量化噪声。参考电压要用低噪声LDO单独供,别和数字电路共用电源。

2.3 ADC+DMA双缓冲采集的最小实现

采样程序的核心诉求是“连续采、不丢样”。用STM32系列举一个最小实现,这也是多数小团队做装置的原型路径:定时器触发ADC,ADC转换完成后由DMA搬运到内存,主循环只处理采集完成的缓冲区。ADC模块的常规配置略过,下面这段代码只保留最核心的DMA和定时器逻辑:

/* ADC+DMA双缓冲采集:DMA循环模式,前/后半段各为一个缓冲区 */ #define ADC_BUF_SIZE 1024 static volatile uint16_t adc_buf[2][ADC_BUF_SIZE]; static volatile uint8_t buf_ready; /* 置1表示有缓冲区可被主循环处理 */ void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) { buf_ready |= 0x01; /* 前半段(buf[0])已填满 */ } void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) { buf_ready |= 0x02; /* 后半段(buf[1])已填满 */ } static void ADC_DMA_Start(void) { /* DMA配置循环模式,连续搬运两段数据,靠半/全传输中断交替处理 */ hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY; hdma_adc1.Init.Mode = DMA_CIRCULAR; hdma_adc1.Init.MemInc = DMA_MINC_ENABLE; HAL_DMA_Init(&hdma_adc1); __HAL_LINKDMA(&hadc1, DMA_Handle, hdma_adc1); HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adc_buf, ADC_BUF_SIZE * 2); } void TIM_Sample_Init(void) { /* 25.6kHz采样率:定时器触发ADC,避免阻塞式delay造成采样间隔抖动 */ htim2.Instance = TIM2; htim2.Init.Prescaler = 84 - 1; /* 84MHz时钟分频到1MHz */ htim2.Init.Period = 39; /* 1MHz / 39 ≈ 25.6kHz */ HAL_TIM_Base_Init(&htim2); }

这段代码里的关键点是DMA的循环模式:硬件在后半段搬运完成后自动回到起始地址继续搬运,前1024点填buf[0],后1024点填buf[1],半传输中断和全传输中断分别通知主循环取走对应缓冲区。主循环只需要检查buf_ready,处理对应区间的数据后把标志位清掉,采集和计算就重叠起来,不丢样。

定时器参数决定采样率:Prescaler把84MHz APB1时钟分频到1MHz,Period设39是因为1MHz除以39约等于25641Hz,接近25.6kHz。如果想精确到25600Hz,把Period配成39,Prescaler配84,再用软件校一次;更讲究的做法是用定时器的主模式TRGO触发ADC,这部分代码没展开,但原理就是通过定时器更新事件来启动一次ADC转换。缓冲区大小1024点对应一次FFT长度,后续要加包络或细化分析可以扩到2048,代价是内存和计算时间翻倍。我先用1024点跑通整套流程,确认算法方向对了再按需加大。

3. 特征提取落到MCU:时域指标与FFT频谱的轻量化实现

采集只是第一步,装置的核心价值在特征提取。直接在MCU上做FFT看着吓人,实际上主流MCU都有现成DSP库,难点不在“算不出来”,而在“算出来的特征有没有用、算得够不够快、内存够不够放”。这一章讲三件事:时域指标怎么在线算、FFT谱怎么拿到、MCU资源怎么算清楚。

3.1 时域指标:RMS、峭度、峰值因子的在线计算

时域指标是状态监测的“第一道防线”,优点是计算量小,适合在采集过程中同步更新。RMS反映总体振动能量,峰值因子和峭度对冲击型故障敏感。轴承点蚀初期RMS可能没明显变化,峭度已经先抬高了。所以我把时域指标设计成滑窗增量更新:每采到一个新样本就更新累加器,而不是攒满一帧再统一算,CPU峰值负荷小很多。

RMS是窗口内样本平方和取平均再开方,峭度是四阶中心矩除以二阶矩的平方。信号经过AC耦合后近似零均值,计算可以简化:

/* 滑动窗口时域指标:AC耦合后近似零均值,用简化峭度公式 */ #define WIN_LEN 1024 static float sum1, sum2, sum4; static uint32_t win_cnt; void Update_TimeMetrics(int16_t sample) { float x = sample / 2048.0f; /* 12位ADC量程归一化到±1 */ sum1 += x; sum2 += x * x; sum4 += x * x * x * x; win_cnt++; if (win_cnt >= WIN_LEN) { float variance = sum2 / WIN_LEN - (sum1 / WIN_LEN) * (sum1 / WIN_LEN); float rms = sqrtf(sum2 / WIN_LEN); float kurtosis = (sum4 / WIN_LEN) / (variance * variance); /* 输出rms与kurtosis,然后重置累加器 */ sum1 = sum2 = sum4 = 0; win_cnt = 0; } }

这里有个工程上容易忽略的点:峭度对异常样本非常敏感,一次电源尖峰或接触不良就能把峭度拉高好几倍,导致误报。我在计算前会先做限幅剔除,样本绝对值超过满量程95%就按无效丢弃,宁可损失一点真实冲击信号,也不能让错误样本主导整窗指标。窗口长度1024在25.6kHz采样率下约40ms,对多数旋转机械够用。要更稳定的趋势判断可以把窗口放大到4096点,但峭度会变“钝”,早期微弱冲击被平均稀释,两个指标需要取舍。

RMS和峭度这类指标还有另一个用途:作为“先筛后算”的门槛。RMS和峭度都正常时,没必要触发后续FFT和包络解调,直接进入低功耗等待;只有指标异常才启动完整诊断流程。这样整机平均功耗能降下来,对电池供电的便携式装置尤其重要。我习惯把这条逻辑放在主循环最前面,相当于给诊断算法加了一道前置闸门。

3.2 FFT频谱:窗函数、频率分辨率与特征频率定位

时域指标只能告诉我们“有没有异常”,要说清“哪个部件坏了”,必须上频谱。MCU上做FFT的常见路径是调用厂商DSP库,例如CM内核下的CMSIS-DSP,实序列FFT支持很成熟。调用流程固定为:填数组、执行实FFT、取模得到幅值谱。关键是在填数组之前选对窗函数。

FFT分析里矩形窗频率分辨率最高,但频谱泄漏最严重。诊断场景里故障特征频率附近往往还有转频及其谐波,矩形窗旁瓣会把相邻谱线污染掉。我习惯用汉宁窗做通用诊断,主瓣稍宽但旁瓣衰减快,在“分辨”和“抑漏”之间平衡最好。要精确定位某个慢漂移的特征频率时,再用平顶窗或加窗插值。现场图省事直接不加窗的人很多,频谱上一堆裙边,特征频率根本没法看。

窗函数之外,频率分辨率Δf = fs / N是绕不开的公式。25.6kHz采样率、1024点FFT,Δf正好25Hz,两根谱线间隔25Hz。轴承外圈故障特征频率如果是1200Hz,边带间隔只有几十赫兹时,间距小于Δf的两根谱线会粘在一起。这时候要增大N或降采样率,我一般保持fs=25.6kHz不变,把FFT点数加到2048或4096,Δf降到12.5Hz或6.25Hz。N翻倍内存也翻倍,1024点复数FFT约需几KB临时缓冲,2048点翻倍,做频谱定位前先确认SRAM余量,别把RTOS任务栈挤爆。

从频谱定位特征频率,我是这样做的:先把谱线数组按幅值排序,找出前20根谱线的频率位置;再与预先算好的理论特征频率做匹配,允许±Δf以内的偏差;匹配成功的谱线幅值作为该特征强度。这套匹配逻辑代码量不大,但能避免直接找全局峰值时把转频及其谐波误认成故障频率。匹配容差要考虑负载波动:设备转速有波动时特征频率会漂一点,±1根谱线不够就放宽到±2根,但再宽就容易误匹配到邻近无关谱线。

最后算一笔资源账:25.6kHz采样率下每40ms出一帧1024点数据,FFT加特征计算在主流Cortex-M4上是毫秒量级,CPU占用率不会超过20%,剩下资源足够跑通信、诊断逻辑和看门狗。如果每帧计算超过10ms,就要检查是不是用了浮点库的满精度模式,或者有没有在中断里做了太多打印这类耗时操作。装置的性能瓶颈通常在内存带宽和采样时钟精度,不在CPU算力。

4. 滚动轴承故障诊断落地:特征频率公式与包络解调

轴承是旋转设备里故障率最高的部件,也是状态监测装置最常落地的对象。这一章把轴承故障诊断从公式推到MCU分类逻辑,读者照搬就能在装置上实现一路轴承通道。

4.1 特征频率公式:BPFO、BPFI、BSF、FTF怎么算

滚动轴承的故障特征频率由几何参数决定,四个基本频率是:外圈故障特征频率BPFO、内圈故障特征频率BPFI、滚动体故障特征频率BSF、保持架故障特征频率FTF。常见计算公式如下(n为滚动体数量,d为滚动体直径,D为节圆直径,α为接触角,fr为转频):

  • FTF = fr/2 × (1 - d/D × cosα)
  • BPFO = n/2 × fr × (1 - d/D × cosα)
  • BPFI = n/2 × fr × (1 + d/D × cosα)
  • BSF = D/(2d) × fr × [1 - (d/D × cosα)²]

现场没有轴承手册时,用游标卡尺量节圆直径和滚动体直径就能算个大概。更省事的做法是:采集一段已知转速下的振动信号,先定位保持架频率FTF,然后倒推d/D×cosα这个比值,再求另外三个频率,精度足够诊断用。为了在装置里快速验证公式,我会先用一段小脚本把理论频率算好,烧录前对照一下:

# 计算轴承四个特征频率,转频fr单位Hz,几何尺寸单位mm import math n, d, D, alpha_deg = 12, 8.0, 65.0, 15.0 # 示例参数 fr = 25.0 # 25Hz => 1500rpm alpha = math.radians(alpha_deg) ratio = d / D * math.cos(alpha) FTF = fr / 2 * (1 - ratio) BPFO = n / 2 * fr * (1 - ratio) BPFI = n / 2 * fr * (1 + ratio) BSF = D / (2 * d) * fr * (1 - ratio**2) print(f"FTF={FTF:.2f} BPFO={BPFO:.2f} BPFI={BPFI:.2f} BSF={BSF:.2f}")

参数说明里有两点要留意。第一,这些公式假定滚动体纯滚动、无打滑,实际润滑不良或载荷突变会让特征频率漂移1%~3%,匹配容差不能卡得太死,装置里默认用±3Hz加±1根谱线的组合容差。第二,转频必须实时获取,靠人工输入铭牌转速在设备实际跑起来后往往不准;现场有键相传感器就用键相,没有的话用振动频谱里幅值最大的低频峰值近似转频,在多数简单设备上够用。

4.2 包络解调:Hilbert变换的嵌入式简化

滚动轴承早期故障的振动信号特征很特殊:故障点每经过一次接触区就产生一个短时冲击,冲击能量分布在很宽频段,直接用原始频谱看,特征频率附近往往只有很小的谱线,被噪声淹没。包络解调的做法是:先把信号在某个共振频带内带通滤波,再用Hilbert变换求包络,对包络做FFT,冲击的重复频率(BPFO/BPFI等)就会在包络谱里变成明显谱峰。

在MCU上完整实现Hilbert变换需要多个FFT,成本偏高。实际上不少装置用整流+低通来近似包络:带通滤波后的信号取绝对值,再过一个截止频率约1kHz的低通滤波器,出来的就是包络的近似。这个简化在特征频率不超过几百赫兹时效果接近Hilbert,代码量却少一个数量级。我的做法是保留两种模式:现场调试时用PC端完整Hilbert分析做基准,装置端跑简化包络,两者误差控制在可接受范围后,再把简化版固化到固件里。

包络解调里的带通频带选择需要经验。选在共振频带(一般2kHz~10kHz范围内,具体要扫频看)包络谱最干净;选低了冲击成分没被放大,选高了噪声串进来。我给装置的默认值是4kHz~8kHz带通,针对中小型电机轴承做初调,具体现场用便携振动仪扫一遍再微调。包络谱怎么看也有讲究:正常轴承的包络谱在特征频率处没有突出谱峰;出现故障时,特征频率处谱峰会高出底噪3倍以上才算明显,低于这个倍数只能标记“注意”,不能直接判故障。

4.3 分类逻辑:阈值、决策表与置信输出

特征提取完成后,诊断不是简单“某频率超阈值就报警”,那样误报率没法看。我的诊断逻辑分三级:先看时域指标,没有异常就不做频谱深挖;再看特征频率匹配结果;最后用决策表综合输出。

输入症状判据条件输出结论
RMS持续超基线1.5倍,峭度正常总体能量升高建议先检查对中/平衡
峭度>4且BPFO谱峰超阈值外圈有冲击轴承外圈故障
峭度>4且BPFI谱峰超阈值内圈有冲击轴承内圈故障
包络谱在BSF及其2倍处有峰滚动体故障滚动体故障
频谱在FTF处幅值异常保持架故障保持架故障

每个输出结论都要带置信度。我习惯用“特征谱峰幅值超过阈值的倍数”换算成百分比置信度:超过阈值1.5倍才算有效报警,0.8~1.5倍区间标记为“注意”,低于0.8倍不输出。阈值本身不拍脑袋定:装置上电后先学习一段正常运行的数据,把RMS、峭度、各特征频率幅值的基线和标准差存下来,报警阈值取“基线+3~5倍标准差”。这样现场设备跑在重载还是轻载都不怕,阈值是跟着这台设备自己的历史数据走的。装置可信度是靠“不轻易下结论”攒出来的,这一点做现场的人最有体会。

5. 现场装置常见的5个坑:采样、存储、时序与误报排查

样机在实验室跑得很好,一到现场就翻车,几乎每个做嵌入式诊断的工程师都遇到过。下面按我遇到过的频率排,列5个高发问题。

5.1 坑一:FFT谱里的特征频率和理论值系统性偏移

现象:装置计算的BPFO谱峰和PC端仪表测出来的总是差几十赫兹,且方向一致。

原因:MCU采样时钟用的内部RC或精度差的谐振器,标称25.6kHz实际可能是25.1kHz,整个频率轴被等比压缩。更隐蔽的是用阻塞式Delay驱动采样,定时漂移会让频谱出现杂散谱线。这两类问题在频谱上表现不同:前者的所有谱峰等比偏移,后者的谱峰位置随机跳。

解决:采样触发必须由硬件定时器完成,主时钟优先选外部晶振。上电后做一次采样率自校准:输入已知频率的信号(例如50Hz工频),用FFT测实际谱峰位置,反推出采样率修正系数,写进存储区,每次开机读取并应用到频率计算。这个自校准逻辑就十几行代码,但对现场可信度提升非常大。

5.2 坑二:采集到的波形全是毛刺,冲击成分完全看不清

现象:波形显示一片锯齿毛刺,设备停机时也一样,峭度指标居高不下。

原因:IEPE传感器需要稳定偏置,恒流源纹波大或AC耦合电容漏电都会在信号上叠加干扰;另一个常见原因是偏置电压没隔直就进了ADC,直流成分占掉大量输入范围。

解决:用示波器先看传感器输出端直流偏置是否在规格范围内,再逐级往后查调理电路。输入端加TVS管,供电用低纹波LDO。我在电路上会测“停机状态噪声底”:设备不转时ADC读数峰峰值不应超过满量程的2%,超过就属于信号链问题,先修硬件再谈算法。这个指标每次上电自检都测一遍,可以在现场快速定位是传感器坏了还是线缆松动。

5.3 坑三:频率分辨率不够,边带谱线粘在一起

现象:转频两侧的边带分不开,包络谱里只有一个胖峰,特征频率判断不出来。

原因:采样率取高、FFT点数小,Δf = fs / N太大。25.6kHz采样配1024点FFT,Δf是25Hz,而转频边带间隔往往只有几赫兹到十几赫兹,谱线自然粘成一团。

解决:先明确要分辨的最小频率间隔,再反推点数。要分辨10Hz的边带间隔,Δf至少取5Hz,25.6kHz采样率下需要N≥5120,取8192点更稳妥。内存不够时先降采样再做FFT,这是省内存又不丢频段信息的标准做法。降采样前记得先低通滤波,否则又是混叠问题。

5.4 坑四:诊断误报率偏高,现场最后干脆不信装置

现象:一周内报了几次轴承包络异常,拆机检查轴承都正常,科室直接停用装置。

原因:阈值按空载或满速标定,但现场载荷和转速一直在变,RMS本来就高;另一个常见原因是包络频带选到齿轮啮合频率附近,齿轮正常啮合冲击被当成轴承故障。这两类原因叠加,误报几乎不可避免。

解决:把转速和载荷纳入判据,至少做到“转速相近工况才对比阈值”;包络频带避开啮合频率,改在共振频带内选;报警改成连续3次诊断窗口均超阈值才输出,单次偶发冲击只记录不报警。这三条同时上,误报率能从“天天叫”降到“几个月叫一次”。

5.5 坑五:掉电后历史数据清零,趋势分析断档

现象:装置重启,设备的历史RMS和报警记录全没了,趋势曲线从零开始。

原因:数据只放在RAM里没有掉电存储,或者写Flash的时机不对,在掉电瞬间写入导致数据损坏。

解决:只保存趋势摘要不保存原始波形:每10分钟存一组RMS、峭度、特征频率幅值,写入片内Flash扇区。Flash写入前要擦除整扇区,擦除时间约几十毫秒,所以不能在掉电中断里做,要提前周期性写入,配合超级电容维持掉电后的短暂供电。Flash擦写次数有限,用环形扇区轮流写,避免同一个扇区被反复擦写。这样即使断电重启,现场还能看到设备过去几周的趋势曲线,对判断“这个故障是突发的还是渐变的”至关重要。

6. 从样机到可维护产品:标定、自检与参数下发的三个习惯

6.1 传感器标定:装置上电后第一件事

传感器灵敏度有离散性,不标定就直接用,诊断阈值全是空中楼阁。我的标定流程是:用标准振动台输出1kHz、1g的正弦激励,装置读到的ADC峰值换算出的加速度值和标准值对比,求得增益修正系数,存进Flash。现场没有振动台时,用已知转速设备的工频幅值做相对校准,至少保证幅值的一致性。标定系数要带CRC保存,读取时校验,防止Flash异常导致装置带着错误系数跑。

6.2 上电自检与看门狗

装置要长时间无人值守,自检不能省。上电后依次做三件事:读Flash配置并校验CRC、DAC输出固定测试信号检查ADC链路、确认传感器偏置电压在正常区间。程序跑飞由独立看门狗兜底,喂狗函数放在主循环里,诊断任务阻塞超时会自动复位。这三个动作能过滤掉大部分现场的“假报警”,也能在传感器断线时快速提示现场人员。

6.3 参数下发:本地串口不如寄存器映射

现场调阈值最怕厂家反复改固件。我用一组寄存器映射来暴露参数:转速阈值、RMS基线、特征频率容差、包络带通中心频率等都映射到固定寄存器地址,外部通过Modbus写寄存器就能在线调整,不用重新烧录。现场调完参数,装置把新参数写Flash,下电不丢。

参数名寄存器范围默认值
RMS报警阈值0x10010.0~10.0g按基线学习
峭度报警阈值0x10023.0~10.04.0
特征频率容差0x10030~10Hz3
报警确认次数0x10041~53

说句实话,早期我做诊断装置时把精力全押在算法上,标定和自检草草了事,结果到现场被误报问题反复折磨,最后不得不回头补这些“不性感”的功能。现在我的习惯是算法跑通后就先把标定、自检、参数下发这三件事做进去,再进现场调试,少走一半弯路。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询