PID应用于电机驱动系统中的简单讲解
来源:互联网 发布:js的数据类型 编辑:程序博客网 时间:2024/06/05 08:53
所谓PID指的是Proportion-Integral-Differential。翻译成中文是比例-积分-微分。
记住两句话:
1、PID是经典控制(使用年代久远)
2、PID是误差控制()
对电机转速进行控制还要:
1、变频器-作为电机驱动;2、差动变压器-作为输出反馈。
PID怎么对误差控制,听我细细道来:
所谓“误差”就是命令与输出的差值。比如你希望控制电机转速为1500转(“命令电压”=6V),而事实上控制电机转速只有1000转(“输出电压”=4V),则误差: e=500转(对应电压2V)。如果电机实际转速为2000转,则误差e=-500转(注意正负号)。
该误差值送到PID控制器,作为PID控制器的输入。PID控制器的输出为:误差乘比例系数Kp+Ki*误差积分+Kd*误差微分。
Kp*e + Ki*∫edt + Kd*(de/dt) (式中的t为时间,即对时间积分、微分)
上式为三项求和(希望你能看懂),PID结果后送入电机变频器或驱动器。
从上式看出,如果没有误差,即e=0,则Kp*e=0;Kd*(de/dt)=0;而Ki*∫edt 不一定为0。三项之和不一定为0。
总之,如果“误差”存在,PID就会对变频器作调整,直到误差=0。
评价一个控制系统是否优越,有三个指标:快、稳、准。
所谓快,就是要使压力能快速地达到“命令值”(不知道你的系统要求多少时间)
所谓稳,就是要压力稳定不波动或波动量小(不知道你的系统允许多大波动)
所谓准,就是要求“命令值”与“输出值”之间的误差e小(不知道你的系统允许多大误差)
对于你的系统来说,要求“快”的话,可以增大Kp、Ki值
要求“准”的话,可以增大Ki值
要求“稳”的话,可以增大Kd值,可以减少压力波动
仔细分析可以得知:这三个指标是相互矛盾的。
如果太“快”,可能导致不“稳”;
如果太“稳”,可能导致不“快”;
只要系统稳定且存在积分Ki,该系统在静态是没有误差的(会存在动态误差);
所谓动态误差,指当“命令值”不为恒值时,“输出值”跟不上“命令值”而存在的误差。不管是谁设计的、再好的系统都存在动态误差,动态误差体现的是系统的跟踪特性,比如说,有的音响功放对高频声音不敏感,就说明功放跟踪性能不好。
调整PID参数有两种方法:1、仿真法;2、“试凑法”
仿真法我想你是不会的,介绍一下“试凑法”
“试凑法”设置PID参数的建议步骤:
1、把Ki与Kd设为0,不要积分与微分;
2、把Kp值从0开始慢慢增大,观察压力的反应速度是否在你的要求内;
3、当压力的反应速度达到你的要求,停止增大Kp值;
4、在该Kp值的基础上减少10%;
5、把Ki值从0开始慢慢增大;
6、当压力开始波动,停止增大Ki值;
7、在该Ki值的基础上减少10%;
8、把Kd值从0开始慢慢增大,观察压力的反应速度是否在你的要求内
记住两句话:
1、PID是经典控制(使用年代久远)
2、PID是误差控制()
对电机转速进行控制还要:
1、变频器-作为电机驱动;2、差动变压器-作为输出反馈。
PID怎么对误差控制,听我细细道来:
所谓“误差”就是命令与输出的差值。比如你希望控制电机转速为1500转(“命令电压”=6V),而事实上控制电机转速只有1000转(“输出电压”=4V),则误差: e=500转(对应电压2V)。如果电机实际转速为2000转,则误差e=-500转(注意正负号)。
该误差值送到PID控制器,作为PID控制器的输入。PID控制器的输出为:误差乘比例系数Kp+Ki*误差积分+Kd*误差微分。
Kp*e + Ki*∫edt + Kd*(de/dt) (式中的t为时间,即对时间积分、微分)
上式为三项求和(希望你能看懂),PID结果后送入电机变频器或驱动器。
从上式看出,如果没有误差,即e=0,则Kp*e=0;Kd*(de/dt)=0;而Ki*∫edt 不一定为0。三项之和不一定为0。
总之,如果“误差”存在,PID就会对变频器作调整,直到误差=0。
评价一个控制系统是否优越,有三个指标:快、稳、准。
所谓快,就是要使压力能快速地达到“命令值”(不知道你的系统要求多少时间)
所谓稳,就是要压力稳定不波动或波动量小(不知道你的系统允许多大波动)
所谓准,就是要求“命令值”与“输出值”之间的误差e小(不知道你的系统允许多大误差)
对于你的系统来说,要求“快”的话,可以增大Kp、Ki值
要求“准”的话,可以增大Ki值
要求“稳”的话,可以增大Kd值,可以减少压力波动
仔细分析可以得知:这三个指标是相互矛盾的。
如果太“快”,可能导致不“稳”;
如果太“稳”,可能导致不“快”;
只要系统稳定且存在积分Ki,该系统在静态是没有误差的(会存在动态误差);
所谓动态误差,指当“命令值”不为恒值时,“输出值”跟不上“命令值”而存在的误差。不管是谁设计的、再好的系统都存在动态误差,动态误差体现的是系统的跟踪特性,比如说,有的音响功放对高频声音不敏感,就说明功放跟踪性能不好。
调整PID参数有两种方法:1、仿真法;2、“试凑法”
仿真法我想你是不会的,介绍一下“试凑法”
“试凑法”设置PID参数的建议步骤:
1、把Ki与Kd设为0,不要积分与微分;
2、把Kp值从0开始慢慢增大,观察压力的反应速度是否在你的要求内;
3、当压力的反应速度达到你的要求,停止增大Kp值;
4、在该Kp值的基础上减少10%;
5、把Ki值从0开始慢慢增大;
6、当压力开始波动,停止增大Ki值;
7、在该Ki值的基础上减少10%;
8、把Kd值从0开始慢慢增大,观察压力的反应速度是否在你的要求内
阅读全文
0 0
- PID应用于电机驱动系统中的简单讲解
- [电机与驱动] 一个简单的PID
- 轮式驱动单元电机PID控制说明
- 轮式驱动单元电机PID控制说明
- 电机控制应用于医疗电子设备
- 电机PID稳定控制
- PID控制电机转速
- Linux系统的嵌入式驱动开发代码流程简单讲解
- 驱动电机
- MQ在分布式系统中的应用于协作
- linux步进电机驱动
- 步进电机linux驱动
- 硬盘电机驱动电路
- 步进电机细分驱动
- arduino电机驱动例子
- 电机驱动芯片L9110
- 大功率电机驱动
- [51]L298N电机驱动
- python_selenium(sn)
- 数学问题——割圆法求π的近似值
- FTP
- ios-MRC下的@property的参数
- 进程地址空间(Linux内核源码分析)
- PID应用于电机驱动系统中的简单讲解
- 关于8个基本数据类型及他们的封装类
- spring boot-application.properties配置文件属性
- Java I/O 工作机制
- 归并排序
- Android Wi-Fi wpa_supplicant 初始化流程图
- MFC中模态和非模态对话框
- opendss
- 文件上传下载解决乱码问题