PID直流电机调速讲解1

上传人:F****n 文档编号:118701227 上传时间:2019-12-23 格式:PPT 页数:20 大小:1.75MB
返回 下载 相关 举报
PID直流电机调速讲解1_第1页
第1页 / 共20页
PID直流电机调速讲解1_第2页
第2页 / 共20页
PID直流电机调速讲解1_第3页
第3页 / 共20页
PID直流电机调速讲解1_第4页
第4页 / 共20页
PID直流电机调速讲解1_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《PID直流电机调速讲解1》由会员分享,可在线阅读,更多相关《PID直流电机调速讲解1(20页珍藏版)》请在金锄头文库上搜索。

1、一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 主讲:于涛 开始 PID智能小车 直流电机调速 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 1of26 www.do-idea.org PID是什么 绕不开的理论公式 实际如何下手 演示 更进一步的深入 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个

2、背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 2of26 类比 例如一个底部有漏口的水池,如 果我们要保持水位,在某一个刻 度,需要通过水阀开度的大小来 实现。 “高于刻度阀门就开小,低于刻度阀门就开大 “ 这本身就是PID里面的一部分: P,即比例控制-只使用了PID的P部分。 www.do-idea.org 生活中的例子 题外话:使用开环也可以,pwm与转速对应表。 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那

3、个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 PID是什么? 为什么使用PID 一般的开关控制只能简 单的起停。 即控制电机的转动与停 止。 使用PID的效果: 实现 更精细的控制。 1.保持转速恒定。 2.快速达到指定的转 速。 常用单位 :转/分钟 = RPM。 为什么我们不能告诉电机 ,按照我们要的速度转动? 电机的交互方式:PWM, 参数整定 3of26 www.do-idea.org P -比例 I -积分 D -微分 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔

4、掉哪一个?为什么呢?说说你的理由。 PID的前提是反馈 必须有反馈才能知道如何调整 4 of26 www.do-idea.org PID是什么? PID Controller Motor 要求的速度 实际转速 (编码器测速 ) 调整 PWM err 速度反馈 闭环:带有反馈的系统 开环:没有反馈的系统 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 PID是什么? P-比例控制部分 这个很好理解.比如说,速度传感器发现,当前速度是1200/分.而我们设

5、定的速度值 为1000 /分,那么差就是200 /分,这时,如果我设定P为0.1,而电机速度的控制量是 “电压”,就应该是Uo+0.1x200。 P的意思就是“倍数”,就是指你要把这个偏差放大多少倍.放大本身就是一个比 例. 单单一个P控制就足够可以控制电机的速度. 5of26 www.do-idea.org Velocity P 单独控制效果: 有误差,但是保持不变 Time 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 PID是什么? I-积分控

6、制部分 它是一个积分运算.有的时候偏差不是很大,可以继续运行下去,但会使系统始终存 在一个偏差.如果你使用I运算将这个偏差累加起来,到了一定大小的时候就进行处 理.这样就能防止 系统的误差累计.其实,在程序中,这个过程就是对一个小偏差的连 续累加. 5of26 www.do-idea.org Velocity PI 组合 消除了误差 带来了超调 Time 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 PID是什么? D-微分控制部分 所谓的微分就是对

7、变量求导,意思就是一个量的变化率.其微分部分就是能够将变 量变化率放入计算中.这个量在编程中其实就是求上次偏差和这次偏差的差. 5of26 www.do-idea.org Velocity PID 黄金组合 加快进入稳态 减少超调 Time 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 绕不开的理论公式 误差: e(t) = 给定测速结果 P控制器: 5of26 www.do-idea.org PI控制器: 一个人拥有健康,美貌,诚信,机敏,才学,金

8、钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 绕不开的理论公式 5of26 www.do-idea.org PID控制器 本次的误差e(kT) ,上次的误差e(k-1)T,2者的差值除以采样时间就是变化率 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 绕不开的理论公式 上面介绍的公式,叫做位置PID,也就是每次都使用整个系统的状态。可以理解 为:偏

