MATLAB/Simulink搭建电动助力转向模型, 视频操作说明 EPS模型,包括PID控制算法,传递函数回正控制,有完整的模型公式搭建过程,仿真结果 齿轮齿条转向器模型 方向盘模型 力矩传感器模型 助力电机模型等等 电动助力转向系统控制系统 电动助力转向系统被控系统 PID控制算法 控制策略

今儿咱们来折腾一下MATLAB/Simulink里的电动助力转向系统建模。直接开干!先甩张模型总图镇楼(假装有图),整个系统包含方向盘模块、扭矩传感器、助力电机、齿轮齿条四大金刚,外挂PID控制算法和回正控制两大buff。

先说方向盘模型,这货就是个弹簧阻尼系统。Simulink里直接用Transfer Fcn模块怼上:

% 方向盘传递函数 1/(J*s^2 + B*s + K)
num = [1];
den = [J B K];

J是转动惯量,B阻尼系数,K刚度系数。手贱把B调小点试试?立马看到方向盘开始抽风式抖动,像极了考科目二时紧张的手。

扭矩传感器就是个二五仔,把方向盘的倔强转换成电信号。在Simulink里用个Gain模块乘上灵敏度系数,不过得加个Saturation模块防信号爆表。代码层面其实就是:

T_sensor = T_hand * K_sens;
T_sensor = min(max(T_sensor, -10), 10); % 硬核限幅

重点戏肉是PID控制算法。别被教科书唬住,Simulink的PID模块直接拖出来,参数整定界面堪比美颜相机的拉杆:Proportional调响应速度,Integral消静差,Derivative防过冲。不过实战中发现,先调P到系统开始发抖,再往回调80%,这时候加D就像给系统喂了镇定剂。

助力电机模型是个带时间延迟的直流电机:

% 电机传递函数 K/(L*s + R)
num_motor = [K_motor];
den_motor = [L_motor R_motor];

记得在电机输出后串个Transport Delay模块,模拟现实世界的反应迟钝。参数L和R要是设太大,电机就跟宿醉似的反应慢半拍,转向助力直接变佛系。

MATLAB/Simulink搭建电动助力转向模型, 视频操作说明 EPS模型,包括PID控制算法,传递函数回正控制,有完整的模型公式搭建过程,仿真结果 齿轮齿条转向器模型 方向盘模型 力矩传感器模型 助力电机模型等等 电动助力转向系统控制系统 电动助力转向系统被控系统 PID控制算法 控制策略

齿轮齿条转向器用了个骚操作——把旋转运动转直线位移。模型里用了个Integrator积分转角速度,再乘以齿轮半径。公式简单粗暴:

x_rack = r_gear * theta_pinion; % 齿轮半径乘转角

但别忘了加个Coulomb摩擦模型,不然仿真结果干净得像美颜过度的网红照,实际装车分分钟打脸。

回正控制这块祭出传递函数大招:

% 回正力矩传递函数 (K_c*s)/(tau*s +1)
num_return = [K_c 0];
den_return = [tau 1];

这个零点位置决定了回正速度。仿真时故意把tau设大,方向盘回正就跟树懒似的慢动作,调小后又像打了鸡血疯狂回弹,找到平衡点得靠多喝几杯咖啡熬夜调参。

最后仿真结果对比环节(假装有曲线图),PID控制下的转向力矩曲线像德芙般丝滑,没控制的时候抖得比食堂阿姨打菜的手还猛。重点关注阶跃响应超调量别超过15%,调节时间控制在0.3秒内,这参数拿出去才敢跟整车厂吹牛逼。

模型搭完别急着收工,打包成子系统时记得用Bus Creator整理信号线,不然连线会乱得像耳机线在兜里掏出来的样子。顺手做个Model Reference,下次做线控转向直接调用,省时程度堪比代码界的Ctrl+C/V。

就唠这么多,参数具体数值?嘿嘿,这可是吃饭的家伙,自个儿拿模型试去!调参时记住:仿真和实车的差距,大概就像买家秀和卖家秀那么真实...

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