基于51单片机的电动助力转向系统(EPS)设计与分析(Matlab仿真&Proteus仿真)

该文详细介绍了EPS系统的工作流程和设计目标,包括使用直线型助力特性曲线进行Matlab仿真,分析了二自由度整车模型,并通过Simulink进行了系统仿真。硬件电路设计中涉及了各种传感器和驱动芯片,程序代码实现了扭矩、车速的检测以及电流控制。

1 前言

1.1 EPS系统工作的大致流程

在这里插入图片描述

1.2 本次设计目标

  • 系统正常工作时,LCD1602能实时显示数据
  • 当电流超过额定值时,系统停止工作并报警
  • 扭矩小于1N·m或车速大于90km/h时,系统不工作
  • 当扭矩方向发生改变时,助力电机转动方向改变
  • 同一车速下,扭矩越大,助力电机助力效果好
  • 同一扭矩下,车速越小,助力电机的助力效果好

2 系统总体设计方案:

在这里插入图片描述
各模块对应方案选择:
主控芯片:AT89C52
液晶显示器:LCD1602
稳压芯片:LM7805
助力电机:直流12V电机
电机驱动芯片:L293D
电流传感器:ACS712
扭矩传感器:接触式扭矩传感器
车速传感器:光电式扭矩传感器
AD转换芯片:ADC0832
报警器:有源蜂鸣器+LED灯
稳压模块电气特性:
在这里插入图片描述
电机参数表:
在这里插入图片描述

3 Matlab仿真与分析

3.1 助力特性曲线仿真

使用直线型助力特性曲线:
在这里插入图片描述
直线型特性曲线的特点是在某一特征车速下,车感系数是一个固定的值,所以助力电机的目标电流和方向盘转矩成线性关系。根据直线型助力特性曲线的数学模型如下:
在这里插入图片描述
可以得知助力特性曲线可以分为三个区间:当 时为无助力区间,此时助力电流为0;当 时为助力变化区间,此时助力电流大小取决于车感系数等参数;当 时为助力不变区间,助力电流达到最大值后保持恒定。
拟合数据为:
在这里插入图片描述
Matlab拟合出的图像:
在这里插入图片描述
特性曲线拟合代码为:

%% 1.车感系数曲线拟合
v=[2.5 5 10 15 17.5 20 22.5 25  27.5 30 32.5 35 40 45 50 55 65 75 80 85 90]';%汽车车速数据
k=[3.3 3.2 3.025 2.7 2.525 2.35 2.075 1.825 1.7 1.525 1.41 1.275 1.05 0.895 0.775 0.625 0.475 0.385 0.275 0.155 0.12]';%汽车车速对应的车感系数
K=fit(v,k,'exp1');%指数拟合车感系数,% K(v) = a*exp(b*v), a = 3.9,b = -0.03052,置信区间95%
plot(v,k,'r*', 'linewidth',1,'MarkerSize',7)%画图
hold on
plot(K,'k')
hold off
grid on
legend('原数据','拟合曲线')%显示图标
xlabel('车速km/h');%横坐标
ylabel('车感系数');%纵坐标
title('车感系数曲线拟合')%标题

二维助力特性曲线与Map图:
在这里插入图片描述
在这里插入图片描述

相关代码为:

T=-8:0.01:8;%输入转矩T的变化范围
for n=0:10:90%实现对0-90十个特征车速特性曲线的绘制
 I_n=jsdl(n);
plot(T,I_n)
hold on
grid on
end
line([-7 -7],[0 -23.4005],'Color','b','LineStyle','--')%画出两条最大电流对应的虚线
line([7 7],[0 23.4005],'Color','b','LineStyle','--')
legend('特征车速0','特征车速10','特征车速20','特征车速30','特征车速40','特征车速50','特征车速60','特征车速70','特征车速80','特征车速90')
xlabel('转矩/(N/m)');
ylabel('助力电流/A');
title('二维助力特性曲线')
axis([-8 8 -30 30])%限制坐标轴范围
%% 3.绘制助力特性曲线Map图
t1=-8:0.01:8; %输入转矩T的变化范围
Z=[jsdl(0);jsdl(10);jsdl(20);jsdl(30);jsdl(40); jsdl(50);jsdl(60);jsdl(70);jsdl(80);jsdl(90)]';%计算助力电流
x=0:10:90;%特征车速
[X,Y]=meshgrid(x,t1);
meshc(X,Y,Z,'FaceColor','interp')%三维map绘制
ylabel('输入扭矩/N·m')
xlabel('车速/(Km/h)')
zlabel('电动机助力电流/A')
title('助力特性曲线Map图')
————————————————————————————————————————————————————————
function [i] = jsdl(vv)
%根据输入车速计算对应电流
v=[2.5 5 10 15 17.5 20 22.5 25  27.5 30 32.5 35 40 45 50 55 65 75 80 85 90]';
k=[3.3 3.2 3.025 2.7 2.525 2.35 2.075 1.825 1.7 1.525 1.41 1.275 1.05 0.895 0.775 0.625 0.475 0.385 0.275 0.155 0.12]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公子易平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值