1. 风向标信号基础

做嵌入式信号处理这些年,我接触最多的传感器之一就是风向标。说实话,它看起来简单——一个转动的箭头,几根线,但真正要把信号处理好,里面的门道可不少。今天我就把这块内容掰开了讲。

1.1 风向标工作原理

风向标的核心原理,说白了就是利用风对尾翼的推力。风从哪个方向来,箭头就指向哪个方向。但这里有个关键点——风向标输出的不是角度本身,而是某种物理量的变化。

我见过三种主流方案:

  • 电位计式:风向标转轴连着电位计,角度变化引起电阻变化。便宜,但有磨损问题。
  • 编码器式:用光电或磁编码器直接输出数字角度。精度高,我项目里最爱用这种。
  • 霍尔式:利用霍尔效应感应磁场变化。无接触,寿命长,但需要校准。

关键点:风向标输出的是相对角度,不是绝对方向。你需要一个基准——通常是北向。所以安装时,箭头指向正北,输出0°就是北风。

1.2 信号类型:模拟 vs 数字

这个问题我经常被问到。其实选哪种,完全看你的应用场景。

模拟信号

电位计式风向标输出的是电压或电阻。比如0~5V对应0~360°。优点是简单,ADC一读就行。但缺点也很明显——容易受干扰,线损会影响精度。

我记得有一次在野外测试,信号线长了50米,电压掉了将近0.3V,算下来角度偏差了20多度。后来我加了差分传输才解决。

数字信号

编码器直接输出数字量,常见的有:

  • 并行输出:多根线同时输出二进制角度值。速度快,但线多。
  • 串行输出:如SPI、I2C。线少,适合远距离。
  • 脉冲输出:输出PWM或脉冲数,通过脉宽或计数换算角度。

我的建议:如果距离超过10米,优先选数字信号。别问我怎么知道的——都是教训换来的。

1.3 常见传感器接口

接口这块,我把它分成三类来讲。你想想看,实际项目中你大概率会遇到其中一种。

接口类型 信号范围 传输距离 抗干扰 典型应用
电压输出 0~5V / 0~10V <10m 室内、短距离
电流输出 4~20mA <1000m 工业现场、远距离
RS485 差分信号 <1200m 极高 气象站、风电

电压接口

最简单,三根线:电源、地、信号。但要注意,电压信号在长距离传输时压降明显。我曾经用0.5mm²的线传100米,信号衰减了15%。

电流接口

4~20mA是工业标准。为什么是4mA而不是0mA?因为4mA可以用来检测断线——如果读到0mA,说明线断了。这个设计很巧妙,我特别喜欢。

RS485接口

这是我最推荐的远距离方案。差分传输,抗共模干扰能力强。而且可以挂多个设备,组网方便。协议上常用Modbus RTU,读取风向数据就是发一条指令的事。

注意:RS485要接终端电阻,一般是120Ω。不接的话,信号反射会导致数据错误。我曾经因为这个排查了整整两天。

1.4 信号特性分析

拿到风向标信号后,第一件事不是滤波,而是分析它的特性。我一般看这几个方面:

噪声特性

风向标信号里的噪声主要有三种:

  • 机械噪声:轴承摩擦、风杯抖动。频率低,一般在1Hz以下。
  • 电气噪声:电源纹波、电磁干扰。频率高,50Hz工频及其谐波。
  • 量化噪声:ADC量化误差。幅度小,但高频成分多。

动态特性

风向变化有多快?这决定了你的采样率。我测过一些数据:

  • 微风天气:风向变化率约 1~5°/s
  • 大风天气:可达 10~30°/s
  • 阵风时:瞬间变化能超过 50°/s

所以采样率一般设在10~50Hz就够用了。太高了反而引入更多噪声。

角度跳变问题

这个坑我踩过。风向是0~360°循环的,当风向从359°变到1°时,直接相减得到-358°,但实际只变化了2°。处理这种跳变,我习惯用角度差归一化:

// 角度差归一化
float angle_diff(float a1, float a2) {
    float diff = a2 - a1;
    while (diff > 180)  diff -= 360;
    while (diff < -180) diff += 360;
    return diff;
}

核心要点:处理风向数据时,永远不要直接对角度做算术平均。要先转换成矢量分量(sin/cos),平均后再算回角度。否则0°和360°的平均会得到180°,这显然是错的。

知识体系总览

下面这张图是我自己整理的,把风向标信号的基础知识串起来了。你可以把它当作一个快速索引。

风向标信号基础 工作原理 电位计式 编码器式 霍尔式 信号类型 模拟信号(电压/电阻) 数字信号(并行/串行) 脉冲信号(PWM) 传感器接口 电压接口(0~5V/10V) 电流接口(4~20mA) RS485(Modbus) 信号特性 噪声特性(机械/电气/量化) 动态特性(变化率/采样率) 角度跳变处理 图1-1 风向标信号基础知识体系

嗯,到这里风向标信号的基础就讲完了。这些内容看着简单,但都是我在项目里一点点踩坑总结出来的。下一节我们会深入讲滤波技术,到时候你会看到,理解了信号特性,滤波才能做到有的放矢。


专注资料整理