伺服电机传递函数在线辨识中Simulink输入与低拟合率问题咨询
量程与映射校准
- 先完成信号链路的线性映射校验:你当前Simulink Signal Builder输出的0~5V信号与Arduino端PWM输出的映射关系需严格对齐,确认0V对应PWM值0、5V对应PWM值1023,排除链路中的偏移误差。
- 补充非线性死区补偿:提前标定伺服的PWM死区、电位计的零漂与非线性段,将死区补偿后的实际控制量作为辨识输入,不可直接使用Signal Builder的原始输出作为辨识输入信号。
数据采集与同步修正
- 解决时序错位问题:串口下发控制指令与角度采集需做时间戳同步,避免通信延迟导致的输入输出时序不匹配,该问题是拟合率低的常见诱因。建议下发控制指令后设置等待时间待电机响应再采集角度,导入辨识前先完成所有采集数据的时序对齐。
- 优化采样与滤波:采样频率需至少为伺服系统带宽的5~10倍,满足奈奎斯特采样准则;对电位计原始采样数据做零相位滤波处理,过滤机械振动、电磁干扰带来的噪声,噪声过大会大幅降低辨识拟合度。
辨识输入信号优化
- 替换原有的简单可变输入信号,换用*伪随机二进制序列(PRBS)*作为辨识输入,信号幅值覆盖实际工作的全范围,频段覆盖系统的工作带宽,确保充分激发系统的全部动态特性,避免窄带输入导致的系统特性拟合不全。
辨识模型结构调整
- 模型阶数选择适配伺服位置环的常规结构,优先选择二阶或三阶带纯滞后的结构,避免阶数过低无法覆盖动态特性、阶数过高出现过拟合。
- 如果系统存在死区、饱和等明显非线性特性时需在辨识模型中补充非线性模块,线性传递函数无法拟合非线性特性,会直接导致拟合率偏低。
内容的提问来源于stack exchange,提问作者HDne
相关产品推荐
相关产品推荐

