PID输出量和被控制量之间的映射关系

洋葱onion 2017-08-10 09:36:20
最近才开始学习PID算法,想用PID算法控制电机转指定的角度,传感器使用的角度传感器。现在PID的输入量和反馈量都是角度信息,
1.输出量我不知道单位是什么?输出量和实际加载在电机上的PWM的占空比又是什么关系?
2.增量式和全量式PID应用场合分别是什么?
跪求各路大神,帮我解惑!
...全文
1469 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinzaihenhao1 2017-10-17
  • 打赏
  • 举报
回复
输出量/输出量最大值=占空比/占空比范围
tianxj001 2017-08-15
  • 打赏
  • 举报
回复
我的理解,你应该是一个经过比较大转速比变化的直流电机,而最终目标是被驱动对象的角度,如果这样的话,你的电机必须具有正负电压驱动,实现正反转,输出PWM为50%时候,等效电压=0; 然后根据目标角度数据,和你控制角度数据进行实时控制即可。 这样,你的PID系统本身就是一个典型的位置式控制模式 ,理论上不需要D项,只需要PI就可以了,单环,静态预置数为50%, 运算时候,把角度差通过合理的系数P,换成PWM数据,再加上I*误差积分器消除静态差,+50%静态预置数,直接输出就可以了。
worldy 2017-08-15
  • 打赏
  • 举报
回复
PID 是一种通用模型,都是围绕输出逼近输入量,也就是误差值为0,为了是误差值为0,则会对执行机构的激励进行调整,从而达到误差为0,;执行机构一般都是延时模型,延时的参数未知,你通过调节K、I、P值,从而得到一个稳定的系统;
洋葱onion 2017-08-14
  • 打赏
  • 举报
回复
引用 5 楼 tianxj001 的回复:
已经看见我的回复,你居然还没把你的机械架构详细描述一下,没法帮你了。
我要做一个类似目标跟踪的平台 目标探测器使用
引用 6 楼 schlafenhamster 的回复:
应该有2个控制环, 速度环 和 位置环。 位置环 的 PID 输出是 速度环的 输入。 速度环的 输出 是 PWM 的 输入。
多谢多谢,秒懂!!!
schlafenhamster 2017-08-13
  • 打赏
  • 举报
回复
应该有2个控制环, 速度环 和 位置环。 位置环 的 PID 输出是 速度环的 输入。 速度环的 输出 是 PWM 的 输入。
tianxj001 2017-08-12
  • 打赏
  • 举报
回复
已经看见我的回复,你居然还没把你的机械架构详细描述一下,没法帮你了。
洋葱onion 2017-08-10
  • 打赏
  • 举报
回复
引用 2 楼 tianxj001 的回复:
PWM输出是一个可变直流分量,能用于直接控制直流电机,进行调速,或用某个指定速度运行某段时刻。无法满足你运转指定角度这个目的。电机转指定角度,可控制对象通常为步进电机,只需要按照脉冲时序控制特定个数脉冲,就可以实现这个目标。 如果把你的题目换成同步差速电机,就可以根据速度差,换算成输出轴角度来实现目的,同样也不需要用到PID系统,只需要按照相序驱动N个计数的脉冲,实现特定角度控制。
2楼的大神,我之前一直这么考虑,设定值是10度,当前值是0度,误差10度,由于直流电机有迟滞和惯性,起始时刻可以全速转,中间某一时刻,误差变为5度,电机减速,最终误差零度,电机速度减为0。这就解决了电机的迟滞和惯性,而且电机刚好也停在了指定的角度
洋葱onion 2017-08-10
  • 打赏
  • 举报
回复
2楼的大神,我之前一直这么考虑,设定值是10度,当前值是0度,误差10度,由于直流电机有迟滞和惯性,起始时刻可以全速转,中间某一时刻,误差变为5度,电机减速,最终误差零度,电机速度减为0。这就解决了电机的迟滞和惯性,而且电机刚好也停在了指定的角度
tianxj001 2017-08-10
  • 打赏
  • 举报
回复
PWM输出是一个可变直流分量,能用于直接控制直流电机,进行调速,或用某个指定速度运行某段时刻。无法满足你运转指定角度这个目的。电机转指定角度,可控制对象通常为步进电机,只需要按照脉冲时序控制特定个数脉冲,就可以实现这个目标。 如果把你的题目换成同步差速电机,就可以根据速度差,换算成输出轴角度来实现目的,同样也不需要用到PID系统,只需要按照相序驱动N个计数的脉冲,实现特定角度控制。
katie3000 2017-08-10
  • 打赏
  • 举报
回复
曾经试验过PID,过程描述如下,但愿有用。 场景和你的情况类似,传感器用的是MPU6050,目标是保持传感器X方向的分量恒定。 PID的输出直接作为PWM的占空比,取值范围[-100,100],负值表示反方向。 根据反馈量和目标量算出误差E。先估计误差最大值Emax,然后估计P,使得P*Emax输出大致在70+。这时,控制的效果应该是在目标值附近振荡。然后加入I分量,消除振荡。D分量一般不用。 大致这个意思。

27,370

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