找回密码
 立即注册
楼主: 梁工

使用SPWM 1~64细分驱动2相4线步进电机效果视频

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-05-25 15:59:30

1

主题

7

回帖

117

积分

注册会员

积分
117
发表于 2025-5-25 15:59:30 | 显示全部楼层
梁*** 发表于 2025-4-30 22:59
转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8 ...

转动的时候,叠加的步数怎么处理

点评

什么是“叠加的步数”?  详情 回复 发表于 2025-5-25 16:23
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:93
  • 最近打卡:2025-06-14 13:12:15

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-25 16:23:37 | 显示全部楼层
yuys9*** 发表于 2025-5-25 15:59
转动的时候,叠加的步数怎么处理

什么是“叠加的步数”?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-05-25 15:59:30

1

主题

7

回帖

117

积分

注册会员

积分
117
发表于 2025-5-25 16:36:15 | 显示全部楼层
梁*** 发表于 2025-5-25 16:23
什么是“叠加的步数”?

转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8细分,则为1200步,6000/1200=5,即转速5对应一步。
获取的转速为Vx,则目标步数 s_step = Vx/5,再跟当前位置对应的步数c_step比较:
if(s_step > c_step),则顺时针转(s_step - c_step)步;
if(s_step < c_step),则逆时针转(c_step - s_step)步;
c_step = s_step;
如果电机正在转动,则要处理好叠加的步数。


就是你上面说的

点评

你说得比较乱。 步进电机是200步、1.8度的,则8细分就是1600步、0.225度。 转速按频率来计算,角度按步计算,这样比较好计算和控制。 比如,加减速时间为100ms,从0Hz加速到6400Hz(4转/秒,240转/分),运行32000步  详情 回复 发表于 2025-5-25 21:19
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:93
  • 最近打卡:2025-06-14 13:12:15

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-25 21:19:59 | 显示全部楼层
yuys9*** 发表于 2025-5-25 16:36
转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8 ...

你说得比较乱。
步进电机是200步、1.8度的,则8细分就是1600步、0.225度。
转速按频率来计算,角度按步计算,这样比较好计算和控制。
比如,加减速时间为100ms,从0Hz加速到6400Hz(4转/秒,240转/分),运行32000步(20圈)后停止,则先加速320个脉冲到6400Hz,运行到剩余320个脉冲开会时减速。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 03:17 , Processed in 0.117232 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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