OpenEdv-开源电子网

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

步进电机细分驱动的代码编写

[复制链接]

1

主题

11

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-11-20
在线时间
6 小时
发表于 2021-1-13 18:17:34 | 显示全部楼层 |阅读模式
3金钱
目前使用单片机控制DRV8836控制步进电机细分驱动,看了好几天文档,自己也分别写了4细分,8细分,16细分的控制代码。我的目标是以极低振动和噪声的情况下在4秒内电机上的转轴跑完15mm。但是尝试了各个细分,都是低速的情况下电机能安静的跑完,但是提高脉冲频率后(加速),电机的振动以及响声较大。达不到我想要的要求,现在脑子不太灵光,球球各位大神出手相助。

PS:我的代码基本就是算好正弦余弦值,在定时器中断中通过查表的方式改变A、B两相的占空比,从而达到细分。
目前比较稳的控制参数是(稳定安静的要求达到了但达不到速度要求):定时器定时:1MS

                                                                                                                                               PWM频率:1000hz
                                                                                                                                               细分数:16细分

电机信息:
两相四线制步进电机。
STEP ANGLE :18度。

MAX STARTING FREQUENCY:1000PPS min。
MAX SLEWING FREQUENCY:  1200PPS min。

各位大佬可以指点指点,细分驱动如果又快又稳的话要注意哪些地方?


最佳答案

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

你要提高转速最基本的当然 是速度控制,负载越重,启动频率越低的。 要想获得更正弦的波形,最好是要电流闭环,最简单的就是滞环电流控制。 步进电机低速时慢衰减 也能获得较好的电流波形。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

93

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2014-3-7
在线时间
51 小时
发表于 2021-1-13 18:17:35 | 显示全部楼层
雀巢甘蔗水 发表于 2021-1-19 13:35
有问题想问一下大伙,添加一个加速减速过程采用细分+加减速结合会使得电机旋转更为平稳吗?

你要提高转速最基本的当然 是速度控制,负载越重,启动频率越低的。
要想获得更正弦的波形,最好是要电流闭环,最简单的就是滞环电流控制。
步进电机低速时慢衰减 也能获得较好的电流波形。
STM32?步进电机开发板
http://yonyon.taobao.com
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-11-20
在线时间
6 小时
 楼主| 发表于 2021-1-13 18:18:56 | 显示全部楼层
还有要补充的就是DRV8836不是自带细分的哟,细分驱动要我自己写
回复

使用道具 举报

5

主题

269

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1053
金钱
1053
注册时间
2020-5-11
在线时间
253 小时
发表于 2021-1-14 11:42:47 | 显示全部楼层
我感觉太快了步进电机反应不过来吧。另外“4秒内电机上的转轴跑完15mm”啥意思。
回复

使用道具 举报

3

主题

93

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2014-3-7
在线时间
51 小时
发表于 2021-1-14 20:35:49 | 显示全部楼层
最简单的就是提高电压。 或是弱磁控制才能提高转速。  振动大了主要是细分不够或是相电流不够正弦。
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-11-20
在线时间
6 小时
 楼主| 发表于 2021-1-15 16:27:16 | 显示全部楼层
thisisdemo 发表于 2021-1-14 11:42
我感觉太快了步进电机反应不过来吧。另外“4秒内电机上的转轴跑完15mm”啥意思。

我最开始也想到了太快反应不过来这个问题,但是我同事说有人做到了。我计算了一下,“4秒内电机上的转轴跑完15mm”的意思就是每分钟3750转的意思,每秒62.5转,
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-11-20
在线时间
6 小时
 楼主| 发表于 2021-1-15 16:29:02 | 显示全部楼层
eydj2008 发表于 2021-1-14 20:35
最简单的就是提高电压。 或是弱磁控制才能提高转速。  振动大了主要是细分不够或是相电流不够正弦。

好的,谢谢你的回复,由于我没有测量电流的工具,所以看不到电流正弦波,只能用PWM模拟并脑补,我尝试一下提高电压
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-11-20
在线时间
6 小时
 楼主| 发表于 2021-1-19 10:41:42 | 显示全部楼层
eydj2008 发表于 2021-1-14 20:35
最简单的就是提高电压。 或是弱磁控制才能提高转速。  振动大了主要是细分不够或是相电流不够正弦。

在保证单片机时序输出正确的基础下,如何保证相电流波形一定是正弦呢?(我按照了正确的时序输出了,但是电流不够正弦,有可能是什么原因导致的?)
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-11-20
在线时间
6 小时
 楼主| 发表于 2021-1-19 13:35:41 | 显示全部楼层
有问题想问一下大伙,添加一个加速减速过程采用细分+加减速结合会使得电机旋转更为平稳吗?
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-11-20
在线时间
6 小时
 楼主| 发表于 2021-1-20 14:35:20 | 显示全部楼层
eydj2008 发表于 2021-1-19 20:16
你要提高转速最基本的当然 是速度控制,负载越重,启动频率越低的。
要想获得更正弦的波形,最好是要电 ...

谢谢你的建议,十分感谢,我会朝着这个方向去试试
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-15 17:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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