PID控制电机

控制系统

闭环

将PID算法的输出转化为PWM控制信号,发送给电机驱动电路,电机驱动电路与直流电机相连,并且会将PWM控制信号转化为相同占空比的PWM供电电压,通过对供电电压的PWM占空比的调节,实现对电机转速的调节。同时系统需要一个传感器,对电机状态进行定时采样,并将采样结果,作为反馈信号输入给单片机

 PID

连续表达式

这是电机转速的连续变化曲线,用一个传感器沿着时间轴,对转速曲线进行逐点采样,采样间隔时间恒定为Δt,然后用这些采样点来近似表示,原来的连续曲线,这就是离散化过程。

P连续表达式

e(t)表示被控对象的当前状态,与目标状态的状态偏差。

 

离散化之后,P的离散表达式

ex同样表示X点的状态值与目标状态值的偏差。

I连续表达式

积分部分表示0~t 时刻,对状态偏差的积分。在图中可以表示为这三部分的面积之和

离散化之后,I 的离散表达式

ex表示X采样点的状态偏差,Δt表示采样间隔,这两者相乘表示这部分的矩形面积。将1~X点的所有矩形面积相加,就得到了I 的离散表达式。

D连续表达式

de(t)/dt表示T时刻,状态偏差的微分。

离散化之后,D的离散表达式

斜率,dt==Δt

离散表达式

Δt是常量,因此可以和比例系数Kp,微分系数Kd合并

得到位置式PID

之后

Ux为当前点的PID表达式,Ux-1为前一点的表达式。

用Ux - Ux-1,得到增量式PID

所以位置式和增量式,在本质上是同一个公式,只是两种不同的表达方式。

PID的作用

 et偏差值=目标值-当前值,第一次采样,第二次采样...所以t=1,t=2...

P:提高响应速度,减少稳态误差

当用P作为控制器,来控制电机时得到的转速曲线

随着系数Kp的增加,转速曲线的波动越来越陡峭,波峰也越来越高。

存在稳态误差,因为外部的干扰使得比例提供的控制量和外部因素抵消,导致实际控制量等于0了。可以理解为要一杯水一直维持在50度,但是当前温度为40,因为加热器的比例控制等输出功率输出跟水的散热正好抵消了,所以还需要一个ki来补偿。

随着系数Kp的增加,稳态偏差会逐渐缩小,但是始终无法消除。

当Kp过大时,会产生震荡。因为当转速达到目标值时,不控制,但由于惯性,转速还会继续上升一会。等转速低于目标值时,由于惯性,转速还会往下降。循环往复

波动是因为惯性,误差是因为系统自身存在一定阻力。

D可以减少波动

当e(t)-e(t-1)>0时,当前转速<上一点转速,D(t)>0,增加转速

当e(t)-e(t-1)<0时,当前转速>上一点转速,D(t)<0,减少转速

D像一个阻尼器,转速远离目标值的时候,它阻止远离;转速靠近目标值的时候,它阻止靠近。从而让被控对象更快地稳定在一个状态,不波动

I 解决稳态误差

系统稳定后存在稳态误差,加入I 后,I会对这部分误差进行正向积分,因为历史上的偏差之和没达标,积分项会增大输出,超过目标值(超调量偏大)

当转速超过目标转速时,I会对这部分误差进行负向积分,I(t)<0,减小转速。只要转速没有运行在目标转速上,I 就会发挥调节作用。被控对象最终会稳定在目标转速上

使用

Ut=Kp*e(t),Kp像一个衰减器或放大器,用来调整传感器传回来的偏差值,把偏差值放大或缩小。

比例算法,特点是输出信号的大小与当前的偏差值成比例,偏差越大,输出的控制信号越大。

有缺陷:一旦传感器传回来的值与目标值相等,输出信号就等于0,不控制了,负载就处于失控状态,因此它由于外部的阻力,又会产生偏差。所以比例控制是一个始终有误差的控制算法,你没有误差我就不控制了,有了误差我才控制。

