OpenEdv-开源电子网

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

想用PID算法控制步进电机的位置

[复制链接]

25

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2015-7-7
在线时间
95 小时
发表于 2016-7-21 21:18:08 | 显示全部楼层 |阅读模式
1金钱
求助各位大神!最近做了一块STM32F407的运动控制卡,想用PID算法去控制步进电机的位置,运动控制卡上有编码器接口,能正常回脉冲数。感觉没什么思路,请大神门指点一下,谢谢!

最佳答案

查看完整内容[请看2#楼]

应该把PID的返回值赋给电机的调速系统(步进电机脉冲数)。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

686

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2014-6-12
在线时间
1022 小时
发表于 2016-7-21 21:18:09 | 显示全部楼层
songlaijun 发表于 2016-7-23 20:36
恩,我现在已经找好了零点,并且1mm=2000个脉冲。现在有一点不是很明白:在PID程序中,我现在把Nowpoint  ...

应该把PID的返回值赋给电机的调速系统(步进电机脉冲数)。
回复

使用道具 举报

4

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
527
金钱
527
注册时间
2015-12-11
在线时间
57 小时
发表于 2016-7-23 02:49:34 | 显示全部楼层
如果是控制位置的话,为何不用舵机呢?
回复

使用道具 举报

2

主题

686

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2014-6-12
在线时间
1022 小时
发表于 2016-7-23 06:54:56 | 显示全部楼层
既然是位置控制,先要解决位置与编码器的关系。
回复

使用道具 举报

25

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2015-7-7
在线时间
95 小时
 楼主| 发表于 2016-7-23 09:17:49 | 显示全部楼层
渭城朝雨 发表于 2016-7-23 02:49
如果是控制位置的话,为何不用舵机呢?

我这个项目上用不了舵机,就是用步进电机,光栅尺,限位开关控制一个平台的移动。
回复

使用道具 举报

25

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2015-7-7
在线时间
95 小时
 楼主| 发表于 2016-7-23 09:22:59 | 显示全部楼层
xuyaqi 发表于 2016-7-23 06:54
既然是位置控制,先要解决位置与编码器的关系。

原先也是没写过闭环的程序,所以总感觉编码器回来的脉冲数不知道怎么去用,哥们,能否详细说一下,怎样把编码器回来的脉冲数与位置联系起来?
回复

使用道具 举报

2

主题

686

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2014-6-12
在线时间
1022 小时
发表于 2016-7-23 11:05:07 | 显示全部楼层
songlaijun 发表于 2016-7-23 09:22
原先也是没写过闭环的程序,所以总感觉编码器回来的脉冲数不知道怎么去用,哥们,能否详细说一下,怎样把 ...

这牵扯标定,先有一个标准尺找到标准尺零点再将编码器计数置零,然后移动到标准尺100mm处看编码器计数是多少,这就把标准尺长度与编码器计数值关联起来了。
回复

使用道具 举报

25

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2015-7-7
在线时间
95 小时
 楼主| 发表于 2016-7-23 20:36:41 | 显示全部楼层
xuyaqi 发表于 2016-7-23 11:05
这牵扯标定,先有一个标准尺找到标准尺零点再将编码器计数置零,然后移动到标准尺100mm处看编码器计数是 ...

恩,我现在已经找好了零点,并且1mm=2000个脉冲。现在有一点不是很明白:在PID程序中,我现在把Nowpoint = TIM5->CNT(我的编码器的计数值),Setpoint = 20000(要达到的点),采用增量式PID算法,哥们,那你说,应该把PID的返回值赋给谁呢?才能让电机达到Setpoint。谢谢!
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-7-22
在线时间
3 小时
发表于 2017-8-7 18:26:22 | 显示全部楼层
楼主解决没 求分享一波
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-5-15
在线时间
2 小时
发表于 2020-1-3 20:03:39 | 显示全部楼层
最近需要控制步进电机,需要查找相关资料,谢谢
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2021-1-20
在线时间
4 小时
发表于 2021-9-17 19:49:56 | 显示全部楼层
songlaijun 发表于 2016-7-23 20:36
恩,我现在已经找好了零点,并且1mm=2000个脉冲。现在有一点不是很明白:在PID程序中,我现在把Nowpoint  ...

兄弟解决了吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 23:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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