偏航控制逻辑设计基础
各位同学,今天咱们来聊聊偏航控制逻辑的基础。说实话,这个主题我讲了不下几十次,但每次都有新感悟。偏航系统说白了就是让风机始终对准风向,别小看这个动作,它直接决定了发电量。
我个人习惯把偏航控制拆成三块来看:输入信号、输出信号、状态机。这三块搞明白了,剩下的就是搭积木的事。
输入信号:风机的“眼睛”和“耳朵”
偏航控制需要知道三件事:风从哪来、机舱现在朝哪、有没有到极限位置。对应的就是三个关键传感器。
风向标
风向标是偏航的“指南针”。它测量的是风向与机舱中心线的夹角。我在项目中遇到过一个问题:风向标安装在机舱尾部,但机舱本身会偏转,所以测出来的角度其实是相对角度,不是绝对角度。
这里有个坑:风向标的数据要滤波。为什么?因为风是乱的,瞬时风向可能跳来跳去。我建议用滑动平均滤波,窗口大小设5秒左右。太短了会频繁偏航,太长了响应滞后。
关键参数:
- 采样频率:10Hz(每100ms读一次)
- 滤波窗口:5秒(50个采样点)
- 有效范围:0°~360°
- 精度要求:±2°
编码器
编码器告诉你机舱现在转了多少度。它装在偏航轴承上,每转一圈输出固定脉冲数。我习惯用绝对值编码器,因为掉电后位置不会丢。
你想想看,如果用的是增量式编码器,风机一断电,再上电时位置就不知道了。那偏航控制就乱套了。所以,绝对值编码器是首选。
小技巧:编码器安装时要注意零位校准。我一般会在机舱对准正北时,把编码器读数置零。这样后续计算绝对角度就方便了。
限位开关
限位开关是安全底线。偏航不能无限制转下去,否则电缆会扭断。通常有两个限位:
| 限位类型 | 触发角度 | 动作 |
|---|---|---|
| 软限位 | ±700° | PLC软件判断,停止偏航 |
| 硬限位 | ±720° | 机械开关触发,切断动力 |
我曾经见过一个项目,软限位设了±720°,结果电缆还是扭断了。后来发现是编码器累计误差导致的。所以我现在都会留20°的余量。
输出信号:执行偏航动作
知道了风向和机舱位置,接下来就是执行。输出信号主要控制两个东西:偏航电机和偏航制动器。
偏航电机正反转
偏航电机控制机舱左右旋转。说白了就是两个接触器,一个控制正转,一个控制反转。但要注意:不能同时吸合,否则会短路。
我建议在软件里加互锁逻辑。即使硬件有互锁,软件也要再检查一遍。这叫“双重保险”。
// 伪代码示例:偏航电机控制
if (需要左偏航) {
正转接触器 = ON;
反转接触器 = OFF;
} else if (需要右偏航) {
正转接触器 = OFF;
反转接触器 = ON;
} else {
正转接触器 = OFF;
反转接触器 = OFF;
}
// 互锁检查
if (正转接触器 == ON && 反转接触器 == ON) {
报错并停机;
}
偏航制动器
偏航制动器就是刹车。不偏航的时候,刹车必须抱住,防止机舱被风吹跑。偏航的时候,刹车要松开。
这里有个时序问题:先松刹车,再启动电机。反过来,先停电机,再抱刹车。我见过有人搞反了,结果电机憋着劲启动,电流飙升,直接烧了接触器。
注意:制动器松开后,要等1~2秒再启动电机。因为液压系统需要时间建立压力。这个延时不能省。
状态机设计:控制逻辑的灵魂
偏航控制不是简单的“对风就转”,它需要一套状态机来管理。我习惯用四个状态:
- 待机状态:机舱对准风向,刹车抱住,不动作
- 偏航状态:正在旋转对风,刹车松开,电机转动
- 停止状态:偏航结束,电机停转,准备抱刹车
- 故障状态:限位触发或传感器异常,紧急停机
状态切换的逻辑其实不复杂。我画个图你们就明白了:
状态机的核心逻辑就一句话:偏差大就偏航,偏差小就停止,出问题就故障。但实际工程中,细节都在阈值和时序里。
偏航启动阈值:
- 启动偏航:风向偏差 > 15°(持续3秒以上)
- 停止偏航:风向偏差 < 5°
- 死区:5°~15°之间不动作,防止频繁启停
为什么要持续3秒?因为风是动态的。如果风向刚偏了15°就立刻偏航,结果下一秒风又回来了,那就白转了。我习惯加一个延时确认,说白了就是“等一等,看风向是不是真的变了”。
嗯,这里要注意:死区不能设太大。我见过有人设了20°的死区,结果风机一直对不准风,发电量掉了5%。后来调成10°,效果就好多了。
好了,偏航控制的基础就这些。输入信号、输出信号、状态机,这三块搞清楚了,剩下的就是写代码的事。下一节咱们会深入讲偏航控制的算法实现,包括PID调节和风速加权策略。
个人经验总结:
- 风向标一定要定期校准,我见过偏差10°的,发电量直接少3%
- 编码器选绝对值型,别省那点钱
- 限位开关要每周测试一次,机械部件会卡涩
- 状态机里一定要加超时保护,防止电机堵转