OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7972|回复: 7

请问PID算法控制直流电机,PID输出的转速怎么和PWM对应起来?

[复制链接]

20

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2017-7-19
在线时间
31 小时
发表于 2019-4-12 09:01:40 | 显示全部楼层 |阅读模式
10金钱
我最近做一个直流电机转速控制器,用PID算法进行反馈调节,PWM输出用硬件PWM发生器输出,转速检测用的光码盘
请问转速检测出来后输入到PID算法里面,输出结果也是转速,怎么把输出的转速和PWM的值对应起来呢?
做过的同学麻烦讲一下思路,感谢

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2015-12-2
在线时间
24 小时
发表于 2019-4-12 10:37:11 | 显示全部楼层
     这个简单来说就是个系数的问题,略微复杂点就是一个对应函数.如果用公式的形式表达的话:通俗易懂的比如:y=ax,其中y表示:你给电机输出的PWM值,x就是你光码盘采集到的速度值,那么你就可以采集下y和x的多组对应值然后进行系数a的计算;当然这种只是简单的线性关系,如果复杂点那就直接去采集大量y和x的对应值,放到然后用Excel的离散点绘图可以大概模拟出y和x的最佳对应关系,例如y=ax+b;
     这样就得到了你的转速和PWM的对应关系了。
回复

使用道具 举报

20

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2017-7-19
在线时间
31 小时
 楼主| 发表于 2019-4-12 10:39:34 | 显示全部楼层
1352055936 发表于 2019-4-12 10:37
这个简单来说就是个系数的问题,略微复杂点就是一个对应函数.如果用公式的形式表达的话:通俗易懂的比 ...

首先感谢您提供的思路方法
回复

使用道具 举报

20

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2017-7-19
在线时间
31 小时
 楼主| 发表于 2019-4-12 10:39:59 | 显示全部楼层
1352055936 发表于 2019-4-12 10:37
这个简单来说就是个系数的问题,略微复杂点就是一个对应函数.如果用公式的形式表达的话:通俗易懂的比 ...

但是您说的这种方法可能只适用于空载情况下
回复

使用道具 举报

20

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2017-7-19
在线时间
31 小时
 楼主| 发表于 2019-4-12 10:45:54 | 显示全部楼层
空载情况下测得的转速和PWM对应值与带载情况下肯定不一样,PID算法反馈控制是希望电机在带动可变范围内的可变负载时转速能够趋近期望值,如果只是做了一个空载下的PID调节,并没有多大意义,对吧
回复

使用道具 举报

4

主题

98

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3834
金钱
3834
注册时间
2018-5-25
在线时间
889 小时
发表于 2019-4-12 14:18:31 | 显示全部楼层
PID就是一种负反馈调节;比如PWM的调节范围是0-1000,转速的范围时0-10000,PWM越大转速越大,那就转速低了增大PWM,转速高了降低PWM,增加多少靠PID系数计算出来
回复

使用道具 举报

1

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2015-12-2
在线时间
24 小时
发表于 2019-4-12 19:44:29 | 显示全部楼层
我上面说的一大堆的意思只是说明怎样将PWM和你采集的速度码值对应关系找到,相当于找到了一个等价关系,保证两者在同一量级上的概念,具体PID的调节就直接用PID的算法公式去计算。就是6#的意思,实际测速和设定速度之间进行比较,反馈值的正负带入PID公式,然后会得到最合适的PWM的值,最终预期就是你的实际测量速度和你的设定速度无限逼近,达到你的预期。
回复

使用道具 举报

2

主题

12

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2019-5-8
在线时间
10 小时
发表于 2019-7-29 08:55:32 | 显示全部楼层
写pid算法时,输入是你的实际速度,把输出改为pwm就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 13:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表