积分算法,Ut=Ki*(e1+e2+...+et-1+et),特点是考虑了过去那段时间的状态,当过去那段时间总体大于0,没达标,则加大控制信号;反之超标,减小控制信号。

有缺陷:当过去的数据之和总体等于0,输出信号也等于0,只要历史上总体是好的,就是好的,会导致历史情况严重干扰了当前的情况。

所以PID的基本思想就是,我要通过历史上的这些数据,来预测出控制对象有可能发生的变化,我提前做控制,不要等到问题出现的时候再来控制。

微分算法,Ut=Kd*(Ek-Ek-1),只考虑最近两次的偏差,表示偏差的一个变化趋势。当偏差之差>0时,,说明偏差有增大的趋势,需要加大控制输出。线越陡变化越剧烈;当偏差之差<0时,偏差有减小的趋势,控制输出可以减小一点。

有缺陷:当偏差之差=0,偏差变化率是条直线,偏差始终存在,但偏差没有变大或变小的趋势。它只关心偏差有没有变化趋势,而不考察偏差存不存在。

通过最近这段时间的变化趋势,来预测将来的变化。Kd使斜率变大,控制的灵敏度变高。

  • 17
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C语言模糊PID控制电机是利用模糊控制算法与PID控制算法相结合,对电机控制进行调节。模糊控制的优点是对于存在不确定性的控制系统具有鲁棒性,能够减小传统PID控制算法的振荡现象,提高系统的响应速度和稳定性。 模糊PID控制电机的基本步骤是:首先,通过传感器获取电机运行的实时数据,包括转速、位置等参数。然后,将这些数据经过模糊控制器的处理,得出模糊输出值。最后,将模糊输出值与PID控制器的输出值相结合,产生控制信号控制电机的运行。 模糊PID控制电机需要分别设计模糊控制器和PID控制器,对于不同的电机控制需求,还需要根据实际情况进行参数调整。在实际的应用中,模糊PID控制电机广泛应用于电动汽车、工业自动化、机器人等领域,具有较高的应用价值和发展前景。 ### 回答2: C语言模糊PID控制电机是一种利用模糊控制方法与PID控制算法相结合的电机控制策略。它在控制精度、抗干扰能力、适应性等方面比传统PID控制有了更好的表现。 模糊PID控制器的核心是模糊控制器和PID控制器。模糊控制器根据电机的状态和控制命令计算出输出控制量,PID控制器则调整输出控制量,使电机达到预定转速或位置。 模糊控制器的优点在于它对输入变量的不确定性更为敏感,可以更好地适应非线性系统和变化的工作环境。而PID控制器则能提供更高的精确度和更快的响应速度。结合两者的优点,模糊PID控制器能够在实际应用中更好地稳定控制电机,提高了电机的控制精度和可靠性。 总的来说,C语言模糊PID控制电机是一种高效的控制策略,可以充分利用C语言编程的优势,对电机进行更加精准、稳定的控制,提高了电机的工作效率和可靠性。 ### 回答3: C语言模糊PID控制电机是一种控制电机的方法,其中PID代表比例、积分和微分。使用PID控制可以确保电机在不同的负载和速度下保持稳定。通过使用模糊逻辑进行PID控制,我们可以更好地适应不断变化的工作环境。 在使用模糊PID控制电机时,我们首先需要收集一些数据,例如当前速度、负载和电压等信息,然后将这些数据作为输入交给模糊逻辑控制器。模糊逻辑控制器使用一组规则和隶属度函数来计算输出,该输出将用作PID控制器的输入。 最终输出的PID信号会根据电机的特定需求进行调整,以确保电机始终以最佳速度和负载运行。由于模糊PID控制方法可以实时调整输出信号,因此它可以更好地适应实时变化的工作环境,这使得它在很多行业中都被广泛应用,如制造业、交通运输、机器人控制等。 总之,C语言模糊PID控制电机是一种高级控制方法,可以确保电机在各种情况下稳定运行,并为实时变化的工作环境提供了更好的适应性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值