9、差使用的是所有的全量偏差。 还有一种算法是增量式PID。 摘录网上的话:“位置式PID算法每次输出与整个过去状态有关,计算式中要用 到过去误差的累加值,因此,容易产生较大的累积计算误差。而增量式PID只需 计算增量,计算误差或精度不足时对控制量的计算影响较小。” 上一次的输出为u(k-1),这次的输出为u(k) ,变化量为u(k) 5of26 www.do-idea.org 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 实际如何下手 硬件准备: 1.

10、N20直流电机,配有1:145的金属变速箱。电机必须带测速。 2.Aduino nano控制板,主控芯片atmel328p。 3.实现电机控制的H桥电路板,带pwm输入。 4.供电电池。 软件准备: 1.Arduino IDE开发环境。 2.串口猎人,用于收集数据,实时绘制可视化图像。 5of26 www.do-idea.org 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 实际如何下手 要控制就要涉及到三个量: 设定值(控制目的)、被调量(控制什么

11、)、输出量(控制结果)。 对应到直流电机上就是: 设定值:希望(给定)电机输出的转速 被调量:PWM占空比 输出量:实际电机输出的转速 编码器体现速度的数字量是 单位时间内的电平改变次数(ticks)。 我设置的是引脚变化触发计数,有改变就计数。因此,速度 = ticks。 对应的量就变为: 设定值:希望的单位时间内ticks 被调量:PWM占空比 输出量:实际单位时间内ticks 5of26 www.do-idea.org 这个就是我们的 控制目标,一般 通过上位机命令 给出 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉

12、一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 实际如何下手 代码实现 速度测定: 程序可以通过定时器来计数,利用单片机上的引脚变化中断实现。 问题是这个采样时间怎么取? 这里针对我买的电机,测速是放在转轴上未减速前的,采样周期可以设短为 30ms。 电机每圈有12个ticks,就设为15ms测速一次,每测2次求平均值,作为当前速度 值。 有了采样周期,就可以得到:输出量。 这样就完全具备了条件: 设定值:给定转速ticks,命令给出,看作常数。 被调量:PWM占空比,通过带入公式计算得到。(PWM周期) 输出量:通过周期内的编码器输出得到。 同时以30ms为PID

13、计算周期,计算结果输出给电机。 位置式PID代码实现: 5of26 www.do-idea.org 这个就是全部代码仅仅 5行 就实现了! double error = mySetpoint - inputMeter; errSUM += error; outputPWM = kp*error + ki * errSUM + kd *(error errorLast); /arduino 的调节范围就是0 - 255 if(outputPWM 255) outputPWM = 255; if(outputPWM 0) outputPWM = 0; 一个人拥有健康,美貌,诚信,机敏,才学,金钱,

14、荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 实际如何下手 代码实现 5of26 www.do-idea.org 增量式PID: 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 参数整定 5of26 www.do-idea.org 参数整定就是通过实验得到合适的 3个数值: Kp,Ki,Kd。 调整PID三个参数是不断试验的烦杂过程,需要有图形化界面直观

15、的了解,我采用 的是试凑法: (1) 确定比例系数Kp 确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使 之成为纯比例调节。输入设定为系统允许输出最大值的6070,比例系数 Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐 减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当 前值的6070。 (2) 确定积分时间常数Ti 比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至 系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti ,设定PID的积分时间常数Ti为当前值

16、的150180。 (3) 确定微分时间常数Td 微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需 要设定,则与确定Kp的方法相同,取不振荡时其值的30。 (4) 系统空载、带载联调对PID参数进行微调,直到满足性能要求。 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 演示 5 of26 www.do-idea.org 一个人拥有健康,美貌,诚信,机敏,才学,金钱,荣誉,7个背囊,渡船开始时风平浪静,可是不久就刮起了大风,船夫说要扔掉一个背囊,你会扔掉那个背囊呢?最后你要扔掉哪一个?为什么呢?说说你的理由。 更进一步深入 5o

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号