电机PID控制和闭环控制

电机PID控制和闭环控制

1 PID控制

1.1 位置式PID

理论公式:

在这里插入图片描述

PID中,P用于提高响应速度,I用于减小静差、D用于抑制震荡。一般在进行PID参数整定时,首先设I和D的值为0,然后把P值从0逐渐增大,直到系统震荡。当P值足够大且I值为0时没有静差,P值较小且I值为0时会出现静差。位置控制的调节经验为:先只调节P,增大P系数至系统震荡后加入微分控制以增大阻尼,消除震荡之后再根据系统对响应和静差等的具体要求,调节P和I参数。

控制原理:

​                 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oCZOuojb-1646137449886)(C:\Users\dell\Downloads\未命名文件.png)]

C代码实现:

int Position_PID(int Position,int Target)
{
    static float Bias,Pwm,Integral_bias,Last_Bias;
    Bias=Position-Target;                             //计算偏差
    Integral_bias+=Bias;                              //求出偏差的积分
    Pwm=Position_Kp*Bias+Position_Ki*Integral_bias+Position_Kd*(Bias-Last_Bias);
    Last_Bias=Bias;                                   //保存上一次偏差
    return Pwm;
}

通过输入测量值和目标值,返回为电机控制的PWM:

第一行是相关内部变量的定义

第二行求出速度偏差

第三行通过累加求偏差的积分

第四行使用位置PID控制器求出电机PWM

第五行保存上一次偏差,用于下次。

然后在中断服务函数里调用该函数实现我们控制的目标。

1.2 增量式速度闭环PID

理论公式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BnBYJ2I4-1646137449886)(file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps21F3.tmp.jpg)]

控制原理:

在这里插入图片描述

C代码实现:

int Velocity_PI(int velocity,int Target)
{
    static float Bias,Pwm,Last_Bias,
    Bias=velocity-Target;
    Pwm+=Velocity_Kp*(Bias-Last_Bias)+Velocity_Ki*Bias;
    Last_Bias=Bias;
    return Pwm;
}

通过输入测量值和目标值,返回为电机控制的PWM:

第一行是相关变量的定义;

第二行是求出速度偏差;

第三行是使用增量PI控制器求出电机PWM;

第四行保存上一次误差

然后在中断服务函数里调用该函数实现我们控制的目标。# 电机PID控制和闭环控制

  • 9
    点赞
  • 139
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: PID控制器是一种常用的控制算法,可用于直流电机的控制。在Simulink中,可以使用PID控制器进行直流电机的速度、位置或电流控制。 首先,在Simulink中建立一个电机模型,包含一个直流电机和一个控制器。直流电机模型可以采用标准的电机模型,控制器则可以使用PID控制器。 其次,根据要控制的变量(速度、位置或电流)选择合适的反馈回路,并将其连接到控制器的输入端。控制器的输出端则连接到电机的控制信号输入端。将该信号与电机的实际输出量进行比较,计算误差,并再次输入至PID控制器。 最后,根据实际应用需求调整PID控制器的参数,比如比例系数、积分时间和微分时间等。通过这些参数的调整,可以实现直流电机的稳定控制。 需要注意的是,在实际应用中,因为PID控制器的特性限制,可能会存在超调、归零误差等问题。因此,在进行控制器设计时,应根据实际情况进行参数优化和系统稳定性分析,以达到最佳的控制效果。 ### 回答2: 在工业自动化中,直流电机通常被用来驱动各种运动控制系统,例如机器人、传送带、机床等。PID控制器是一种广泛使用的控制算法,可以确保系统稳定并快速响应控制输入。 在Simulink中,PID控制器可以与直流电机模型结合使用,以实现电机控制应用。首先,需要建立一个模型,该模型包括直流电机的电气特性、机械特性和传感器信息等。 然后,在Simulink中打开PID控制器模块,在其中设置基本参数:比例系数(Kp)、积分时间(Ti)和微分时间(Td)。这些参数可以根据特定的系统需求和试验数据进行调整。 将PID控制器连接到直流电机模型的输入端口,同时将反馈信号从电机模型的输出端口连接到PID控制器模块的反馈输入端口。 最后,运行模拟程序,进行调试和优化,以确保控制系统响应正确、稳定、满足性能要求。通过利用Simulink的PID控制器模块,可以快速开发出高效、可靠的直流电机控制系统。 ### 回答3: 直流电机是一种常见的电动机,广泛应用于工业生产和日常生活中。PID控制是一种经典的控制算法,可用于控制直流电机的转速或位置。在Simulink中实现直流电机PID控制,通常需要进行以下步骤: 首先,需要建立直流电机的数学模型,包括电机的电路、机械特性以及传感器等信息。然后,将PID控制器与电机模型连接起来,构建闭环控制系统。在该系统中,PID控制器通过测量电机转速或位置与设定值之间的差异,计算出对应的控制输出,控制电机的转速或位置。 为了提高系统的性能,可以对控制器进行参数整定,以达到更快的响应速度、更小的调节时间和稳态误差等指标。常见的PID参数整定方法包括试错法、Ziegler-Nichols法、Cohen-Coon法等。选择合适的参数整定方法和参数值是实现优质直流电机PID控制的关键。 最后,通过Simulink模拟仿真和实际实验验证控制系统的性能,并对控制器进行在线调整和优化,以满足不同的控制需求。直流电机PID控制在自动控制、机器人控制、自动化生产等领域具有广泛的应用前景。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

rubbish_miao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值